From 5a637f83d96fc9f27e93385924e7253a5f5187bc Mon Sep 17 00:00:00 2001 From: Amelie Delaunay Date: Mon, 17 Oct 2022 15:14:13 +0200 Subject: dmaengine: stm32-mdma: memset stm32_mdma_chan_config struct before using it New bool m2m_hw has been added at the end of stm32_mdma_chan_config struct to support the STM32 DMA MDMA chaining. m2m_hw is set true in stm32_mdma_slave_config() if peripheral_size is set, but m2m_hw is never initialized false. To ensure this case, and any further new update of the structure, memset it to 0 before using it. Fixes: 696874322771 ("dmaengine: stm32-mdma: add support to be triggered by STM32 DMA") Signed-off-by: Amelie Delaunay Link: https://lore.kernel.org/r/20221017131413.202567-1-amelie.delaunay@foss.st.com Signed-off-by: Vinod Koul --- drivers/dma/stm32-mdma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/stm32-mdma.c b/drivers/dma/stm32-mdma.c index e28acbcb53f4..b9d4c843635f 100644 --- a/drivers/dma/stm32-mdma.c +++ b/drivers/dma/stm32-mdma.c @@ -1539,6 +1539,7 @@ static struct dma_chan *stm32_mdma_of_xlate(struct of_phandle_args *dma_spec, return NULL; } + memset(&config, 0, sizeof(config)); config.request = dma_spec->args[0]; config.priority_level = dma_spec->args[1]; config.transfer_config = dma_spec->args[2]; -- cgit v1.2.3-59-g8ed1b From 0ec8ce07394442d722806fe61b901a5b2b17249d Mon Sep 17 00:00:00 2001 From: Fenghua Yu Date: Fri, 14 Oct 2022 15:25:41 -0700 Subject: dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual Addressing When the idxd_user_drv driver is bound to a Work Queue (WQ) device without IOMMU or with IOMMU Passthrough without Shared Virtual Addressing (SVA), the application gains direct access to physical memory via the device by programming physical address to a submitted descriptor. This allows direct userspace read and write access to arbitrary physical memory. This is inconsistent with the security goals of a good kernel API. Unlike vfio_pci driver, the IDXD char device driver does not provide any ways to pin user pages and translate the address from user VA to IOVA or PA without IOMMU SVA. Therefore the application has no way to instruct the device to perform DMA function. This makes the char device not usable for normal application usage. Since user type WQ without SVA cannot be used for normal application usage and presents the security issue, bind idxd_user_drv driver and enable user type WQ only when SVA is enabled (i.e. user PASID is enabled). Fixes: 448c3de8ac83 ("dmaengine: idxd: create user driver for wq 'device'") Cc: stable@vger.kernel.org Suggested-by: Arjan Van De Ven Signed-off-by: Fenghua Yu Reviewed-by: Dave Jiang Reviewed-by: Jerry Snitselaar Link: https://lore.kernel.org/r/20221014222541.3912195-1-fenghua.yu@intel.com Signed-off-by: Vinod Koul --- drivers/dma/idxd/cdev.c | 18 ++++++++++++++++++ include/uapi/linux/idxd.h | 1 + 2 files changed, 19 insertions(+) diff --git a/drivers/dma/idxd/cdev.c b/drivers/dma/idxd/cdev.c index c2808fd081d6..a9b96b18772f 100644 --- a/drivers/dma/idxd/cdev.c +++ b/drivers/dma/idxd/cdev.c @@ -312,6 +312,24 @@ static int idxd_user_drv_probe(struct idxd_dev *idxd_dev) if (idxd->state != IDXD_DEV_ENABLED) return -ENXIO; + /* + * User type WQ is enabled only when SVA is enabled for two reasons: + * - If no IOMMU or IOMMU Passthrough without SVA, userspace + * can directly access physical address through the WQ. + * - The IDXD cdev driver does not provide any ways to pin + * user pages and translate the address from user VA to IOVA or + * PA without IOMMU SVA. Therefore the application has no way + * to instruct the device to perform DMA function. This makes + * the cdev not usable for normal application usage. + */ + if (!device_user_pasid_enabled(idxd)) { + idxd->cmd_status = IDXD_SCMD_WQ_USER_NO_IOMMU; + dev_dbg(&idxd->pdev->dev, + "User type WQ cannot be enabled without SVA.\n"); + + return -EOPNOTSUPP; + } + mutex_lock(&wq->wq_lock); wq->type = IDXD_WQT_USER; rc = drv_enable_wq(wq); diff --git a/include/uapi/linux/idxd.h b/include/uapi/linux/idxd.h index 095299c75828..2b9e7feba3f3 100644 --- a/include/uapi/linux/idxd.h +++ b/include/uapi/linux/idxd.h @@ -29,6 +29,7 @@ enum idxd_scmd_stat { IDXD_SCMD_WQ_NO_SIZE = 0x800e0000, IDXD_SCMD_WQ_NO_PRIV = 0x800f0000, IDXD_SCMD_WQ_IRQ_ERR = 0x80100000, + IDXD_SCMD_WQ_USER_NO_IOMMU = 0x80110000, }; #define IDXD_SCMD_SOFTERR_MASK 0x80000000 -- cgit v1.2.3-59-g8ed1b From 195583504be28df5d608a4677dd796117aea875f Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Tue, 18 Oct 2022 20:35:13 +0200 Subject: spi: stm32: Print summary 'callbacks suppressed' message The original fix "spi: stm32: Rate-limit the 'Communication suspended' message" still leads to "stm32h7_spi_irq_thread: 1696 callbacks suppressed" spew in the kernel log. Since this 'Communication suspended' message is a debug print, add RATELIMIT_MSG_ON_RELEASE flag to inhibit the "callbacks suspended" part during normal operation and only print summary at the end. Fixes: ea8be08cc9358 ("spi: stm32: Rate-limit the 'Communication suspended' message") Signed-off-by: Marek Vasut Link: https://lore.kernel.org/r/20221018183513.206706-1-marex@denx.de Signed-off-by: Mark Brown --- drivers/spi/spi-stm32.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c index 6fe617b445a5..3c2fa2e2f94a 100644 --- a/drivers/spi/spi-stm32.c +++ b/drivers/spi/spi-stm32.c @@ -886,6 +886,7 @@ static irqreturn_t stm32h7_spi_irq_thread(int irq, void *dev_id) static DEFINE_RATELIMIT_STATE(rs, DEFAULT_RATELIMIT_INTERVAL * 10, 1); + ratelimit_set_flags(&rs, RATELIMIT_MSG_ON_RELEASE); if (__ratelimit(&rs)) dev_dbg_ratelimited(spi->dev, "Communication suspended\n"); if (!spi->cur_usedma && (spi->rx_buf && (spi->rx_len > 0))) -- cgit v1.2.3-59-g8ed1b From 04694e50020b62b10bd0d46ff9e9708a6e1c7eb3 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 26 Oct 2022 09:58:28 +0200 Subject: spi: meson-spicc: move wait completion in driver to take bursts delay in account Some delay occurs between each bursts, thus the default delay is wrong and a timeout will occur with big enough transfers. The solution is to handle the timeout management in the driver and add some delay for each bursts in the timeout calculation. Reported-by: Da Xue Signed-off-by: Neil Armstrong Link: https://lore.kernel.org/r/20221026-spicc-burst-delay-v1-0-1be5ffb7051a@linaro.org Signed-off-by: Mark Brown --- drivers/spi/spi-meson-spicc.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c index bad201510a99..52bffab18329 100644 --- a/drivers/spi/spi-meson-spicc.c +++ b/drivers/spi/spi-meson-spicc.c @@ -160,6 +160,7 @@ struct meson_spicc_device { struct clk *clk; struct spi_message *message; struct spi_transfer *xfer; + struct completion done; const struct meson_spicc_data *data; u8 *tx_buf; u8 *rx_buf; @@ -282,7 +283,7 @@ static irqreturn_t meson_spicc_irq(int irq, void *data) /* Disable all IRQs */ writel(0, spicc->base + SPICC_INTREG); - spi_finalize_current_transfer(spicc->master); + complete(&spicc->done); return IRQ_HANDLED; } @@ -386,6 +387,7 @@ static int meson_spicc_transfer_one(struct spi_master *master, struct spi_transfer *xfer) { struct meson_spicc_device *spicc = spi_master_get_devdata(master); + unsigned long timeout; /* Store current transfer */ spicc->xfer = xfer; @@ -410,13 +412,29 @@ static int meson_spicc_transfer_one(struct spi_master *master, /* Setup burst */ meson_spicc_setup_burst(spicc); + /* Setup wait for completion */ + reinit_completion(&spicc->done); + + /* For each byte we wait for 8 cycles of the SPI clock */ + timeout = 8LL * MSEC_PER_SEC * xfer->len; + do_div(timeout, xfer->speed_hz); + + /* Add 10us delay between each fifo bursts */ + timeout += ((xfer->len >> 4) * 10) / MSEC_PER_SEC; + + /* Increase it twice and add 200 ms tolerance */ + timeout += timeout + 200; + /* Start burst */ writel_bits_relaxed(SPICC_XCH, SPICC_XCH, spicc->base + SPICC_CONREG); /* Enable interrupts */ writel_relaxed(SPICC_TC_EN, spicc->base + SPICC_INTREG); - return 1; + if (!wait_for_completion_timeout(&spicc->done, msecs_to_jiffies(timeout))) + return -ETIMEDOUT; + + return 0; } static int meson_spicc_prepare_message(struct spi_master *master, @@ -743,6 +761,8 @@ static int meson_spicc_probe(struct platform_device *pdev) spicc->pdev = pdev; platform_set_drvdata(pdev, spicc); + init_completion(&spicc->done); + spicc->base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(spicc->base)) { dev_err(&pdev->dev, "io resource mapping failed\n"); -- cgit v1.2.3-59-g8ed1b From 03b9a6e18d325ede28c6dc218cedda53969eb41b Mon Sep 17 00:00:00 2001 From: Zhao Liu Date: Thu, 20 Oct 2022 16:38:20 +0800 Subject: x86/hyperv: Remove BUG_ON() for kmap_local_page() The commit 154fb14df7a3c ("x86/hyperv: Replace kmap() with kmap_local_page()") keeps the BUG_ON() to check if kmap_local_page() fails. But in fact, kmap_local_page() always returns a valid kernel address and won't return NULL here. It will BUG on its own if it fails. [1] So directly use memcpy_to_page() which creates local mapping to copy. [1]: https://lore.kernel.org/lkml/YztFEyUA48et0yTt@iweiny-mobl/ Suggested-by: Fabio M. De Francesco Suggested-by: Ira Weiny Reviewed-by: Ira Weiny Signed-off-by: Zhao Liu Link: https://lore.kernel.org/r/20221020083820.2341088-1-zhao1.liu@linux.intel.com Signed-off-by: Wei Liu --- arch/x86/hyperv/hv_init.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index 29774126e931..d46f70522ddf 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -444,7 +444,7 @@ void __init hyperv_init(void) if (hv_root_partition) { struct page *pg; - void *src, *dst; + void *src; /* * For the root partition, the hypervisor will set up its @@ -459,13 +459,11 @@ void __init hyperv_init(void) wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); pg = vmalloc_to_page(hv_hypercall_pg); - dst = kmap_local_page(pg); src = memremap(hypercall_msr.guest_physical_address << PAGE_SHIFT, PAGE_SIZE, MEMREMAP_WB); - BUG_ON(!(src && dst)); - memcpy(dst, src, HV_HYP_PAGE_SIZE); + BUG_ON(!src); + memcpy_to_page(pg, 0, src, HV_HYP_PAGE_SIZE); memunmap(src); - kunmap_local(dst); } else { hypercall_msr.guest_physical_address = vmalloc_to_pfn(hv_hypercall_pg); wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); -- cgit v1.2.3-59-g8ed1b From 99632e3dbeb25a0ff86c4af4bba2dcf638624423 Mon Sep 17 00:00:00 2001 From: Jilin Yuan Date: Wed, 19 Oct 2022 20:56:04 +0800 Subject: Drivers: hv: fix repeated words in comments Delete the redundant word 'of'. Signed-off-by: Jilin Yuan Reviewed-by: Michael Kelley Link: https://lore.kernel.org/r/20221019125604.52999-1-yuanjilin@cdjrlc.com Signed-off-by: Wei Liu --- drivers/hv/hv_balloon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c index fdf6decacf06..6c127f061f06 100644 --- a/drivers/hv/hv_balloon.c +++ b/drivers/hv/hv_balloon.c @@ -905,7 +905,7 @@ static unsigned long handle_pg_range(unsigned long pg_start, * We have some residual hot add range * that needs to be hot added; hot add * it now. Hot add a multiple of - * of HA_CHUNK that fully covers the pages + * HA_CHUNK that fully covers the pages * we have. */ size = (has->end_pfn - has->ha_end_pfn); -- cgit v1.2.3-59-g8ed1b From c1de355e04e6ae8da21cb6bfbd5bbfd8deee0fe5 Mon Sep 17 00:00:00 2001 From: Jay Fang Date: Fri, 28 Oct 2022 10:37:39 +0800 Subject: MAINTAINERS: Update HiSilicon SFC Driver maintainer Add Jay Fang as the maintainer of the HiSilicon SFC Driver, replacing John Garry. Signed-off-by: Jay Fang Acked-by: John Garry Link: https://lore.kernel.org/r/20221028023739.4113998-1-f.fangjian@huawei.com Signed-off-by: Mark Brown --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 653501e7aa03..6297d5d1dd90 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -9260,7 +9260,7 @@ S: Maintained F: drivers/crypto/hisilicon/trng/trng.c HISILICON V3XX SPI NOR FLASH Controller Driver -M: John Garry +M: Jay Fang S: Maintained W: http://www.hisilicon.com F: drivers/spi/spi-hisi-sfc-v3xx.c -- cgit v1.2.3-59-g8ed1b From 8d06679b25fc6813eb2438fac7fa13f4f3c2ef37 Mon Sep 17 00:00:00 2001 From: Stefan Binding Date: Fri, 28 Oct 2022 11:27:42 +0100 Subject: ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 This Asus Zenbook laptop use Realtek HDA codec combined with 2xCS35L41 Amplifiers using I2C with Internal Boost. Signed-off-by: Stefan Binding Cc: Link: https://lore.kernel.org/r/20221028102742.2588687-1-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai --- sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 701a72ec5629..b4f7ff8cfe41 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -9404,6 +9404,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x1c52, "ASUS Zephyrus G15 2022", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401), + SND_PCI_QUIRK(0x1043, 0x1f12, "ASUS UM5302", ALC287_FIXUP_CS35L41_I2C_2), SND_PCI_QUIRK(0x1043, 0x1f92, "ASUS ROG Flow X16", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2), SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), -- cgit v1.2.3-59-g8ed1b From ae4b3c1252f0fd0951d2f072a02ba46cac8d6c92 Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Wed, 26 Oct 2022 16:56:33 +0100 Subject: spi: tegra210-quad: Don't initialise DMA if not supported The following error messages are observed on boot for Tegra234 ... ERR KERN tegra-qspi 3270000.spi: cannot use DMA: -19 ERR KERN tegra-qspi 3270000.spi: falling back to PIO Tegra234 does not support DMA for the QSPI and so initialising the DMA is expected to fail. The above error messages are misleading for devices that don't support DMA and so fix this by skipping the DMA initialisation for devices that don't support DMA. Signed-off-by: Jon Hunter Acked-by: Thierry Reding Link: https://lore.kernel.org/r/20221026155633.141792-1-jonathanh@nvidia.com Signed-off-by: Mark Brown --- drivers/spi/spi-tegra210-quad.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/spi/spi-tegra210-quad.c b/drivers/spi/spi-tegra210-quad.c index 904972606bd4..10f0c5a6e0dc 100644 --- a/drivers/spi/spi-tegra210-quad.c +++ b/drivers/spi/spi-tegra210-quad.c @@ -720,6 +720,9 @@ static int tegra_qspi_start_cpu_based_transfer(struct tegra_qspi *qspi, struct s static void tegra_qspi_deinit_dma(struct tegra_qspi *tqspi) { + if (!tqspi->soc_data->has_dma) + return; + if (tqspi->tx_dma_buf) { dma_free_coherent(tqspi->dev, tqspi->dma_buf_size, tqspi->tx_dma_buf, tqspi->tx_dma_phys); @@ -750,6 +753,9 @@ static int tegra_qspi_init_dma(struct tegra_qspi *tqspi) u32 *dma_buf; int err; + if (!tqspi->soc_data->has_dma) + return 0; + dma_chan = dma_request_chan(tqspi->dev, "rx"); if (IS_ERR(dma_chan)) { err = PTR_ERR(dma_chan); -- cgit v1.2.3-59-g8ed1b From 8bc8824d30193eb7755043d5bb65fa7f0d11a595 Mon Sep 17 00:00:00 2001 From: Emil Renner Berthing Date: Wed, 12 Oct 2022 13:09:28 +0200 Subject: riscv: dts: sifive unleashed: Add PWM controlled LEDs This adds the 4 PWM controlled green LEDs to the HiFive Unleashed device tree. The schematic doesn't specify any special function for the LEDs, so they're added here without any default triggers and named d1, d2, d3 and d4 just like in the schematic. Signed-off-by: Emil Renner Berthing Reviewed-by: Conor Dooley Tested-by: Conor Dooley Link: https://lore.kernel.org/r/20221012110928.352910-1-emil.renner.berthing@canonical.com Signed-off-by: Palmer Dabbelt --- .../riscv/boot/dts/sifive/hifive-unleashed-a00.dts | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts index ced0d4e47938..900a50526d77 100644 --- a/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts +++ b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts @@ -3,6 +3,8 @@ #include "fu540-c000.dtsi" #include +#include +#include /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ #define RTCCLK_FREQ 1000000 @@ -42,6 +44,42 @@ compatible = "gpio-restart"; gpios = <&gpio 10 GPIO_ACTIVE_LOW>; }; + + led-controller { + compatible = "pwm-leds"; + + led-d1 { + pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d1"; + }; + + led-d2 { + pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d2"; + }; + + led-d3 { + pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d3"; + }; + + led-d4 { + pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d4"; + }; + }; }; &uart0 { -- cgit v1.2.3-59-g8ed1b From 46cf1954de3f324dc7f9472c12c3bd03b268a11b Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Sat, 29 Oct 2022 16:20:01 +0800 Subject: ALSA: arm: pxa: pxa2xx-ac97-lib: fix return value check of platform_get_irq() platform_get_irq() returns negative error number on failure, fix the return value check in pxa2xx_ac97_hw_probe() and assign the error code to 'ret'. Fixes: 2548e6c76ebf ("ARM: pxa: pxa2xx-ac97-lib: use IRQ resource") Signed-off-by: Yang Yingliang Link: https://lore.kernel.org/r/20221029082001.3207380-1-yangyingliang@huawei.com Signed-off-by: Takashi Iwai --- sound/arm/pxa2xx-ac97-lib.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c index e55c0421718b..2ca33fd5a575 100644 --- a/sound/arm/pxa2xx-ac97-lib.c +++ b/sound/arm/pxa2xx-ac97-lib.c @@ -402,8 +402,10 @@ int pxa2xx_ac97_hw_probe(struct platform_device *dev) goto err_clk2; irq = platform_get_irq(dev, 0); - if (!irq) + if (irq < 0) { + ret = irq; goto err_irq; + } ret = request_irq(irq, pxa2xx_ac97_irq, 0, "AC97", NULL); if (ret < 0) -- cgit v1.2.3-59-g8ed1b From cf82d0ecb84e8ef9958721193f901609b408655b Mon Sep 17 00:00:00 2001 From: "zhichao.liu" Date: Fri, 21 Oct 2022 17:16:53 +0800 Subject: spi: mediatek: Fix package division error Commit 7e963fb2a33ce ("spi: mediatek: add ipm design support for MT7986") makes a mistake on package dividing operation (one change is missing), need to fix it. Background: Ipm design is expanding the HW capability of dma (adjust package length from 1KB to 64KB), and using "dev_comp->ipm_support" flag to indicate it. Issue description: Ipm support patch (said above) is missing to handle remainder at package dividing operation. One case, a transmission length is 65KB, is will divide to 1K (package length) * 65(package loop) in non-ipm desgin case, and will divide to 64K(package length) * 1(package loop) + 1K(remainder) in ipm design case. And the 1K remainder will be lost with the current SW flow, and the transmission will be failure. So, it should be fixed. Solution: Add "ipm_design" flag in function "mtk_spi_get_mult_delta()" to indicate HW capability, and modify the parameters corespondingly. fixes: 7e963fb2a33ce ("spi: mediatek: add ipm design support for MT7986") Signed-off-by: zhichao.liu Link: https://lore.kernel.org/r/20221021091653.18297-1-zhichao.liu@mediatek.com Signed-off-by: Mark Brown --- drivers/spi/spi-mt65xx.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/spi/spi-mt65xx.c b/drivers/spi/spi-mt65xx.c index 11aeae7fe7fc..a33c9a3de395 100644 --- a/drivers/spi/spi-mt65xx.c +++ b/drivers/spi/spi-mt65xx.c @@ -551,14 +551,17 @@ static void mtk_spi_enable_transfer(struct spi_master *master) writel(cmd, mdata->base + SPI_CMD_REG); } -static int mtk_spi_get_mult_delta(u32 xfer_len) +static int mtk_spi_get_mult_delta(struct mtk_spi *mdata, u32 xfer_len) { - u32 mult_delta; + u32 mult_delta = 0; - if (xfer_len > MTK_SPI_PACKET_SIZE) - mult_delta = xfer_len % MTK_SPI_PACKET_SIZE; - else - mult_delta = 0; + if (mdata->dev_comp->ipm_design) { + if (xfer_len > MTK_SPI_IPM_PACKET_SIZE) + mult_delta = xfer_len % MTK_SPI_IPM_PACKET_SIZE; + } else { + if (xfer_len > MTK_SPI_PACKET_SIZE) + mult_delta = xfer_len % MTK_SPI_PACKET_SIZE; + } return mult_delta; } @@ -570,22 +573,22 @@ static void mtk_spi_update_mdata_len(struct spi_master *master) if (mdata->tx_sgl_len && mdata->rx_sgl_len) { if (mdata->tx_sgl_len > mdata->rx_sgl_len) { - mult_delta = mtk_spi_get_mult_delta(mdata->rx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->rx_sgl_len); mdata->xfer_len = mdata->rx_sgl_len - mult_delta; mdata->rx_sgl_len = mult_delta; mdata->tx_sgl_len -= mdata->xfer_len; } else { - mult_delta = mtk_spi_get_mult_delta(mdata->tx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->tx_sgl_len); mdata->xfer_len = mdata->tx_sgl_len - mult_delta; mdata->tx_sgl_len = mult_delta; mdata->rx_sgl_len -= mdata->xfer_len; } } else if (mdata->tx_sgl_len) { - mult_delta = mtk_spi_get_mult_delta(mdata->tx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->tx_sgl_len); mdata->xfer_len = mdata->tx_sgl_len - mult_delta; mdata->tx_sgl_len = mult_delta; } else if (mdata->rx_sgl_len) { - mult_delta = mtk_spi_get_mult_delta(mdata->rx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->rx_sgl_len); mdata->xfer_len = mdata->rx_sgl_len - mult_delta; mdata->rx_sgl_len = mult_delta; } -- cgit v1.2.3-59-g8ed1b From 10e794bdba2734bad0d61864e7e526b13b75aa6b Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bossart Date: Mon, 31 Oct 2022 15:55:05 -0400 Subject: ALSA: hda: clarify comments on SCF changes The commit 1f9d3d98694b1 ("ALSA: hda - set intel audio clock to a proper value") added a number of misleading comments. There is no ability to detect if an SCF value was set or not, what the code does is prevent the use of the 6MHz audio clock represented by the value 0 in LCTL.SCF. Changing the SCF settings does require the link to be power-cycled, but in all other cases the link is powered automatically when exiting reset. In other words, the power-cycle is an exception to the rule that the HDaudio legacy driver does not need to program SPA/CPA bits. In addition, the SCF related changes are only relevant for the first link. No functionality change, only comment clarifications. Signed-off-by: Pierre-Louis Bossart Reviewed-by: Ranjani Sridharan Reviewed-by: Rander Wang Link: https://lore.kernel.org/r/20221031195505.249929-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Takashi Iwai --- sound/pci/hda/hda_intel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 6ff19dd0d10c..92f66bbc5c91 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -485,8 +485,8 @@ static int intel_ml_lctl_set_power(struct azx *chip, int state) int timeout; /* - * the codecs are sharing the first link setting by default - * If other links are enabled for stream, they need similar fix + * Changes to LCTL.SCF are only needed for the first multi-link dealing + * with external codecs */ val = readl(bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL); val &= ~AZX_ML_LCTL_SPA; @@ -513,7 +513,7 @@ static void intel_init_lctl(struct azx *chip) /* 0. check lctl register value is correct or not */ val = readl(bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL); - /* if SCF is already set, let's use it */ + /* only perform additional configurations if the SCF is initially based on 6MHz */ if ((val & AZX_ML_LCTL_SCF) != 0) return; @@ -531,7 +531,7 @@ static void intel_init_lctl(struct azx *chip) if (ret) goto set_spa; - /* 2. update SCF to select a properly audio clock*/ + /* 2. update SCF to select an audio clock different from 6MHz */ val &= ~AZX_ML_LCTL_SCF; val |= intel_get_lctl_scf(chip); writel(val, bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL); -- cgit v1.2.3-59-g8ed1b From 92a66cbf6b30eda5719fbdfb24cd15fb341bba32 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Tue, 25 Oct 2022 09:28:00 +0300 Subject: spi: intel: Use correct mask for flash and protected regions The flash and protected region mask is actually 0x7fff (30:16 and 14:0) and not 0x3fff so fix this accordingly. While there use GENMASK() instead. Cc: stable@vger.kernel.org Signed-off-by: Mika Westerberg Link: https://lore.kernel.org/r/20221025062800.22357-1-mika.westerberg@linux.intel.com Signed-off-by: Mark Brown --- drivers/spi/spi-intel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi-intel.c b/drivers/spi/spi-intel.c index 605acb1bf4b0..3ac73691fbb5 100644 --- a/drivers/spi/spi-intel.c +++ b/drivers/spi/spi-intel.c @@ -52,17 +52,17 @@ #define FRACC 0x50 #define FREG(n) (0x54 + ((n) * 4)) -#define FREG_BASE_MASK 0x3fff +#define FREG_BASE_MASK GENMASK(14, 0) #define FREG_LIMIT_SHIFT 16 -#define FREG_LIMIT_MASK (0x03fff << FREG_LIMIT_SHIFT) +#define FREG_LIMIT_MASK GENMASK(30, 16) /* Offset is from @ispi->pregs */ #define PR(n) ((n) * 4) #define PR_WPE BIT(31) #define PR_LIMIT_SHIFT 16 -#define PR_LIMIT_MASK (0x3fff << PR_LIMIT_SHIFT) +#define PR_LIMIT_MASK GENMASK(30, 16) #define PR_RPE BIT(15) -#define PR_BASE_MASK 0x3fff +#define PR_BASE_MASK GENMASK(14, 0) /* Offsets are from @ispi->sregs */ #define SSFSTS_CTL 0x00 -- cgit v1.2.3-59-g8ed1b From 134af9aa88453aeb9224e407092530ebba366c6c Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Wed, 2 Nov 2022 09:46:01 +0100 Subject: spi: meson-spicc: fix do_div build error on non-arm64 This fixes : error: passing argument 1 of '__div64_32' from incompatible pointer type By passing an uint64_t as first variable to do_div(). Reported-by: kernel test robot Fixes: 04694e50020b ("spi: meson-spicc: move wait completion in driver to take bursts delay in account") Acked-by: Martin Blumenstingl Signed-off-by: Neil Armstrong Link: https://lore.kernel.org/r/20221027-b4-spicc-burst-delay-fix-v2-0-8cc2bab3417a@linaro.org Signed-off-by: Mark Brown --- drivers/spi/spi-meson-spicc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c index 52bffab18329..1b4195c54ee2 100644 --- a/drivers/spi/spi-meson-spicc.c +++ b/drivers/spi/spi-meson-spicc.c @@ -387,7 +387,7 @@ static int meson_spicc_transfer_one(struct spi_master *master, struct spi_transfer *xfer) { struct meson_spicc_device *spicc = spi_master_get_devdata(master); - unsigned long timeout; + uint64_t timeout; /* Store current transfer */ spicc->xfer = xfer; -- cgit v1.2.3-59-g8ed1b From 7f9dbf54c3dc7170df86f7753abb41b5d7e8779e Mon Sep 17 00:00:00 2001 From: Colin Ian King Date: Mon, 24 Oct 2022 17:11:02 +0100 Subject: HID: asus: Remove unused variable in asus_report_tool_width() Variable count is just being incremented and it's never used anywhere else. The variable and the increment are redundant so remove it. Signed-off-by: Colin Ian King Signed-off-by: Jiri Kosina --- drivers/hid/hid-asus.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c index b59c3dafa6a4..f99752b998f3 100644 --- a/drivers/hid/hid-asus.c +++ b/drivers/hid/hid-asus.c @@ -219,14 +219,13 @@ static void asus_report_tool_width(struct asus_drvdata *drvdat) { struct input_mt *mt = drvdat->input->mt; struct input_mt_slot *oldest; - int oldid, count, i; + int oldid, i; if (drvdat->tp->contact_size < 5) return; oldest = NULL; oldid = mt->trkid; - count = 0; for (i = 0; i < mt->num_slots; ++i) { struct input_mt_slot *ps = &mt->slots[i]; @@ -238,7 +237,6 @@ static void asus_report_tool_width(struct asus_drvdata *drvdat) oldest = ps; oldid = id; } - count++; } if (oldest) { -- cgit v1.2.3-59-g8ed1b From b5bcb94b0954a026bbd671741fdb00e7141f9c91 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Fri, 28 Oct 2022 21:40:43 +0800 Subject: HID: hyperv: fix possible memory leak in mousevsc_probe() If hid_add_device() returns error, it should call hid_destroy_device() to free hid_dev which is allocated in hid_allocate_device(). Fixes: 74c4fb058083 ("HID: hv_mouse: Properly add the hid device") Signed-off-by: Yang Yingliang Reviewed-by: Wei Liu Signed-off-by: Jiri Kosina --- drivers/hid/hid-hyperv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c index e0bc73124196..ab57b49a44ed 100644 --- a/drivers/hid/hid-hyperv.c +++ b/drivers/hid/hid-hyperv.c @@ -499,7 +499,7 @@ static int mousevsc_probe(struct hv_device *device, ret = hid_add_device(hid_dev); if (ret) - goto probe_err1; + goto probe_err2; ret = hid_parse(hid_dev); -- cgit v1.2.3-59-g8ed1b From 9921d5013a6e51892623bf2f1c5b49eaecda55ac Mon Sep 17 00:00:00 2001 From: Pavel Begunkov Date: Thu, 27 Oct 2022 00:11:53 +0100 Subject: selftests/net: don't tests batched TCP io_uring zc It doesn't make sense batch submitting io_uring requests to a single TCP socket without linking or some other kind of ordering. Moreover, it causes spurious -EINTR fails due to interaction with task_work. Disable it for now and keep queue depth=1. Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/b547698d5938b1b1a898af1c260188d8546ded9a.1666700897.git.asml.silence@gmail.com Signed-off-by: Jens Axboe --- tools/testing/selftests/net/io_uring_zerocopy_tx.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/io_uring_zerocopy_tx.sh b/tools/testing/selftests/net/io_uring_zerocopy_tx.sh index 32aa6e9dacc2..9ac4456d48fc 100755 --- a/tools/testing/selftests/net/io_uring_zerocopy_tx.sh +++ b/tools/testing/selftests/net/io_uring_zerocopy_tx.sh @@ -29,7 +29,7 @@ if [[ "$#" -eq "0" ]]; then for IP in "${IPs[@]}"; do for mode in $(seq 1 3); do $0 "$IP" udp -m "$mode" -t 1 -n 32 - $0 "$IP" tcp -m "$mode" -t 1 -n 32 + $0 "$IP" tcp -m "$mode" -t 1 -n 1 done done -- cgit v1.2.3-59-g8ed1b From b43088f30db1a7bff61c8486238c195c77788d6d Mon Sep 17 00:00:00 2001 From: Harald Freudenberger Date: Tue, 25 Oct 2022 10:05:25 +0200 Subject: s390/zcrypt: fix warning about field-spanning write MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch fixes the warning memcpy: detected field-spanning write (size 60) of single field "to" at drivers/s390/crypto/zcrypt_api.h:173 (size 2) WARNING: CPU: 1 PID: 2114 at drivers/s390/crypto/zcrypt_api.h:173 prep_ep11_ap_msg+0x2c6/0x2e0 [zcrypt] The code has been rewritten to use a union in combination with a flex array to clearly state which part of the buffer the payload is to be copied in via z_copy_from_user function (which may call memcpy() in case of in-kernel calls). Signed-off-by: Harald Freudenberger Suggested-by: Jürgen Christ Reviewed-by: Jürgen Christ Signed-off-by: Vasily Gorbik --- drivers/s390/crypto/zcrypt_msgtype6.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/drivers/s390/crypto/zcrypt_msgtype6.c b/drivers/s390/crypto/zcrypt_msgtype6.c index 8fb34b8eeb18..5ad251477593 100644 --- a/drivers/s390/crypto/zcrypt_msgtype6.c +++ b/drivers/s390/crypto/zcrypt_msgtype6.c @@ -342,7 +342,10 @@ static int xcrb_msg_to_type6cprb_msgx(bool userspace, struct ap_message *ap_msg, }; struct { struct type6_hdr hdr; - struct CPRBX cprbx; + union { + struct CPRBX cprbx; + DECLARE_FLEX_ARRAY(u8, userdata); + }; } __packed * msg = ap_msg->msg; int rcblen = CEIL4(xcrb->request_control_blk_length); @@ -403,7 +406,8 @@ static int xcrb_msg_to_type6cprb_msgx(bool userspace, struct ap_message *ap_msg, msg->hdr.fromcardlen2 = xcrb->reply_data_length; /* prepare CPRB */ - if (z_copy_from_user(userspace, &msg->cprbx, xcrb->request_control_blk_addr, + if (z_copy_from_user(userspace, msg->userdata, + xcrb->request_control_blk_addr, xcrb->request_control_blk_length)) return -EFAULT; if (msg->cprbx.cprb_len + sizeof(msg->hdr.function_code) > @@ -469,9 +473,14 @@ static int xcrb_msg_to_type6_ep11cprb_msgx(bool userspace, struct ap_message *ap struct { struct type6_hdr hdr; - struct ep11_cprb cprbx; - unsigned char pld_tag; /* fixed value 0x30 */ - unsigned char pld_lenfmt; /* payload length format */ + union { + struct { + struct ep11_cprb cprbx; + unsigned char pld_tag; /* fixed value 0x30 */ + unsigned char pld_lenfmt; /* length format */ + } __packed; + DECLARE_FLEX_ARRAY(u8, userdata); + }; } __packed * msg = ap_msg->msg; struct pld_hdr { @@ -500,7 +509,7 @@ static int xcrb_msg_to_type6_ep11cprb_msgx(bool userspace, struct ap_message *ap msg->hdr.fromcardlen1 = xcrb->resp_len; /* Import CPRB data from the ioctl input parameter */ - if (z_copy_from_user(userspace, &msg->cprbx.cprb_len, + if (z_copy_from_user(userspace, msg->userdata, (char __force __user *)xcrb->req, xcrb->req_len)) { return -EFAULT; } -- cgit v1.2.3-59-g8ed1b From bb8738876b24c3bbfccbd2ccbdc57c27402516ab Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Mon, 31 Oct 2022 18:29:04 +0100 Subject: s390: update defconfigs Signed-off-by: Heiko Carstens Signed-off-by: Vasily Gorbik --- arch/s390/configs/debug_defconfig | 64 ++++++++++++++++++------------------- arch/s390/configs/defconfig | 66 +++++++++++++++++++-------------------- 2 files changed, 65 insertions(+), 65 deletions(-) diff --git a/arch/s390/configs/debug_defconfig b/arch/s390/configs/debug_defconfig index 2a827002934b..e33dc2d6fd04 100644 --- a/arch/s390/configs/debug_defconfig +++ b/arch/s390/configs/debug_defconfig @@ -723,52 +723,42 @@ CONFIG_CRYPTO_ECDSA=m CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m -CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_CHACHA20POLY1305=m -CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_CFB=m -CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_KEYWRAP=m -CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_HCTR2=m -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_CRC32_S390=y -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_SHA512_S390=m -CONFIG_CRYPTO_SHA1_S390=m -CONFIG_CRYPTO_SHA256_S390=m -CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA3_256_S390=m -CONFIG_CRYPTO_SHA3_512_S390=m -CONFIG_CRYPTO_SM3_GENERIC=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_GHASH_S390=m CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES_S390=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_DES_S390=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_CHACHA_S390=m CONFIG_CRYPTO_SEED=m -CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_HCTR2=m +CONFIG_CRYPTO_KEYWRAP=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_LZ4HC=m @@ -779,6 +769,16 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m CONFIG_CRYPTO_USER_API_RNG=m CONFIG_CRYPTO_USER_API_AEAD=m CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_CRC32_S390=y +CONFIG_CRYPTO_SHA512_S390=m +CONFIG_CRYPTO_SHA1_S390=m +CONFIG_CRYPTO_SHA256_S390=m +CONFIG_CRYPTO_SHA3_256_S390=m +CONFIG_CRYPTO_SHA3_512_S390=m +CONFIG_CRYPTO_GHASH_S390=m +CONFIG_CRYPTO_AES_S390=m +CONFIG_CRYPTO_DES_S390=m +CONFIG_CRYPTO_CHACHA_S390=m CONFIG_ZCRYPT=m CONFIG_PKEY=m CONFIG_CRYPTO_PAES_S390=m diff --git a/arch/s390/configs/defconfig b/arch/s390/configs/defconfig index fb780e80e4c8..9cc8f024f3df 100644 --- a/arch/s390/configs/defconfig +++ b/arch/s390/configs/defconfig @@ -707,53 +707,43 @@ CONFIG_CRYPTO_ECDSA=m CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m -CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_CHACHA20POLY1305=m -CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_CFB=m -CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_OFB=m -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_KEYWRAP=m -CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_HCTR2=m -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_CRC32_S390=y -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_SHA512_S390=m -CONFIG_CRYPTO_SHA1_S390=m -CONFIG_CRYPTO_SHA256_S390=m -CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA3_256_S390=m -CONFIG_CRYPTO_SHA3_512_S390=m -CONFIG_CRYPTO_SM3_GENERIC=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_GHASH_S390=m CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES_S390=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_DES_S390=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_CHACHA_S390=m CONFIG_CRYPTO_SEED=m -CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SM4_GENERIC=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_HCTR2=m +CONFIG_CRYPTO_KEYWRAP=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_LZ4HC=m @@ -764,6 +754,16 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m CONFIG_CRYPTO_USER_API_RNG=m CONFIG_CRYPTO_USER_API_AEAD=m CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_CRC32_S390=y +CONFIG_CRYPTO_SHA512_S390=m +CONFIG_CRYPTO_SHA1_S390=m +CONFIG_CRYPTO_SHA256_S390=m +CONFIG_CRYPTO_SHA3_256_S390=m +CONFIG_CRYPTO_SHA3_512_S390=m +CONFIG_CRYPTO_GHASH_S390=m +CONFIG_CRYPTO_AES_S390=m +CONFIG_CRYPTO_DES_S390=m +CONFIG_CRYPTO_CHACHA_S390=m CONFIG_ZCRYPT=m CONFIG_PKEY=m CONFIG_CRYPTO_PAES_S390=m -- cgit v1.2.3-59-g8ed1b From 682f99b8ae886c22ba9f16df454aecc8c6d803ba Mon Sep 17 00:00:00 2001 From: "maxime@cerno.tech" Date: Mon, 24 Oct 2022 11:36:33 +0200 Subject: drm/vc4: hdmi: Take our lock to reset the link We access some fields protected by our internal mutex in vc4_hdmi_reset_link() (saved_adjusted_mode, output_bpc, output_format) and are calling functions that need to have that lock taken (vc4_hdmi_supports_scrambling()). However, the current code doesn't lock that mutex. Let's make sure it does. Fixes: 6bed2ea3cb38 ("drm/vc4: hdmi: Reset link on hotplug") Reviewed-by: Javier Martinez Canillas Link: https://lore.kernel.org/r/20221024093634.118190-1-maxime@cerno.tech Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_hdmi.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 596e311d6e58..9e549fa07467 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -349,27 +349,40 @@ static int vc4_hdmi_reset_link(struct drm_connector *connector, if (!crtc_state->active) return 0; - if (!vc4_hdmi_supports_scrambling(encoder)) + mutex_lock(&vc4_hdmi->mutex); + + if (!vc4_hdmi_supports_scrambling(encoder)) { + mutex_unlock(&vc4_hdmi->mutex); return 0; + } scrambling_needed = vc4_hdmi_mode_needs_scrambling(&vc4_hdmi->saved_adjusted_mode, vc4_hdmi->output_bpc, vc4_hdmi->output_format); - if (!scrambling_needed) + if (!scrambling_needed) { + mutex_unlock(&vc4_hdmi->mutex); return 0; + } if (conn_state->commit && - !try_wait_for_completion(&conn_state->commit->hw_done)) + !try_wait_for_completion(&conn_state->commit->hw_done)) { + mutex_unlock(&vc4_hdmi->mutex); return 0; + } ret = drm_scdc_readb(connector->ddc, SCDC_TMDS_CONFIG, &config); if (ret < 0) { drm_err(drm, "Failed to read TMDS config: %d\n", ret); + mutex_unlock(&vc4_hdmi->mutex); return 0; } - if (!!(config & SCDC_SCRAMBLING_ENABLE) == scrambling_needed) + if (!!(config & SCDC_SCRAMBLING_ENABLE) == scrambling_needed) { + mutex_unlock(&vc4_hdmi->mutex); return 0; + } + + mutex_unlock(&vc4_hdmi->mutex); /* * HDMI 2.0 says that one should not send scrambled data -- cgit v1.2.3-59-g8ed1b From 76ffa2af16c67bbb806b8224a5289eb03f7a537d Mon Sep 17 00:00:00 2001 From: "maxime@cerno.tech" Date: Mon, 24 Oct 2022 11:36:34 +0200 Subject: drm/vc4: hdmi: Fix outdated function name in comment A comment introduced by commit 6bed2ea3cb38 ("drm/vc4: hdmi: Reset link on hotplug") mentions a drm_atomic_helper_connector_hdmi_reset_link() function that was part of the earlier versions but got moved internally and is now named vc4_hdmi_reset_link(). Let's fix the function name. Fixes: 6bed2ea3cb38 ("drm/vc4: hdmi: Reset link on hotplug") Reviewed-by: Javier Martinez Canillas Link: https://lore.kernel.org/r/20221024093634.118190-2-maxime@cerno.tech Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_hdmi.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 9e549fa07467..79eda8f5fea0 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -410,9 +410,8 @@ static void vc4_hdmi_handle_hotplug(struct vc4_hdmi *vc4_hdmi, * .adap_enable, which leads to that funtion being called with * our mutex held. * - * A similar situation occurs with - * drm_atomic_helper_connector_hdmi_reset_link() that will call - * into our KMS hooks if the scrambling was enabled. + * A similar situation occurs with vc4_hdmi_reset_link() that + * will call into our KMS hooks if the scrambling was enabled. * * Concurrency isn't an issue at the moment since we don't share * any state with any of the other frameworks so we can ignore -- cgit v1.2.3-59-g8ed1b From 3bc6a37f59f21a8bfaf74d0975b2eb0b2d52a065 Mon Sep 17 00:00:00 2001 From: "maxime@cerno.tech" Date: Fri, 21 Oct 2022 15:13:39 +0200 Subject: drm/vc4: hdmi: Fix HSM clock too low on Pi4 Commit ae71ab585c81 ("drm/vc4: hdmi: Enforce the minimum rate at runtime_resume") reintroduced the call to clk_set_min_rate in an attempt to fix the boot without a monitor connected on the RaspberryPi3. However, that introduced a regression breaking the display output entirely (black screen but no vblank timeout) on the Pi4. This is due to the fact that we now have in a typical modeset at boot, in vc4_hdmi_encoder_pre_crtc_configure(), we have a first call to clk_set_min_rate() asking for the minimum rate of the HSM clock for our given resolution, and then a call to pm_runtime_resume_and_get(). We will thus execute vc4_hdmi_runtime_resume() which, since the commit mentioned above, will call clk_set_min_rate() a second time with the absolute minimum rate we want to enforce on the HSM clock. We're thus effectively erasing the minimum mandated by the mode we're trying to set. The fact that only the Pi4 is affected is due to the fact that it uses a different clock driver that tries to minimize the HSM clock at all time. It will thus lower the HSM clock rate to 120MHz on the second clk_set_min_rate() call. The Pi3 doesn't use the same driver and will not change the frequency on the second clk_set_min_rate() call since it's still within the new boundaries and it doesn't have the code to minimize the clock rate as needed. So even though the boundaries are still off, the clock rate is still the right one for our given mode, so everything works. There is a lot of moving parts, so I couldn't find any obvious solution: - Reverting the original is not an option, as that would break the Pi3 again. - We can't move the clk_set_min_rate() call in _pre_crtc_configure() since because, on the Pi3, the HSM clock has the CLK_SET_RATE_GATE flag which prevents the clock rate from being changed after it's been enabled. Our calls to clk_set_min_rate() can change it, so they need to be done before clk_prepare_enable(). - We can't remove the call to clk_prepare_enable() from the runtime_resume hook to put it into _pre_crtc_configure() either, since we need that clock to be enabled to access the registers, and we can't count on the fact that the display will be active in all situations (doing any CEC operation, or listing the modes while inactive are valid for example()). - We can't drop the call to clk_set_min_rate() in _pre_crtc_configure() since we would need to still enforce the minimum rate for a given resolution, and runtime_resume doesn't have access to the current mode, if there's any. - We can't copy the TMDS character rate into vc4_hdmi and reuse it since, because it's part of the KMS atomic state, it needs to be protected by a mutex. Unfortunately, some functions (CEC operations, mostly) can be reentrant (through the CEC framework) and still need a pm_runtime_get. However, we can work around this issue by leveraging the fact that the clk_set_min_rate() calls set boundaries for its given struct clk, and that each different clk_get() call will return a different instance of struct clk. The clock framework will then aggregate the boundaries for each struct clk instances linked to a given clock, plus its hardware boundaries, and will use that. We can thus get an extra HSM clock user for runtime_pm use only, and use our different clock instances depending on the context: runtime_pm will use its own to set the absolute minimum clock setup so that we never lock the CPU waiting for a register access, and the modeset part will set its requirement for the current resolution. And we let the CCF do the coordination. It's not an ideal solution, but it's fairly unintrusive and doesn't really change any part of the logic so it looks like a rather safe fix. Link: https://bugzilla.redhat.com/show_bug.cgi?id=2136234 Fixes: ae71ab585c81 ("drm/vc4: hdmi: Enforce the minimum rate at runtime_resume") Reported-by: Peter Robinson Reviewed-by: Javier Martinez Canillas Tested-by: Peter Robinson Link: https://lore.kernel.org/r/20221021131339.2203291-1-maxime@cerno.tech Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_hdmi.c | 21 +++++++++++++++++---- drivers/gpu/drm/vc4/vc4_hdmi.h | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 79eda8f5fea0..470432c8fd70 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -3172,9 +3172,16 @@ static int vc4_hdmi_init_resources(struct drm_device *drm, DRM_ERROR("Failed to get HDMI state machine clock\n"); return PTR_ERR(vc4_hdmi->hsm_clock); } + vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock; vc4_hdmi->cec_clock = vc4_hdmi->hsm_clock; + vc4_hdmi->hsm_rpm_clock = devm_clk_get(dev, "hdmi"); + if (IS_ERR(vc4_hdmi->hsm_rpm_clock)) { + DRM_ERROR("Failed to get HDMI state machine clock\n"); + return PTR_ERR(vc4_hdmi->hsm_rpm_clock); + } + return 0; } @@ -3257,6 +3264,12 @@ static int vc5_hdmi_init_resources(struct drm_device *drm, return PTR_ERR(vc4_hdmi->hsm_clock); } + vc4_hdmi->hsm_rpm_clock = devm_clk_get(dev, "hdmi"); + if (IS_ERR(vc4_hdmi->hsm_rpm_clock)) { + DRM_ERROR("Failed to get HDMI state machine clock\n"); + return PTR_ERR(vc4_hdmi->hsm_rpm_clock); + } + vc4_hdmi->pixel_bvb_clock = devm_clk_get(dev, "bvb"); if (IS_ERR(vc4_hdmi->pixel_bvb_clock)) { DRM_ERROR("Failed to get pixel bvb clock\n"); @@ -3320,7 +3333,7 @@ static int vc4_hdmi_runtime_suspend(struct device *dev) { struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); - clk_disable_unprepare(vc4_hdmi->hsm_clock); + clk_disable_unprepare(vc4_hdmi->hsm_rpm_clock); return 0; } @@ -3338,11 +3351,11 @@ static int vc4_hdmi_runtime_resume(struct device *dev) * its frequency while the power domain is active so that it * keeps its rate. */ - ret = clk_set_min_rate(vc4_hdmi->hsm_clock, HSM_MIN_CLOCK_FREQ); + ret = clk_set_min_rate(vc4_hdmi->hsm_rpm_clock, HSM_MIN_CLOCK_FREQ); if (ret) return ret; - ret = clk_prepare_enable(vc4_hdmi->hsm_clock); + ret = clk_prepare_enable(vc4_hdmi->hsm_rpm_clock); if (ret) return ret; @@ -3355,7 +3368,7 @@ static int vc4_hdmi_runtime_resume(struct device *dev) * case, it will lead to a silent CPU stall. Let's make sure we * prevent such a case. */ - rate = clk_get_rate(vc4_hdmi->hsm_clock); + rate = clk_get_rate(vc4_hdmi->hsm_rpm_clock); if (!rate) { ret = -EINVAL; goto err_disable_clk; diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h index db823efb2563..1ad8e8c377e2 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.h +++ b/drivers/gpu/drm/vc4/vc4_hdmi.h @@ -172,6 +172,7 @@ struct vc4_hdmi { struct clk *cec_clock; struct clk *pixel_clock; struct clk *hsm_clock; + struct clk *hsm_rpm_clock; struct clk *audio_clock; struct clk *pixel_bvb_clock; -- cgit v1.2.3-59-g8ed1b From 62aa1a344b0904549f6de7af958e8a1136fd5228 Mon Sep 17 00:00:00 2001 From: Sean Nyekjaer Date: Thu, 3 Nov 2022 09:00:42 +0100 Subject: spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run When this driver is used with a driver that uses preallocated spi_transfer structs. The speed_hz is halved by every run. This results in: spi_stm32 44004000.spi: SPI transfer setup failed ads7846 spi0.0: SPI transfer failed: -22 Example when running with DIV_ROUND_UP(): - First run; speed_hz = 1000000, spi->clk_rate 125000000 div 125 -> mbrdiv = 7, cur_speed = 976562 - Second run; speed_hz = 976562 div 128,00007 (roundup to 129) -> mbrdiv = 8, cur_speed = 488281 - Third run; speed_hz = 488281 div 256,000131072067109 (roundup to 257) and then -EINVAL is returned. Use DIV_ROUND_CLOSEST to allow to round down and allow us to keep the set speed. Signed-off-by: Sean Nyekjaer Link: https://lore.kernel.org/r/20221103080043.3033414-1-sean@geanix.com Signed-off-by: Mark Brown --- drivers/spi/spi-stm32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c index 3c2fa2e2f94a..def09cf0dc14 100644 --- a/drivers/spi/spi-stm32.c +++ b/drivers/spi/spi-stm32.c @@ -434,7 +434,7 @@ static int stm32_spi_prepare_mbr(struct stm32_spi *spi, u32 speed_hz, u32 div, mbrdiv; /* Ensure spi->clk_rate is even */ - div = DIV_ROUND_UP(spi->clk_rate & ~0x1, speed_hz); + div = DIV_ROUND_CLOSEST(spi->clk_rate & ~0x1, speed_hz); /* * SPI framework set xfer->speed_hz to master->max_speed_hz if -- cgit v1.2.3-59-g8ed1b From 4ad1aa571214e8d6468a1806794d987b374b5a08 Mon Sep 17 00:00:00 2001 From: Anirudh Rayabharam Date: Thu, 27 Oct 2022 15:27:28 +0530 Subject: clocksource/drivers/hyperv: add data structure for reference TSC MSR Add a data structure to represent the reference TSC MSR similar to other MSRs. This simplifies the code for updating the MSR. Signed-off-by: Anirudh Rayabharam Reviewed-by: Michael Kelley Link: https://lore.kernel.org/r/20221027095729.1676394-2-anrayabh@linux.microsoft.com Signed-off-by: Wei Liu --- drivers/clocksource/hyperv_timer.c | 29 +++++++++++++++-------------- include/asm-generic/hyperv-tlfs.h | 9 +++++++++ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/drivers/clocksource/hyperv_timer.c b/drivers/clocksource/hyperv_timer.c index bb47610bbd1c..18de1f439ffd 100644 --- a/drivers/clocksource/hyperv_timer.c +++ b/drivers/clocksource/hyperv_timer.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -395,25 +396,25 @@ static u64 notrace read_hv_sched_clock_tsc(void) static void suspend_hv_clock_tsc(struct clocksource *arg) { - u64 tsc_msr; + union hv_reference_tsc_msr tsc_msr; /* Disable the TSC page */ - tsc_msr = hv_get_register(HV_REGISTER_REFERENCE_TSC); - tsc_msr &= ~BIT_ULL(0); - hv_set_register(HV_REGISTER_REFERENCE_TSC, tsc_msr); + tsc_msr.as_uint64 = hv_get_register(HV_REGISTER_REFERENCE_TSC); + tsc_msr.enable = 0; + hv_set_register(HV_REGISTER_REFERENCE_TSC, tsc_msr.as_uint64); } static void resume_hv_clock_tsc(struct clocksource *arg) { phys_addr_t phys_addr = virt_to_phys(&tsc_pg); - u64 tsc_msr; + union hv_reference_tsc_msr tsc_msr; /* Re-enable the TSC page */ - tsc_msr = hv_get_register(HV_REGISTER_REFERENCE_TSC); - tsc_msr &= GENMASK_ULL(11, 0); - tsc_msr |= BIT_ULL(0) | (u64)phys_addr; - hv_set_register(HV_REGISTER_REFERENCE_TSC, tsc_msr); + tsc_msr.as_uint64 = hv_get_register(HV_REGISTER_REFERENCE_TSC); + tsc_msr.enable = 1; + tsc_msr.pfn = HVPFN_DOWN(phys_addr); + hv_set_register(HV_REGISTER_REFERENCE_TSC, tsc_msr.as_uint64); } #ifdef HAVE_VDSO_CLOCKMODE_HVCLOCK @@ -495,7 +496,7 @@ static __always_inline void hv_setup_sched_clock(void *sched_clock) {} static bool __init hv_init_tsc_clocksource(void) { - u64 tsc_msr; + union hv_reference_tsc_msr tsc_msr; phys_addr_t phys_addr; if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) @@ -530,10 +531,10 @@ static bool __init hv_init_tsc_clocksource(void) * (which already has at least the low 12 bits set to zero since * it is page aligned). Also set the "enable" bit, which is bit 0. */ - tsc_msr = hv_get_register(HV_REGISTER_REFERENCE_TSC); - tsc_msr &= GENMASK_ULL(11, 0); - tsc_msr = tsc_msr | 0x1 | (u64)phys_addr; - hv_set_register(HV_REGISTER_REFERENCE_TSC, tsc_msr); + tsc_msr.as_uint64 = hv_get_register(HV_REGISTER_REFERENCE_TSC); + tsc_msr.enable = 1; + tsc_msr.pfn = HVPFN_DOWN(phys_addr); + hv_set_register(HV_REGISTER_REFERENCE_TSC, tsc_msr.as_uint64); clocksource_register_hz(&hyperv_cs_tsc, NSEC_PER_SEC/100); diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h index fdce7a4cfc6f..b17c6eeb9afa 100644 --- a/include/asm-generic/hyperv-tlfs.h +++ b/include/asm-generic/hyperv-tlfs.h @@ -102,6 +102,15 @@ struct ms_hyperv_tsc_page { volatile s64 tsc_offset; } __packed; +union hv_reference_tsc_msr { + u64 as_uint64; + struct { + u64 enable:1; + u64 reserved:11; + u64 pfn:52; + } __packed; +}; + /* * The guest OS needs to register the guest ID with the hypervisor. * The guest ID is a 64 bit entity and the structure of this ID is -- cgit v1.2.3-59-g8ed1b From 2982635a0b3d08d6fee2ff05632206286df0e703 Mon Sep 17 00:00:00 2001 From: Anirudh Rayabharam Date: Thu, 27 Oct 2022 15:27:29 +0530 Subject: x86/hyperv: fix invalid writes to MSRs during root partition kexec hyperv_cleanup resets the hypercall page by setting the MSR to 0. However, the root partition is not allowed to write to the GPA bits of the MSR. Instead, it uses the hypercall page provided by the MSR. Similar is the case with the reference TSC MSR. Clear only the enable bit instead of zeroing the entire MSR to make the code valid for root partition too. Signed-off-by: Anirudh Rayabharam Reviewed-by: Michael Kelley Link: https://lore.kernel.org/r/20221027095729.1676394-3-anrayabh@linux.microsoft.com Signed-off-by: Wei Liu --- arch/x86/hyperv/hv_init.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index d46f70522ddf..f49bc3ec76e6 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -535,6 +535,7 @@ common_free: void hyperv_cleanup(void) { union hv_x64_msr_hypercall_contents hypercall_msr; + union hv_reference_tsc_msr tsc_msr; unregister_syscore_ops(&hv_syscore_ops); @@ -550,12 +551,14 @@ void hyperv_cleanup(void) hv_hypercall_pg = NULL; /* Reset the hypercall page */ - hypercall_msr.as_uint64 = 0; - wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); + hypercall_msr.as_uint64 = hv_get_register(HV_X64_MSR_HYPERCALL); + hypercall_msr.enable = 0; + hv_set_register(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); /* Reset the TSC page */ - hypercall_msr.as_uint64 = 0; - wrmsrl(HV_X64_MSR_REFERENCE_TSC, hypercall_msr.as_uint64); + tsc_msr.as_uint64 = hv_get_register(HV_X64_MSR_REFERENCE_TSC); + tsc_msr.enable = 0; + hv_set_register(HV_X64_MSR_REFERENCE_TSC, tsc_msr.as_uint64); } void hyperv_report_panic(struct pt_regs *regs, long err, bool in_die) -- cgit v1.2.3-59-g8ed1b From 9539c7fa38d35f869e83d56eb65a0b681644031b Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 28 Oct 2022 08:37:42 -0700 Subject: MAINTAINERS: remove sthemmin Leaving Microsoft, the Hyper-V drivers have lots of other maintainers. Signed-off-by: Stephen Hemminger Link: https://lore.kernel.org/r/20221028153741.25470-1-stephen@networkplumber.org Signed-off-by: Wei Liu --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index e04d944005ba..8417029432fa 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -9504,7 +9504,6 @@ F: drivers/media/i2c/hi847.c Hyper-V/Azure CORE AND DRIVERS M: "K. Y. Srinivasan" M: Haiyang Zhang -M: Stephen Hemminger M: Wei Liu M: Dexuan Cui L: linux-hyperv@vger.kernel.org -- cgit v1.2.3-59-g8ed1b From e70af8d040d2b7904dca93d942ba23fb722e21b1 Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Thu, 27 Oct 2022 13:52:56 -0700 Subject: PCI: hv: Fix the definition of vector in hv_compose_msi_msg() The local variable 'vector' must be u32 rather than u8: see the struct hv_msi_desc3. 'vector_count' should be u16 rather than u8: see struct hv_msi_desc, hv_msi_desc2 and hv_msi_desc3. Fixes: a2bad844a67b ("PCI: hv: Fix interrupt mapping for multi-MSI") Signed-off-by: Dexuan Cui Cc: Jeffrey Hugo Cc: Carl Vanderlip Reviewed-by: Jeffrey Hugo Link: https://lore.kernel.org/r/20221027205256.17678-1-decui@microsoft.com Signed-off-by: Wei Liu --- drivers/pci/controller/pci-hyperv.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c index e7c6f6629e7c..ba64284eaf9f 100644 --- a/drivers/pci/controller/pci-hyperv.c +++ b/drivers/pci/controller/pci-hyperv.c @@ -1614,7 +1614,7 @@ out: static u32 hv_compose_msi_req_v1( struct pci_create_interrupt *int_pkt, const struct cpumask *affinity, - u32 slot, u8 vector, u8 vector_count) + u32 slot, u8 vector, u16 vector_count) { int_pkt->message_type.type = PCI_CREATE_INTERRUPT_MESSAGE; int_pkt->wslot.slot = slot; @@ -1642,7 +1642,7 @@ static int hv_compose_msi_req_get_cpu(const struct cpumask *affinity) static u32 hv_compose_msi_req_v2( struct pci_create_interrupt2 *int_pkt, const struct cpumask *affinity, - u32 slot, u8 vector, u8 vector_count) + u32 slot, u8 vector, u16 vector_count) { int cpu; @@ -1661,7 +1661,7 @@ static u32 hv_compose_msi_req_v2( static u32 hv_compose_msi_req_v3( struct pci_create_interrupt3 *int_pkt, const struct cpumask *affinity, - u32 slot, u32 vector, u8 vector_count) + u32 slot, u32 vector, u16 vector_count) { int cpu; @@ -1701,7 +1701,12 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) struct compose_comp_ctxt comp; struct tran_int_desc *int_desc; struct msi_desc *msi_desc; - u8 vector, vector_count; + /* + * vector_count should be u16: see hv_msi_desc, hv_msi_desc2 + * and hv_msi_desc3. vector must be u32: see hv_msi_desc3. + */ + u16 vector_count; + u32 vector; struct { struct pci_packet pci_pkt; union { @@ -1767,6 +1772,11 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) vector_count = 1; } + /* + * hv_compose_msi_req_v1 and v2 are for x86 only, meaning 'vector' + * can't exceed u8. Cast 'vector' down to u8 for v1/v2 explicitly + * for better readability. + */ memset(&ctxt, 0, sizeof(ctxt)); init_completion(&comp.comp_pkt.host_event); ctxt.pci_pkt.completion_func = hv_pci_compose_compl; @@ -1777,7 +1787,7 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) size = hv_compose_msi_req_v1(&ctxt.int_pkts.v1, dest, hpdev->desc.win_slot.slot, - vector, + (u8)vector, vector_count); break; @@ -1786,7 +1796,7 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) size = hv_compose_msi_req_v2(&ctxt.int_pkts.v2, dest, hpdev->desc.win_slot.slot, - vector, + (u8)vector, vector_count); break; -- cgit v1.2.3-59-g8ed1b From f77810f744139572a63e5a85ab6a8c10c2d44fb1 Mon Sep 17 00:00:00 2001 From: Jason Gerecke Date: Thu, 3 Nov 2022 10:33:04 -0700 Subject: HID: wacom: Fix logic used for 3rd barrel switch emulation When support was added for devices using an explicit 3rd barrel switch, the logic used by devices emulating this feature was broken. The 'if' statement / block that was introduced only handles the case where the button is pressed (i.e. 'barrelswitch' and 'barrelswitch2' are both set) but not the case where it is released (i.e. one or both being cleared). This results in a BTN_STYLUS3 "down" event being sent when the button is pressed, but no "up" event ever being sent afterwards. This patch restores the previously-used logic for determining button states in the emulated case so that switches are reported correctly again. Link: https://github.com/linuxwacom/xf86-input-wacom/issues/292 Fixes: 6d09085b38e5 ("HID: wacom: Adding Support for new usages") CC: stable@vger.kernel.org #v5.19+ Signed-off-by: Jason Gerecke Tested-by: Joshua Dickens Reviewed-by: Ping Cheng Signed-off-by: Jiri Kosina --- drivers/hid/wacom_wac.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index 77486962a773..0f3d57b42684 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -2520,11 +2520,12 @@ static void wacom_wac_pen_report(struct hid_device *hdev, if (!delay_pen_events(wacom_wac) && wacom_wac->tool[0]) { int id = wacom_wac->id[0]; - if (wacom_wac->features.quirks & WACOM_QUIRK_PEN_BUTTON3 && - wacom_wac->hid_data.barrelswitch & wacom_wac->hid_data.barrelswitch2) { - wacom_wac->hid_data.barrelswitch = 0; - wacom_wac->hid_data.barrelswitch2 = 0; - wacom_wac->hid_data.barrelswitch3 = 1; + if (wacom_wac->features.quirks & WACOM_QUIRK_PEN_BUTTON3) { + int sw_state = wacom_wac->hid_data.barrelswitch | + (wacom_wac->hid_data.barrelswitch2 << 1); + wacom_wac->hid_data.barrelswitch = sw_state == 1; + wacom_wac->hid_data.barrelswitch2 = sw_state == 2; + wacom_wac->hid_data.barrelswitch3 = sw_state == 3; } input_report_key(input, BTN_STYLUS, wacom_wac->hid_data.barrelswitch); input_report_key(input, BTN_STYLUS2, wacom_wac->hid_data.barrelswitch2); -- cgit v1.2.3-59-g8ed1b From bff6bef701db784bb159a659e99c785b4594fc96 Mon Sep 17 00:00:00 2001 From: Vitaly Rodionov Date: Fri, 4 Nov 2022 10:06:37 +0000 Subject: spi: amd: Fix SPI_SPD7 value According to data sheet SPI_SPD7 should be set to 7. Signed-off-by: Vitaly Rodionov Link: https://lore.kernel.org/r/20221104100637.13376-1-vitalyr@opensource.cirrus.com Signed-off-by: Mark Brown --- drivers/spi/spi-amd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-amd.c b/drivers/spi/spi-amd.c index e23121456c70..bfc3ab5f39ea 100644 --- a/drivers/spi/spi-amd.c +++ b/drivers/spi/spi-amd.c @@ -65,7 +65,7 @@ enum amd_spi_speed { F_16_66MHz, F_100MHz, F_800KHz, - SPI_SPD7, + SPI_SPD7 = 0x7, F_50MHz = 0x4, F_4MHz = 0x32, F_3_17MHz = 0x3F -- cgit v1.2.3-59-g8ed1b From d3fd203f36d46aa29600a72d57a1b61af80e4a25 Mon Sep 17 00:00:00 2001 From: Baisong Zhong Date: Wed, 2 Nov 2022 16:16:20 +0800 Subject: bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb() We got a syzkaller problem because of aarch64 alignment fault if KFENCE enabled. When the size from user bpf program is an odd number, like 399, 407, etc, it will cause the struct skb_shared_info's unaligned access. As seen below: BUG: KFENCE: use-after-free read in __skb_clone+0x23c/0x2a0 net/core/skbuff.c:1032 Use-after-free read at 0xffff6254fffac077 (in kfence-#213): __lse_atomic_add arch/arm64/include/asm/atomic_lse.h:26 [inline] arch_atomic_add arch/arm64/include/asm/atomic.h:28 [inline] arch_atomic_inc include/linux/atomic-arch-fallback.h:270 [inline] atomic_inc include/asm-generic/atomic-instrumented.h:241 [inline] __skb_clone+0x23c/0x2a0 net/core/skbuff.c:1032 skb_clone+0xf4/0x214 net/core/skbuff.c:1481 ____bpf_clone_redirect net/core/filter.c:2433 [inline] bpf_clone_redirect+0x78/0x1c0 net/core/filter.c:2420 bpf_prog_d3839dd9068ceb51+0x80/0x330 bpf_dispatcher_nop_func include/linux/bpf.h:728 [inline] bpf_test_run+0x3c0/0x6c0 net/bpf/test_run.c:53 bpf_prog_test_run_skb+0x638/0xa7c net/bpf/test_run.c:594 bpf_prog_test_run kernel/bpf/syscall.c:3148 [inline] __do_sys_bpf kernel/bpf/syscall.c:4441 [inline] __se_sys_bpf+0xad0/0x1634 kernel/bpf/syscall.c:4381 kfence-#213: 0xffff6254fffac000-0xffff6254fffac196, size=407, cache=kmalloc-512 allocated by task 15074 on cpu 0 at 1342.585390s: kmalloc include/linux/slab.h:568 [inline] kzalloc include/linux/slab.h:675 [inline] bpf_test_init.isra.0+0xac/0x290 net/bpf/test_run.c:191 bpf_prog_test_run_skb+0x11c/0xa7c net/bpf/test_run.c:512 bpf_prog_test_run kernel/bpf/syscall.c:3148 [inline] __do_sys_bpf kernel/bpf/syscall.c:4441 [inline] __se_sys_bpf+0xad0/0x1634 kernel/bpf/syscall.c:4381 __arm64_sys_bpf+0x50/0x60 kernel/bpf/syscall.c:4381 To fix the problem, we adjust @size so that (@size + @hearoom) is a multiple of SMP_CACHE_BYTES. So we make sure the struct skb_shared_info is aligned to a cache line. Fixes: 1cf1cae963c2 ("bpf: introduce BPF_PROG_TEST_RUN command") Signed-off-by: Baisong Zhong Signed-off-by: Daniel Borkmann Cc: Eric Dumazet Link: https://lore.kernel.org/bpf/20221102081620.1465154-1-zhongbaisong@huawei.com --- net/bpf/test_run.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c index 13d578ce2a09..fcb3e6c5e03c 100644 --- a/net/bpf/test_run.c +++ b/net/bpf/test_run.c @@ -774,6 +774,7 @@ static void *bpf_test_init(const union bpf_attr *kattr, u32 user_size, if (user_size > size) return ERR_PTR(-EMSGSIZE); + size = SKB_DATA_ALIGN(size); data = kzalloc(size + headroom + tailroom, GFP_USER); if (!data) return ERR_PTR(-ENOMEM); -- cgit v1.2.3-59-g8ed1b From 18acb7fac22ff7b36c7ea5a76b12996e7b7dbaba Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 3 Nov 2022 13:00:13 +0100 Subject: bpf: Revert ("Fix dispatcher patchable function entry to 5 bytes nop") MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Because __attribute__((patchable_function_entry)) is only available since GCC-8 this solution fails to build on the minimum required GCC version. Undo these changes so we might try again -- without cluttering up the patches with too many changes. This is an almost complete revert of: dbe69b299884 ("bpf: Fix dispatcher patchable function entry to 5 bytes nop") ceea991a019c ("bpf: Move bpf_dispatcher function out of ftrace locations") (notably the arch/x86/Kconfig hunk is kept). Reported-by: David Laight Signed-off-by: Peter Zijlstra (Intel) Signed-off-by: Daniel Borkmann Tested-by: Björn Töpel Tested-by: Jiri Olsa Acked-by: Björn Töpel Acked-by: Jiri Olsa Link: https://lkml.kernel.org/r/439d8dc735bb4858875377df67f1b29a@AcuMS.aculab.com Link: https://lore.kernel.org/bpf/20221103120647.728830733@infradead.org --- arch/x86/net/bpf_jit_comp.c | 13 ------------- include/linux/bpf.h | 21 +-------------------- kernel/bpf/dispatcher.c | 6 ------ 3 files changed, 1 insertion(+), 39 deletions(-) diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c index 00127abd89ee..99620428ad78 100644 --- a/arch/x86/net/bpf_jit_comp.c +++ b/arch/x86/net/bpf_jit_comp.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -389,18 +388,6 @@ out: return ret; } -int __init bpf_arch_init_dispatcher_early(void *ip) -{ - const u8 *nop_insn = x86_nops[5]; - - if (is_endbr(*(u32 *)ip)) - ip += ENDBR_INSN_SIZE; - - if (memcmp(ip, nop_insn, X86_PATCH_SIZE)) - text_poke_early(ip, nop_insn, X86_PATCH_SIZE); - return 0; -} - int bpf_arch_text_poke(void *ip, enum bpf_text_poke_type t, void *old_addr, void *new_addr) { diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 0566705c1d4e..5cd95716b441 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -27,7 +27,6 @@ #include #include #include -#include struct bpf_verifier_env; struct bpf_verifier_log; @@ -971,8 +970,6 @@ struct bpf_trampoline *bpf_trampoline_get(u64 key, struct bpf_attach_target_info *tgt_info); void bpf_trampoline_put(struct bpf_trampoline *tr); int arch_prepare_bpf_dispatcher(void *image, void *buf, s64 *funcs, int num_funcs); -int __init bpf_arch_init_dispatcher_early(void *ip); - #define BPF_DISPATCHER_INIT(_name) { \ .mutex = __MUTEX_INITIALIZER(_name.mutex), \ .func = &_name##_func, \ @@ -986,21 +983,7 @@ int __init bpf_arch_init_dispatcher_early(void *ip); }, \ } -#define BPF_DISPATCHER_INIT_CALL(_name) \ - static int __init _name##_init(void) \ - { \ - return bpf_arch_init_dispatcher_early(_name##_func); \ - } \ - early_initcall(_name##_init) - -#ifdef CONFIG_X86_64 -#define BPF_DISPATCHER_ATTRIBUTES __attribute__((patchable_function_entry(5))) -#else -#define BPF_DISPATCHER_ATTRIBUTES -#endif - #define DEFINE_BPF_DISPATCHER(name) \ - notrace BPF_DISPATCHER_ATTRIBUTES \ noinline __nocfi unsigned int bpf_dispatcher_##name##_func( \ const void *ctx, \ const struct bpf_insn *insnsi, \ @@ -1010,9 +993,7 @@ int __init bpf_arch_init_dispatcher_early(void *ip); } \ EXPORT_SYMBOL(bpf_dispatcher_##name##_func); \ struct bpf_dispatcher bpf_dispatcher_##name = \ - BPF_DISPATCHER_INIT(bpf_dispatcher_##name); \ - BPF_DISPATCHER_INIT_CALL(bpf_dispatcher_##name); - + BPF_DISPATCHER_INIT(bpf_dispatcher_##name); #define DECLARE_BPF_DISPATCHER(name) \ unsigned int bpf_dispatcher_##name##_func( \ const void *ctx, \ diff --git a/kernel/bpf/dispatcher.c b/kernel/bpf/dispatcher.c index 04f0a045dcaa..fa64b80b8bca 100644 --- a/kernel/bpf/dispatcher.c +++ b/kernel/bpf/dispatcher.c @@ -4,7 +4,6 @@ #include #include #include -#include /* The BPF dispatcher is a multiway branch code generator. The * dispatcher is a mechanism to avoid the performance penalty of an @@ -91,11 +90,6 @@ int __weak arch_prepare_bpf_dispatcher(void *image, void *buf, s64 *funcs, int n return -ENOTSUPP; } -int __weak __init bpf_arch_init_dispatcher_early(void *ip) -{ - return -ENOTSUPP; -} - static int bpf_dispatcher_prepare(struct bpf_dispatcher *d, void *image, void *buf) { s64 ips[BPF_DISPATCHER_MAX] = {}, *ipsp = &ips[0]; -- cgit v1.2.3-59-g8ed1b From c86df29d11dfba27c0a1f5039cd6fe387fbf4239 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 3 Nov 2022 13:00:14 +0100 Subject: bpf: Convert BPF_DISPATCHER to use static_call() (not ftrace) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dispatcher function is currently abusing the ftrace __fentry__ call location for its own purposes -- this obviously gives trouble when the dispatcher and ftrace are both in use. A previous solution tried using __attribute__((patchable_function_entry())) which works, except it is GCC-8+ only, breaking the build on the earlier still supported compilers. Instead use static_call() -- which has its own annotations and does not conflict with ftrace -- to rewrite the dispatch function. By using: return static_call()(ctx, insni, bpf_func) you get a perfect forwarding tail call as function body (iow a single jmp instruction). By having the default static_call() target be bpf_dispatcher_nop_func() it retains the default behaviour (an indirect call to the argument function). Only once a dispatcher program is attached is the target rewritten to directly call the JIT'ed image. Signed-off-by: Peter Zijlstra (Intel) Signed-off-by: Daniel Borkmann Tested-by: Björn Töpel Tested-by: Jiri Olsa Acked-by: Björn Töpel Acked-by: Jiri Olsa Link: https://lkml.kernel.org/r/Y1/oBlK0yFk5c/Im@hirez.programming.kicks-ass.net Link: https://lore.kernel.org/bpf/20221103120647.796772565@infradead.org --- include/linux/bpf.h | 39 ++++++++++++++++++++++++++++++++++++++- kernel/bpf/dispatcher.c | 22 ++++++++-------------- 2 files changed, 46 insertions(+), 15 deletions(-) diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 5cd95716b441..74c6f449d81e 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -27,6 +27,7 @@ #include #include #include +#include struct bpf_verifier_env; struct bpf_verifier_log; @@ -953,6 +954,10 @@ struct bpf_dispatcher { void *rw_image; u32 image_off; struct bpf_ksym ksym; +#ifdef CONFIG_HAVE_STATIC_CALL + struct static_call_key *sc_key; + void *sc_tramp; +#endif }; static __always_inline __nocfi unsigned int bpf_dispatcher_nop_func( @@ -970,6 +975,34 @@ struct bpf_trampoline *bpf_trampoline_get(u64 key, struct bpf_attach_target_info *tgt_info); void bpf_trampoline_put(struct bpf_trampoline *tr); int arch_prepare_bpf_dispatcher(void *image, void *buf, s64 *funcs, int num_funcs); + +/* + * When the architecture supports STATIC_CALL replace the bpf_dispatcher_fn + * indirection with a direct call to the bpf program. If the architecture does + * not have STATIC_CALL, avoid a double-indirection. + */ +#ifdef CONFIG_HAVE_STATIC_CALL + +#define __BPF_DISPATCHER_SC_INIT(_name) \ + .sc_key = &STATIC_CALL_KEY(_name), \ + .sc_tramp = STATIC_CALL_TRAMP_ADDR(_name), + +#define __BPF_DISPATCHER_SC(name) \ + DEFINE_STATIC_CALL(bpf_dispatcher_##name##_call, bpf_dispatcher_nop_func) + +#define __BPF_DISPATCHER_CALL(name) \ + static_call(bpf_dispatcher_##name##_call)(ctx, insnsi, bpf_func) + +#define __BPF_DISPATCHER_UPDATE(_d, _new) \ + __static_call_update((_d)->sc_key, (_d)->sc_tramp, (_new)) + +#else +#define __BPF_DISPATCHER_SC_INIT(name) +#define __BPF_DISPATCHER_SC(name) +#define __BPF_DISPATCHER_CALL(name) bpf_func(ctx, insnsi) +#define __BPF_DISPATCHER_UPDATE(_d, _new) +#endif + #define BPF_DISPATCHER_INIT(_name) { \ .mutex = __MUTEX_INITIALIZER(_name.mutex), \ .func = &_name##_func, \ @@ -981,25 +1014,29 @@ int arch_prepare_bpf_dispatcher(void *image, void *buf, s64 *funcs, int num_func .name = #_name, \ .lnode = LIST_HEAD_INIT(_name.ksym.lnode), \ }, \ + __BPF_DISPATCHER_SC_INIT(_name##_call) \ } #define DEFINE_BPF_DISPATCHER(name) \ + __BPF_DISPATCHER_SC(name); \ noinline __nocfi unsigned int bpf_dispatcher_##name##_func( \ const void *ctx, \ const struct bpf_insn *insnsi, \ bpf_func_t bpf_func) \ { \ - return bpf_func(ctx, insnsi); \ + return __BPF_DISPATCHER_CALL(name); \ } \ EXPORT_SYMBOL(bpf_dispatcher_##name##_func); \ struct bpf_dispatcher bpf_dispatcher_##name = \ BPF_DISPATCHER_INIT(bpf_dispatcher_##name); + #define DECLARE_BPF_DISPATCHER(name) \ unsigned int bpf_dispatcher_##name##_func( \ const void *ctx, \ const struct bpf_insn *insnsi, \ bpf_func_t bpf_func); \ extern struct bpf_dispatcher bpf_dispatcher_##name; + #define BPF_DISPATCHER_FUNC(name) bpf_dispatcher_##name##_func #define BPF_DISPATCHER_PTR(name) (&bpf_dispatcher_##name) void bpf_dispatcher_change_prog(struct bpf_dispatcher *d, struct bpf_prog *from, diff --git a/kernel/bpf/dispatcher.c b/kernel/bpf/dispatcher.c index fa64b80b8bca..7dfb8d0d5202 100644 --- a/kernel/bpf/dispatcher.c +++ b/kernel/bpf/dispatcher.c @@ -4,6 +4,7 @@ #include #include #include +#include /* The BPF dispatcher is a multiway branch code generator. The * dispatcher is a mechanism to avoid the performance penalty of an @@ -104,17 +105,11 @@ static int bpf_dispatcher_prepare(struct bpf_dispatcher *d, void *image, void *b static void bpf_dispatcher_update(struct bpf_dispatcher *d, int prev_num_progs) { - void *old, *new, *tmp; - u32 noff; - int err; - - if (!prev_num_progs) { - old = NULL; - noff = 0; - } else { - old = d->image + d->image_off; + void *new, *tmp; + u32 noff = 0; + + if (prev_num_progs) noff = d->image_off ^ (PAGE_SIZE / 2); - } new = d->num_progs ? d->image + noff : NULL; tmp = d->num_progs ? d->rw_image + noff : NULL; @@ -128,11 +123,10 @@ static void bpf_dispatcher_update(struct bpf_dispatcher *d, int prev_num_progs) return; } - err = bpf_arch_text_poke(d->func, BPF_MOD_JUMP, old, new); - if (err || !new) - return; + __BPF_DISPATCHER_UPDATE(d, new ?: &bpf_dispatcher_nop_func); - d->image_off = noff; + if (new) + d->image_off = noff; } void bpf_dispatcher_change_prog(struct bpf_dispatcher *d, struct bpf_prog *from, -- cgit v1.2.3-59-g8ed1b From 0c423e2ffa7edd3f8f9bcf17ce73fa9c7509b99e Mon Sep 17 00:00:00 2001 From: Xian Wang Date: Fri, 4 Nov 2022 13:29:13 -0700 Subject: ALSA: hda/ca0132: add quirk for EVGA Z390 DARK The Z390 DARK mainboard uses a CA0132 audio controller. The quirk is needed to enable surround sound and 3.5mm headphone jack handling in the front audio connector as well as in the rear of the board when in stereo mode. Page 97 of the linked manual contains instructions to setup the controller. Signed-off-by: Xian Wang Cc: stable@vger.kernel.org Link: https://www.evga.com/support/manuals/files/131-CS-E399.pdf Link: https://lore.kernel.org/r/20221104202913.13904-1-dev@xianwang.io Signed-off-by: Takashi Iwai --- sound/pci/hda/patch_ca0132.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 9580fe00cbd9..0a292bf271f2 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -1306,6 +1306,7 @@ static const struct snd_pci_quirk ca0132_quirks[] = { SND_PCI_QUIRK(0x1458, 0xA026, "Gigabyte G1.Sniper Z97", QUIRK_R3DI), SND_PCI_QUIRK(0x1458, 0xA036, "Gigabyte GA-Z170X-Gaming 7", QUIRK_R3DI), SND_PCI_QUIRK(0x3842, 0x1038, "EVGA X99 Classified", QUIRK_R3DI), + SND_PCI_QUIRK(0x3842, 0x1055, "EVGA Z390 DARK", QUIRK_R3DI), SND_PCI_QUIRK(0x1102, 0x0013, "Recon3D", QUIRK_R3D), SND_PCI_QUIRK(0x1102, 0x0018, "Recon3D", QUIRK_R3D), SND_PCI_QUIRK(0x1102, 0x0051, "Sound Blaster AE-5", QUIRK_AE5), -- cgit v1.2.3-59-g8ed1b From bdd6b5624c62d0acd350d07564f1c82fe649235f Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Sat, 5 Nov 2022 09:49:26 -0400 Subject: nfsd: fix use-after-free in nfsd_file_do_acquire tracepoint When we fail to insert into the hashtable with a non-retryable error, we'll free the object and then goto out_status. If the tracepoint is enabled, it'll end up accessing the freed object when it tries to grab the fields out of it. Set nf to NULL after freeing it to avoid the issue. Fixes: 243a5263014a ("nfsd: rework hashtable handling in nfsd_do_file_acquire") Reported-by: kernel test robot Reported-by: Dan Carpenter Signed-off-by: Jeff Layton Signed-off-by: Chuck Lever --- fs/nfsd/filecache.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c index adc4e87a71d2..ec3fceb92236 100644 --- a/fs/nfsd/filecache.c +++ b/fs/nfsd/filecache.c @@ -1076,6 +1076,7 @@ retry: goto open_file; nfsd_file_slab_free(&nf->nf_rcu); + nf = NULL; if (ret == -EEXIST) goto retry; trace_nfsd_file_insert_err(rqstp, key.inode, may_flags, ret); -- cgit v1.2.3-59-g8ed1b From 6dcabcd398946e2b0b776a8310291aeebe1ca0e6 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Sun, 6 Nov 2022 13:17:27 -0700 Subject: io_uring: fix typo in io_uring.h comment Just a basic s/thig/this swap, fixing up a typo introduced by a commit added in the 6.1 release. Fixes: 9cda70f622cd ("io_uring: introduce fixed buffer support for io_uring_cmd") Signed-off-by: Jens Axboe --- include/uapi/linux/io_uring.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index ab7458033ee3..2df3225b562f 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h @@ -222,7 +222,7 @@ enum io_uring_op { /* * sqe->uring_cmd_flags - * IORING_URING_CMD_FIXED use registered buffer; pass thig flag + * IORING_URING_CMD_FIXED use registered buffer; pass this flag * along with setting sqe->buf_index. */ #define IORING_URING_CMD_FIXED (1U << 0) -- cgit v1.2.3-59-g8ed1b From 6973091d1b50ab4042f6a2d495f59e9db3662ab8 Mon Sep 17 00:00:00 2001 From: Nico Boehr Date: Tue, 11 Oct 2022 18:07:12 +0200 Subject: KVM: s390: pv: don't allow userspace to set the clock under PV When running under PV, the guest's TOD clock is under control of the ultravisor and the hypervisor isn't allowed to change it. Hence, don't allow userspace to change the guest's TOD clock by returning -EOPNOTSUPP. When userspace changes the guest's TOD clock, KVM updates its kvm.arch.epoch field and, in addition, the epoch field in all state descriptions of all VCPUs. But, under PV, the ultravisor will ignore the epoch field in the state description and simply overwrite it on next SIE exit with the actual guest epoch. This leads to KVM having an incorrect view of the guest's TOD clock: it has updated its internal kvm.arch.epoch field, but the ultravisor ignores the field in the state description. Whenever a guest is now waiting for a clock comparator, KVM will incorrectly calculate the time when the guest should wake up, possibly causing the guest to sleep for much longer than expected. With this change, kvm_s390_set_tod() will now take the kvm->lock to be able to call kvm_s390_pv_is_protected(). Since kvm_s390_set_tod_clock() also takes kvm->lock, use __kvm_s390_set_tod_clock() instead. The function kvm_s390_set_tod_clock is now unused, hence remove it. Update the documentation to indicate the TOD clock attr calls can now return -EOPNOTSUPP. Fixes: 0f3035047140 ("KVM: s390: protvirt: Do only reset registers that are accessible") Reported-by: Marc Hartmayer Signed-off-by: Nico Boehr Reviewed-by: Claudio Imbrenda Reviewed-by: Janosch Frank Link: https://lore.kernel.org/r/20221011160712.928239-2-nrb@linux.ibm.com Message-Id: <20221011160712.928239-2-nrb@linux.ibm.com> Signed-off-by: Janosch Frank --- Documentation/virt/kvm/devices/vm.rst | 3 +++ arch/s390/kvm/kvm-s390.c | 26 +++++++++++++++++--------- arch/s390/kvm/kvm-s390.h | 1 - 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Documentation/virt/kvm/devices/vm.rst b/Documentation/virt/kvm/devices/vm.rst index 0aa5b1cfd700..60acc39e0e93 100644 --- a/Documentation/virt/kvm/devices/vm.rst +++ b/Documentation/virt/kvm/devices/vm.rst @@ -215,6 +215,7 @@ KVM_S390_VM_TOD_EXT). :Parameters: address of a buffer in user space to store the data (u8) to :Returns: -EFAULT if the given address is not accessible from kernel space; -EINVAL if setting the TOD clock extension to != 0 is not supported + -EOPNOTSUPP for a PV guest (TOD managed by the ultravisor) 3.2. ATTRIBUTE: KVM_S390_VM_TOD_LOW ----------------------------------- @@ -224,6 +225,7 @@ the POP (u64). :Parameters: address of a buffer in user space to store the data (u64) to :Returns: -EFAULT if the given address is not accessible from kernel space + -EOPNOTSUPP for a PV guest (TOD managed by the ultravisor) 3.3. ATTRIBUTE: KVM_S390_VM_TOD_EXT ----------------------------------- @@ -237,6 +239,7 @@ it, it is stored as 0 and not allowed to be set to a value != 0. (kvm_s390_vm_tod_clock) to :Returns: -EFAULT if the given address is not accessible from kernel space; -EINVAL if setting the TOD clock extension to != 0 is not supported + -EOPNOTSUPP for a PV guest (TOD managed by the ultravisor) 4. GROUP: KVM_S390_VM_CRYPTO ============================ diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index 45d4b8182b07..bc491a73815c 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c @@ -1207,6 +1207,8 @@ static int kvm_s390_vm_get_migration(struct kvm *kvm, return 0; } +static void __kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod); + static int kvm_s390_set_tod_ext(struct kvm *kvm, struct kvm_device_attr *attr) { struct kvm_s390_vm_tod_clock gtod; @@ -1216,7 +1218,7 @@ static int kvm_s390_set_tod_ext(struct kvm *kvm, struct kvm_device_attr *attr) if (!test_kvm_facility(kvm, 139) && gtod.epoch_idx) return -EINVAL; - kvm_s390_set_tod_clock(kvm, >od); + __kvm_s390_set_tod_clock(kvm, >od); VM_EVENT(kvm, 3, "SET: TOD extension: 0x%x, TOD base: 0x%llx", gtod.epoch_idx, gtod.tod); @@ -1247,7 +1249,7 @@ static int kvm_s390_set_tod_low(struct kvm *kvm, struct kvm_device_attr *attr) sizeof(gtod.tod))) return -EFAULT; - kvm_s390_set_tod_clock(kvm, >od); + __kvm_s390_set_tod_clock(kvm, >od); VM_EVENT(kvm, 3, "SET: TOD base: 0x%llx", gtod.tod); return 0; } @@ -1259,6 +1261,16 @@ static int kvm_s390_set_tod(struct kvm *kvm, struct kvm_device_attr *attr) if (attr->flags) return -EINVAL; + mutex_lock(&kvm->lock); + /* + * For protected guests, the TOD is managed by the ultravisor, so trying + * to change it will never bring the expected results. + */ + if (kvm_s390_pv_is_protected(kvm)) { + ret = -EOPNOTSUPP; + goto out_unlock; + } + switch (attr->attr) { case KVM_S390_VM_TOD_EXT: ret = kvm_s390_set_tod_ext(kvm, attr); @@ -1273,6 +1285,9 @@ static int kvm_s390_set_tod(struct kvm *kvm, struct kvm_device_attr *attr) ret = -ENXIO; break; } + +out_unlock: + mutex_unlock(&kvm->lock); return ret; } @@ -4377,13 +4392,6 @@ static void __kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_t preempt_enable(); } -void kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod) -{ - mutex_lock(&kvm->lock); - __kvm_s390_set_tod_clock(kvm, gtod); - mutex_unlock(&kvm->lock); -} - int kvm_s390_try_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod) { if (!mutex_trylock(&kvm->lock)) diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h index f6fd668f887e..4755492dfabc 100644 --- a/arch/s390/kvm/kvm-s390.h +++ b/arch/s390/kvm/kvm-s390.h @@ -363,7 +363,6 @@ int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu); int kvm_s390_handle_sigp_pei(struct kvm_vcpu *vcpu); /* implemented in kvm-s390.c */ -void kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod); int kvm_s390_try_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod); long kvm_arch_fault_in_page(struct kvm_vcpu *vcpu, gpa_t gpa, int writable); int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long addr); -- cgit v1.2.3-59-g8ed1b From b6662e37772715447aeff2538444ff291e02ea31 Mon Sep 17 00:00:00 2001 From: Rafael Mendonca Date: Tue, 25 Oct 2022 22:32:33 -0300 Subject: KVM: s390: pci: Fix allocation size of aift kzdev elements The 'kzdev' field of struct 'zpci_aift' is an array of pointers to 'kvm_zdev' structs. Allocate the proper size accordingly. Reported by Coccinelle: WARNING: Use correct pointer type argument for sizeof Fixes: 98b1d33dac5f ("KVM: s390: pci: do initial setup for AEN interpretation") Signed-off-by: Rafael Mendonca Reviewed-by: Christian Borntraeger Reviewed-by: Matthew Rosato Link: https://lore.kernel.org/r/20221026013234.960859-1-rafaelmendsr@gmail.com Message-Id: <20221026013234.960859-1-rafaelmendsr@gmail.com> Signed-off-by: Janosch Frank --- arch/s390/kvm/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/s390/kvm/pci.c b/arch/s390/kvm/pci.c index c50c1645c0ae..ded1af2ddae9 100644 --- a/arch/s390/kvm/pci.c +++ b/arch/s390/kvm/pci.c @@ -126,7 +126,7 @@ int kvm_s390_pci_aen_init(u8 nisc) return -EPERM; mutex_lock(&aift->aift_lock); - aift->kzdev = kcalloc(ZPCI_NR_DEVICES, sizeof(struct kvm_zdev), + aift->kzdev = kcalloc(ZPCI_NR_DEVICES, sizeof(struct kvm_zdev *), GFP_KERNEL); if (!aift->kzdev) { rc = -ENOMEM; -- cgit v1.2.3-59-g8ed1b From cf53db768a8790fdaae2fa3a81322b080285f7e5 Mon Sep 17 00:00:00 2001 From: Yuan Can Date: Thu, 3 Nov 2022 01:47:05 +0000 Subject: drm/vc4: Fix missing platform_unregister_drivers() call in vc4_drm_register() A problem about modprobe vc4 failed is triggered with the following log given: [ 420.327987] Error: Driver 'vc4_hvs' is already registered, aborting... [ 420.333904] failed to register platform driver vc4_hvs_driver [vc4]: -16 modprobe: ERROR: could not insert 'vc4': Device or resource busy The reason is that vc4_drm_register() returns platform_driver_register() directly without checking its return value, if platform_driver_register() fails, it returns without unregistering all the vc4 drivers, resulting the vc4 can never be installed later. A simple call graph is shown as below: vc4_drm_register() platform_register_drivers() # all vc4 drivers are registered platform_driver_register() driver_register() bus_add_driver() priv = kzalloc(...) # OOM happened # return without unregister drivers Fixing this problem by checking the return value of platform_driver_register() and do platform_unregister_drivers() if error happened. Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.") Signed-off-by: Yuan Can Signed-off-by: Maxime Ripard Link: https://patchwork.freedesktop.org/patch/msgid/20221103014705.109322-1-yuancan@huawei.com --- drivers/gpu/drm/vc4/vc4_drv.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 2027063fdc30..8c329c071c62 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -476,7 +476,12 @@ static int __init vc4_drm_register(void) if (ret) return ret; - return platform_driver_register(&vc4_platform_driver); + ret = platform_driver_register(&vc4_platform_driver); + if (ret) + platform_unregister_drivers(component_drivers, + ARRAY_SIZE(component_drivers)); + + return ret; } static void __exit vc4_drm_unregister(void) -- cgit v1.2.3-59-g8ed1b From ebb5fd38f41132e6924cb33b647337f4a5d5360c Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 26 Oct 2022 12:42:03 -0700 Subject: mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI Several SDHCI drivers need to deactivate command queueing in their reset hook (see sdhci_cqhci_reset() / sdhci-pci-core.c, for example), and several more are coming. Those reset implementations have some small subtleties (e.g., ordering of initialization of SDHCI vs. CQHCI might leave us resetting with a NULL ->cqe_private), and are often identical across different host drivers. We also don't want to force a dependency between SDHCI and CQHCI, or vice versa; non-SDHCI drivers use CQHCI, and SDHCI drivers might support command queueing through some other means. So, implement a small helper, to avoid repeating the same mistakes in different drivers. Simply stick it in a header, because it's so small it doesn't deserve its own module right now, and inlining to each driver is pretty reasonable. This is marked for -stable, as it is an important prerequisite patch for several SDHCI controller bugfixes that follow. Cc: Signed-off-by: Brian Norris Acked-by: Adrian Hunter Reviewed-by: Florian Fainelli Link: https://lore.kernel.org/r/20221026124150.v4.1.Ie85faa09432bfe1b0890d8c24ff95e17f3097317@changeid Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci-cqhci.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 drivers/mmc/host/sdhci-cqhci.h diff --git a/drivers/mmc/host/sdhci-cqhci.h b/drivers/mmc/host/sdhci-cqhci.h new file mode 100644 index 000000000000..cf8e7ba71bbd --- /dev/null +++ b/drivers/mmc/host/sdhci-cqhci.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright 2022 The Chromium OS Authors + * + * Support that applies to the combination of SDHCI and CQHCI, while not + * expressing a dependency between the two modules. + */ + +#ifndef __MMC_HOST_SDHCI_CQHCI_H__ +#define __MMC_HOST_SDHCI_CQHCI_H__ + +#include "cqhci.h" +#include "sdhci.h" + +static inline void sdhci_and_cqhci_reset(struct sdhci_host *host, u8 mask) +{ + if ((host->mmc->caps2 & MMC_CAP2_CQE) && (mask & SDHCI_RESET_ALL) && + host->mmc->cqe_private) + cqhci_deactivate(host->mmc); + + sdhci_reset(host, mask); +} + +#endif /* __MMC_HOST_SDHCI_CQHCI_H__ */ -- cgit v1.2.3-59-g8ed1b From 5d249ac37fc2396e8acc1adb0650cdacae5a990d Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 26 Oct 2022 12:42:04 -0700 Subject: mmc: sdhci-of-arasan: Fix SDHCI_RESET_ALL for CQHCI SDHCI_RESET_ALL resets will reset the hardware CQE state, but we aren't tracking that properly in software. When out of sync, we may trigger various timeouts. It's not typical to perform resets while CQE is enabled, but one particular case I hit commonly enough: mmc_suspend() -> mmc_power_off(). Typically we will eventually deactivate CQE (cqhci_suspend() -> cqhci_deactivate()), but that's not guaranteed -- in particular, if we perform a partial (e.g., interrupted) system suspend. The same bug was already found and fixed for two other drivers, in v5.7 and v5.9: 5cf583f1fb9c ("mmc: sdhci-msm: Deactivate CQE during SDHC reset") df57d73276b8 ("mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers") The latter is especially prescient, saying "other drivers using CQHCI might benefit from a similar change, if they also have CQHCI reset by SDHCI_RESET_ALL." So like these other patches, deactivate CQHCI when resetting the controller. Do this via the new sdhci_and_cqhci_reset() helper. This patch depends on (and should not compile without) the patch entitled "mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI". Fixes: 84362d79f436 ("mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1") Cc: Signed-off-by: Brian Norris Reviewed-by: Guenter Roeck Acked-by: Adrian Hunter Link: https://lore.kernel.org/r/20221026124150.v4.2.I29f6a2189e84e35ad89c1833793dca9e36c64297@changeid Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci-of-arasan.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c index 3997cad1f793..cfb891430174 100644 --- a/drivers/mmc/host/sdhci-of-arasan.c +++ b/drivers/mmc/host/sdhci-of-arasan.c @@ -25,6 +25,7 @@ #include #include "cqhci.h" +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #define SDHCI_ARASAN_VENDOR_REGISTER 0x78 @@ -366,7 +367,7 @@ static void sdhci_arasan_reset(struct sdhci_host *host, u8 mask) struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_arasan_data *sdhci_arasan = sdhci_pltfm_priv(pltfm_host); - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); if (sdhci_arasan->quirks & SDHCI_ARASAN_QUIRK_FORCE_CDTEST) { ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); -- cgit v1.2.3-59-g8ed1b From 56baa208f91061ff27ec2d93fbc483f624d373b4 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 26 Oct 2022 12:42:05 -0700 Subject: mmc: sdhci-brcmstb: Fix SDHCI_RESET_ALL for CQHCI [[ NOTE: this is completely untested by the author, but included solely because, as noted in commit df57d73276b8 ("mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers"), "other drivers using CQHCI might benefit from a similar change, if they also have CQHCI reset by SDHCI_RESET_ALL." We've now seen the same bug on at least MSM, Arasan, and Intel hardware. ]] SDHCI_RESET_ALL resets will reset the hardware CQE state, but we aren't tracking that properly in software. When out of sync, we may trigger various timeouts. It's not typical to perform resets while CQE is enabled, but this may occur in some suspend or error recovery scenarios. Include this fix by way of the new sdhci_and_cqhci_reset() helper. I only patch the bcm7216 variant even though others potentially *could* provide the 'supports-cqe' property (and thus enable CQHCI), because d46ba2d17f90 ("mmc: sdhci-brcmstb: Add support for Command Queuing (CQE)") and some Broadcom folks confirm that only the 7216 variant actually supports it. This patch depends on (and should not compile without) the patch entitled "mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI". Fixes: d46ba2d17f90 ("mmc: sdhci-brcmstb: Add support for Command Queuing (CQE)") Signed-off-by: Brian Norris Reviewed-by: Florian Fainelli Acked-by: Adrian Hunter Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20221026124150.v4.3.I6a715feab6d01f760455865e968ecf0d85036018@changeid Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci-brcmstb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c index aff36a933ebe..55d8bd232695 100644 --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c @@ -12,6 +12,7 @@ #include #include +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #include "cqhci.h" @@ -55,7 +56,7 @@ static void brcmstb_reset(struct sdhci_host *host, u8 mask) struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_brcmstb_priv *priv = sdhci_pltfm_priv(pltfm_host); - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); /* Reset will clear this, so re-enable it */ if (priv->flags & BRCMSTB_PRIV_FLAGS_GATE_CLOCK) -- cgit v1.2.3-59-g8ed1b From fb1dec44c6750bb414f47b929c8c175a1a127c31 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 26 Oct 2022 12:42:06 -0700 Subject: mms: sdhci-esdhc-imx: Fix SDHCI_RESET_ALL for CQHCI [[ NOTE: this is completely untested by the author, but included solely because, as noted in commit df57d73276b8 ("mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers"), "other drivers using CQHCI might benefit from a similar change, if they also have CQHCI reset by SDHCI_RESET_ALL." We've now seen the same bug on at least MSM, Arasan, and Intel hardware. ]] SDHCI_RESET_ALL resets will reset the hardware CQE state, but we aren't tracking that properly in software. When out of sync, we may trigger various timeouts. It's not typical to perform resets while CQE is enabled, but this may occur in some suspend or error recovery scenarios. Include this fix by way of the new sdhci_and_cqhci_reset() helper. This patch depends on (and should not compile without) the patch entitled "mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI". Fixes: bb6e358169bf ("mmc: sdhci-esdhc-imx: add CMDQ support") Signed-off-by: Brian Norris Reviewed-by: Haibo Chen Acked-by: Adrian Hunter Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20221026124150.v4.4.I7d01f9ad11bacdc9213dee61b7918982aea39115@changeid Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci-esdhc-imx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 747df79d90ee..89225faa242a 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -25,6 +25,7 @@ #include #include #include +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #include "sdhci-esdhc.h" #include "cqhci.h" @@ -1288,7 +1289,7 @@ static void esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned timing) static void esdhc_reset(struct sdhci_host *host, u8 mask) { - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); sdhci_writel(host, host->ier, SDHCI_INT_ENABLE); sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE); -- cgit v1.2.3-59-g8ed1b From 836078449464e6af3b66ae6652dae79af176f21e Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 26 Oct 2022 12:42:07 -0700 Subject: mmc: sdhci-tegra: Fix SDHCI_RESET_ALL for CQHCI [[ NOTE: this is completely untested by the author, but included solely because, as noted in commit df57d73276b8 ("mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers"), "other drivers using CQHCI might benefit from a similar change, if they also have CQHCI reset by SDHCI_RESET_ALL." We've now seen the same bug on at least MSM, Arasan, and Intel hardware. ]] SDHCI_RESET_ALL resets will reset the hardware CQE state, but we aren't tracking that properly in software. When out of sync, we may trigger various timeouts. It's not typical to perform resets while CQE is enabled, but this may occur in some suspend or error recovery scenarios. Include this fix by way of the new sdhci_and_cqhci_reset() helper. This patch depends on (and should not compile without) the patch entitled "mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI". Fixes: 3c4019f97978 ("mmc: tegra: HW Command Queue Support for Tegra SDMMC") Signed-off-by: Brian Norris Acked-by: Adrian Hunter Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20221026124150.v4.5.I418c9eaaf754880fcd2698113e8c3ef821a944d7@changeid Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci-tegra.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c index 413925bce0ca..c71000a07656 100644 --- a/drivers/mmc/host/sdhci-tegra.c +++ b/drivers/mmc/host/sdhci-tegra.c @@ -28,6 +28,7 @@ #include +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #include "cqhci.h" @@ -367,7 +368,7 @@ static void tegra_sdhci_reset(struct sdhci_host *host, u8 mask) const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data; u32 misc_ctrl, clk_ctrl, pad_ctrl; - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); if (!(mask & SDHCI_RESET_ALL)) return; -- cgit v1.2.3-59-g8ed1b From 162503fd1c3a1d4e14dbe7f399c1d1bec1c8abbc Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 26 Oct 2022 12:42:08 -0700 Subject: mmc: sdhci_am654: Fix SDHCI_RESET_ALL for CQHCI [[ NOTE: this is completely untested by the author, but included solely because, as noted in commit df57d73276b8 ("mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers"), "other drivers using CQHCI might benefit from a similar change, if they also have CQHCI reset by SDHCI_RESET_ALL." We've now seen the same bug on at least MSM, Arasan, and Intel hardware. ]] SDHCI_RESET_ALL resets will reset the hardware CQE state, but we aren't tracking that properly in software. When out of sync, we may trigger various timeouts. It's not typical to perform resets while CQE is enabled, but this may occur in some suspend or error recovery scenarios. Include this fix by way of the new sdhci_and_cqhci_reset() helper. This patch depends on (and should not compile without) the patch entitled "mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI". Fixes: f545702b74f9 ("mmc: sdhci_am654: Add Support for Command Queuing Engine to J721E") Signed-off-by: Brian Norris Acked-by: Adrian Hunter Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20221026124150.v4.6.I35ca9d6220ba48304438b992a76647ca8e5b126f@changeid Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci_am654.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c index 8f1023480e12..c2333c7acac9 100644 --- a/drivers/mmc/host/sdhci_am654.c +++ b/drivers/mmc/host/sdhci_am654.c @@ -15,6 +15,7 @@ #include #include "cqhci.h" +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" /* CTL_CFG Registers */ @@ -378,7 +379,7 @@ static void sdhci_am654_reset(struct sdhci_host *host, u8 mask) struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_am654_data *sdhci_am654 = sdhci_pltfm_priv(pltfm_host); - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); if (sdhci_am654->quirks & SDHCI_AM654_QUIRK_FORCE_CDTEST) { ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); @@ -464,7 +465,7 @@ static struct sdhci_ops sdhci_am654_ops = { .set_clock = sdhci_am654_set_clock, .write_b = sdhci_am654_write_b, .irq = sdhci_am654_cqhci_irq, - .reset = sdhci_reset, + .reset = sdhci_and_cqhci_reset, }; static const struct sdhci_pltfm_data sdhci_am654_pdata = { @@ -494,7 +495,7 @@ static struct sdhci_ops sdhci_j721e_8bit_ops = { .set_clock = sdhci_am654_set_clock, .write_b = sdhci_am654_write_b, .irq = sdhci_am654_cqhci_irq, - .reset = sdhci_reset, + .reset = sdhci_and_cqhci_reset, }; static const struct sdhci_pltfm_data sdhci_j721e_8bit_pdata = { -- cgit v1.2.3-59-g8ed1b From f90daa975911961b65070ec72bd7dd8d448f9ef7 Mon Sep 17 00:00:00 2001 From: Matthew Auld Date: Fri, 28 Oct 2022 16:50:26 +0100 Subject: drm/i915/dmabuf: fix sg_table handling in map_dma_buf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We need to iterate over the original entries here for the sg_table, pulling out the struct page for each one, to be remapped. However currently this incorrectly iterates over the final dma mapped entries, which is likely just one gigantic sg entry if the iommu is enabled, leading to us only mapping the first struct page (and any physically contiguous pages following it), even if there is potentially lots more data to follow. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/7306 Fixes: 1286ff739773 ("i915: add dmabuf/prime buffer sharing support.") Signed-off-by: Matthew Auld Cc: Lionel Landwerlin Cc: Tvrtko Ursulin Cc: Ville Syrjälä Cc: Michael J. Ruhl Cc: # v3.5+ Reviewed-by: Michael J. Ruhl Link: https://patchwork.freedesktop.org/patch/msgid/20221028155029.494736-1-matthew.auld@intel.com (cherry picked from commit 28d52f99bbca7227008cf580c9194c9b3516968e) Signed-off-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c index f5062d0c6333..824971a1ceec 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c @@ -40,13 +40,13 @@ static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachme goto err; } - ret = sg_alloc_table(st, obj->mm.pages->nents, GFP_KERNEL); + ret = sg_alloc_table(st, obj->mm.pages->orig_nents, GFP_KERNEL); if (ret) goto err_free; src = obj->mm.pages->sgl; dst = st->sgl; - for (i = 0; i < obj->mm.pages->nents; i++) { + for (i = 0; i < obj->mm.pages->orig_nents; i++) { sg_set_page(dst, sg_page(src), src->length, 0); dst = sg_next(dst); src = sg_next(src); -- cgit v1.2.3-59-g8ed1b From 4ff4ebac3f1378f4ba6e11fe5ad4a4ac590bb8a4 Mon Sep 17 00:00:00 2001 From: Jouni Högander Date: Mon, 24 Oct 2022 08:46:49 +0300 Subject: drm/i915/psr: Send update also on invalidate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently we are observing mouse cursor stuttering when using xrandr --scaling=1.2x1.2. X scaling/transformation seems to be doing fronbuffer rendering. When moving mouse cursor X seems to perform several invalidates and only one DirtyFB. I.e. it seems to be assuming updates are sent to panel while drawing is done. Earlier we were disabling PSR in frontbuffer invalidate call back (when drawing in X started). PSR was re-enabled in frontbuffer flush callback (dirtyfb ioctl). This was working fine with X scaling/transformation. Now we are just enabling continuous full frame (cff) in PSR invalidate callback. Enabling cff doesn't trigger any updates. It just configures PSR to send full frame when updates are sent. I.e. there are no updates on screen before PSR flush callback is made. X seems to be doing several updates in frontbuffer before doing dirtyfb ioctl. Fix this by sending single update on every invalidate callback. Cc: José Roberto de Souza Cc: Ville Syrjälä Cc: Mika Kahola Fixes: 805f04d42a6b ("drm/i915/display/psr: Use continuos full frame to handle frontbuffer invalidations") Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6679 Signed-off-by: Jouni Högander Reported-by: Brian J. Tarricone Tested-by: Brian J. Tarricone Reviewed-by: Mika Kahola Reviewed-by: José Roberto de Souza Signed-off-by: José Roberto de Souza Link: https://patchwork.freedesktop.org/patch/msgid/20221024054649.31299-1-jouni.hogander@intel.com (cherry picked from commit d755f89220a2b49bc90b7b520bb6edeb4adb5f01) Signed-off-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/display/intel_psr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index d4cce627d7a8..15c3e448aa0e 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -2201,8 +2201,11 @@ static void _psr_invalidate_handle(struct intel_dp *intel_dp) if (intel_dp->psr.psr2_sel_fetch_enabled) { u32 val; - if (intel_dp->psr.psr2_sel_fetch_cff_enabled) + if (intel_dp->psr.psr2_sel_fetch_cff_enabled) { + /* Send one update otherwise lag is observed in screen */ + intel_de_write(dev_priv, CURSURFLIVE(intel_dp->psr.pipe), 0); return; + } val = man_trk_ctl_enable_bit_get(dev_priv) | man_trk_ctl_partial_frame_bit_get(dev_priv) | -- cgit v1.2.3-59-g8ed1b From 19b168136395150a4a6e011f944eb30d3d85094b Mon Sep 17 00:00:00 2001 From: Niranjana Vishwanathapura Date: Tue, 1 Nov 2022 22:14:16 -0700 Subject: drm/i915: Do not set cache_dirty for DGFX Currently on DG1, which does not have LLC, we hit the below warning while rebinding an userptr invalidated object. WARNING: CPU: 4 PID: 13008 at drivers/gpu/drm/i915/gem/i915_gem_pages.c:34 __i915_gem_object_set_pages+0x296/0x2d0 [i915] ... RIP: 0010:__i915_gem_object_set_pages+0x296/0x2d0 [i915] ... Call Trace: i915_gem_userptr_get_pages+0x175/0x1a0 [i915] ____i915_gem_object_get_pages+0x32/0xb0 [i915] i915_gem_object_userptr_submit_init+0x286/0x470 [i915] eb_lookup_vmas+0x2ff/0xcf0 [i915] ? __intel_wakeref_get_first+0x55/0xb0 [i915] i915_gem_do_execbuffer+0x785/0x21d0 [i915] i915_gem_execbuffer2_ioctl+0xe7/0x3d0 [i915] We shouldn't be setting the obj->cache_dirty for DGFX, fix it. Fixes: d70af57944a1 ("drm/i915/shmem: ensure flush during swap-in on non-LLC") Suggested-by: Matthew Auld Reported-by: Niranjana Vishwanathapura Signed-off-by: Niranjana Vishwanathapura Acked-by: Nirmoy Das Reviewed-by: Matthew Auld Reviewed-by: Andi Shyti Signed-off-by: Andi Shyti Link: https://patchwork.freedesktop.org/patch/msgid/20221102051416.27327-1-niranjana.vishwanathapura@intel.com (cherry picked from commit 0aeec60c76ca2631696b4228f3fc99fe3a80013d) Signed-off-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c index 11125c32dd35..2f7804492cd5 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -369,14 +369,14 @@ __i915_gem_object_release_shmem(struct drm_i915_gem_object *obj, __start_cpu_write(obj); /* - * On non-LLC platforms, force the flush-on-acquire if this is ever + * On non-LLC igfx platforms, force the flush-on-acquire if this is ever * swapped-in. Our async flush path is not trust worthy enough yet(and * happens in the wrong order), and with some tricks it's conceivable * for userspace to change the cache-level to I915_CACHE_NONE after the * pages are swapped-in, and since execbuf binds the object before doing * the async flush, we have a race window. */ - if (!HAS_LLC(i915)) + if (!HAS_LLC(i915) && !IS_DGFX(i915)) obj->cache_dirty = true; } -- cgit v1.2.3-59-g8ed1b From 178e31ce82d0308a9e5f2f15bfb4493160136729 Mon Sep 17 00:00:00 2001 From: Matthew Auld Date: Fri, 28 Oct 2022 14:06:35 +0100 Subject: drm/i915/userptr: restore probe_range behaviour The conversion looks harmless, however the addr value is updated inside the loop with the previous vm_end, which then incorrectly leads to for_each_vma_range() iterating over stuff outside the range we care about. Fix this by storing the end value separately. Also fix the case where the range doesn't intersect with any vma, or if the vma itself doesn't extend the entire range, which must mean we have hole at the end. Both should result in an error, as per the previous behaviour. v2: Fix the cases where the range is empty, or if there's a hole at the end of the range Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/7247 Testcase: igt@gem_userptr_blits@probe Fixes: f683b9d61319 ("i915: use the VMA iterator") Reported-by: kernel test robot Signed-off-by: Matthew Auld Cc: Tvrtko Ursulin Cc: Matthew Wilcox (Oracle) Cc: Liam R. Howlett Cc: Vlastimil Babka Cc: Yu Zhao Reviewed-by: Liam R. Howlett Reviewed-by: Andrzej Hajda Link: https://patchwork.freedesktop.org/patch/msgid/20221028130635.465839-1-matthew.auld@intel.com (cherry picked from commit 6f7de35b50860c345babf8ed0aa0d75f9315eee4) Signed-off-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c index f34e01a7fefb..ba14b18d65f3 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c @@ -428,9 +428,10 @@ probe_range(struct mm_struct *mm, unsigned long addr, unsigned long len) { VMA_ITERATOR(vmi, mm, addr); struct vm_area_struct *vma; + unsigned long end = addr + len; mmap_read_lock(mm); - for_each_vma_range(vmi, vma, addr + len) { + for_each_vma_range(vmi, vma, end) { /* Check for holes, note that we also update the addr below */ if (vma->vm_start > addr) break; @@ -442,7 +443,7 @@ probe_range(struct mm_struct *mm, unsigned long addr, unsigned long len) } mmap_read_unlock(mm); - if (vma) + if (vma || addr < end) return -EFAULT; return 0; } -- cgit v1.2.3-59-g8ed1b From bee55f2e7a44e7a7676e264b42f026e34bd244d9 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Tue, 18 Oct 2022 14:17:23 +0200 Subject: pinctrl: rockchip: list all pins in a possible mux route for PX30 The mux routes are incomplete for the PX30. This was discovered because we had a HW design using cif-clkoutm1 with the correct pinmux in the Device Tree but the clock would still not work. There are actually two muxing required: the pin muxing (performed by the usual Device Tree pinctrl nodes) and the "function" muxing (m0 vs m1; performed by the mux routing inside the driver). The pin muxing was correct but the function muxing was not. This adds the missing pins and their configuration for the mux routes that are already specified in the driver. Note that there are some "conflicts": it is possible *in Device Tree* to (attempt to) mux the pins for e.g. clkoutm1 and clkinm0 at the same time but this is actually not possible in hardware (because both share the same bit for the function muxing). Since it is an impossible hardware design, it is not deemed necessary to prevent the user from attempting to "misconfigure" the pins/functions. Fixes: 87065ca9b8e5 ("pinctrl: rockchip: Add pinctrl support for PX30") Signed-off-by: Quentin Schulz Link: https://lore.kernel.org/r/20221017-upstream-px30-cif-clkoutm1-v1-0-4ea1389237f7@theobroma-systems.com Signed-off-by: Linus Walleij --- drivers/pinctrl/pinctrl-rockchip.c | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index 53bdfc40f055..da974ff2d75d 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -679,14 +679,54 @@ static void rockchip_get_recalced_mux(struct rockchip_pin_bank *bank, int pin, } static struct rockchip_mux_route_data px30_mux_route_data[] = { + RK_MUXROUTE_SAME(2, RK_PB4, 1, 0x184, BIT(16 + 7)), /* cif-d0m0 */ + RK_MUXROUTE_SAME(3, RK_PA1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d0m1 */ + RK_MUXROUTE_SAME(2, RK_PB6, 1, 0x184, BIT(16 + 7)), /* cif-d1m0 */ + RK_MUXROUTE_SAME(3, RK_PA2, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d1m1 */ RK_MUXROUTE_SAME(2, RK_PA0, 1, 0x184, BIT(16 + 7)), /* cif-d2m0 */ RK_MUXROUTE_SAME(3, RK_PA3, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d2m1 */ + RK_MUXROUTE_SAME(2, RK_PA1, 1, 0x184, BIT(16 + 7)), /* cif-d3m0 */ + RK_MUXROUTE_SAME(3, RK_PA5, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d3m1 */ + RK_MUXROUTE_SAME(2, RK_PA2, 1, 0x184, BIT(16 + 7)), /* cif-d4m0 */ + RK_MUXROUTE_SAME(3, RK_PA7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d4m1 */ + RK_MUXROUTE_SAME(2, RK_PA3, 1, 0x184, BIT(16 + 7)), /* cif-d5m0 */ + RK_MUXROUTE_SAME(3, RK_PB0, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d5m1 */ + RK_MUXROUTE_SAME(2, RK_PA4, 1, 0x184, BIT(16 + 7)), /* cif-d6m0 */ + RK_MUXROUTE_SAME(3, RK_PB1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d6m1 */ + RK_MUXROUTE_SAME(2, RK_PA5, 1, 0x184, BIT(16 + 7)), /* cif-d7m0 */ + RK_MUXROUTE_SAME(3, RK_PB4, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d7m1 */ + RK_MUXROUTE_SAME(2, RK_PA6, 1, 0x184, BIT(16 + 7)), /* cif-d8m0 */ + RK_MUXROUTE_SAME(3, RK_PB6, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d8m1 */ + RK_MUXROUTE_SAME(2, RK_PA7, 1, 0x184, BIT(16 + 7)), /* cif-d9m0 */ + RK_MUXROUTE_SAME(3, RK_PB7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d9m1 */ + RK_MUXROUTE_SAME(2, RK_PB7, 1, 0x184, BIT(16 + 7)), /* cif-d10m0 */ + RK_MUXROUTE_SAME(3, RK_PC6, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d10m1 */ + RK_MUXROUTE_SAME(2, RK_PC0, 1, 0x184, BIT(16 + 7)), /* cif-d11m0 */ + RK_MUXROUTE_SAME(3, RK_PC7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d11m1 */ + RK_MUXROUTE_SAME(2, RK_PB0, 1, 0x184, BIT(16 + 7)), /* cif-vsyncm0 */ + RK_MUXROUTE_SAME(3, RK_PD1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-vsyncm1 */ + RK_MUXROUTE_SAME(2, RK_PB1, 1, 0x184, BIT(16 + 7)), /* cif-hrefm0 */ + RK_MUXROUTE_SAME(3, RK_PD2, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-hrefm1 */ + RK_MUXROUTE_SAME(2, RK_PB2, 1, 0x184, BIT(16 + 7)), /* cif-clkinm0 */ + RK_MUXROUTE_SAME(3, RK_PD3, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-clkinm1 */ + RK_MUXROUTE_SAME(2, RK_PB3, 1, 0x184, BIT(16 + 7)), /* cif-clkoutm0 */ + RK_MUXROUTE_SAME(3, RK_PD0, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-clkoutm1 */ RK_MUXROUTE_SAME(3, RK_PC6, 2, 0x184, BIT(16 + 8)), /* pdm-m0 */ RK_MUXROUTE_SAME(2, RK_PC6, 1, 0x184, BIT(16 + 8) | BIT(8)), /* pdm-m1 */ + RK_MUXROUTE_SAME(3, RK_PD3, 2, 0x184, BIT(16 + 8)), /* pdm-sdi0m0 */ + RK_MUXROUTE_SAME(2, RK_PC5, 2, 0x184, BIT(16 + 8) | BIT(8)), /* pdm-sdi0m1 */ RK_MUXROUTE_SAME(1, RK_PD3, 2, 0x184, BIT(16 + 10)), /* uart2-rxm0 */ RK_MUXROUTE_SAME(2, RK_PB6, 2, 0x184, BIT(16 + 10) | BIT(10)), /* uart2-rxm1 */ + RK_MUXROUTE_SAME(1, RK_PD2, 2, 0x184, BIT(16 + 10)), /* uart2-txm0 */ + RK_MUXROUTE_SAME(2, RK_PB4, 2, 0x184, BIT(16 + 10) | BIT(10)), /* uart2-txm1 */ RK_MUXROUTE_SAME(0, RK_PC1, 2, 0x184, BIT(16 + 9)), /* uart3-rxm0 */ RK_MUXROUTE_SAME(1, RK_PB7, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-rxm1 */ + RK_MUXROUTE_SAME(0, RK_PC0, 2, 0x184, BIT(16 + 9)), /* uart3-txm0 */ + RK_MUXROUTE_SAME(1, RK_PB6, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-txm1 */ + RK_MUXROUTE_SAME(0, RK_PC2, 2, 0x184, BIT(16 + 9)), /* uart3-ctsm0 */ + RK_MUXROUTE_SAME(1, RK_PB4, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-ctsm1 */ + RK_MUXROUTE_SAME(0, RK_PC3, 2, 0x184, BIT(16 + 9)), /* uart3-rtsm0 */ + RK_MUXROUTE_SAME(1, RK_PB5, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-rtsm1 */ }; static struct rockchip_mux_route_data rv1126_mux_route_data[] = { -- cgit v1.2.3-59-g8ed1b From c4299907c09a638c0a30f029338d07941c049d73 Mon Sep 17 00:00:00 2001 From: Steven Price Date: Thu, 3 Nov 2022 11:40:36 +0000 Subject: drm/panfrost: Remove type name from internal struct again Commit 72655fb942c1 ("drm/panfrost: replace endian-specific types with native ones") accidentally reverted part of the parent commit 7228d9d79248 ("drm/panfrost: Remove type name from internal structs") leading to the situation that the Panfrost UAPI header still doesn't compile correctly in C++. Revert the accidental revert and pass me a brown paper bag. Reported-by: Alyssa Rosenzweig Fixes: 72655fb942c1 ("drm/panfrost: replace endian-specific types with native ones") Signed-off-by: Steven Price Reviewed-by: Alyssa Rosenzweig Link: https://patchwork.freedesktop.org/patch/msgid/20221103114036.1581854-1-steven.price@arm.com --- include/uapi/drm/panfrost_drm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/uapi/drm/panfrost_drm.h b/include/uapi/drm/panfrost_drm.h index 6f93c915cc88..9f231d40a146 100644 --- a/include/uapi/drm/panfrost_drm.h +++ b/include/uapi/drm/panfrost_drm.h @@ -254,7 +254,7 @@ struct panfrost_dump_object_header { __u64 nbos; } reghdr; - struct pan_bomap_hdr { + struct { __u32 valid; __u64 iova; __u32 data[2]; -- cgit v1.2.3-59-g8ed1b From 7df140e84a75c89962feef659d686303d3ce75e5 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 21 Oct 2022 18:53:04 +0200 Subject: mtd: rawnand: qcom: handle ret from parse with codeword_fixup With use_codeword_fixup enabled, any return from mtd_device_parse_register gets overwritten. Aside from the clear bug, this is also problematic as a parser can EPROBE_DEFER and because this is not correctly handled, the nand is never rescanned later in the bootup process. An example of this problem is when smem requires additional time to be probed and nandc use qcomsmempart as parser. Parser will return EPROBE_DEFER but in the current code this ret gets overwritten by qcom_nand_host_parse_boot_partitions and qcom_nand_host_init_and_register return 0. Correctly handle the return code from mtd_device_parse_register so that any error from this function is not ignored. Fixes: 862bdedd7f4b ("mtd: nand: raw: qcom_nandc: add support for unprotected spare data pages") Cc: stable@vger.kernel.org # v6.0+ Signed-off-by: Christian Marangi Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/20221021165304.19991-1-ansuelsmth@gmail.com --- drivers/mtd/nand/raw/qcom_nandc.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c index 8f80019a9f01..198a44794d2d 100644 --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c @@ -3167,16 +3167,18 @@ static int qcom_nand_host_init_and_register(struct qcom_nand_controller *nandc, ret = mtd_device_parse_register(mtd, probes, NULL, NULL, 0); if (ret) - nand_cleanup(chip); + goto err; if (nandc->props->use_codeword_fixup) { ret = qcom_nand_host_parse_boot_partitions(nandc, host, dn); - if (ret) { - nand_cleanup(chip); - return ret; - } + if (ret) + goto err; } + return 0; + +err: + nand_cleanup(chip); return ret; } -- cgit v1.2.3-59-g8ed1b From 83f0869e9bf3333d778d62f055b0f8e1de1cc812 Mon Sep 17 00:00:00 2001 From: Adam Borowski Date: Mon, 24 Oct 2022 11:20:26 +0200 Subject: mtd: rawnand: placate "$VARIABLE is used uninitialized" warnings The compiler is not smart enough to notice that it's impossible for them to be actually used uninitialized. Which exact variables trip here varies depending on random surrounding code; none triggered in 6.1-rc1 but 6.1-rc2 fails on three of these five, despite variables declared in the very same line having identical flow. Signed-off-by: Adam Borowski Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/20221024092026.42123-1-kilobyte@angband.pl --- drivers/mtd/nand/raw/nand_base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index 33f2c98a030e..c3cc66039925 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -5834,7 +5834,7 @@ nand_match_ecc_req(struct nand_chip *chip, int req_step = requirements->step_size; int req_strength = requirements->strength; int req_corr, step_size, strength, nsteps, ecc_bytes, ecc_bytes_total; - int best_step, best_strength, best_ecc_bytes; + int best_step = 0, best_strength = 0, best_ecc_bytes = 0; int best_ecc_bytes_total = INT_MAX; int i, j; @@ -5915,7 +5915,7 @@ nand_maximize_ecc(struct nand_chip *chip, int step_size, strength, nsteps, ecc_bytes, corr; int best_corr = 0; int best_step = 0; - int best_strength, best_ecc_bytes; + int best_strength = 0, best_ecc_bytes = 0; int i, j; for (i = 0; i < caps->nstepinfos; i++) { -- cgit v1.2.3-59-g8ed1b From c717b9b7d6de9e024e47f7cd5bbff49f581d3db9 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 7 Nov 2022 10:15:20 +0100 Subject: mtd: onenand: omap2: add dependency on GPMC OMAP2 OneNAND driver uses gpmc_omap_onenand_set_timings() provided by OMAP_GPMC driver, so the latter cannot be module if OneNAND driver is built-in: /usr/bin/arm-linux-gnueabi-ld: drivers/mtd/nand/onenand/onenand_omap2.o: in function `omap2_onenand_probe': onenand_omap2.c:(.text+0x520): undefined reference to `gpmc_omap_onenand_set_timings' The OMAP_GPMC is also a runtime dependency. Reported-by: kernel test robot Fixes: 854fd9209b20 ("memory: omap-gpmc: Allow building as a module") Signed-off-by: Krzysztof Kozlowski Reviewed-by: Roger Quadros Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/20221107091520.127053-1-krzysztof.kozlowski@linaro.org --- drivers/mtd/nand/onenand/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mtd/nand/onenand/Kconfig b/drivers/mtd/nand/onenand/Kconfig index 34d9a7a82ad4..c94bf483541e 100644 --- a/drivers/mtd/nand/onenand/Kconfig +++ b/drivers/mtd/nand/onenand/Kconfig @@ -26,6 +26,7 @@ config MTD_ONENAND_OMAP2 tristate "OneNAND on OMAP2/OMAP3 support" depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM) depends on OF || COMPILE_TEST + depends on OMAP_GPMC help Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC via the GPMC memory controller. -- cgit v1.2.3-59-g8ed1b From 62fa3ce05d5d73c5eccc40b2db493f55fecfc446 Mon Sep 17 00:00:00 2001 From: Brian King Date: Wed, 26 Oct 2022 13:13:56 -0500 Subject: scsi: ibmvfc: Avoid path failures during live migration Fix an issue reported when performing a live migration when multipath is configured with a short fast fail timeout of 5 seconds and also to have no_path_retry set to fail. In this scenario, all paths would go into the devloss state while the ibmvfc driver went through discovery to log back in. On a loaded system, the discovery might take longer than 5 seconds, which was resulting in all paths being marked failed, which then resulted in a read only filesystem. This patch changes the migration code in ibmvfc to avoid deleting rports at all in this scenario, so we avoid losing all paths. Signed-off-by: Brian King Link: https://lore.kernel.org/r/20221026181356.148517-1-brking@linux.vnet.ibm.com Signed-off-by: Martin K. Petersen --- drivers/scsi/ibmvscsi/ibmvfc.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c index 00684e11976b..1a0c0b7289d2 100644 --- a/drivers/scsi/ibmvscsi/ibmvfc.c +++ b/drivers/scsi/ibmvscsi/ibmvfc.c @@ -708,8 +708,13 @@ static void ibmvfc_init_host(struct ibmvfc_host *vhost) memset(vhost->async_crq.msgs.async, 0, PAGE_SIZE); vhost->async_crq.cur = 0; - list_for_each_entry(tgt, &vhost->targets, queue) - ibmvfc_del_tgt(tgt); + list_for_each_entry(tgt, &vhost->targets, queue) { + if (vhost->client_migrated) + tgt->need_login = 1; + else + ibmvfc_del_tgt(tgt); + } + scsi_block_requests(vhost->host); ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT); vhost->job_step = ibmvfc_npiv_login; @@ -3235,9 +3240,12 @@ static void ibmvfc_handle_crq(struct ibmvfc_crq *crq, struct ibmvfc_host *vhost, /* We need to re-setup the interpartition connection */ dev_info(vhost->dev, "Partition migrated, Re-enabling adapter\n"); vhost->client_migrated = 1; + + scsi_block_requests(vhost->host); ibmvfc_purge_requests(vhost, DID_REQUEUE); - ibmvfc_link_down(vhost, IBMVFC_LINK_DOWN); + ibmvfc_set_host_state(vhost, IBMVFC_LINK_DOWN); ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_REENABLE); + wake_up(&vhost->work_wait_q); } else if (crq->format == IBMVFC_PARTNER_FAILED || crq->format == IBMVFC_PARTNER_DEREGISTER) { dev_err(vhost->dev, "Host partner adapter deregistered or failed (rc=%d)\n", crq->format); ibmvfc_purge_requests(vhost, DID_ERROR); -- cgit v1.2.3-59-g8ed1b From a679120edfcf3d63f066f53afd425d51b480e533 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 7 Nov 2022 10:07:11 -0700 Subject: bpf: Add explicit cast to 'void *' for __BPF_DISPATCHER_UPDATE() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When building with clang: kernel/bpf/dispatcher.c:126:33: error: pointer type mismatch ('void *' and 'unsigned int (*)(const void *, const struct bpf_insn *, bpf_func_t)' (aka 'unsigned int (*)(const void *, const struct bpf_insn *, unsigned int (*)(const void *, const struct bpf_insn *))')) [-Werror,-Wpointer-type-mismatch] __BPF_DISPATCHER_UPDATE(d, new ?: &bpf_dispatcher_nop_func); ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/bpf.h:1045:54: note: expanded from macro '__BPF_DISPATCHER_UPDATE' __static_call_update((_d)->sc_key, (_d)->sc_tramp, (_new)) ^~~~ 1 error generated. The warning is pointing out that the type of new ('void *') and &bpf_dispatcher_nop_func are not compatible, which could have side effects coming out of a conditional operator due to promotion rules. Add the explicit cast to 'void *' to make it clear that this is expected, as __BPF_DISPATCHER_UPDATE() expands to a call to __static_call_update(), which expects a 'void *' as its final argument. Fixes: c86df29d11df ("bpf: Convert BPF_DISPATCHER to use static_call() (not ftrace)") Link: https://github.com/ClangBuiltLinux/linux/issues/1755 Reported-by: kernel test robot Reported-by: "kernelci.org bot" Signed-off-by: Nathan Chancellor Acked-by: Björn Töpel Acked-by: Yonghong Song Link: https://lore.kernel.org/r/20221107170711.42409-1-nathan@kernel.org Signed-off-by: Martin KaFai Lau --- kernel/bpf/dispatcher.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/bpf/dispatcher.c b/kernel/bpf/dispatcher.c index 7dfb8d0d5202..c19719f48ce0 100644 --- a/kernel/bpf/dispatcher.c +++ b/kernel/bpf/dispatcher.c @@ -123,7 +123,7 @@ static void bpf_dispatcher_update(struct bpf_dispatcher *d, int prev_num_progs) return; } - __BPF_DISPATCHER_UPDATE(d, new ?: &bpf_dispatcher_nop_func); + __BPF_DISPATCHER_UPDATE(d, new ?: (void *)&bpf_dispatcher_nop_func); if (new) d->image_off = noff; -- cgit v1.2.3-59-g8ed1b From 5d7bebf2dfb0dc97aac1fbace0910e557ecdb16f Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Mon, 7 Nov 2022 20:48:28 +0800 Subject: scsi: scsi_transport_sas: Fix error handling in sas_phy_add() If transport_add_device() fails in sas_phy_add(), the kernel will crash trying to delete the device in transport_remove_device() called from sas_remove_host(). Unable to handle kernel NULL pointer dereference at virtual address 0000000000000108 CPU: 61 PID: 42829 Comm: rmmod Kdump: loaded Tainted: G W 6.1.0-rc1+ #173 pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : device_del+0x54/0x3d0 lr : device_del+0x37c/0x3d0 Call trace: device_del+0x54/0x3d0 attribute_container_class_device_del+0x28/0x38 transport_remove_classdev+0x6c/0x80 attribute_container_device_trigger+0x108/0x110 transport_remove_device+0x28/0x38 sas_phy_delete+0x30/0x60 [scsi_transport_sas] do_sas_phy_delete+0x6c/0x80 [scsi_transport_sas] device_for_each_child+0x68/0xb0 sas_remove_children+0x40/0x50 [scsi_transport_sas] sas_remove_host+0x20/0x38 [scsi_transport_sas] hisi_sas_remove+0x40/0x68 [hisi_sas_main] hisi_sas_v2_remove+0x20/0x30 [hisi_sas_v2_hw] platform_remove+0x2c/0x60 Fix this by checking and handling return value of transport_add_device() in sas_phy_add(). Fixes: c7ebbbce366c ("[SCSI] SAS transport class") Suggested-by: John Garry Signed-off-by: Yang Yingliang Link: https://lore.kernel.org/r/20221107124828.115557-1-yangyingliang@huawei.com Reviewed-by: John Garry Reviewed-by: Jason Yan Signed-off-by: Martin K. Petersen --- drivers/scsi/scsi_transport_sas.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c index 2f88c61216ee..74b99f2b0b74 100644 --- a/drivers/scsi/scsi_transport_sas.c +++ b/drivers/scsi/scsi_transport_sas.c @@ -722,12 +722,17 @@ int sas_phy_add(struct sas_phy *phy) int error; error = device_add(&phy->dev); - if (!error) { - transport_add_device(&phy->dev); - transport_configure_device(&phy->dev); + if (error) + return error; + + error = transport_add_device(&phy->dev); + if (error) { + device_del(&phy->dev); + return error; } + transport_configure_device(&phy->dev); - return error; + return 0; } EXPORT_SYMBOL(sas_phy_add); -- cgit v1.2.3-59-g8ed1b From ecb8c2580d37dbb641451049376d80c8afaa387f Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Wed, 2 Nov 2022 12:32:48 -0700 Subject: scsi: scsi_debug: Make the READ CAPACITY response compliant with ZBC From ZBC-1: - RC BASIS = 0: The RETURNED LOGICAL BLOCK ADDRESS field indicates the highest LBA of a contiguous range of zones that are not sequential write required zones starting with the first zone. - RC BASIS = 1: The RETURNED LOGICAL BLOCK ADDRESS field indicates the LBA of the last logical block on the logical unit. The current scsi_debug READ CAPACITY response does not comply with the above if there are one or more sequential write required zones. SCSI initiators need a way to retrieve the largest valid LBA from SCSI devices. Reporting the largest valid LBA if there are one or more sequential zones requires to set the RC BASIS field in the READ CAPACITY response to one. Hence this patch. Cc: Douglas Gilbert Cc: Damien Le Moal Suggested-by: Damien Le Moal Signed-off-by: Bart Van Assche Link: https://lore.kernel.org/r/20221102193248.3177608-1-bvanassche@acm.org Reviewed-by: Damien Le Moal Acked-by: Douglas Gilbert Signed-off-by: Martin K. Petersen --- drivers/scsi/scsi_debug.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index 697fc57bc711..629853662b82 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -1899,6 +1899,13 @@ static int resp_readcap16(struct scsi_cmnd *scp, arr[14] |= 0x40; } + /* + * Since the scsi_debug READ CAPACITY implementation always reports the + * total disk capacity, set RC BASIS = 1 for host-managed ZBC devices. + */ + if (devip->zmodel == BLK_ZONED_HM) + arr[12] |= 1 << 4; + arr[15] = sdebug_lowest_aligned & 0xff; if (have_dif_prot) { -- cgit v1.2.3-59-g8ed1b From b3d726cb8497c6b12106fd617d46eef11763ea86 Mon Sep 17 00:00:00 2001 From: Doug Brown Date: Mon, 5 Sep 2022 17:07:09 -0700 Subject: dmaengine: pxa_dma: use platform_get_irq_optional The first IRQ is required, but IRQs 1 through (nb_phy_chans - 1) are optional, because on some platforms (e.g. PXA168) there is a single IRQ shared between all channels. This change inhibits a flood of "IRQ index # not found" messages at startup. Tested on a PXA168-based device. Fixes: 7723f4c5ecdb ("driver core: platform: Add an error message to platform_get_irq*()") Signed-off-by: Doug Brown Link: https://lore.kernel.org/r/20220906000709.52705-1-doug@schmorgal.com Signed-off-by: Vinod Koul --- drivers/dma/pxa_dma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dma/pxa_dma.c b/drivers/dma/pxa_dma.c index e7034f6f3994..22a392fe6d32 100644 --- a/drivers/dma/pxa_dma.c +++ b/drivers/dma/pxa_dma.c @@ -1247,14 +1247,14 @@ static int pxad_init_phys(struct platform_device *op, return -ENOMEM; for (i = 0; i < nb_phy_chans; i++) - if (platform_get_irq(op, i) > 0) + if (platform_get_irq_optional(op, i) > 0) nr_irq++; for (i = 0; i < nb_phy_chans; i++) { phy = &pdev->phys[i]; phy->base = pdev->base; phy->idx = i; - irq = platform_get_irq(op, i); + irq = platform_get_irq_optional(op, i); if ((nr_irq > 1) && (irq > 0)) ret = devm_request_irq(&op->dev, irq, pxad_chan_handler, -- cgit v1.2.3-59-g8ed1b From e8dbd6445dd6b38c4c50410a86f13158486ee99a Mon Sep 17 00:00:00 2001 From: Xiaochen Shen Date: Sat, 1 Oct 2022 04:15:27 +0800 Subject: dmaengine: idxd: Fix max batch size for Intel IAA >From Intel IAA spec [1], Intel IAA does not support batch processing. Two batch related default values for IAA are incorrect in current code: (1) The max batch size of device is set during device initialization, that indicates batch is supported. It should be always 0 on IAA. (2) The max batch size of work queue is set to WQ_DEFAULT_MAX_BATCH (32) as the default value regardless of Intel DSA or IAA device during work queue setup and cleanup. It should be always 0 on IAA. Fix the issues by setting the max batch size of device and max batch size of work queue to 0 on IAA device, that means batch is not supported. [1]: https://cdrdv2.intel.com/v1/dl/getContent/721858 Fixes: 23084545dbb0 ("dmaengine: idxd: set max_xfer and max_batch for RO device") Fixes: 92452a72ebdf ("dmaengine: idxd: set defaults for wq configs") Fixes: bfe1d56091c1 ("dmaengine: idxd: Init and probe for Intel data accelerators") Signed-off-by: Xiaochen Shen Reviewed-by: Dave Jiang Reviewed-by: Fenghua Yu Link: https://lore.kernel.org/r/20220930201528.18621-2-xiaochen.shen@intel.com Signed-off-by: Vinod Koul --- drivers/dma/idxd/device.c | 6 +++--- drivers/dma/idxd/idxd.h | 32 ++++++++++++++++++++++++++++++++ drivers/dma/idxd/init.c | 4 ++-- drivers/dma/idxd/sysfs.c | 2 +- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index 2c1e6f6daa62..670b71927db0 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -390,7 +390,7 @@ static void idxd_wq_disable_cleanup(struct idxd_wq *wq) clear_bit(WQ_FLAG_ATS_DISABLE, &wq->flags); memset(wq->name, 0, WQ_NAME_SIZE); wq->max_xfer_bytes = WQ_DEFAULT_MAX_XFER; - wq->max_batch_size = WQ_DEFAULT_MAX_BATCH; + idxd_wq_set_max_batch_size(idxd->data->type, wq, WQ_DEFAULT_MAX_BATCH); if (wq->opcap_bmap) bitmap_copy(wq->opcap_bmap, idxd->opcap_bmap, IDXD_MAX_OPCAP_BITS); } @@ -869,7 +869,7 @@ static int idxd_wq_config_write(struct idxd_wq *wq) /* bytes 12-15 */ wq->wqcfg->max_xfer_shift = ilog2(wq->max_xfer_bytes); - wq->wqcfg->max_batch_shift = ilog2(wq->max_batch_size); + idxd_wqcfg_set_max_batch_shift(idxd->data->type, wq->wqcfg, ilog2(wq->max_batch_size)); /* bytes 32-63 */ if (idxd->hw.wq_cap.op_config && wq->opcap_bmap) { @@ -1051,7 +1051,7 @@ static int idxd_wq_load_config(struct idxd_wq *wq) wq->priority = wq->wqcfg->priority; wq->max_xfer_bytes = 1ULL << wq->wqcfg->max_xfer_shift; - wq->max_batch_size = 1ULL << wq->wqcfg->max_batch_shift; + idxd_wq_set_max_batch_size(idxd->data->type, wq, 1U << wq->wqcfg->max_batch_shift); for (i = 0; i < WQCFG_STRIDES(idxd); i++) { wqcfg_offset = WQCFG_OFFSET(idxd, wq->id, i); diff --git a/drivers/dma/idxd/idxd.h b/drivers/dma/idxd/idxd.h index 1196ab342f01..7ced8d283d98 100644 --- a/drivers/dma/idxd/idxd.h +++ b/drivers/dma/idxd/idxd.h @@ -548,6 +548,38 @@ static inline int idxd_wq_refcount(struct idxd_wq *wq) return wq->client_count; }; +/* + * Intel IAA does not support batch processing. + * The max batch size of device, max batch size of wq and + * max batch shift of wqcfg should be always 0 on IAA. + */ +static inline void idxd_set_max_batch_size(int idxd_type, struct idxd_device *idxd, + u32 max_batch_size) +{ + if (idxd_type == IDXD_TYPE_IAX) + idxd->max_batch_size = 0; + else + idxd->max_batch_size = max_batch_size; +} + +static inline void idxd_wq_set_max_batch_size(int idxd_type, struct idxd_wq *wq, + u32 max_batch_size) +{ + if (idxd_type == IDXD_TYPE_IAX) + wq->max_batch_size = 0; + else + wq->max_batch_size = max_batch_size; +} + +static inline void idxd_wqcfg_set_max_batch_shift(int idxd_type, union wqcfg *wqcfg, + u32 max_batch_shift) +{ + if (idxd_type == IDXD_TYPE_IAX) + wqcfg->max_batch_shift = 0; + else + wqcfg->max_batch_shift = max_batch_shift; +} + int __must_check __idxd_driver_register(struct idxd_device_driver *idxd_drv, struct module *module, const char *mod_name); #define idxd_driver_register(driver) \ diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c index 2b18d512cbfc..09cbf0c179ba 100644 --- a/drivers/dma/idxd/init.c +++ b/drivers/dma/idxd/init.c @@ -183,7 +183,7 @@ static int idxd_setup_wqs(struct idxd_device *idxd) init_completion(&wq->wq_dead); init_completion(&wq->wq_resurrect); wq->max_xfer_bytes = WQ_DEFAULT_MAX_XFER; - wq->max_batch_size = WQ_DEFAULT_MAX_BATCH; + idxd_wq_set_max_batch_size(idxd->data->type, wq, WQ_DEFAULT_MAX_BATCH); wq->enqcmds_retries = IDXD_ENQCMDS_RETRIES; wq->wqcfg = kzalloc_node(idxd->wqcfg_size, GFP_KERNEL, dev_to_node(dev)); if (!wq->wqcfg) { @@ -418,7 +418,7 @@ static void idxd_read_caps(struct idxd_device *idxd) idxd->max_xfer_bytes = 1ULL << idxd->hw.gen_cap.max_xfer_shift; dev_dbg(dev, "max xfer size: %llu bytes\n", idxd->max_xfer_bytes); - idxd->max_batch_size = 1U << idxd->hw.gen_cap.max_batch_shift; + idxd_set_max_batch_size(idxd->data->type, idxd, 1U << idxd->hw.gen_cap.max_batch_shift); dev_dbg(dev, "max batch size: %u\n", idxd->max_batch_size); if (idxd->hw.gen_cap.config_en) set_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags); diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c index bdaccf9e0436..7269bd54554f 100644 --- a/drivers/dma/idxd/sysfs.c +++ b/drivers/dma/idxd/sysfs.c @@ -1046,7 +1046,7 @@ static ssize_t wq_max_batch_size_store(struct device *dev, struct device_attribu if (batch_size > idxd->max_batch_size) return -EINVAL; - wq->max_batch_size = (u32)batch_size; + idxd_wq_set_max_batch_size(idxd->data->type, wq, (u32)batch_size); return count; } -- cgit v1.2.3-59-g8ed1b From 0b8c97a1d8c1bb6a853b8bb1778e8fef17b86fc9 Mon Sep 17 00:00:00 2001 From: Fengqian Gao Date: Fri, 30 Sep 2022 11:28:35 +0800 Subject: dmaengine: idxd: fix RO device state error after been disabled/reset When IDXD is not configurable, that means its WQ, engine, and group configurations cannot be changed. But it can be disabled and its state should be set as disabled regardless it's configurable or not. Fix this by setting device state IDXD_DEV_DISABLED for read-only device as well in idxd_device_clear_state(). Fixes: cf4ac3fef338 ("dmaengine: idxd: fix lockdep warning on device driver removal") Signed-off-by: Fengqian Gao Reviewed-by: Xiaochen Shen Reviewed-by: Dave Jiang Reviewed-by: Fenghua Yu Link: https://lore.kernel.org/r/20220930032835.2290-1-fengqian.gao@intel.com Signed-off-by: Vinod Koul --- drivers/dma/idxd/device.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c index 670b71927db0..6f44fa8f78a5 100644 --- a/drivers/dma/idxd/device.c +++ b/drivers/dma/idxd/device.c @@ -730,13 +730,21 @@ static void idxd_device_wqs_clear_state(struct idxd_device *idxd) void idxd_device_clear_state(struct idxd_device *idxd) { - if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) - return; + /* IDXD is always disabled. Other states are cleared only when IDXD is configurable. */ + if (test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) { + /* + * Clearing wq state is protected by wq lock. + * So no need to be protected by device lock. + */ + idxd_device_wqs_clear_state(idxd); + + spin_lock(&idxd->dev_lock); + idxd_groups_clear_state(idxd); + idxd_engines_clear_state(idxd); + } else { + spin_lock(&idxd->dev_lock); + } - idxd_device_wqs_clear_state(idxd); - spin_lock(&idxd->dev_lock); - idxd_groups_clear_state(idxd); - idxd_engines_clear_state(idxd); idxd->state = IDXD_DEV_DISABLED; spin_unlock(&idxd->dev_lock); } -- cgit v1.2.3-59-g8ed1b From 8454f880c24bca0d9d4bfb6ed4a4a5429a4d9b20 Mon Sep 17 00:00:00 2001 From: Martin Povišer Date: Wed, 19 Oct 2022 15:23:23 +0200 Subject: dmaengine: apple-admac: Fix grabbing of channels in of_xlate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The of_xlate callback is supposed to return the channel after already having 'grabbed' it for private use, so fill that in. Fixes: b127315d9a78 ("dmaengine: apple-admac: Add Apple ADMAC driver") Signed-off-by: Martin Povišer Link: https://lore.kernel.org/r/20221019132324.8585-1-povik+lin@cutebit.org Signed-off-by: Vinod Koul --- drivers/dma/apple-admac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/apple-admac.c b/drivers/dma/apple-admac.c index 317ca76ccafd..a2cc520225d3 100644 --- a/drivers/dma/apple-admac.c +++ b/drivers/dma/apple-admac.c @@ -493,7 +493,7 @@ static struct dma_chan *admac_dma_of_xlate(struct of_phandle_args *dma_spec, return NULL; } - return &ad->channels[index].chan; + return dma_get_slave_channel(&ad->channels[index].chan); } static int admac_drain_reports(struct admac_data *ad, int channo) -- cgit v1.2.3-59-g8ed1b From 081195d17a0c4c636da2b869bd5809d42e8cbb13 Mon Sep 17 00:00:00 2001 From: Christophe JAILLET Date: Mon, 24 Oct 2022 21:50:09 +0200 Subject: dmaengine: mv_xor_v2: Fix a resource leak in mv_xor_v2_remove() A clk_prepare_enable() call in the probe is not balanced by a corresponding clk_disable_unprepare() in the remove function. Add the missing call. Fixes: 3cd2c313f1d6 ("dmaengine: mv_xor_v2: Fix clock resource by adding a register clock") Signed-off-by: Christophe JAILLET Link: https://lore.kernel.org/r/e9e3837a680c9bd2438e4db2b83270c6c052d005.1666640987.git.christophe.jaillet@wanadoo.fr Signed-off-by: Vinod Koul --- drivers/dma/mv_xor_v2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/mv_xor_v2.c b/drivers/dma/mv_xor_v2.c index f629ef6fd3c2..113834e1167b 100644 --- a/drivers/dma/mv_xor_v2.c +++ b/drivers/dma/mv_xor_v2.c @@ -893,6 +893,7 @@ static int mv_xor_v2_remove(struct platform_device *pdev) tasklet_kill(&xor_dev->irq_tasklet); clk_disable_unprepare(xor_dev->clk); + clk_disable_unprepare(xor_dev->reg_clk); return 0; } -- cgit v1.2.3-59-g8ed1b From ac2b9f34f02052709aea7b34bb2a165e1853eb41 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Thu, 20 Oct 2022 14:28:27 +0800 Subject: dmaengine: ti: k3-udma-glue: fix memory leak when register device fail If device_register() fails, it should call put_device() to give up reference, the name allocated in dev_set_name() can be freed in callback function kobject_cleanup(). Fixes: 5b65781d06ea ("dmaengine: ti: k3-udma-glue: Add support for K3 PKTDMA") Signed-off-by: Yang Yingliang Acked-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20221020062827.2914148-1-yangyingliang@huawei.com Signed-off-by: Vinod Koul --- drivers/dma/ti/k3-udma-glue.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/dma/ti/k3-udma-glue.c b/drivers/dma/ti/k3-udma-glue.c index 4fdd9f06b723..4f1aeb81e9c7 100644 --- a/drivers/dma/ti/k3-udma-glue.c +++ b/drivers/dma/ti/k3-udma-glue.c @@ -299,6 +299,7 @@ struct k3_udma_glue_tx_channel *k3_udma_glue_request_tx_chn(struct device *dev, ret = device_register(&tx_chn->common.chan_dev); if (ret) { dev_err(dev, "Channel Device registration failed %d\n", ret); + put_device(&tx_chn->common.chan_dev); tx_chn->common.chan_dev.parent = NULL; goto err; } @@ -917,6 +918,7 @@ k3_udma_glue_request_rx_chn_priv(struct device *dev, const char *name, ret = device_register(&rx_chn->common.chan_dev); if (ret) { dev_err(dev, "Channel Device registration failed %d\n", ret); + put_device(&rx_chn->common.chan_dev); rx_chn->common.chan_dev.parent = NULL; goto err; } @@ -1048,6 +1050,7 @@ k3_udma_glue_request_remote_rx_chn(struct device *dev, const char *name, ret = device_register(&rx_chn->common.chan_dev); if (ret) { dev_err(dev, "Channel Device registration failed %d\n", ret); + put_device(&rx_chn->common.chan_dev); rx_chn->common.chan_dev.parent = NULL; goto err; } -- cgit v1.2.3-59-g8ed1b From 140fd5e74a1cc7413df88c735fff5ec64d33c1d3 Mon Sep 17 00:00:00 2001 From: Amelie Delaunay Date: Mon, 24 Oct 2022 10:36:11 +0200 Subject: dmaengine: stm32-dma: fix potential race between pause and resume When disabling dma channel, a TCF flag is set and as TCIE is enabled, an interrupt is raised. On a busy system, the interrupt may have latency and the user can ask for dmaengine_resume while stm32-dma driver has not yet managed the complete pause (backup of registers to restore state in resume). To avoid such a case, instead of waiting the interrupt to backup the registers, do it just after disabling the channel and discard Transfer Complete interrupt in case the channel is paused. Fixes: 099a9a94be0e ("dmaengine: stm32-dma: add device_pause/device_resume support") Signed-off-by: Amelie Delaunay Link: https://lore.kernel.org/r/20221024083611.132588-1-amelie.delaunay@foss.st.com Signed-off-by: Vinod Koul --- drivers/dma/stm32-dma.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/dma/stm32-dma.c b/drivers/dma/stm32-dma.c index 4891a1767e5a..37674029cb42 100644 --- a/drivers/dma/stm32-dma.c +++ b/drivers/dma/stm32-dma.c @@ -675,6 +675,8 @@ static void stm32_dma_handle_chan_paused(struct stm32_dma_chan *chan) chan->chan_reg.dma_sndtr = stm32_dma_read(dmadev, STM32_DMA_SNDTR(chan->id)); + chan->status = DMA_PAUSED; + dev_dbg(chan2dev(chan), "vchan %pK: paused\n", &chan->vchan); } @@ -789,9 +791,7 @@ static irqreturn_t stm32_dma_chan_irq(int irq, void *devid) if (status & STM32_DMA_TCI) { stm32_dma_irq_clear(chan, STM32_DMA_TCI); if (scr & STM32_DMA_SCR_TCIE) { - if (chan->status == DMA_PAUSED && !(scr & STM32_DMA_SCR_EN)) - stm32_dma_handle_chan_paused(chan); - else + if (chan->status != DMA_PAUSED) stm32_dma_handle_chan_done(chan, scr); } status &= ~STM32_DMA_TCI; @@ -838,13 +838,11 @@ static int stm32_dma_pause(struct dma_chan *c) return -EPERM; spin_lock_irqsave(&chan->vchan.lock, flags); + ret = stm32_dma_disable_chan(chan); - /* - * A transfer complete flag is set to indicate the end of transfer due to the stream - * interruption, so wait for interrupt - */ if (!ret) - chan->status = DMA_PAUSED; + stm32_dma_handle_chan_paused(chan); + spin_unlock_irqrestore(&chan->vchan.lock, flags); return ret; -- cgit v1.2.3-59-g8ed1b From f1171bbdd2ba2a50ee64bb198a78c268a5baf5f1 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:35 +0300 Subject: dmaengine: at_hdmac: Fix at_lli struct definition Those hardware registers are all of 32 bits, while dma_addr_t ca be of type u64 or u32 depending on CONFIG_ARCH_DMA_ADDR_T_64BIT. Force u32 to comply with what the hardware expects. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-2-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac_regs.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h index 4d1ebc040031..d4d382d74607 100644 --- a/drivers/dma/at_hdmac_regs.h +++ b/drivers/dma/at_hdmac_regs.h @@ -186,13 +186,13 @@ /* LLI == Linked List Item; aka DMA buffer descriptor */ struct at_lli { /* values that are not changed by hardware */ - dma_addr_t saddr; - dma_addr_t daddr; + u32 saddr; + u32 daddr; /* value that may get written back: */ - u32 ctrla; + u32 ctrla; /* more values that are not changed by hardware */ - u32 ctrlb; - dma_addr_t dscr; /* chain to next lli */ + u32 ctrlb; + u32 dscr; /* chain to next lli */ }; /** -- cgit v1.2.3-59-g8ed1b From 7176a6a8982d311e50a7c1168868d26e65bbba19 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:36 +0300 Subject: dmaengine: at_hdmac: Don't start transactions at tx_submit level tx_submit is supposed to push the current transaction descriptor to a pending queue, waiting for issue_pending() to be called. issue_pending() must start the transfer, not tx_submit(), thus remove atc_dostart() from atc_tx_submit(). Clients of at_xdmac that assume that tx_submit() starts the transfer must be updated and call dma_async_issue_pending() if they miss to call it. The vdbg print was moved to after the lock is released. It is desirable to do the prints without the lock held if possible, and because the if statement disappears there's no reason why to do the print while holding the lock. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-3-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 5a50423b7378..3f71f4d2f467 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -691,19 +691,11 @@ static dma_cookie_t atc_tx_submit(struct dma_async_tx_descriptor *tx) spin_lock_irqsave(&atchan->lock, flags); cookie = dma_cookie_assign(tx); - if (list_empty(&atchan->active_list)) { - dev_vdbg(chan2dev(tx->chan), "tx_submit: started %u\n", - desc->txd.cookie); - atc_dostart(atchan, desc); - list_add_tail(&desc->desc_node, &atchan->active_list); - } else { - dev_vdbg(chan2dev(tx->chan), "tx_submit: queued %u\n", - desc->txd.cookie); - list_add_tail(&desc->desc_node, &atchan->queue); - } - + list_add_tail(&desc->desc_node, &atchan->queue); spin_unlock_irqrestore(&atchan->lock, flags); + dev_vdbg(chan2dev(tx->chan), "tx_submit: queued %u\n", + desc->txd.cookie); return cookie; } -- cgit v1.2.3-59-g8ed1b From 8a47221fc28417ff8a32a4f92d4448a56c3cf7e1 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:37 +0300 Subject: dmaengine: at_hdmac: Start transfer for cyclic channels in issue_pending Cyclic channels must too call issue_pending in order to start a transfer. Start the transfer in issue_pending regardless of the type of channel. This wrongly worked before, because in the past the transfer was started at tx_submit level when only a desc in the transfer list. Fixes: 53830cc75974 ("dmaengine: at_hdmac: add cyclic DMA operation support") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-4-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 3f71f4d2f467..e9d0c3632868 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1536,10 +1536,6 @@ static void atc_issue_pending(struct dma_chan *chan) dev_vdbg(chan2dev(chan), "issue_pending\n"); - /* Not needed for cyclic transfers */ - if (atc_chan_is_cyclic(atchan)) - return; - atc_advance_work(atchan); } -- cgit v1.2.3-59-g8ed1b From fcd37565efdaffeac179d0f0ce980ac79bfdf569 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:38 +0300 Subject: dmaengine: at_hdmac: Fix premature completion of desc in issue_pending Multiple calls to atc_issue_pending() could result in a premature completion of a descriptor from the atchan->active list, as the method always completed the first active descriptor from the list. Instead, issue_pending() should just take the first transaction descriptor from the pending queue, move it to active_list and start the transfer. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-5-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index e9d0c3632868..cb5522417db6 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1527,16 +1527,26 @@ atc_tx_status(struct dma_chan *chan, } /** - * atc_issue_pending - try to finish work + * atc_issue_pending - takes the first transaction descriptor in the pending + * queue and starts the transfer. * @chan: target DMA channel */ static void atc_issue_pending(struct dma_chan *chan) { - struct at_dma_chan *atchan = to_at_dma_chan(chan); + struct at_dma_chan *atchan = to_at_dma_chan(chan); + struct at_desc *desc; + unsigned long flags; dev_vdbg(chan2dev(chan), "issue_pending\n"); - atc_advance_work(atchan); + spin_lock_irqsave(&atchan->lock, flags); + if (atc_chan_is_enabled(atchan) || list_empty(&atchan->queue)) + return spin_unlock_irqrestore(&atchan->lock, flags); + + desc = atc_first_queued(atchan); + list_move_tail(&desc->desc_node, &atchan->active_list); + atc_dostart(atchan, desc); + spin_unlock_irqrestore(&atchan->lock, flags); } /** -- cgit v1.2.3-59-g8ed1b From f645f85ae1104f8bd882f962ac0a69a1070076dd Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:39 +0300 Subject: dmaengine: at_hdmac: Do not call the complete callback on device_terminate_all The method was wrong because it violated the dmaengine API. For aborted transfers the complete callback should not be called. Fix the behavior and do not call the complete callback on device_terminate_all. Fixes: 808347f6a317 ("dmaengine: at_hdmac: add DMA slave transfers") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-6-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index cb5522417db6..11816484843e 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1437,11 +1437,8 @@ static int atc_terminate_all(struct dma_chan *chan) struct at_dma_chan *atchan = to_at_dma_chan(chan); struct at_dma *atdma = to_at_dma(chan->device); int chan_id = atchan->chan_common.chan_id; - struct at_desc *desc, *_desc; unsigned long flags; - LIST_HEAD(list); - dev_vdbg(chan2dev(chan), "%s\n", __func__); /* @@ -1460,15 +1457,11 @@ static int atc_terminate_all(struct dma_chan *chan) cpu_relax(); /* active_list entries will end up before queued entries */ - list_splice_init(&atchan->queue, &list); - list_splice_init(&atchan->active_list, &list); + list_splice_tail_init(&atchan->queue, &atchan->free_list); + list_splice_tail_init(&atchan->active_list, &atchan->free_list); spin_unlock_irqrestore(&atchan->lock, flags); - /* Flush all pending and queued descriptors */ - list_for_each_entry_safe(desc, _desc, &list, desc_node) - atc_chain_complete(atchan, desc); - clear_bit(ATC_IS_PAUSED, &atchan->status); /* if channel dedicated to cyclic operations, free it */ clear_bit(ATC_IS_CYCLIC, &atchan->status); -- cgit v1.2.3-59-g8ed1b From 6e5ad28d16f082efeae3d0bd2e31f24bed218019 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:40 +0300 Subject: dmaengine: at_hdmac: Protect atchan->status with the channel lock Now that the complete callback call was removed from device_terminate_all(), we can protect the atchan->status with the channel lock. The atomic bitops on atchan->status do not substitute proper locking on the status, as one could still modify the status after the lock was dropped in atc_terminate_all() but before the atomic bitops were executed. Fixes: 078a6506141a ("dmaengine: at_hdmac: Fix deadlocks") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-7-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 11816484843e..deb4c6027436 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1460,12 +1460,12 @@ static int atc_terminate_all(struct dma_chan *chan) list_splice_tail_init(&atchan->queue, &atchan->free_list); list_splice_tail_init(&atchan->active_list, &atchan->free_list); - spin_unlock_irqrestore(&atchan->lock, flags); - clear_bit(ATC_IS_PAUSED, &atchan->status); /* if channel dedicated to cyclic operations, free it */ clear_bit(ATC_IS_CYCLIC, &atchan->status); + spin_unlock_irqrestore(&atchan->lock, flags); + return 0; } -- cgit v1.2.3-59-g8ed1b From c6babed879fbe82796a601bf097649e07382db46 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:41 +0300 Subject: dmaengine: at_hdmac: Fix concurrency problems by removing atc_complete_all() atc_complete_all() had concurrency bugs, thus remove it: 1/ atc_complete_all() in its entirety was buggy, as when the atchan->queue list (the one that contains descriptors that are not yet issued to the hardware) contained descriptors, it fired just the first from the atchan->queue, but moved all the desc from atchan->queue to atchan->active_list and considered them all as fired. This could result in calling the completion of a descriptor that was not yet issued to the hardware. 2/ when in tasklet at atc_advance_work() time, atchan->active_list was queried without holding the lock of the chan. This can result in atchan->active_list concurrency problems between the tasklet and issue_pending(). Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-8-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 49 ++++--------------------------------------------- 1 file changed, 4 insertions(+), 45 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index deb4c6027436..f1e6fa6af6c2 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -485,42 +485,6 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc) dma_run_dependencies(txd); } -/** - * atc_complete_all - finish work for all transactions - * @atchan: channel to complete transactions for - * - * Eventually submit queued descriptors if any - * - * Assume channel is idle while calling this function - * Called with atchan->lock held and bh disabled - */ -static void atc_complete_all(struct at_dma_chan *atchan) -{ - struct at_desc *desc, *_desc; - LIST_HEAD(list); - unsigned long flags; - - dev_vdbg(chan2dev(&atchan->chan_common), "complete all\n"); - - spin_lock_irqsave(&atchan->lock, flags); - - /* - * Submit queued descriptors ASAP, i.e. before we go through - * the completed ones. - */ - if (!list_empty(&atchan->queue)) - atc_dostart(atchan, atc_first_queued(atchan)); - /* empty active_list now it is completed */ - list_splice_init(&atchan->active_list, &list); - /* empty queue list by moving descriptors (if any) to active_list */ - list_splice_init(&atchan->queue, &atchan->active_list); - - spin_unlock_irqrestore(&atchan->lock, flags); - - list_for_each_entry_safe(desc, _desc, &list, desc_node) - atc_chain_complete(atchan, desc); -} - /** * atc_advance_work - at the end of a transaction, move forward * @atchan: channel where the transaction ended @@ -528,25 +492,20 @@ static void atc_complete_all(struct at_dma_chan *atchan) static void atc_advance_work(struct at_dma_chan *atchan) { unsigned long flags; - int ret; dev_vdbg(chan2dev(&atchan->chan_common), "advance_work\n"); spin_lock_irqsave(&atchan->lock, flags); - ret = atc_chan_is_enabled(atchan); + if (atc_chan_is_enabled(atchan) || list_empty(&atchan->active_list)) + return spin_unlock_irqrestore(&atchan->lock, flags); spin_unlock_irqrestore(&atchan->lock, flags); - if (ret) - return; - - if (list_empty(&atchan->active_list) || - list_is_singular(&atchan->active_list)) - return atc_complete_all(atchan); atc_chain_complete(atchan, atc_first_active(atchan)); /* advance work */ spin_lock_irqsave(&atchan->lock, flags); - atc_dostart(atchan, atc_first_active(atchan)); + if (!list_empty(&atchan->active_list)) + atc_dostart(atchan, atc_first_active(atchan)); spin_unlock_irqrestore(&atchan->lock, flags); } -- cgit v1.2.3-59-g8ed1b From 06988949df8c3007ad82036d3606d8ae72ed9000 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:42 +0300 Subject: dmaengine: at_hdmac: Fix concurrency over descriptor The descriptor was added to the free_list before calling the callback, which could result in reissuing of the same descriptor and calling of a single callback for both. Move the decriptor to the free list after the callback is invoked. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-9-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index f1e6fa6af6c2..2012ecc57826 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -469,11 +469,8 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc) desc->memset_buffer = false; } - /* move children to free_list */ - list_splice_init(&desc->tx_list, &atchan->free_list); - /* move myself to free_list */ - list_move(&desc->desc_node, &atchan->free_list); - + /* Remove transfer node from the active list. */ + list_del_init(&desc->desc_node); spin_unlock_irqrestore(&atchan->lock, flags); dma_descriptor_unmap(txd); @@ -483,6 +480,13 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc) dmaengine_desc_get_callback_invoke(txd, NULL); dma_run_dependencies(txd); + + spin_lock_irqsave(&atchan->lock, flags); + /* move children to free_list */ + list_splice_init(&desc->tx_list, &atchan->free_list); + /* add myself to free_list */ + list_add(&desc->desc_node, &atchan->free_list); + spin_unlock_irqrestore(&atchan->lock, flags); } /** -- cgit v1.2.3-59-g8ed1b From 6ba826cbb57d675f447b59323204d1473bbd5593 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:43 +0300 Subject: dmaengine: at_hdmac: Free the memset buf without holding the chan lock There's no need to hold the channel lock when freeing the memset buf, as the operation has already completed. Free the memset buf without holding the channel lock. Fixes: 4d112426c344 ("dmaengine: hdmac: Add memset capabilities") Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-10-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 2012ecc57826..0fb44f622d35 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -462,13 +462,6 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc) if (!atc_chan_is_cyclic(atchan)) dma_cookie_complete(txd); - /* If the transfer was a memset, free our temporary buffer */ - if (desc->memset_buffer) { - dma_pool_free(atdma->memset_pool, desc->memset_vaddr, - desc->memset_paddr); - desc->memset_buffer = false; - } - /* Remove transfer node from the active list. */ list_del_init(&desc->desc_node); spin_unlock_irqrestore(&atchan->lock, flags); @@ -487,6 +480,13 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc) /* add myself to free_list */ list_add(&desc->desc_node, &atchan->free_list); spin_unlock_irqrestore(&atchan->lock, flags); + + /* If the transfer was a memset, free our temporary buffer */ + if (desc->memset_buffer) { + dma_pool_free(atdma->memset_pool, desc->memset_vaddr, + desc->memset_paddr); + desc->memset_buffer = false; + } } /** -- cgit v1.2.3-59-g8ed1b From 03ed9ba357cc78116164b90b87f45eacab60b561 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:44 +0300 Subject: dmaengine: at_hdmac: Fix concurrency over the active list The tasklet (atc_advance_work()) did not held the channel lock when retrieving the first active descriptor, causing concurrency problems if issue_pending() was called in between. If issue_pending() was called exactly after the lock was released in the tasklet (atc_advance_work()), atc_chain_complete() could complete a descriptor for which the controller has not yet raised an interrupt. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-11-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 0fb44f622d35..b53a9fc15dd9 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -462,8 +462,6 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc) if (!atc_chan_is_cyclic(atchan)) dma_cookie_complete(txd); - /* Remove transfer node from the active list. */ - list_del_init(&desc->desc_node); spin_unlock_irqrestore(&atchan->lock, flags); dma_descriptor_unmap(txd); @@ -495,6 +493,7 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc) */ static void atc_advance_work(struct at_dma_chan *atchan) { + struct at_desc *desc; unsigned long flags; dev_vdbg(chan2dev(&atchan->chan_common), "advance_work\n"); @@ -502,9 +501,12 @@ static void atc_advance_work(struct at_dma_chan *atchan) spin_lock_irqsave(&atchan->lock, flags); if (atc_chan_is_enabled(atchan) || list_empty(&atchan->active_list)) return spin_unlock_irqrestore(&atchan->lock, flags); - spin_unlock_irqrestore(&atchan->lock, flags); - atc_chain_complete(atchan, atc_first_active(atchan)); + desc = atc_first_active(atchan); + /* Remove the transfer node from the active list. */ + list_del_init(&desc->desc_node); + spin_unlock_irqrestore(&atchan->lock, flags); + atc_chain_complete(atchan, desc); /* advance work */ spin_lock_irqsave(&atchan->lock, flags); -- cgit v1.2.3-59-g8ed1b From ba2423633ba646e1df20e30cb3cf35495c16f173 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:45 +0300 Subject: dmaengine: at_hdmac: Fix descriptor handling when issuing it to hardware As it was before, the descriptor was issued to the hardware without adding it to the active (issued) list. This could result in a completion of other descriptor, or/and in the descriptor never being completed. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-12-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index b53a9fc15dd9..9e5a30396c1c 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -510,8 +510,11 @@ static void atc_advance_work(struct at_dma_chan *atchan) /* advance work */ spin_lock_irqsave(&atchan->lock, flags); - if (!list_empty(&atchan->active_list)) - atc_dostart(atchan, atc_first_active(atchan)); + if (!list_empty(&atchan->active_list)) { + desc = atc_first_queued(atchan); + list_move_tail(&desc->desc_node, &atchan->active_list); + atc_dostart(atchan, desc); + } spin_unlock_irqrestore(&atchan->lock, flags); } @@ -523,6 +526,7 @@ static void atc_advance_work(struct at_dma_chan *atchan) static void atc_handle_error(struct at_dma_chan *atchan) { struct at_desc *bad_desc; + struct at_desc *desc; struct at_desc *child; unsigned long flags; @@ -540,8 +544,11 @@ static void atc_handle_error(struct at_dma_chan *atchan) list_splice_init(&atchan->queue, atchan->active_list.prev); /* Try to restart the controller */ - if (!list_empty(&atchan->active_list)) - atc_dostart(atchan, atc_first_active(atchan)); + if (!list_empty(&atchan->active_list)) { + desc = atc_first_queued(atchan); + list_move_tail(&desc->desc_node, &atchan->active_list); + atc_dostart(atchan, desc); + } /* * KERN_CRITICAL may seem harsh, but since this only happens -- cgit v1.2.3-59-g8ed1b From ef2cb4f0ce479f77607b04c4b0414bf32f863ee8 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:46 +0300 Subject: dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors In case the controller detected an error, the code took the chance to move all the queued (submitted) descriptors to the active (issued) list. This was wrong as if there were any descriptors in the submitted list they were moved to the issued list without actually issuing them to the controller, thus a completion could be raised without even fireing the descriptor. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-13-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 9e5a30396c1c..80eeb4fb88ef 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -539,10 +539,6 @@ static void atc_handle_error(struct at_dma_chan *atchan) bad_desc = atc_first_active(atchan); list_del_init(&bad_desc->desc_node); - /* As we are stopped, take advantage to push queued descriptors - * in active_list */ - list_splice_init(&atchan->queue, atchan->active_list.prev); - /* Try to restart the controller */ if (!list_empty(&atchan->active_list)) { desc = atc_first_queued(atchan); -- cgit v1.2.3-59-g8ed1b From 580ee84405c27d6ed419abe4d2b3de1968abdafd Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:47 +0300 Subject: dmaengine: at_hdmac: Don't allow CPU to reorder channel enable at_hdmac uses __raw_writel for register writes. In the absence of a barrier, the CPU may reorder the register operations. Introduce a write memory barrier so that the CPU does not reorder the channel enable, thus the start of the transfer, without making sure that all the pre-required register fields are already written. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-14-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 80eeb4fb88ef..968a5aba47cd 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -256,6 +256,8 @@ static void atc_dostart(struct at_dma_chan *atchan, struct at_desc *first) ATC_SPIP_BOUNDARY(first->boundary)); channel_writel(atchan, DPIP, ATC_DPIP_HOLE(first->dst_hole) | ATC_DPIP_BOUNDARY(first->boundary)); + /* Don't allow CPU to reorder channel enable. */ + wmb(); dma_writel(atdma, CHER, atchan->mask); vdbg_dump_regs(atchan); -- cgit v1.2.3-59-g8ed1b From 28cbe5a0a46a6637adbda52337d7b2777fc04027 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:48 +0300 Subject: dmaengine: at_hdmac: Fix impossible condition The iterator can not be greater than ATC_MAX_DSCR_TRIALS, as the for loop will stop when i == ATC_MAX_DSCR_TRIALS. While here, use the common "i" name for the iterator. Fixes: 93dce3a6434f ("dmaengine: at_hdmac: fix residue computation") Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-15-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 968a5aba47cd..afcbad3e1718 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -318,7 +318,8 @@ static int atc_get_bytes_left(struct dma_chan *chan, dma_cookie_t cookie) struct at_desc *desc_first = atc_first_active(atchan); struct at_desc *desc; int ret; - u32 ctrla, dscr, trials; + u32 ctrla, dscr; + unsigned int i; /* * If the cookie doesn't match to the currently running transfer then @@ -388,7 +389,7 @@ static int atc_get_bytes_left(struct dma_chan *chan, dma_cookie_t cookie) dscr = channel_readl(atchan, DSCR); rmb(); /* ensure DSCR is read before CTRLA */ ctrla = channel_readl(atchan, CTRLA); - for (trials = 0; trials < ATC_MAX_DSCR_TRIALS; ++trials) { + for (i = 0; i < ATC_MAX_DSCR_TRIALS; ++i) { u32 new_dscr; rmb(); /* ensure DSCR is read after CTRLA */ @@ -414,7 +415,7 @@ static int atc_get_bytes_left(struct dma_chan *chan, dma_cookie_t cookie) rmb(); /* ensure DSCR is read before CTRLA */ ctrla = channel_readl(atchan, CTRLA); } - if (unlikely(trials >= ATC_MAX_DSCR_TRIALS)) + if (unlikely(i == ATC_MAX_DSCR_TRIALS)) return -ETIMEDOUT; /* for the first descriptor we can be more accurate */ -- cgit v1.2.3-59-g8ed1b From c47e6403fa099f200868d6b106701cb42d181d2b Mon Sep 17 00:00:00 2001 From: Tudor Ambarus Date: Tue, 25 Oct 2022 12:02:49 +0300 Subject: dmaengine: at_hdmac: Check return code of dma_async_device_register dma_async_device_register() can fail, check the return code and display an error. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org Acked-by: Nicolas Ferre Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com Link: https://lore.kernel.org/r/20221025090306.297886-16-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul --- drivers/dma/at_hdmac.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index afcbad3e1718..858bd64f1313 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1928,7 +1928,11 @@ static int __init at_dma_probe(struct platform_device *pdev) dma_has_cap(DMA_SLAVE, atdma->dma_common.cap_mask) ? "slave " : "", plat_dat->nr_channels); - dma_async_device_register(&atdma->dma_common); + err = dma_async_device_register(&atdma->dma_common); + if (err) { + dev_err(&pdev->dev, "Unable to register: %d.\n", err); + goto err_dma_async_device_register; + } /* * Do not return an error if the dmac node is not present in order to @@ -1948,6 +1952,7 @@ static int __init at_dma_probe(struct platform_device *pdev) err_of_dma_controller_register: dma_async_device_unregister(&atdma->dma_common); +err_dma_async_device_register: dma_pool_destroy(atdma->memset_pool); err_memset_pool_create: dma_pool_destroy(atdma->dma_desc_pool); -- cgit v1.2.3-59-g8ed1b From ea045fd344cb15c164e9ffc8b8cffb6883df8475 Mon Sep 17 00:00:00 2001 From: Shin'ichiro Kawasaki Date: Mon, 7 Nov 2022 13:02:29 +0900 Subject: ata: libata-scsi: fix SYNCHRONIZE CACHE (16) command failure SAT SCSI/ATA Translation specification requires SCSI SYNCHRONIZE CACHE (10) and (16) commands both shall be translated to ATA flush command. Also, ZBC Zoned Block Commands specification mandates SYNCHRONIZE CACHE (16) command support. However, libata translates only SYNCHRONIZE CACHE (10). This results in SYNCHRONIZE CACHE (16) command failures on SATA drives and then libata translation does not conform to ZBC. To avoid the failure, add support for SYNCHRONIZE CACHE (16). Signed-off-by: Shin'ichiro Kawasaki Cc: stable@vger.kernel.org Reviewed-by: Christoph Hellwig Reviewed-by: Martin K. Petersen Signed-off-by: Damien Le Moal --- drivers/ata/libata-scsi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index e2ebb0b065e2..61cd4e90e4e7 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -3264,6 +3264,7 @@ static unsigned int ata_scsiop_maint_in(struct ata_scsi_args *args, u8 *rbuf) case REPORT_LUNS: case REQUEST_SENSE: case SYNCHRONIZE_CACHE: + case SYNCHRONIZE_CACHE_16: case REZERO_UNIT: case SEEK_6: case SEEK_10: @@ -3922,6 +3923,7 @@ static inline ata_xlat_func_t ata_get_xlat_func(struct ata_device *dev, u8 cmd) return ata_scsi_write_same_xlat; case SYNCHRONIZE_CACHE: + case SYNCHRONIZE_CACHE_16: if (ata_try_flush_cache(dev)) return ata_scsi_flush_xlat; break; @@ -4145,6 +4147,7 @@ void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd) * turning this into a no-op. */ case SYNCHRONIZE_CACHE: + case SYNCHRONIZE_CACHE_16: fallthrough; /* no-op's, complete with success */ -- cgit v1.2.3-59-g8ed1b From e5126de138caef0eedb3d6431059c0c5581a1a5d Mon Sep 17 00:00:00 2001 From: Yue Hu Date: Fri, 21 Oct 2022 16:53:25 +0800 Subject: erofs: fix general protection fault when reading fragment As syzbot reported [1], the fragment feature sb flag is not set, so packed_inode != NULL needs to be checked in z_erofs_read_fragment(). [1] https://lore.kernel.org/all/0000000000002e7a8905eb841ddd@google.com/ Reported-by: syzbot+3faecbfd845a895c04cb@syzkaller.appspotmail.com Fixes: b15b2e307c3a ("erofs: support on-disk compressed fragments data") Signed-off-by: Yue Hu Reviewed-by: Gao Xiang Reviewed-by: Chao Yu Link: https://lore.kernel.org/r/20221021085325.25788-1-zbestahu@gmail.com Signed-off-by: Gao Xiang --- fs/erofs/zdata.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c index c7f24fc7efd5..d6caf275be77 100644 --- a/fs/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -660,6 +660,9 @@ static int z_erofs_read_fragment(struct inode *inode, erofs_off_t pos, u8 *src, *dst; unsigned int i, cnt; + if (!packed_inode) + return -EFSCORRUPTED; + pos += EROFS_I(inode)->z_fragmentoff; for (i = 0; i < len; i += cnt) { cnt = min_t(unsigned int, len - i, -- cgit v1.2.3-59-g8ed1b From 75e43355cbe4d5948a79bd592f2ffecb9f75f75d Mon Sep 17 00:00:00 2001 From: Jingbo Xu Date: Fri, 4 Nov 2022 13:40:27 +0800 Subject: erofs: put metabuf in error path in fscache mode For tail packing layout, put metabuf when error is encountered. Fixes: 1ae9470c3e14 ("erofs: clean up .read_folio() and .readahead() in fscache mode") Signed-off-by: Jingbo Xu Reviewed-by: Gao Xiang Reviewed-by: Jia Zhu Reviewed-by: Chao Yu Link: https://lore.kernel.org/r/20221104054028.52208-2-jefflexu@linux.alibaba.com Signed-off-by: Gao Xiang --- fs/erofs/fscache.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c index fe05bc51f9f2..83559008bfa8 100644 --- a/fs/erofs/fscache.c +++ b/fs/erofs/fscache.c @@ -287,8 +287,10 @@ static int erofs_fscache_data_read(struct address_space *mapping, return PTR_ERR(src); iov_iter_xarray(&iter, READ, &mapping->i_pages, pos, PAGE_SIZE); - if (copy_to_iter(src + offset, size, &iter) != size) + if (copy_to_iter(src + offset, size, &iter) != size) { + erofs_put_metabuf(&buf); return -EFAULT; + } iov_iter_zero(PAGE_SIZE - size, &iter); erofs_put_metabuf(&buf); return PAGE_SIZE; -- cgit v1.2.3-59-g8ed1b From e6d9f9ba111b56154f1b1120252aff269cebd49c Mon Sep 17 00:00:00 2001 From: Jingbo Xu Date: Fri, 4 Nov 2022 13:40:28 +0800 Subject: erofs: get correct count for unmapped range in fscache mode For unmapped range, the returned map.m_llen is zero, and thus the calculated count is unexpected zero. Prior to the refactoring introduced by commit 1ae9470c3e14 ("erofs: clean up .read_folio() and .readahead() in fscache mode"), only the readahead routine suffers from this. With the refactoring of making .read_folio() and .readahead() calling one common routine, both read_folio and readahead have this issue now. Fix this by calculating count separately in unmapped condition. Fixes: c665b394b9e8 ("erofs: implement fscache-based data readahead") Fixes: 1ae9470c3e14 ("erofs: clean up .read_folio() and .readahead() in fscache mode") Signed-off-by: Jingbo Xu Reviewed-by: Gao Xiang Reviewed-by: Chao Yu Link: https://lore.kernel.org/r/20221104054028.52208-3-jefflexu@linux.alibaba.com Signed-off-by: Gao Xiang --- fs/erofs/fscache.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c index 83559008bfa8..260fa4737fc0 100644 --- a/fs/erofs/fscache.c +++ b/fs/erofs/fscache.c @@ -296,15 +296,16 @@ static int erofs_fscache_data_read(struct address_space *mapping, return PAGE_SIZE; } - count = min_t(size_t, map.m_llen - (pos - map.m_la), len); - DBG_BUGON(!count || count % PAGE_SIZE); - if (!(map.m_flags & EROFS_MAP_MAPPED)) { + count = len; iov_iter_xarray(&iter, READ, &mapping->i_pages, pos, count); iov_iter_zero(count, &iter); return count; } + count = min_t(size_t, map.m_llen - (pos - map.m_la), len); + DBG_BUGON(!count || count % PAGE_SIZE); + mdev = (struct erofs_map_dev) { .m_deviceid = map.m_deviceid, .m_pa = map.m_pa, -- cgit v1.2.3-59-g8ed1b From 971cb608d1c5d95533a43b549bb8ec9637f10043 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 8 Nov 2022 07:58:23 +0100 Subject: ALSA: usb-audio: Yet more regression for for the delayed card registration Although we tried to fix the regression for the recent changes with the delayed card registration, it doesn't seem covering the all cases; e.g. on Roland EDIROL M-100FX, where the generic quirk for Roland devices is applied, it misses the card registration because the detection of the last interface (apparently for MIDI) fails. This patch is an attempt to recover from those failures by calling the card register also at the error path for the secondary interfaces. The card register condition is also extended to match with the old check in the previous patch, too (i.e. the simple check of the interface number) for catching the probe with errors. Fixes: 39efc9c8a973 ("ALSA: usb-audio: Fix last interface check for registration") Cc: Link: https://bugzilla.suse.com/show_bug.cgi?id=1205111 Link: https://lore.kernel.org/r/20221108065824.14418-1-tiwai@suse.de Signed-off-by: Takashi Iwai --- sound/usb/card.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/sound/usb/card.c b/sound/usb/card.c index a5ed11ea1145..26268ffb8274 100644 --- a/sound/usb/card.c +++ b/sound/usb/card.c @@ -742,6 +742,18 @@ get_alias_quirk(struct usb_device *dev, unsigned int id) return NULL; } +/* register card if we reach to the last interface or to the specified + * one given via option + */ +static int try_to_register_card(struct snd_usb_audio *chip, int ifnum) +{ + if (check_delayed_register_option(chip) == ifnum || + chip->last_iface == ifnum || + usb_interface_claimed(usb_ifnum_to_if(chip->dev, chip->last_iface))) + return snd_card_register(chip->card); + return 0; +} + /* * probe the active usb device * @@ -880,15 +892,9 @@ static int usb_audio_probe(struct usb_interface *intf, chip->need_delayed_register = false; /* clear again */ } - /* register card if we reach to the last interface or to the specified - * one given via option - */ - if (check_delayed_register_option(chip) == ifnum || - usb_interface_claimed(usb_ifnum_to_if(dev, chip->last_iface))) { - err = snd_card_register(chip->card); - if (err < 0) - goto __error; - } + err = try_to_register_card(chip, ifnum); + if (err < 0) + goto __error_no_register; if (chip->quirk_flags & QUIRK_FLAG_SHARE_MEDIA_DEVICE) { /* don't want to fail when snd_media_device_create() fails */ @@ -907,6 +913,11 @@ static int usb_audio_probe(struct usb_interface *intf, return 0; __error: + /* in the case of error in secondary interface, still try to register */ + if (chip) + try_to_register_card(chip, ifnum); + + __error_no_register: if (chip) { /* chip->active is inside the chip->card object, * decrement before memory is possibly returned. -- cgit v1.2.3-59-g8ed1b From ea83ec50393a6993fa09315e4200240c938c21b3 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 8 Nov 2022 07:58:24 +0100 Subject: ALSA: usb-audio: Remove redundant workaround for Roland quirk The recent fix for the delayed card registration made the current workaround for QUIRK_AUTODETECT superfluous, since the card registration itself is delayed until the last interface probe. This patch drops the redundant workaround in create_autodetect_quirks() for simplification. Fixes: 39efc9c8a973 ("ALSA: usb-audio: Fix last interface check for registration") Link: https://bugzilla.suse.com/show_bug.cgi?id=1205111 Link: https://lore.kernel.org/r/20221108065824.14418-2-tiwai@suse.de Signed-off-by: Takashi Iwai --- sound/usb/quirks.c | 44 +++----------------------------------------- 1 file changed, 3 insertions(+), 41 deletions(-) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index eadac586bcc8..2dd19a5c3026 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -376,7 +376,8 @@ static int create_auto_midi_quirk(struct snd_usb_audio *chip, static int create_autodetect_quirk(struct snd_usb_audio *chip, struct usb_interface *iface, - struct usb_driver *driver) + struct usb_driver *driver, + const struct snd_usb_audio_quirk *quirk) { int err; @@ -386,45 +387,6 @@ static int create_autodetect_quirk(struct snd_usb_audio *chip, return err; } -static int create_autodetect_quirks(struct snd_usb_audio *chip, - struct usb_interface *iface, - struct usb_driver *driver, - const struct snd_usb_audio_quirk *quirk) -{ - int probed_ifnum = get_iface_desc(iface->altsetting)->bInterfaceNumber; - int ifcount, ifnum, err; - - err = create_autodetect_quirk(chip, iface, driver); - if (err < 0) - return err; - - /* - * ALSA PCM playback/capture devices cannot be registered in two steps, - * so we have to claim the other corresponding interface here. - */ - ifcount = chip->dev->actconfig->desc.bNumInterfaces; - for (ifnum = 0; ifnum < ifcount; ifnum++) { - if (ifnum == probed_ifnum || quirk->ifnum >= 0) - continue; - iface = usb_ifnum_to_if(chip->dev, ifnum); - if (!iface || - usb_interface_claimed(iface) || - get_iface_desc(iface->altsetting)->bInterfaceClass != - USB_CLASS_VENDOR_SPEC) - continue; - - err = create_autodetect_quirk(chip, iface, driver); - if (err >= 0) { - err = usb_driver_claim_interface(driver, iface, - USB_AUDIO_IFACE_UNUSED); - if (err < 0) - return err; - } - } - - return 0; -} - /* * Create a stream for an Edirol UA-700/UA-25/UA-4FX interface. * The only way to detect the sample rate is by looking at wMaxPacketSize. @@ -554,7 +516,7 @@ int snd_usb_create_quirk(struct snd_usb_audio *chip, static const quirk_func_t quirk_funcs[] = { [QUIRK_IGNORE_INTERFACE] = ignore_interface_quirk, [QUIRK_COMPOSITE] = create_composite_quirk, - [QUIRK_AUTODETECT] = create_autodetect_quirks, + [QUIRK_AUTODETECT] = create_autodetect_quirk, [QUIRK_MIDI_STANDARD_INTERFACE] = create_any_midi_quirk, [QUIRK_MIDI_FIXED_ENDPOINT] = create_any_midi_quirk, [QUIRK_MIDI_YAMAHA] = create_any_midi_quirk, -- cgit v1.2.3-59-g8ed1b From 308451d9c7fece33d9551230cb8e5eb7f3914988 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 19 Sep 2022 15:32:58 +0200 Subject: drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01 The Nanote UMPC-01 is a mini laptop with a 1200x1920 portrait screen mounted in a landscape oriented clamshell case. Add a quirk for this. Signed-off-by: Hans de Goede Acked-by: Simon Ser Link: https://patchwork.freedesktop.org/patch/msgid/20220919133258.711639-1-hdegoede@redhat.com --- drivers/gpu/drm/drm_panel_orientation_quirks.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c index 8a0c0e0bb5bd..f0f6fa306521 100644 --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c @@ -319,6 +319,12 @@ static const struct dmi_system_id orientation_data[] = { DMI_MATCH(DMI_BIOS_VERSION, "BLADE_21"), }, .driver_data = (void *)&lcd1200x1920_rightside_up, + }, { /* Nanote UMPC-01 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "RWC CO.,LTD"), + DMI_MATCH(DMI_PRODUCT_NAME, "UMPC-01"), + }, + .driver_data = (void *)&lcd1200x1920_rightside_up, }, { /* OneGX1 Pro */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SYSTEM_MANUFACTURER"), -- cgit v1.2.3-59-g8ed1b From 653f2d94fcda200b02bd79cea2e0307b26c1b747 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 6 Nov 2022 22:50:52 +0100 Subject: drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) Like the Acer Switch One 10 S1003, for which there already is a quirk, the Acer Switch V 10 (SW5-017) has a 800x1280 portrait screen mounted in the tablet part of a landscape oriented 2-in-1. Add a quirk for this. Cc: Rudolf Polzer Signed-off-by: Hans de Goede Acked-by: Simon Ser Link: https://patchwork.freedesktop.org/patch/msgid/20221106215052.66995-1-hdegoede@redhat.com --- drivers/gpu/drm/drm_panel_orientation_quirks.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c index f0f6fa306521..52d8800a8ab8 100644 --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c @@ -134,6 +134,12 @@ static const struct dmi_system_id orientation_data[] = { DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* Acer Switch V 10 (SW5-017) */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SW5-017"), + }, + .driver_data = (void *)&lcd800x1280_rightside_up, }, { /* Anbernic Win600 */ .matches = { DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Anbernic"), -- cgit v1.2.3-59-g8ed1b From fdcc4c22b7ab20e90b97f8bc6225d876b72b8f16 Mon Sep 17 00:00:00 2001 From: Evan Quan Date: Tue, 8 Nov 2022 16:47:46 +0800 Subject: ALSA: hda/hdmi - enable runtime pm for more AMD display audio We are able to power down the GPU and audio via the GPU driver so flag these asics as supporting runtime pm. Signed-off-by: Evan Quan Cc: Link: https://lore.kernel.org/r/20221108084746.583058-1-evan.quan@amd.com Signed-off-by: Takashi Iwai --- sound/pci/hda/hda_intel.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 92f66bbc5c91..87002670c0c9 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2711,6 +2711,9 @@ static const struct pci_device_id azx_ids[] = { { PCI_DEVICE(0x1002, 0xab28), .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | AZX_DCAPS_PM_RUNTIME }, + { PCI_DEVICE(0x1002, 0xab30), + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | + AZX_DCAPS_PM_RUNTIME }, { PCI_DEVICE(0x1002, 0xab38), .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | AZX_DCAPS_PM_RUNTIME }, -- cgit v1.2.3-59-g8ed1b From e0b26b9482461e9528552f54fa662c2269f75b3f Mon Sep 17 00:00:00 2001 From: Ma Jun Date: Wed, 14 Sep 2022 20:53:31 +0800 Subject: drm/amdgpu: Fix the lpfn checking condition in drm buddy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Because the value of man->size is changed during suspend/resume process, use mgr->mm.size instead of man->size here for lpfn checking. Signed-off-by: Ma Jun Suggested-by: Christian König Link: https://patchwork.freedesktop.org/patch/msgid/20220914125331.2467162-1-Jun.Ma2@amd.com Signed-off-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c index 73a517bcf5c1..80dd1343594c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c @@ -435,7 +435,7 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man, if (place->flags & TTM_PL_FLAG_TOPDOWN) vres->flags |= DRM_BUDDY_TOPDOWN_ALLOCATION; - if (fpfn || lpfn != man->size) + if (fpfn || lpfn != mgr->mm.size) /* Allocate blocks in desired range */ vres->flags |= DRM_BUDDY_RANGE_ALLOCATION; -- cgit v1.2.3-59-g8ed1b From f04a2862f9c3f64962b8709c75d788efba6df26b Mon Sep 17 00:00:00 2001 From: Anjana Hari Date: Thu, 3 Nov 2022 11:10:51 -0700 Subject: pinctrl: qcom: sc8280xp: Rectify UFS reset pins UFS reset pin offsets are wrongly configured for SC8280XP, correcting the same for both UFS instances here. Signed-off-by: Anjana Hari Signed-off-by: Bjorn Andersson Reviewed-by: Andrew Halaney Tested-by: Andrew Halaney # QDrive3 Link: https://lore.kernel.org/r/20221103181051.26912-1-quic_bjorande@quicinc.com Signed-off-by: Linus Walleij --- drivers/pinctrl/qcom/pinctrl-sc8280xp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-sc8280xp.c b/drivers/pinctrl/qcom/pinctrl-sc8280xp.c index aa2075390f3e..e96c00686a25 100644 --- a/drivers/pinctrl/qcom/pinctrl-sc8280xp.c +++ b/drivers/pinctrl/qcom/pinctrl-sc8280xp.c @@ -1873,8 +1873,8 @@ static const struct msm_pingroup sc8280xp_groups[] = { [225] = PINGROUP(225, hs3_mi2s, phase_flag, _, _, _, _, egpio), [226] = PINGROUP(226, hs3_mi2s, phase_flag, _, _, _, _, egpio), [227] = PINGROUP(227, hs3_mi2s, phase_flag, _, _, _, _, egpio), - [228] = UFS_RESET(ufs_reset, 0xf1004), - [229] = UFS_RESET(ufs1_reset, 0xf3004), + [228] = UFS_RESET(ufs_reset, 0xf1000), + [229] = UFS_RESET(ufs1_reset, 0xf3000), [230] = SDC_QDSD_PINGROUP(sdc2_clk, 0xe8000, 14, 6), [231] = SDC_QDSD_PINGROUP(sdc2_cmd, 0xe8000, 11, 3), [232] = SDC_QDSD_PINGROUP(sdc2_data, 0xe8000, 9, 0), -- cgit v1.2.3-59-g8ed1b From 2f01a612d4758b45f775dbb88a49cf534ba47275 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 8 Nov 2022 15:07:21 +0100 Subject: ALSA: usb-audio: Add quirk entry for M-Audio Micro M-Audio Micro (0762:201a) defines the descriptor as vendor-specific, while the content seems class-compliant. Just overriding the probe makes the device working. Reported-by: Ash Logan Cc: Link: https://lore.kernel.org/r/7ecd4417-d860-4773-c1c1-b07433342390@heyquark.com Link: https://lore.kernel.org/r/20221108140721.24248-1-tiwai@suse.de Signed-off-by: Takashi Iwai --- sound/usb/quirks-table.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h index 06dfdd45cff8..874fcf245747 100644 --- a/sound/usb/quirks-table.h +++ b/sound/usb/quirks-table.h @@ -2049,6 +2049,10 @@ YAMAHA_DEVICE(0x7010, "UB99"), } } }, +{ + /* M-Audio Micro */ + USB_DEVICE_VENDOR_SPEC(0x0763, 0x201a), +}, { USB_DEVICE_VENDOR_SPEC(0x0763, 0x2030), .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { -- cgit v1.2.3-59-g8ed1b From f02be9002c480cd3ec0fcf184ad27cf531bd6ece Mon Sep 17 00:00:00 2001 From: Yu Kuai Date: Tue, 8 Nov 2022 18:34:34 +0800 Subject: block, bfq: fix null pointer dereference in bfq_bio_bfqg() Out test found a following problem in kernel 5.10, and the same problem should exist in mainline: BUG: kernel NULL pointer dereference, address: 0000000000000094 PGD 0 P4D 0 Oops: 0000 [#1] SMP CPU: 7 PID: 155 Comm: kworker/7:1 Not tainted 5.10.0-01932-g19e0ace2ca1d-dirty 4 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-b4 Workqueue: kthrotld blk_throtl_dispatch_work_fn RIP: 0010:bfq_bio_bfqg+0x52/0xc0 Code: 94 00 00 00 00 75 2e 48 8b 40 30 48 83 05 35 06 c8 0b 01 48 85 c0 74 3d 4b RSP: 0018:ffffc90001a1fba0 EFLAGS: 00010002 RAX: ffff888100d60400 RBX: ffff8881132e7000 RCX: 0000000000000000 RDX: 0000000000000017 RSI: ffff888103580a18 RDI: ffff888103580a18 RBP: ffff8881132e7000 R08: 0000000000000000 R09: ffffc90001a1fe10 R10: 0000000000000a20 R11: 0000000000034320 R12: 0000000000000000 R13: ffff888103580a18 R14: ffff888114447000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88881fdc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000094 CR3: 0000000100cdb000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: bfq_bic_update_cgroup+0x3c/0x350 ? ioc_create_icq+0x42/0x270 bfq_init_rq+0xfd/0x1060 bfq_insert_requests+0x20f/0x1cc0 ? ioc_create_icq+0x122/0x270 blk_mq_sched_insert_requests+0x86/0x1d0 blk_mq_flush_plug_list+0x193/0x2a0 blk_flush_plug_list+0x127/0x170 blk_finish_plug+0x31/0x50 blk_throtl_dispatch_work_fn+0x151/0x190 process_one_work+0x27c/0x5f0 worker_thread+0x28b/0x6b0 ? rescuer_thread+0x590/0x590 kthread+0x153/0x1b0 ? kthread_flush_work+0x170/0x170 ret_from_fork+0x1f/0x30 Modules linked in: CR2: 0000000000000094 ---[ end trace e2e59ac014314547 ]--- RIP: 0010:bfq_bio_bfqg+0x52/0xc0 Code: 94 00 00 00 00 75 2e 48 8b 40 30 48 83 05 35 06 c8 0b 01 48 85 c0 74 3d 4b RSP: 0018:ffffc90001a1fba0 EFLAGS: 00010002 RAX: ffff888100d60400 RBX: ffff8881132e7000 RCX: 0000000000000000 RDX: 0000000000000017 RSI: ffff888103580a18 RDI: ffff888103580a18 RBP: ffff8881132e7000 R08: 0000000000000000 R09: ffffc90001a1fe10 R10: 0000000000000a20 R11: 0000000000034320 R12: 0000000000000000 R13: ffff888103580a18 R14: ffff888114447000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88881fdc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000094 CR3: 0000000100cdb000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Root cause is quite complex: 1) use bfq elevator for the test device. 2) create a cgroup CG 3) config blk throtl in CG blkg_conf_prep blkg_create 4) create a thread T1 and issue async io in CG: bio_init bio_associate_blkg ... submit_bio submit_bio_noacct blk_throtl_bio -> io is throttled // io submit is done 5) switch elevator: bfq_exit_queue blkcg_deactivate_policy list_for_each_entry(blkg, &q->blkg_list, q_node) blkg->pd[] = NULL // bfq policy is removed 5) thread t1 exist, then remove the cgroup CG: blkcg_unpin_online blkcg_destroy_blkgs blkg_destroy list_del_init(&blkg->q_node) // blkg is removed from queue list 6) switch elevator back to bfq bfq_init_queue bfq_create_group_hierarchy blkcg_activate_policy list_for_each_entry_reverse(blkg, &q->blkg_list) // blkg is removed from list, hence bfq policy is still NULL 7) throttled io is dispatched to bfq: bfq_insert_requests bfq_init_rq bfq_bic_update_cgroup bfq_bio_bfqg bfqg = blkg_to_bfqg(blkg) // bfqg is NULL because bfq policy is NULL The problem is only possible in bfq because only bfq can be deactivated and activated while queue is online, while others can only be deactivated while the device is removed. Fix the problem in bfq by checking if blkg is online before calling blkg_to_bfqg(). Signed-off-by: Yu Kuai Reviewed-by: Jan Kara Link: https://lore.kernel.org/r/20221108103434.2853269-1-yukuai1@huaweicloud.com Signed-off-by: Jens Axboe --- block/bfq-cgroup.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c index 144bca006463..7d624a3a3f0f 100644 --- a/block/bfq-cgroup.c +++ b/block/bfq-cgroup.c @@ -610,6 +610,10 @@ struct bfq_group *bfq_bio_bfqg(struct bfq_data *bfqd, struct bio *bio) struct bfq_group *bfqg; while (blkg) { + if (!blkg->online) { + blkg = blkg->parent; + continue; + } bfqg = blkg_to_bfqg(blkg); if (bfqg->online) { bio_associate_blkg_from_css(bio, &blkg->blkcg->css); -- cgit v1.2.3-59-g8ed1b From f829230dd51974c1f4478900ed30bb77ba530b40 Mon Sep 17 00:00:00 2001 From: Serge Semin Date: Mon, 7 Nov 2022 23:39:44 +0300 Subject: block: sed-opal: kmalloc the cmd/resp buffers In accordance with [1] the DMA-able memory buffers must be cacheline-aligned otherwise the cache writing-back and invalidation performed during the mapping may cause the adjacent data being lost. It's specifically required for the DMA-noncoherent platforms [2]. Seeing the opal_dev.{cmd,resp} buffers are implicitly used for DMAs in the NVME and SCSI/SD drivers in framework of the nvme_sec_submit() and sd_sec_submit() methods respectively they must be cacheline-aligned to prevent the denoted problem. One of the option to guarantee that is to kmalloc the buffers [2]. Let's explicitly allocate them then instead of embedding into the opal_dev structure instance. Note this fix was inspired by the commit c94b7f9bab22 ("nvme-hwmon: kmalloc the NVME SMART log buffer"). [1] Documentation/core-api/dma-api.rst [2] Documentation/core-api/dma-api-howto.rst Fixes: 455a7b238cd6 ("block: Add Sed-opal library") Signed-off-by: Serge Semin Reviewed-by: Christoph Hellwig Link: https://lore.kernel.org/r/20221107203944.31686-1-Sergey.Semin@baikalelectronics.ru Signed-off-by: Jens Axboe --- block/sed-opal.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/block/sed-opal.c b/block/sed-opal.c index 2c5327a0543a..9bdb833e5817 100644 --- a/block/sed-opal.c +++ b/block/sed-opal.c @@ -87,8 +87,8 @@ struct opal_dev { u64 lowest_lba; size_t pos; - u8 cmd[IO_BUFFER_LENGTH]; - u8 resp[IO_BUFFER_LENGTH]; + u8 *cmd; + u8 *resp; struct parsed_resp parsed; size_t prev_d_len; @@ -2175,6 +2175,8 @@ void free_opal_dev(struct opal_dev *dev) return; clean_opal_dev(dev); + kfree(dev->resp); + kfree(dev->cmd); kfree(dev); } EXPORT_SYMBOL(free_opal_dev); @@ -2187,6 +2189,18 @@ struct opal_dev *init_opal_dev(void *data, sec_send_recv *send_recv) if (!dev) return NULL; + /* + * Presumably DMA-able buffers must be cache-aligned. Kmalloc makes + * sure the allocated buffer is DMA-safe in that regard. + */ + dev->cmd = kmalloc(IO_BUFFER_LENGTH, GFP_KERNEL); + if (!dev->cmd) + goto err_free_dev; + + dev->resp = kmalloc(IO_BUFFER_LENGTH, GFP_KERNEL); + if (!dev->resp) + goto err_free_cmd; + INIT_LIST_HEAD(&dev->unlk_lst); mutex_init(&dev->dev_lock); dev->flags = 0; @@ -2194,11 +2208,21 @@ struct opal_dev *init_opal_dev(void *data, sec_send_recv *send_recv) dev->send_recv = send_recv; if (check_opal_support(dev) != 0) { pr_debug("Opal is not supported on this device\n"); - kfree(dev); - return NULL; + goto err_free_resp; } return dev; + +err_free_resp: + kfree(dev->resp); + +err_free_cmd: + kfree(dev->cmd); + +err_free_dev: + kfree(dev); + + return NULL; } EXPORT_SYMBOL(init_opal_dev); -- cgit v1.2.3-59-g8ed1b From 2081b3bd0c11757725dcab9ba5d38e1bddb03459 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Thu, 3 Nov 2022 18:00:15 +0100 Subject: arm64: fix rodata=full again Commit 2e8cff0a0eee87b2 ("arm64: fix rodata=full") addressed a couple of issues with the rodata= kernel command line option, which is not a simple boolean on arm64, and inadvertently got broken due to changes in the generic bool handling. Unfortunately, the resulting code never clears the rodata_full boolean variable if it defaults to true and rodata=on or rodata=off is passed, as the generic code is not aware of the existence of this variable. Given the way this code is plumbed together, clearing rodata_full when returning false from arch_parse_debug_rodata() may result in inconsistencies if the generic code decides that it cannot parse the right hand side, so the best way to deal with this is to only take rodata_full in account if rodata_enabled is also true. Fixes: 2e8cff0a0eee ("arm64: fix rodata=full") Cc: # 6.0.x Signed-off-by: Ard Biesheuvel Acked-by: Will Deacon Link: https://lore.kernel.org/r/20221103170015.4124426-1-ardb@kernel.org Signed-off-by: Catalin Marinas --- arch/arm64/mm/pageattr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c index d107c3d434e2..5922178d7a06 100644 --- a/arch/arm64/mm/pageattr.c +++ b/arch/arm64/mm/pageattr.c @@ -26,7 +26,7 @@ bool can_set_direct_map(void) * mapped at page granularity, so that it is possible to * protect/unprotect single pages. */ - return rodata_full || debug_pagealloc_enabled() || + return (rodata_enabled && rodata_full) || debug_pagealloc_enabled() || IS_ENABLED(CONFIG_KFENCE); } @@ -102,7 +102,8 @@ static int change_memory_common(unsigned long addr, int numpages, * If we are manipulating read-only permissions, apply the same * change to the linear mapping of the pages that back this VM area. */ - if (rodata_full && (pgprot_val(set_mask) == PTE_RDONLY || + if (rodata_enabled && + rodata_full && (pgprot_val(set_mask) == PTE_RDONLY || pgprot_val(clear_mask) == PTE_RDONLY)) { for (i = 0; i < area->nr_pages; i++) { __change_memory_common((u64)page_address(area->pages[i]), -- cgit v1.2.3-59-g8ed1b From 50256e4793a5e5ab77703c82a47344ad2e774a59 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Tue, 8 Nov 2022 11:23:11 -0500 Subject: nfsd: put the export reference in nfsd4_verify_deleg_dentry nfsd_lookup_dentry returns an export reference in addition to the dentry ref. Ensure that we put it too. Link: https://bugzilla.redhat.com/show_bug.cgi?id=2138866 Fixes: 876c553cb410 ("NFSD: verify the opened dentry after setting a delegation") Reported-by: Yongcheng Yang Signed-off-by: Jeff Layton Signed-off-by: Chuck Lever --- fs/nfsd/nfs4state.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 198d7abf34e4..4f4706f7139b 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -5382,6 +5382,7 @@ nfsd4_verify_deleg_dentry(struct nfsd4_open *open, struct nfs4_file *fp, if (err) return -EAGAIN; + exp_put(exp); dput(child); if (child != file_dentry(fp->fi_deleg_file->nf_file)) return -EAGAIN; -- cgit v1.2.3-59-g8ed1b From eb86559a691cea5fa63e57a03ec3dc9c31e97955 Mon Sep 17 00:00:00 2001 From: Wang Yufen Date: Tue, 8 Nov 2022 13:11:31 +0800 Subject: bpf: Fix memory leaks in __check_func_call kmemleak reports this issue: unreferenced object 0xffff88817139d000 (size 2048): comm "test_progs", pid 33246, jiffies 4307381979 (age 45851.820s) hex dump (first 32 bytes): 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<0000000045f075f0>] kmalloc_trace+0x27/0xa0 [<0000000098b7c90a>] __check_func_call+0x316/0x1230 [<00000000b4c3c403>] check_helper_call+0x172e/0x4700 [<00000000aa3875b7>] do_check+0x21d8/0x45e0 [<000000001147357b>] do_check_common+0x767/0xaf0 [<00000000b5a595b4>] bpf_check+0x43e3/0x5bc0 [<0000000011e391b1>] bpf_prog_load+0xf26/0x1940 [<0000000007f765c0>] __sys_bpf+0xd2c/0x3650 [<00000000839815d6>] __x64_sys_bpf+0x75/0xc0 [<00000000946ee250>] do_syscall_64+0x3b/0x90 [<0000000000506b7f>] entry_SYSCALL_64_after_hwframe+0x63/0xcd The root case here is: In function prepare_func_exit(), the callee is not released in the abnormal scenario after "state->curframe--;". To fix, move "state->curframe--;" to the very bottom of the function, right when we free callee and reset frame[] pointer to NULL, as Andrii suggested. In addition, function __check_func_call() has a similar problem. In the abnormal scenario before "state->curframe++;", the callee also should be released by free_func_state(). Fixes: 69c087ba6225 ("bpf: Add bpf_for_each_map_elem() helper") Fixes: fd978bf7fd31 ("bpf: Add reference tracking to verifier") Signed-off-by: Wang Yufen Link: https://lore.kernel.org/r/1667884291-15666-1-git-send-email-wangyufen@huawei.com Signed-off-by: Martin KaFai Lau --- kernel/bpf/verifier.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 225666307bba..264b3dc714cc 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -6745,11 +6745,11 @@ static int __check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn /* Transfer references to the callee */ err = copy_reference_state(callee, caller); if (err) - return err; + goto err_out; err = set_callee_state_cb(env, caller, callee, *insn_idx); if (err) - return err; + goto err_out; clear_caller_saved_regs(env, caller->regs); @@ -6766,6 +6766,11 @@ static int __check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn print_verifier_state(env, callee, true); } return 0; + +err_out: + free_func_state(callee); + state->frame[state->curframe + 1] = NULL; + return err; } int map_set_for_each_callback_args(struct bpf_verifier_env *env, @@ -6979,8 +6984,7 @@ static int prepare_func_exit(struct bpf_verifier_env *env, int *insn_idx) return -EINVAL; } - state->curframe--; - caller = state->frame[state->curframe]; + caller = state->frame[state->curframe - 1]; if (callee->in_callback_fn) { /* enforce R0 return value range [0, 1]. */ struct tnum range = callee->callback_ret_range; @@ -7019,7 +7023,7 @@ static int prepare_func_exit(struct bpf_verifier_env *env, int *insn_idx) } /* clear everything in the callee */ free_func_state(callee); - state->frame[state->curframe + 1] = NULL; + state->frame[state->curframe--] = NULL; return 0; } -- cgit v1.2.3-59-g8ed1b From 0fc8c2acbfc789a977a50a4a9812a8e4b37958ce Mon Sep 17 00:00:00 2001 From: Dylan Yudaken Date: Tue, 8 Nov 2022 07:30:16 -0800 Subject: io_uring: calculate CQEs from the user visible value io_cqring_wait (and it's wake function io_has_work) used cached_cq_tail in order to calculate the number of CQEs. cached_cq_tail is set strictly before the user visible rings->cq.tail However as far as userspace is concerned, if io_uring_enter(2) is called with a minimum number of events, they will verify by checking rings->cq.tail. It is therefore possible for io_uring_enter(2) to return early with fewer events visible to the user. Instead make the wait functions read from the user visible value, so there will be no discrepency. This is triggered eventually by the following reproducer: struct io_uring_sqe *sqe; struct io_uring_cqe *cqe; unsigned int cqe_ready; struct io_uring ring; int ret, i; ret = io_uring_queue_init(N, &ring, 0); assert(!ret); while(true) { for (i = 0; i < N; i++) { sqe = io_uring_get_sqe(&ring); io_uring_prep_nop(sqe); sqe->flags |= IOSQE_ASYNC; } ret = io_uring_submit(&ring); assert(ret == N); do { ret = io_uring_wait_cqes(&ring, &cqe, N, NULL, NULL); } while(ret == -EINTR); cqe_ready = io_uring_cq_ready(&ring); assert(!ret); assert(cqe_ready == N); io_uring_cq_advance(&ring, N); } Fixes: ad3eb2c89fb2 ("io_uring: split overflow state into SQ and CQ side") Signed-off-by: Dylan Yudaken Link: https://lore.kernel.org/r/20221108153016.1854297-1-dylany@meta.com Signed-off-by: Jens Axboe --- io_uring/io_uring.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index ac8c488e3077..4a1e482747cc 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -176,6 +176,11 @@ static inline unsigned int __io_cqring_events(struct io_ring_ctx *ctx) return ctx->cached_cq_tail - READ_ONCE(ctx->rings->cq.head); } +static inline unsigned int __io_cqring_events_user(struct io_ring_ctx *ctx) +{ + return READ_ONCE(ctx->rings->cq.tail) - READ_ONCE(ctx->rings->cq.head); +} + static bool io_match_linked(struct io_kiocb *head) { struct io_kiocb *req; @@ -2315,7 +2320,7 @@ static inline bool io_has_work(struct io_ring_ctx *ctx) static inline bool io_should_wake(struct io_wait_queue *iowq) { struct io_ring_ctx *ctx = iowq->ctx; - int dist = ctx->cached_cq_tail - (int) iowq->cq_tail; + int dist = READ_ONCE(ctx->rings->cq.tail) - (int) iowq->cq_tail; /* * Wake up if we have enough events, or if a timeout occurred since we @@ -2399,7 +2404,8 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, return ret; io_cqring_overflow_flush(ctx); - if (io_cqring_events(ctx) >= min_events) + /* if user messes with these they will just get an early return */ + if (__io_cqring_events_user(ctx) >= min_events) return 0; } while (ret > 0); -- cgit v1.2.3-59-g8ed1b From 000f8870a47bdc36730357883b6aef42bced91ee Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Tue, 8 Nov 2022 10:49:34 -0700 Subject: vmlinux.lds.h: Fix placement of '.data..decrypted' section Commit d4c639990036 ("vmlinux.lds.h: Avoid orphan section with !SMP") fixed an orphan section warning by adding the '.data..decrypted' section to the linker script under the PERCPU_DECRYPTED_SECTION define but that placement introduced a panic with !SMP, as the percpu sections are not instantiated with that configuration so attempting to access variables defined with DEFINE_PER_CPU_DECRYPTED() will result in a page fault. Move the '.data..decrypted' section to the DATA_MAIN define so that the variables in it are properly instantiated at boot time with CONFIG_SMP=n. Cc: stable@vger.kernel.org Fixes: d4c639990036 ("vmlinux.lds.h: Avoid orphan section with !SMP") Link: https://lore.kernel.org/cbbd3548-880c-d2ca-1b67-5bb93b291d5f@huawei.com/ Debugged-by: Ard Biesheuvel Reported-by: Zhao Wenhui Tested-by: xiafukun Signed-off-by: Nathan Chancellor Signed-off-by: Kees Cook Link: https://lore.kernel.org/r/20221108174934.3384275-1-nathan@kernel.org --- include/asm-generic/vmlinux.lds.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index c15de165ec8f..f40a0e078bd0 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -341,6 +341,7 @@ #define DATA_DATA \ *(.xiptext) \ *(DATA_MAIN) \ + *(.data..decrypted) \ *(.ref.data) \ *(.data..shared_aligned) /* percpu related */ \ MEM_KEEP(init.data*) \ @@ -989,7 +990,6 @@ #ifdef CONFIG_AMD_MEM_ENCRYPT #define PERCPU_DECRYPTED_SECTION \ . = ALIGN(PAGE_SIZE); \ - *(.data..decrypted) \ *(.data..percpu..decrypted) \ . = ALIGN(PAGE_SIZE); #else -- cgit v1.2.3-59-g8ed1b From 6191de8b175fad1a877ae8ed4be699a5022b9c03 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Mon, 31 Oct 2022 19:11:49 +0100 Subject: s390/configs: move CONFIG_DEBUG_INFO_BTF into btf.config addon config CONFIG_DEBUG_INFO_BTF significantly increases compile time for the kernel. E.g. when changing a single C file compile time for a new bzImage is increased by ~50% if BTF debug info is generated. Therefore remove CONFIG_DEBUG_INFO_BTF from all defconfigs and introduce a btf.config addon config file. Quickly enabling CONFIG_DEBUG_INFO_BTF into the current kernel config can be done by simply invoking make btf.config Reviewed-by: Alexander Gordeev Signed-off-by: Heiko Carstens Signed-off-by: Alexander Gordeev --- arch/s390/configs/btf.config | 1 + arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/s390/configs/zfcpdump_defconfig | 1 - 4 files changed, 1 insertion(+), 3 deletions(-) create mode 100644 arch/s390/configs/btf.config diff --git a/arch/s390/configs/btf.config b/arch/s390/configs/btf.config new file mode 100644 index 000000000000..39227b4511af --- /dev/null +++ b/arch/s390/configs/btf.config @@ -0,0 +1 @@ +CONFIG_DEBUG_INFO_BTF=y diff --git a/arch/s390/configs/debug_defconfig b/arch/s390/configs/debug_defconfig index e33dc2d6fd04..63807bd0b536 100644 --- a/arch/s390/configs/debug_defconfig +++ b/arch/s390/configs/debug_defconfig @@ -797,7 +797,6 @@ CONFIG_CMA_SIZE_MBYTES=0 CONFIG_PRINTK_TIME=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DEBUG_INFO_DWARF4=y -CONFIG_DEBUG_INFO_BTF=y CONFIG_GDB_SCRIPTS=y CONFIG_HEADERS_INSTALL=y CONFIG_DEBUG_SECTION_MISMATCH=y diff --git a/arch/s390/configs/defconfig b/arch/s390/configs/defconfig index 9cc8f024f3df..4f9a98247442 100644 --- a/arch/s390/configs/defconfig +++ b/arch/s390/configs/defconfig @@ -781,7 +781,6 @@ CONFIG_CMA_SIZE_MBYTES=0 CONFIG_PRINTK_TIME=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DEBUG_INFO_DWARF4=y -CONFIG_DEBUG_INFO_BTF=y CONFIG_GDB_SCRIPTS=y CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_MAGIC_SYSRQ=y diff --git a/arch/s390/configs/zfcpdump_defconfig b/arch/s390/configs/zfcpdump_defconfig index a5576b8d4081..5fe9948be644 100644 --- a/arch/s390/configs/zfcpdump_defconfig +++ b/arch/s390/configs/zfcpdump_defconfig @@ -74,7 +74,6 @@ CONFIG_PRINTK_TIME=y # CONFIG_SYMBOLIC_ERRNAME is not set CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_INFO_DWARF4=y -CONFIG_DEBUG_INFO_BTF=y CONFIG_DEBUG_FS=y CONFIG_PANIC_ON_OOPS=y # CONFIG_SCHED_DEBUG is not set -- cgit v1.2.3-59-g8ed1b From 9afea696a04af29b114b38aec734e28b03e93dae Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Mon, 31 Oct 2022 19:40:31 +0100 Subject: s390/configs: add kasan.config addon config file Add kasan.config addon config file which allows to easily enable KASAN into the current kernel config. Reviewed-by: Alexander Gordeev Signed-off-by: Heiko Carstens Signed-off-by: Alexander Gordeev --- arch/s390/configs/kasan.config | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 arch/s390/configs/kasan.config diff --git a/arch/s390/configs/kasan.config b/arch/s390/configs/kasan.config new file mode 100644 index 000000000000..700a8b25c3ff --- /dev/null +++ b/arch/s390/configs/kasan.config @@ -0,0 +1,3 @@ +CONFIG_KASAN=y +CONFIG_KASAN_INLINE=y +CONFIG_KASAN_VMALLOC=y -- cgit v1.2.3-59-g8ed1b From 80ddf5ce1c9291cb175d52ed1227134ad48c47ee Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Sun, 30 Oct 2022 19:22:02 +0100 Subject: s390: always build relocatable kernel Nathan Chancellor reported several link errors on s390 with CONFIG_RELOCATABLE disabled, after binutils commit 906f69cf65da ("IBM zSystems: Issue error for *DBL relocs on misaligned symbols"). The binutils commit reveals potential miscompiles that might have happened already before with linker script defined symbols at odd addresses. A similar bug was recently fixed in the kernel with commit c9305b6c1f52 ("s390: fix nospec table alignments"). See https://github.com/ClangBuiltLinux/linux/issues/1747 for an analysis from Ulich Weigand. Therefore always build a relocatable kernel to avoid this problem. There is hardly any use-case for non-relocatable kernels, so this shouldn't be controversial. Link: https://github.com/ClangBuiltLinux/linux/issues/1747 Signed-off-by: Heiko Carstens Reported-by: Nathan Chancellor Tested-by: Nathan Chancellor Link: https://lore.kernel.org/r/20221030182202.2062705-1-hca@linux.ibm.com Signed-off-by: Alexander Gordeev --- arch/s390/Kconfig | 6 +++--- arch/s390/Makefile | 2 -- arch/s390/boot/Makefile | 3 +-- arch/s390/boot/startup.c | 3 +-- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 318fce77601d..de575af02ffe 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -568,8 +568,7 @@ config EXPOLINE_FULL endchoice config RELOCATABLE - bool "Build a relocatable kernel" - default y + def_bool y help This builds a kernel image that retains relocation information so it can be loaded at an arbitrary address. @@ -578,10 +577,11 @@ config RELOCATABLE bootup process. The relocations make the kernel image about 15% larger (compressed 10%), but are discarded at runtime. + Note: this option exists only for documentation purposes, please do + not remove it. config RANDOMIZE_BASE bool "Randomize the address of the kernel image (KASLR)" - depends on RELOCATABLE default y help In support of Kernel Address Space Layout Randomization (KASLR), diff --git a/arch/s390/Makefile b/arch/s390/Makefile index de6d8b2ea4d8..b3235ab0ace8 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile @@ -14,10 +14,8 @@ KBUILD_AFLAGS_MODULE += -fPIC KBUILD_CFLAGS_MODULE += -fPIC KBUILD_AFLAGS += -m64 KBUILD_CFLAGS += -m64 -ifeq ($(CONFIG_RELOCATABLE),y) KBUILD_CFLAGS += -fPIE LDFLAGS_vmlinux := -pie -endif aflags_dwarf := -Wa,-gdwarf-2 KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__ ifndef CONFIG_AS_IS_LLVM diff --git a/arch/s390/boot/Makefile b/arch/s390/boot/Makefile index 883357a211a3..d52c3e2e16bc 100644 --- a/arch/s390/boot/Makefile +++ b/arch/s390/boot/Makefile @@ -37,9 +37,8 @@ CFLAGS_sclp_early_core.o += -I$(srctree)/drivers/s390/char obj-y := head.o als.o startup.o mem_detect.o ipl_parm.o ipl_report.o obj-y += string.o ebcdic.o sclp_early_core.o mem.o ipl_vmparm.o cmdline.o -obj-y += version.o pgm_check_info.o ctype.o ipl_data.o +obj-y += version.o pgm_check_info.o ctype.o ipl_data.o machine_kexec_reloc.o obj-$(findstring y, $(CONFIG_PROTECTED_VIRTUALIZATION_GUEST) $(CONFIG_PGSTE)) += uv.o -obj-$(CONFIG_RELOCATABLE) += machine_kexec_reloc.o obj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o obj-y += $(if $(CONFIG_KERNEL_UNCOMPRESSED),,decompressor.o) info.o obj-$(CONFIG_KERNEL_ZSTD) += clz_ctz.o diff --git a/arch/s390/boot/startup.c b/arch/s390/boot/startup.c index 6e7f01ca53e6..47ca3264c023 100644 --- a/arch/s390/boot/startup.c +++ b/arch/s390/boot/startup.c @@ -291,8 +291,7 @@ void startup_kernel(void) clear_bss_section(); copy_bootdata(); - if (IS_ENABLED(CONFIG_RELOCATABLE)) - handle_relocs(__kaslr_offset); + handle_relocs(__kaslr_offset); if (__kaslr_offset) { /* -- cgit v1.2.3-59-g8ed1b From 84d1b2013272947ad9b13025df89226d8fa31cc5 Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Mon, 7 Nov 2022 13:33:06 -0800 Subject: perf stat: Fix crash with --per-node --metric-only in CSV mode The following command will get segfault due to missing aggr_header_csv for AGGR_NODE: $ sudo perf stat -a --per-node -x, --metric-only true Committer testing: Before this patch: # perf stat -a --per-node -x, --metric-only true Segmentation fault (core dumped) # After: # gdb perf -bash: gdb: command not found # perf stat -a --per-node -x, --metric-only true node,Ghz,frontend cycles idle,backend cycles idle,insn per cycle,branch-misses of all branches, N0,32,0.335,2.10,0.65,0.69,0.03,1.92, # Fixes: 86895b480a2f10c7 ("perf stat: Add --per-node agregation support") Signed-off-by: Namhyung Kim Cc: Adrian Hunter Cc: Ian Rogers Cc: James Clark Cc: Jiri Olsa Cc: Kan Liang Cc: Peter Zijlstra Cc: Xing Zhengjun Link: http://lore.kernel.org/lkml/20221107213314.3239159-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/stat-display.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index 5c47ee9963a7..9ba0f08582f0 100644 --- a/tools/perf/util/stat-display.c +++ b/tools/perf/util/stat-display.c @@ -559,7 +559,7 @@ static void printout(struct perf_stat_config *config, struct aggr_cpu_id id, int [AGGR_CORE] = 2, [AGGR_THREAD] = 1, [AGGR_UNSET] = 0, - [AGGR_NODE] = 0, + [AGGR_NODE] = 1, }; pm = config->metric_only ? print_metric_only_csv : print_metric_csv; @@ -1124,6 +1124,7 @@ static int aggr_header_lens[] = { [AGGR_SOCKET] = 12, [AGGR_NONE] = 6, [AGGR_THREAD] = 24, + [AGGR_NODE] = 6, [AGGR_GLOBAL] = 0, }; @@ -1133,6 +1134,7 @@ static const char *aggr_header_csv[] = { [AGGR_SOCKET] = "socket,cpus", [AGGR_NONE] = "cpu,", [AGGR_THREAD] = "comm-pid,", + [AGGR_NODE] = "node,", [AGGR_GLOBAL] = "" }; -- cgit v1.2.3-59-g8ed1b From ad353b710c7493df3d4fc2d3a51819126bed2e81 Mon Sep 17 00:00:00 2001 From: Athira Rajeev Date: Tue, 18 Oct 2022 14:26:04 +0530 Subject: perf stat: Fix printing os->prefix in CSV metrics output 'perf stat' with CSV output option prints an extra empty string as first field in metrics output line. Sample output below: # ./perf stat -x, --per-socket -a -C 1 ls S0,1,1.78,msec,cpu-clock,1785146,100.00,0.973,CPUs utilized S0,1,26,,context-switches,1781750,100.00,0.015,M/sec S0,1,1,,cpu-migrations,1780526,100.00,0.561,K/sec S0,1,1,,page-faults,1779060,100.00,0.561,K/sec S0,1,875807,,cycles,1769826,100.00,0.491,GHz S0,1,85281,,stalled-cycles-frontend,1767512,100.00,9.74,frontend cycles idle S0,1,576839,,stalled-cycles-backend,1766260,100.00,65.86,backend cycles idle S0,1,288430,,instructions,1762246,100.00,0.33,insn per cycle ====> ,S0,1,,,,,,,2.00,stalled cycles per insn The above command line uses field separator as "," via "-x," option and per-socket option displays socket value as first field. But here the last line for "stalled cycles per insn" has "," in the beginning. Sample output using interval mode: # ./perf stat -I 1000 -x, --per-socket -a -C 1 ls 0.001813453,S0,1,1.87,msec,cpu-clock,1872052,100.00,0.002,CPUs utilized 0.001813453,S0,1,2,,context-switches,1868028,100.00,1.070,K/sec ------ 0.001813453,S0,1,85379,,instructions,1856754,100.00,0.32,insn per cycle ====> 0.001813453,,S0,1,,,,,,,1.34,stalled cycles per insn Above result also has an extra CSV separator after the timestamp. Patch addresses extra field separator in the beginning of the metric output line. The counter stats are displayed by function "perf_stat__print_shadow_stats" in code "util/stat-shadow.c". While printing the stats info for "stalled cycles per insn", function "new_line_csv" is used as new_line callback. The new_line_csv function has check for "os->prefix" and if prefix is not null, it will be printed along with cvs separator. Snippet from "new_line_csv": if (os->prefix) fprintf(os->fh, "%s%s", os->prefix, config->csv_sep); Here os->prefix gets printed followed by "," which is the cvs separator. The os->prefix is used in interval mode option ( -I ), to print time stamp on every new line. But prefix is already set to contain CSV separator when used in interval mode for CSV option. Reference: Function "static void print_interval" Snippet: sprintf(prefix, "%6lu.%09lu%s", ts->tv_sec, ts->tv_nsec, config->csv_sep); Also if prefix is not assigned (if not used with -I option), it gets set to empty string. Reference: function printout() in util/stat-display.c Snippet: .prefix = prefix ? prefix : "", Since prefix already set to contain cvs_sep in interval option, patch removes printing config->csv_sep in new_line_csv function to avoid printing extra field. After the patch: # ./perf stat -x, --per-socket -a -C 1 ls S0,1,2.04,msec,cpu-clock,2045202,100.00,1.013,CPUs utilized S0,1,2,,context-switches,2041444,100.00,979.289,/sec S0,1,0,,cpu-migrations,2040820,100.00,0.000,/sec S0,1,2,,page-faults,2040288,100.00,979.289,/sec S0,1,254589,,cycles,2036066,100.00,0.125,GHz S0,1,82481,,stalled-cycles-frontend,2032420,100.00,32.40,frontend cycles idle S0,1,113170,,stalled-cycles-backend,2031722,100.00,44.45,backend cycles idle S0,1,88766,,instructions,2030942,100.00,0.35,insn per cycle S0,1,,,,,,,1.27,stalled cycles per insn Fixes: 92a61f6412d3a09d ("perf stat: Implement CSV metrics output") Reported-by: Disha Goel Reviewed-By: Kajol Jain Signed-off-by: Athira Jajeev Tested-by: Disha Goel Cc: Andi Kleen Cc: Ian Rogers Cc: James Clark Cc: Jiri Olsa Cc: linuxppc-dev@lists.ozlabs.org Cc: Madhavan Srinivasan Cc: Michael Ellerman Cc: Nageswara R Sastry Cc: Namhyung Kim Link: https://lore.kernel.org/r/20221018085605.63834-1-atrajeev@linux.vnet.ibm.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/stat-display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index 9ba0f08582f0..ba66bb7fc1ca 100644 --- a/tools/perf/util/stat-display.c +++ b/tools/perf/util/stat-display.c @@ -273,7 +273,7 @@ static void new_line_csv(struct perf_stat_config *config, void *ctx) fputc('\n', os->fh); if (os->prefix) - fprintf(os->fh, "%s%s", os->prefix, config->csv_sep); + fprintf(os->fh, "%s", os->prefix); aggr_printout(config, os->evsel, os->id, os->nr); for (i = 0; i < os->nfields; i++) fputs(config->csv_sep, os->fh); -- cgit v1.2.3-59-g8ed1b From 20ebc4a649b82e6ad892684c76ea1e8dd786d336 Mon Sep 17 00:00:00 2001 From: James Clark Date: Fri, 28 Oct 2022 13:19:13 +0100 Subject: perf test: Fix skipping branch stack sampling test Commit f4a2aade6809c657 ("perf tests powerpc: Fix branch stack sampling test to include sanity check for branch filter") added a skip if certain branch options aren't available. But the change added both -b (--branch-any) and --branch-filter options at the same time, which will always result in a failure on any platform because the arguments can't be used together. Fix this by removing -b (--branch-any) and leaving --branch-filter which already specifies 'any'. Also add warning messages to the test and perf tool. Output on x86 before this fix: $ sudo ./perf test branch 108: Check branch stack sampling : Skip After: $ sudo ./perf test branch 108: Check branch stack sampling : Ok Fixes: f4a2aade6809c657 ("perf tests powerpc: Fix branch stack sampling test to include sanity check for branch filter") Signed-off-by: James Clark Tested-by: Athira Jajeev Cc: Alexander Shishkin Cc: Anshuman.Khandual@arm.com Cc: Ingo Molnar Cc: Jiri Olsa Cc: Kajol Jain Cc: Mark Rutland Cc: Namhyung Kim Cc: Peter Zijlstra Link: https://lore.kernel.org/r/20221028121913.745307-1-james.clark@arm.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/tests/shell/test_brstack.sh | 5 ++++- tools/perf/util/parse-branch-options.c | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/perf/tests/shell/test_brstack.sh b/tools/perf/tests/shell/test_brstack.sh index ec801cffae6b..d7ff5c4b4da4 100755 --- a/tools/perf/tests/shell/test_brstack.sh +++ b/tools/perf/tests/shell/test_brstack.sh @@ -13,7 +13,10 @@ fi # skip the test if the hardware doesn't support branch stack sampling # and if the architecture doesn't support filter types: any,save_type,u -perf record -b -o- -B --branch-filter any,save_type,u true > /dev/null 2>&1 || exit 2 +if ! perf record -o- --no-buildid --branch-filter any,save_type,u -- true > /dev/null 2>&1 ; then + echo "skip: system doesn't support filter types: any,save_type,u" + exit 2 +fi TMPDIR=$(mktemp -d /tmp/__perf_test.program.XXXXX) diff --git a/tools/perf/util/parse-branch-options.c b/tools/perf/util/parse-branch-options.c index 00588b9db474..31faf2bb49ff 100644 --- a/tools/perf/util/parse-branch-options.c +++ b/tools/perf/util/parse-branch-options.c @@ -102,8 +102,10 @@ parse_branch_stack(const struct option *opt, const char *str, int unset) /* * cannot set it twice, -b + --branch-filter for instance */ - if (*mode) + if (*mode) { + pr_err("Error: Can't use --branch-any (-b) with --branch-filter (-j).\n"); return -1; + } return parse_branch_str(str, mode); } -- cgit v1.2.3-59-g8ed1b From 94d957ae513fc420d0a5a9bac815eb49ffebb56f Mon Sep 17 00:00:00 2001 From: Donglin Peng Date: Thu, 3 Nov 2022 02:27:04 -0700 Subject: perf tools: Add the include/perf/ directory to .gitignore Commit 3af1dfdd51e06697 ("perf build: Move perf_dlfilters.h in the source tree") moved perf_dlfilters.h to the include/perf/ directory while include/perf is ignored because it has 'perf' in the name. Newly created files in the include/perf/ directory will be ignored. Testing: Before: $ touch tools/perf/include/perf/junk $ git status | grep junk $ git check-ignore -v tools/perf/include/perf/junk tools/perf/.gitignore:6:perf tools/perf/include/perf/junk After: $ git status | grep junk tools/perf/include/perf/junk $ git check-ignore -v tools/perf/include/perf/junk Add !include/perf/ to perf's .gitignore file. Fixes: 3af1dfdd51e06697 ("perf build: Move perf_dlfilters.h in the source tree") Signed-off-by: Donglin Peng Acked-by: Adrian Hunter Cc: Peter Zijlstra Link: https://lore.kernel.org/r/20221103092704.173391-1-dolinux.peng@gmail.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/.gitignore b/tools/perf/.gitignore index a653311d9693..fd7a6ff9e7aa 100644 --- a/tools/perf/.gitignore +++ b/tools/perf/.gitignore @@ -4,6 +4,7 @@ PERF-GUI-VARS PERF-VERSION-FILE FEATURE-DUMP perf +!include/perf/ perf-read-vdso32 perf-read-vdsox32 perf-help -- cgit v1.2.3-59-g8ed1b From c61b3a2b2d9bb36698f8c2f65aa41ba183815264 Mon Sep 17 00:00:00 2001 From: Liam Howlett Date: Wed, 26 Oct 2022 15:13:29 +0000 Subject: maple_tree: remove pointer to pointer use in mas_alloc_nodes() There is a more direct and cleaner way of implementing the same functional code. Remove the confusing and unnecessary use of pointers here. Link: https://lkml.kernel.org/r/20221026151241.4031117-1-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett Suggested-by: Lukas Bulwahn Signed-off-by: Andrew Morton --- lib/maple_tree.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index fbde494444b8..72e3b6a9c021 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1209,7 +1209,6 @@ done: static inline void mas_alloc_nodes(struct ma_state *mas, gfp_t gfp) { struct maple_alloc *node; - struct maple_alloc **nodep = &mas->alloc; unsigned long allocated = mas_allocated(mas); unsigned long success = allocated; unsigned int requested = mas_alloc_req(mas); @@ -1263,8 +1262,7 @@ static inline void mas_alloc_nodes(struct ma_state *mas, gfp_t gfp) node->node_count--; success += count; - nodep = &node->slot[0]; - node = *nodep; + node = node->slot[0]; requested -= count; } mas->alloc->total = success; -- cgit v1.2.3-59-g8ed1b From 9a887877ef981e5a185a84339603300cf2eb1900 Mon Sep 17 00:00:00 2001 From: Liam Howlett Date: Wed, 26 Oct 2022 15:14:31 +0000 Subject: maple_tree: mas_anode_descend() clang-analyzer cleanup clang-analyzer reported some Dead Stores in mas_anode_descend(). Upon inspection, there were a few clean ups that would make the code cleaner: The count variable was set from the mt_slots array and then updated but never used again. Just use the array reference directly. Also stop updating the type since it isn't used after the update. Stop setting the gaps pointer to NULL at the start since it is always set before the loop begins. Link: https://lkml.kernel.org/r/20221026151413.4032730-1-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett Suggested-by: Lukas Bulwahn Signed-off-by: Andrew Morton --- lib/maple_tree.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 72e3b6a9c021..4c7eef927f1a 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -4968,8 +4968,9 @@ static inline bool mas_anode_descend(struct ma_state *mas, unsigned long size) { enum maple_type type = mte_node_type(mas->node); unsigned long pivot, min, gap = 0; - unsigned char count, offset; - unsigned long *gaps = NULL, *pivots = ma_pivots(mas_mn(mas), type); + unsigned char offset; + unsigned long *gaps; + unsigned long *pivots = ma_pivots(mas_mn(mas), type); void __rcu **slots = ma_slots(mas_mn(mas), type); bool found = false; @@ -4980,9 +4981,8 @@ static inline bool mas_anode_descend(struct ma_state *mas, unsigned long size) gaps = ma_gaps(mte_to_node(mas->node), type); offset = mas->offset; - count = mt_slots[type]; min = mas_safe_min(mas, pivots, offset); - for (; offset < count; offset++) { + for (; offset < mt_slots[type]; offset++) { pivot = mas_safe_pivot(mas, pivots, offset, type); if (offset && !pivot) break; @@ -5008,8 +5008,6 @@ static inline bool mas_anode_descend(struct ma_state *mas, unsigned long size) mas->min = min; mas->max = pivot; offset = 0; - type = mte_node_type(mas->node); - count = mt_slots[type]; break; } } -- cgit v1.2.3-59-g8ed1b From 120b116208a0877227fc82e3f0df81e7a3ed4ab1 Mon Sep 17 00:00:00 2001 From: Liam Howlett Date: Fri, 28 Oct 2022 18:04:30 +0000 Subject: maple_tree: reorganize testing to restore module testing Along the development cycle, the testing code support for module/in-kernel compiles was removed. Restore this functionality by moving any internal API tests to the userspace side, as well as threading tests. Fix the lockdep issues and add a way to reduce memory usage so the tests can complete with KASAN + memleak detection. Make the tests work on 32 bit hosts where possible and detect 32 bit hosts in the radix test suite. [akpm@linux-foundation.org: fix module export] [akpm@linux-foundation.org: fix it some more] [liam.howlett@oracle.com: fix compile warnings on 32bit build in check_find()] Link: https://lkml.kernel.org/r/20221107203816.1260327-1-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20221028180415.3074673-1-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett Signed-off-by: Andrew Morton --- include/linux/maple_tree.h | 7 + lib/Kconfig.debug | 4 + lib/Makefile | 1 + lib/maple_tree.c | 38 +- lib/test_maple_tree.c | 37926 +----------------------- tools/testing/radix-tree/.gitignore | 1 + tools/testing/radix-tree/Makefile | 19 +- tools/testing/radix-tree/generated/autoconf.h | 2 +- tools/testing/radix-tree/linux.c | 4 + tools/testing/radix-tree/maple.c | 35770 ++++++++++++++++++++++ 10 files changed, 37029 insertions(+), 36743 deletions(-) diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h index 2effab72add1..e594db58a0f1 100644 --- a/include/linux/maple_tree.h +++ b/include/linux/maple_tree.h @@ -638,6 +638,12 @@ static inline void mt_set_in_rcu(struct maple_tree *mt) } } +static inline unsigned int mt_height(const struct maple_tree *mt) + +{ + return (mt->ma_flags & MT_FLAGS_HEIGHT_MASK) >> MT_FLAGS_HEIGHT_OFFSET; +} + void *mt_find(struct maple_tree *mt, unsigned long *index, unsigned long max); void *mt_find_after(struct maple_tree *mt, unsigned long *index, unsigned long max); @@ -664,6 +670,7 @@ extern atomic_t maple_tree_tests_passed; void mt_dump(const struct maple_tree *mt); void mt_validate(struct maple_tree *mt); +void mt_cache_shrink(void); #define MT_BUG_ON(__tree, __x) do { \ atomic_inc(&maple_tree_tests_run); \ if (__x) { \ diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 29280072dc0e..be69844e40e6 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2241,6 +2241,10 @@ config TEST_UUID config TEST_XARRAY tristate "Test the XArray code at runtime" +config TEST_MAPLE_TREE + select DEBUG_MAPLE_TREE + tristate "Test the Maple Tree code at runtime" + config TEST_RHASHTABLE tristate "Perform selftest on resizable hash table" help diff --git a/lib/Makefile b/lib/Makefile index 161d6a724ff7..59bd7c2f793a 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -85,6 +85,7 @@ obj-$(CONFIG_TEST_BITMAP) += test_bitmap.o obj-$(CONFIG_TEST_STRSCPY) += test_strscpy.o obj-$(CONFIG_TEST_UUID) += test_uuid.o obj-$(CONFIG_TEST_XARRAY) += test_xarray.o +obj-$(CONFIG_TEST_MAPLE_TREE) += test_maple_tree.o obj-$(CONFIG_TEST_PARMAN) += test_parman.o obj-$(CONFIG_TEST_KMOD) += test_kmod.o obj-$(CONFIG_TEST_DEBUG_VIRTUAL) += test_debug_virtual.o diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 4c7eef927f1a..f23f11da4113 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -183,10 +183,6 @@ static void ma_free_rcu(struct maple_node *node) call_rcu(&node->rcu, mt_free_rcu); } -static unsigned int mt_height(const struct maple_tree *mt) -{ - return (mt->ma_flags & MT_FLAGS_HEIGHT_MASK) >> MT_FLAGS_HEIGHT_OFFSET; -} static void mas_set_height(struct ma_state *mas) { @@ -5061,6 +5057,7 @@ retry: return entry; } +EXPORT_SYMBOL_GPL(mas_walk); static inline bool mas_rewind_node(struct ma_state *mas) { @@ -5272,6 +5269,7 @@ int mas_empty_area(struct ma_state *mas, unsigned long min, mas->last = mas->index + size - 1; return 0; } +EXPORT_SYMBOL_GPL(mas_empty_area); /* * mas_empty_area_rev() - Get the highest address within the range that is @@ -5335,6 +5333,7 @@ int mas_empty_area_rev(struct ma_state *mas, unsigned long min, mas->index = mas->last - size + 1; return 0; } +EXPORT_SYMBOL_GPL(mas_empty_area_rev); static inline int mas_alloc(struct ma_state *mas, void *entry, unsigned long size, unsigned long *index) @@ -5656,6 +5655,7 @@ void *mas_store(struct ma_state *mas, void *entry) mas_wr_store_entry(&wr_mas); return wr_mas.content; } +EXPORT_SYMBOL_GPL(mas_store); /** * mas_store_gfp() - Store a value into the tree. @@ -5682,6 +5682,7 @@ retry: return 0; } +EXPORT_SYMBOL_GPL(mas_store_gfp); /** * mas_store_prealloc() - Store a value into the tree using memory @@ -5699,6 +5700,7 @@ void mas_store_prealloc(struct ma_state *mas, void *entry) BUG_ON(mas_is_err(mas)); mas_destroy(mas); } +EXPORT_SYMBOL_GPL(mas_store_prealloc); /** * mas_preallocate() - Preallocate enough nodes for a store operation @@ -5768,6 +5770,7 @@ void mas_destroy(struct ma_state *mas) } mas->alloc = NULL; } +EXPORT_SYMBOL_GPL(mas_destroy); /* * mas_expected_entries() - Set the expected number of entries that will be inserted. @@ -5829,6 +5832,7 @@ int mas_expected_entries(struct ma_state *mas, unsigned long nr_entries) return ret; } +EXPORT_SYMBOL_GPL(mas_expected_entries); /** * mas_next() - Get the next entry. @@ -6009,6 +6013,7 @@ void *mas_find(struct ma_state *mas, unsigned long max) /* Retries on dead nodes handled by mas_next_entry */ return mas_next_entry(mas, max); } +EXPORT_SYMBOL_GPL(mas_find); /** * mas_find_rev: On the first call, find the first non-null entry at or below @@ -6055,7 +6060,7 @@ void *mas_find_rev(struct ma_state *mas, unsigned long min) /* Retries on dead nodes handled by mas_next_entry */ return mas_prev_entry(mas, min); } -EXPORT_SYMBOL_GPL(mas_find); +EXPORT_SYMBOL_GPL(mas_find_rev); /** * mas_erase() - Find the range in which index resides and erase the entire @@ -6537,8 +6542,27 @@ static inline int mas_dead_node(struct ma_state *mas, unsigned long index) mas_rewalk(mas, index); return 1; } -#endif /* not defined __KERNEL__ */ +void mt_cache_shrink(void) +{ +} +#else +/* + * mt_cache_shrink() - For testing, don't use this. + * + * Certain testcases can trigger an OOM when combined with other memory + * debugging configuration options. This function is used to reduce the + * possibility of an out of memory even due to kmem_cache objects remaining + * around for longer than usual. + */ +void mt_cache_shrink(void) +{ + kmem_cache_shrink(maple_node_cache); + +} +EXPORT_SYMBOL_GPL(mt_cache_shrink); + +#endif /* not defined __KERNEL__ */ /* * mas_get_slot() - Get the entry in the maple state node stored at @offset. * @mas: The maple state @@ -6812,6 +6836,7 @@ void mt_dump(const struct maple_tree *mt) else if (entry) mt_dump_node(mt, entry, 0, mt_max[mte_node_type(entry)], 0); } +EXPORT_SYMBOL_GPL(mt_dump); /* * Calculate the maximum gap in a node and check if that's what is reported in @@ -7122,5 +7147,6 @@ done: rcu_read_unlock(); } +EXPORT_SYMBOL_GPL(mt_validate); #endif /* CONFIG_DEBUG_MAPLE_TREE */ diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 4f69e009a015..f425f169ef08 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -1,24 +1,35 @@ // SPDX-License-Identifier: GPL-2.0+ /* * test_maple_tree.c: Test the maple tree API - * Copyright (c) 2018 Liam R. Howlett + * Copyright (c) 2018-2022 Oracle Corporation * Author: Liam R. Howlett + * + * Any tests that only require the interface of the tree. */ #include #include -#include -#include #define MTREE_ALLOC_MAX 0x2000000000000Ul +#ifndef CONFIG_DEBUG_MAPLE_TREE #define CONFIG_DEBUG_MAPLE_TREE +#endif #define CONFIG_MAPLE_SEARCH +#define MAPLE_32BIT (MAPLE_NODE_SLOTS > 31) + /* #define BENCH_SLOT_STORE */ /* #define BENCH_NODE_STORE */ /* #define BENCH_AWALK */ /* #define BENCH_WALK */ /* #define BENCH_MT_FOR_EACH */ /* #define BENCH_FORK */ + +#ifdef __KERNEL__ +#define mt_set_non_kernel(x) do {} while (0) +#define mt_zero_nr_tallocated(x) do {} while (0) +#else +#define cond_resched() do {} while (0) +#endif static int mtree_insert_index(struct maple_tree *mt, unsigned long index, gfp_t gfp) { @@ -65,6 +76,7 @@ static void *mtree_test_erase(struct maple_tree *mt, unsigned long index) return mtree_erase(mt, index); } +#if defined(CONFIG_64BIT) static noinline void check_mtree_alloc_range(struct maple_tree *mt, unsigned long start, unsigned long end, unsigned long size, unsigned long expected, int eret, void *ptr) @@ -98,6 +110,7 @@ static noinline void check_mtree_alloc_rrange(struct maple_tree *mt, MT_BUG_ON(mt, result != expected); } +#endif static noinline void check_load(struct maple_tree *mt, unsigned long index, void *ptr) @@ -150,12 +163,6 @@ static noinline void check_insert(struct maple_tree *mt, unsigned long index, MT_BUG_ON(mt, ret != 0); } -static noinline void check_erase(struct maple_tree *mt, unsigned long index, - void *ptr) -{ - MT_BUG_ON(mt, mtree_test_erase(mt, index) != ptr); -} - static noinline void check_dup_insert(struct maple_tree *mt, unsigned long index, void *ptr) { @@ -172,41 +179,6 @@ void check_index_load(struct maple_tree *mt, unsigned long index) return check_load(mt, index, xa_mk_value(index & LONG_MAX)); } -static noinline void check_nomem(struct maple_tree *mt) -{ - MA_STATE(ms, mt, 1, 1); - - MT_BUG_ON(mt, !mtree_empty(mt)); - /* Ensure no bypassing of allocation failures */ - mt_set_non_kernel(0); - - /* Storing something at 1 requires memory allocation */ - MT_BUG_ON(mt, mtree_insert(mt, 1, &ms, GFP_ATOMIC) != -ENOMEM); - /* Storing something at 0 does not */ - MT_BUG_ON(mt, mtree_insert(mt, 0, &ms, GFP_ATOMIC) != 0); - - /* - * Simulate two threads racing; the first one fails to allocate - * memory to insert an entry at 1, then the second one succeeds - * in allocating memory to insert an entry at 2. The first one - * then needs to free the node it allocated. LeakSanitizer will - * notice this, as will the 'nr_allocated' debugging aid in the - * userspace test suite. - */ - mtree_lock(mt); - mas_store(&ms, &ms); /* insert 1 -> &ms, fails. */ - MT_BUG_ON(mt, ms.node != MA_ERROR(-ENOMEM)); - mas_nomem(&ms, GFP_KERNEL); /* Node allocated in here. */ - MT_BUG_ON(mt, ms.node != MAS_START); - mtree_unlock(mt); - MT_BUG_ON(mt, mtree_insert(mt, 2, mt, GFP_KERNEL) != 0); - mtree_lock(mt); - mas_store(&ms, &ms); /* insert 1 -> &ms */ - mas_nomem(&ms, GFP_KERNEL); /* Node allocated in here. */ - mtree_unlock(mt); - mtree_destroy(mt); -} - static inline int not_empty(struct maple_node *node) { int i; @@ -221,350 +193,6 @@ static inline int not_empty(struct maple_node *node) return 0; } -static noinline void check_new_node(struct maple_tree *mt) -{ - - struct maple_node *mn, *mn2, *mn3; - struct maple_alloc *smn; - struct maple_node *nodes[100]; - int i, j, total; - - MA_STATE(mas, mt, 0, 0); - - /* Try allocating 3 nodes */ - mtree_lock(mt); - /* request 3 nodes to be allocated. */ - mas_node_count(&mas, 3); - /* Allocation request of 3. */ - MT_BUG_ON(mt, mas_alloc_req(&mas) != 3); - /* Allocate failed. */ - MT_BUG_ON(mt, mas.node != MA_ERROR(-ENOMEM)); - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - - MT_BUG_ON(mt, mas_allocated(&mas) != 3); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - MT_BUG_ON(mt, mn == NULL); - MT_BUG_ON(mt, mas.alloc == NULL); - MT_BUG_ON(mt, mas.alloc->slot[0] == NULL); - mas_push_node(&mas, mn); - mas_nomem(&mas, GFP_KERNEL); /* free */ - mtree_unlock(mt); - - - /* Try allocating 1 node, then 2 more */ - mtree_lock(mt); - /* Set allocation request to 1. */ - mas_set_alloc_req(&mas, 1); - /* Check Allocation request of 1. */ - MT_BUG_ON(mt, mas_alloc_req(&mas) != 1); - mas_set_err(&mas, -ENOMEM); - /* Validate allocation request. */ - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - /* Eat the requested node. */ - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - MT_BUG_ON(mt, mn == NULL); - MT_BUG_ON(mt, mn->slot[0] != NULL); - MT_BUG_ON(mt, mn->slot[1] != NULL); - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - - ma_free_rcu(mn); - mas.node = MAS_START; - mas_nomem(&mas, GFP_KERNEL); - /* Allocate 3 nodes, will fail. */ - mas_node_count(&mas, 3); - /* Drop the lock and allocate 3 nodes. */ - mas_nomem(&mas, GFP_KERNEL); - /* Ensure 3 are allocated. */ - MT_BUG_ON(mt, mas_allocated(&mas) != 3); - /* Allocation request of 0. */ - MT_BUG_ON(mt, mas_alloc_req(&mas) != 0); - - MT_BUG_ON(mt, mas.alloc == NULL); - MT_BUG_ON(mt, mas.alloc->slot[0] == NULL); - MT_BUG_ON(mt, mas.alloc->slot[1] == NULL); - /* Ensure we counted 3. */ - MT_BUG_ON(mt, mas_allocated(&mas) != 3); - /* Free. */ - mas_nomem(&mas, GFP_KERNEL); - - /* Set allocation request to 1. */ - mas_set_alloc_req(&mas, 1); - MT_BUG_ON(mt, mas_alloc_req(&mas) != 1); - mas_set_err(&mas, -ENOMEM); - /* Validate allocation request. */ - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - MT_BUG_ON(mt, mas_allocated(&mas) != 1); - /* Check the node is only one node. */ - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - MT_BUG_ON(mt, mn == NULL); - MT_BUG_ON(mt, mn->slot[0] != NULL); - MT_BUG_ON(mt, mn->slot[1] != NULL); - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - mas_push_node(&mas, mn); - MT_BUG_ON(mt, mas_allocated(&mas) != 1); - MT_BUG_ON(mt, mas.alloc->node_count); - - mas_set_alloc_req(&mas, 2); /* request 2 more. */ - MT_BUG_ON(mt, mas_alloc_req(&mas) != 2); - mas_set_err(&mas, -ENOMEM); - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - MT_BUG_ON(mt, mas_allocated(&mas) != 3); - MT_BUG_ON(mt, mas.alloc == NULL); - MT_BUG_ON(mt, mas.alloc->slot[0] == NULL); - MT_BUG_ON(mt, mas.alloc->slot[1] == NULL); - for (i = 2; i >= 0; i--) { - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, mas_allocated(&mas) != i); - MT_BUG_ON(mt, !mn); - MT_BUG_ON(mt, not_empty(mn)); - ma_free_rcu(mn); - } - - total = 64; - mas_set_alloc_req(&mas, total); /* request 2 more. */ - MT_BUG_ON(mt, mas_alloc_req(&mas) != total); - mas_set_err(&mas, -ENOMEM); - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - for (i = total; i > 0; i--) { - unsigned int e = 0; /* expected node_count */ - - if (i >= 35) - e = i - 35; - else if (i >= 5) - e = i - 5; - else if (i >= 2) - e = i - 2; - MT_BUG_ON(mt, mas.alloc->node_count != e); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - MT_BUG_ON(mt, mas_allocated(&mas) != i - 1); - MT_BUG_ON(mt, !mn); - ma_free_rcu(mn); - } - - total = 100; - for (i = 1; i < total; i++) { - mas_set_alloc_req(&mas, i); - mas_set_err(&mas, -ENOMEM); - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - for (j = i; j > 0; j--) { - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, mas_allocated(&mas) != j - 1); - MT_BUG_ON(mt, !mn); - MT_BUG_ON(mt, not_empty(mn)); - mas_push_node(&mas, mn); - MT_BUG_ON(mt, mas_allocated(&mas) != j); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - MT_BUG_ON(mt, mas_allocated(&mas) != j - 1); - ma_free_rcu(mn); - } - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - - mas_set_alloc_req(&mas, i); - mas_set_err(&mas, -ENOMEM); - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - for (j = 0; j <= i/2; j++) { - MT_BUG_ON(mt, mas_allocated(&mas) != i - j); - nodes[j] = mas_pop_node(&mas); - MT_BUG_ON(mt, mas_allocated(&mas) != i - j - 1); - } - - while (j) { - j--; - mas_push_node(&mas, nodes[j]); - MT_BUG_ON(mt, mas_allocated(&mas) != i - j); - } - MT_BUG_ON(mt, mas_allocated(&mas) != i); - for (j = 0; j <= i/2; j++) { - MT_BUG_ON(mt, mas_allocated(&mas) != i - j); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - ma_free_rcu(mn); - MT_BUG_ON(mt, mas_allocated(&mas) != i - j - 1); - } - MT_BUG_ON(mt, mas_nomem(&mas, GFP_KERNEL)); - - } - - /* Set allocation request. */ - total = 500; - mas_node_count(&mas, total); - /* Drop the lock and allocate the nodes. */ - mas_nomem(&mas, GFP_KERNEL); - MT_BUG_ON(mt, !mas.alloc); - i = 1; - smn = mas.alloc; - while (i < total) { - for (j = 0; j < MAPLE_ALLOC_SLOTS; j++) { - i++; - MT_BUG_ON(mt, !smn->slot[j]); - if (i == total) - break; - } - smn = smn->slot[0]; /* next. */ - } - MT_BUG_ON(mt, mas_allocated(&mas) != total); - mas_nomem(&mas, GFP_KERNEL); /* Free. */ - - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - for (i = 1; i < 128; i++) { - mas_node_count(&mas, i); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - MT_BUG_ON(mt, mas_allocated(&mas) != i); /* check request filled */ - for (j = i; j > 0; j--) { /*Free the requests */ - mn = mas_pop_node(&mas); /* get the next node. */ - MT_BUG_ON(mt, mn == NULL); - MT_BUG_ON(mt, not_empty(mn)); - ma_free_rcu(mn); - } - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - } - - for (i = 1; i < MAPLE_NODE_MASK + 1; i++) { - MA_STATE(mas2, mt, 0, 0); - mas_node_count(&mas, i); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - MT_BUG_ON(mt, mas_allocated(&mas) != i); /* check request filled */ - for (j = 1; j <= i; j++) { /* Move the allocations to mas2 */ - mn = mas_pop_node(&mas); /* get the next node. */ - MT_BUG_ON(mt, mn == NULL); - MT_BUG_ON(mt, not_empty(mn)); - mas_push_node(&mas2, mn); - MT_BUG_ON(mt, mas_allocated(&mas2) != j); - } - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - MT_BUG_ON(mt, mas_allocated(&mas2) != i); - - for (j = i; j > 0; j--) { /*Free the requests */ - MT_BUG_ON(mt, mas_allocated(&mas2) != j); - mn = mas_pop_node(&mas2); /* get the next node. */ - MT_BUG_ON(mt, mn == NULL); - MT_BUG_ON(mt, not_empty(mn)); - ma_free_rcu(mn); - } - MT_BUG_ON(mt, mas_allocated(&mas2) != 0); - } - - - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - mas_node_count(&mas, MAPLE_ALLOC_SLOTS + 1); /* Request */ - MT_BUG_ON(mt, mas.node != MA_ERROR(-ENOMEM)); - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 1); - MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 1); - - mn = mas_pop_node(&mas); /* get the next node. */ - MT_BUG_ON(mt, mn == NULL); - MT_BUG_ON(mt, not_empty(mn)); - MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS); - MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 2); - - mas_push_node(&mas, mn); - MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 1); - MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 1); - - /* Check the limit of pop/push/pop */ - mas_node_count(&mas, MAPLE_ALLOC_SLOTS + 2); /* Request */ - MT_BUG_ON(mt, mas_alloc_req(&mas) != 1); - MT_BUG_ON(mt, mas.node != MA_ERROR(-ENOMEM)); - MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); - MT_BUG_ON(mt, mas_alloc_req(&mas)); - MT_BUG_ON(mt, mas.alloc->node_count); - MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 2); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 1); - MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 1); - mas_push_node(&mas, mn); - MT_BUG_ON(mt, mas.alloc->node_count); - MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 2); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - ma_free_rcu(mn); - for (i = 1; i <= MAPLE_ALLOC_SLOTS + 1; i++) { - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, not_empty(mn)); - ma_free_rcu(mn); - } - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - - - for (i = 3; i < MAPLE_NODE_MASK * 3; i++) { - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, i); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - mn = mas_pop_node(&mas); /* get the next node. */ - mas_push_node(&mas, mn); /* put it back */ - mas_destroy(&mas); - - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, i); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - mn = mas_pop_node(&mas); /* get the next node. */ - mn2 = mas_pop_node(&mas); /* get the next node. */ - mas_push_node(&mas, mn); /* put them back */ - mas_push_node(&mas, mn2); - mas_destroy(&mas); - - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, i); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - mn = mas_pop_node(&mas); /* get the next node. */ - mn2 = mas_pop_node(&mas); /* get the next node. */ - mn3 = mas_pop_node(&mas); /* get the next node. */ - mas_push_node(&mas, mn); /* put them back */ - mas_push_node(&mas, mn2); - mas_push_node(&mas, mn3); - mas_destroy(&mas); - - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, i); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - mn = mas_pop_node(&mas); /* get the next node. */ - ma_free_rcu(mn); - mas_destroy(&mas); - - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, i); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - mn = mas_pop_node(&mas); /* get the next node. */ - ma_free_rcu(mn); - mn = mas_pop_node(&mas); /* get the next node. */ - ma_free_rcu(mn); - mn = mas_pop_node(&mas); /* get the next node. */ - ma_free_rcu(mn); - mas_destroy(&mas); - } - - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, 5); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - MT_BUG_ON(mt, mas_allocated(&mas) != 5); - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, 10); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - mas.node = MAS_START; - MT_BUG_ON(mt, mas_allocated(&mas) != 10); - mas_destroy(&mas); - - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, MAPLE_ALLOC_SLOTS - 1); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS - 1); - mas.node = MA_ERROR(-ENOMEM); - mas_node_count(&mas, 10 + MAPLE_ALLOC_SLOTS - 1); /* Request */ - mas_nomem(&mas, GFP_KERNEL); /* Fill request */ - mas.node = MAS_START; - MT_BUG_ON(mt, mas_allocated(&mas) != 10 + MAPLE_ALLOC_SLOTS - 1); - mas_destroy(&mas); - - mtree_unlock(mt); -} static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max, bool verbose) @@ -588,6 +216,7 @@ static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max, } check_load(mt, max + 1, NULL); +#ifndef __KERNEL__ if (verbose) { rcu_barrier(); mt_dump(mt); @@ -595,6 +224,7 @@ static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max, __func__, max, mt_get_alloc_size()/1024, mt_nr_allocated(), mt_nr_tallocated()); } +#endif } static noinline void check_seq(struct maple_tree *mt, unsigned long max, @@ -614,6 +244,8 @@ static noinline void check_seq(struct maple_tree *mt, unsigned long max, MT_BUG_ON(mt, !mt_height(mt)); check_load(mt, i + 1, NULL); } + +#ifndef __KERNEL__ if (verbose) { rcu_barrier(); mt_dump(mt); @@ -621,6 +253,7 @@ static noinline void check_seq(struct maple_tree *mt, unsigned long max, max, mt_get_alloc_size()/1024, mt_nr_allocated(), mt_nr_tallocated()); } +#endif } static noinline void check_lb_not_empty(struct maple_tree *mt) @@ -651,10 +284,15 @@ static noinline void check_lower_bound_split(struct maple_tree *mt) static noinline void check_upper_bound_split(struct maple_tree *mt) { unsigned long i, j; - unsigned long huge = 4000UL * 1000 * 1000; + unsigned long huge; MT_BUG_ON(mt, !mtree_empty(mt)); + if (MAPLE_32BIT) + huge = 2147483647UL; + else + huge = 4000UL * 1000 * 1000; + i = 4096; while (i < huge) { check_insert(mt, i, (void *) i); @@ -687,6 +325,7 @@ static noinline void check_rev_find(struct maple_tree *mt) mtree_store_range(mt, i*10, i*10 + 5, xa_mk_value(i), GFP_KERNEL); + rcu_read_lock(); mas_set(&mas, 1000); val = mas_find_rev(&mas, 1000); MT_BUG_ON(mt, val != xa_mk_value(100)); @@ -712,13 +351,15 @@ static noinline void check_rev_find(struct maple_tree *mt) MT_BUG_ON(mt, val != xa_mk_value(0)); val = mas_find_rev(&mas, 0); MT_BUG_ON(mt, val != NULL); + rcu_read_unlock(); } static noinline void check_find(struct maple_tree *mt) { unsigned long val = 0; - unsigned long count = 20; + unsigned long count; unsigned long max; + unsigned long top; unsigned long last = 0, index = 0; void *entry, *entry2; @@ -727,6 +368,18 @@ static noinline void check_find(struct maple_tree *mt) /* Insert 0. */ MT_BUG_ON(mt, mtree_insert_index(mt, val++, GFP_KERNEL)); +#if defined(CONFIG_64BIT) + top = 4398046511104UL; +#else + top = ULONG_MAX; +#endif + + if (MAPLE_32BIT) { + count = 15; + } else { + count = 20; + } + for (int i = 0; i <= count; i++) { if (val != 64) MT_BUG_ON(mt, mtree_insert_index(mt, val, GFP_KERNEL)); @@ -805,12 +458,17 @@ static noinline void check_find(struct maple_tree *mt) index = 0; MT_BUG_ON(mt, mtree_insert_index(mt, ULONG_MAX, GFP_KERNEL)); mt_for_each(mt, entry, index, ULONG_MAX) { - if (val == 4398046511104) - MT_BUG_ON(mt, entry != - xa_mk_value(ULONG_MAX & LONG_MAX)); + if (val == top) + MT_BUG_ON(mt, entry != xa_mk_value(LONG_MAX)); else MT_BUG_ON(mt, xa_mk_value(val) != entry); - val <<= 2; + + /* Workaround for 32bit */ + if ((val << 2) < val) + val = ULONG_MAX; + else + val <<= 2; + if (val == 64) /* Skip zero entry. */ val <<= 2; /* For zero check. */ @@ -842,11 +500,16 @@ static noinline void check_find(struct maple_tree *mt) mas_for_each(&mas, entry, ULONG_MAX) { if (val == 64) MT_BUG_ON(mt, entry != XA_ZERO_ENTRY); - else if (val == 4398046511104) - MT_BUG_ON(mt, entry != xa_mk_value(ULONG_MAX & LONG_MAX)); + else if (val == top) + MT_BUG_ON(mt, entry != xa_mk_value(LONG_MAX)); else MT_BUG_ON(mt, xa_mk_value(val) != entry); - val <<= 2; + + /* Workaround for 32bit */ + if ((val << 2) < val) + val = ULONG_MAX; + else + val <<= 2; /* For zero check. */ if (!val) @@ -951,36548 +614,1350 @@ static noinline void check_find_2(struct maple_tree *mt) /*MT_BUG_ON(mt, !mtree_empty(mt)); */ } -#define erase_ptr(i) entry[i%2] -#define erase_check_load(mt, i) check_load(mt, set[i], entry[i%2]) -#define erase_check_insert(mt, i) check_insert(mt, set[i], entry[i%2]) -#define erase_check_erase(mt, i) check_erase(mt, set[i], entry[i%2]) -static noinline void check_erase_testset(struct maple_tree *mt) +#if defined(CONFIG_64BIT) +static noinline void check_alloc_rev_range(struct maple_tree *mt) { - unsigned long set[] = { 5015, 5014, 5017, 25, 1000, - 1001, 1002, 1003, 1005, 0, - 6003, 6002, 6008, 6012, 6015, - 7003, 7002, 7008, 7012, 7015, - 8003, 8002, 8008, 8012, 8015, - 9003, 9002, 9008, 9012, 9015, - 10003, 10002, 10008, 10012, 10015, - 11003, 11002, 11008, 11012, 11015, - 12003, 12002, 12008, 12012, 12015, - 13003, 13002, 13008, 13012, 13015, - 14003, 14002, 14008, 14012, 14015, - 15003, 15002, 15008, 15012, 15015, - }; - - - void *ptr = &set; - void *entry[2] = { ptr, mt }; - void *root_node; - - - rcu_register_thread(); - mt_set_in_rcu(mt); - for (int i = 0; i < 4; i++) - erase_check_insert(mt, i); - for (int i = 0; i < 4; i++) - erase_check_load(mt, i); - - mt_set_non_kernel(2); - erase_check_erase(mt, 1); - erase_check_load(mt, 0); - check_load(mt, set[1], NULL); - for (int i = 2; i < 4; i++) - erase_check_load(mt, i); - - - erase_check_erase(mt, 2); - erase_check_load(mt, 0); - check_load(mt, set[1], NULL); - check_load(mt, set[2], NULL); - - erase_check_insert(mt, 1); - erase_check_insert(mt, 2); - - for (int i = 0; i < 4; i++) - erase_check_load(mt, i); - - /* Check erase and load without an allocation. */ - erase_check_load(mt, 3); - erase_check_erase(mt, 1); - erase_check_load(mt, 0); - check_load(mt, set[1], NULL); - for (int i = 2; i < 4; i++) - erase_check_load(mt, i); - /* - * Set the newly erased node. This will produce a different allocated - * node to avoid busy slots. + * Generated by: + * cat /proc/self/maps | awk '{print $1}'| + * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}' */ - root_node = mt->ma_root; - erase_check_insert(mt, 1); - - erase_check_load(mt, 0); - check_load(mt, 5016, NULL); - erase_check_load(mt, 1); - check_load(mt, 5013, NULL); - erase_check_load(mt, 2); - check_load(mt, 5018, NULL); - erase_check_load(mt, 3); - - erase_check_erase(mt, 2); /* erase 5017 to check append */ - erase_check_load(mt, 0); - check_load(mt, 5016, NULL); - erase_check_load(mt, 1); - check_load(mt, 5013, NULL); - check_load(mt, set[2], NULL); - check_load(mt, 5018, NULL); - - erase_check_load(mt, 3); - - root_node = mt->ma_root; - erase_check_insert(mt, 2); - - erase_check_load(mt, 0); - check_load(mt, 5016, NULL); - erase_check_load(mt, 1); - check_load(mt, 5013, NULL); - erase_check_load(mt, 2); - check_load(mt, 5018, NULL); - erase_check_load(mt, 3); - mt_set_non_kernel(1); - erase_check_erase(mt, 2); /* erase 5017 to check append */ - erase_check_load(mt, 0); - check_load(mt, 5016, NULL); - check_load(mt, set[2], NULL); - erase_check_erase(mt, 0); /* erase 5015 to check append */ - check_load(mt, set[0], NULL); - check_load(mt, 5016, NULL); - erase_check_insert(mt, 4); /* 1000 < Should not split. */ - check_load(mt, set[0], NULL); - check_load(mt, 5016, NULL); - erase_check_load(mt, 1); - check_load(mt, 5013, NULL); - check_load(mt, set[2], NULL); - check_load(mt, 5018, NULL); - erase_check_load(mt, 4); - check_load(mt, 999, NULL); - check_load(mt, 1001, NULL); - erase_check_load(mt, 4); - if (mt_in_rcu(mt)) - MT_BUG_ON(mt, root_node == mt->ma_root); - else - MT_BUG_ON(mt, root_node != mt->ma_root); + unsigned long range[] = { + /* Inclusive , Exclusive. */ + 0x565234af2000, 0x565234af4000, + 0x565234af4000, 0x565234af9000, + 0x565234af9000, 0x565234afb000, + 0x565234afc000, 0x565234afd000, + 0x565234afd000, 0x565234afe000, + 0x565235def000, 0x565235e10000, + 0x7f36d4bfd000, 0x7f36d4ee2000, + 0x7f36d4ee2000, 0x7f36d4f04000, + 0x7f36d4f04000, 0x7f36d504c000, + 0x7f36d504c000, 0x7f36d5098000, + 0x7f36d5098000, 0x7f36d5099000, + 0x7f36d5099000, 0x7f36d509d000, + 0x7f36d509d000, 0x7f36d509f000, + 0x7f36d509f000, 0x7f36d50a5000, + 0x7f36d50b9000, 0x7f36d50db000, + 0x7f36d50db000, 0x7f36d50dc000, + 0x7f36d50dc000, 0x7f36d50fa000, + 0x7f36d50fa000, 0x7f36d5102000, + 0x7f36d5102000, 0x7f36d5103000, + 0x7f36d5103000, 0x7f36d5104000, + 0x7f36d5104000, 0x7f36d5105000, + 0x7fff5876b000, 0x7fff5878d000, + 0x7fff5878e000, 0x7fff58791000, + 0x7fff58791000, 0x7fff58793000, + }; - /* Should not have split. */ - MT_BUG_ON(mt, !mte_is_leaf(mt->ma_root)); + unsigned long holes[] = { + /* + * Note: start of hole is INCLUSIVE + * end of hole is EXCLUSIVE + * (opposite of the above table.) + * Start of hole, end of hole, size of hole (+1) + */ + 0x565234afb000, 0x565234afc000, 0x1000, + 0x565234afe000, 0x565235def000, 0x12F1000, + 0x565235e10000, 0x7f36d4bfd000, 0x28E49EDED000, + }; + /* + * req_range consists of 4 values. + * 1. min index + * 2. max index + * 3. size + * 4. number that should be returned. + * 5. return value + */ + unsigned long req_range[] = { + 0x565234af9000, /* Min */ + 0x7fff58791000, /* Max */ + 0x1000, /* Size */ + 0x7fff5878d << 12, /* First rev hole of size 0x1000 */ + 0, /* Return value success. */ - /* Coalesce testing */ - erase_check_insert(mt, 0); - erase_check_insert(mt, 2); + 0x0, /* Min */ + 0x565234AF1 << 12, /* Max */ + 0x3000, /* Size */ + 0x565234AEE << 12, /* max - 3. */ + 0, /* Return value success. */ - for (int i = 5; i < 25; i++) { - erase_check_insert(mt, i); - for (int j = i; j >= 0; j--) - erase_check_load(mt, j); - } + 0x0, /* Min */ + -1, /* Max */ + 0x1000, /* Size */ + 562949953421311 << 12,/* First rev hole of size 0x1000 */ + 0, /* Return value success. */ - erase_check_erase(mt, 14); /*6015 */ - for (int i = 0; i < 25; i++) { - if (i == 14) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } - erase_check_erase(mt, 16); /*7002 */ - for (int i = 0; i < 25; i++) { - if (i == 16 || i == 14) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } + 0x0, /* Min */ + 0x7F36D510A << 12, /* Max */ + 0x4000, /* Size */ + 0x7F36D5106 << 12, /* First rev hole of size 0x4000 */ + 0, /* Return value success. */ + /* Ascend test. */ + 0x0, + 34148798629 << 12, + 19 << 12, + 34148797418 << 12, + 0x0, - mt_set_non_kernel(1); - erase_check_erase(mt, 13); /*6012 */ - for (int i = 0; i < 25; i++) { - if (i == 16 || i == 14 || i == 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } + /* Too big test. */ + 0x0, + 18446744073709551615UL, + 562915594369134UL << 12, + 0x0, + -EBUSY, - erase_check_erase(mt, 15); /*7003 */ - for (int i = 0; i < 25; i++) { - if (i <= 16 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } + }; - mt_set_non_kernel(2); - erase_check_erase(mt, 17); /*7008 *should* cause coalesce. */ - for (int i = 0; i < 25; i++) { - if (i <= 17 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } + int i, range_count = ARRAY_SIZE(range); + int req_range_count = ARRAY_SIZE(req_range); + unsigned long min = 0; - erase_check_erase(mt, 18); /*7012 */ - for (int i = 0; i < 25; i++) { - if (i <= 18 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } + MA_STATE(mas, mt, 0, 0); - mt_set_non_kernel(2); - erase_check_erase(mt, 19); /*7015 */ - for (int i = 0; i < 25; i++) { - if (i <= 19 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } + mtree_store_range(mt, MTREE_ALLOC_MAX, ULONG_MAX, XA_ZERO_ENTRY, + GFP_KERNEL); +#define DEBUG_REV_RANGE 0 + for (i = 0; i < range_count; i += 2) { + /* Inclusive, Inclusive (with the -1) */ - erase_check_erase(mt, 20); /*8003 */ - for (int i = 0; i < 25; i++) { - if (i <= 20 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); +#if DEBUG_REV_RANGE + pr_debug("\t%s: Insert %lu-%lu\n", __func__, range[i] >> 12, + (range[i + 1] >> 12) - 1); +#endif + check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, + xa_mk_value(range[i] >> 12), 0); + mt_validate(mt); } - erase_check_erase(mt, 21); /*8002 */ - for (int i = 0; i < 25; i++) { - if (i <= 21 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); - } - mt_set_non_kernel(2); - erase_check_erase(mt, 22); /*8008 */ - for (int i = 0; i < 25; i++) { - if (i <= 22 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); + mas_lock(&mas); + for (i = 0; i < ARRAY_SIZE(holes); i += 3) { +#if DEBUG_REV_RANGE + pr_debug("Search from %lu-%lu for gap %lu should be at %lu\n", + min, holes[i+1]>>12, holes[i+2]>>12, + holes[i] >> 12); +#endif + MT_BUG_ON(mt, mas_empty_area_rev(&mas, min, + holes[i+1] >> 12, + holes[i+2] >> 12)); +#if DEBUG_REV_RANGE + pr_debug("Found %lu %lu\n", mas.index, mas.last); + pr_debug("gap %lu %lu\n", (holes[i] >> 12), + (holes[i+1] >> 12)); +#endif + MT_BUG_ON(mt, mas.last + 1 != (holes[i+1] >> 12)); + MT_BUG_ON(mt, mas.index != (holes[i+1] >> 12) - (holes[i+2] >> 12)); + min = holes[i+1] >> 12; + mas_reset(&mas); } - for (int i = 23; i < 25; i++) - erase_check_erase(mt, i); - for (int i = 0; i < 25; i++) { - if (i <= 25 && i >= 13) - check_load(mt, set[i], NULL); - else - erase_check_load(mt, i); + mas_unlock(&mas); + for (i = 0; i < req_range_count; i += 5) { +#if DEBUG_REV_RANGE + pr_debug("\tReverse request between %lu-%lu size %lu, should get %lu\n", + req_range[i] >> 12, + (req_range[i + 1] >> 12) - 1, + req_range[i+2] >> 12, + req_range[i+3] >> 12); +#endif + check_mtree_alloc_rrange(mt, + req_range[i] >> 12, /* start */ + req_range[i+1] >> 12, /* end */ + req_range[i+2] >> 12, /* size */ + req_range[i+3] >> 12, /* expected address */ + req_range[i+4], /* expected return */ + xa_mk_value(req_range[i] >> 12)); /* pointer */ + mt_validate(mt); } - /* Shrinking tree test. */ + mt_set_non_kernel(1); + mtree_erase(mt, 34148798727); /* create a deleted range. */ + check_mtree_alloc_rrange(mt, 0, 34359052173, 210253414, + 34148798725, 0, mt); - for (int i = 13; i < ARRAY_SIZE(set); i++) - erase_check_insert(mt, i); + mtree_destroy(mt); +} - mt_set_non_kernel(99); - for (int i = 18; i < ARRAY_SIZE(set); i++) { - erase_check_erase(mt, i); - for (int j = 0; j < ARRAY_SIZE(set); j++) { - if (j < 18 || j > i) - erase_check_load(mt, j); - else - check_load(mt, set[j], NULL); - } - } - mt_set_non_kernel(35); - for (int i = 0; i < 18; i++) { - erase_check_erase(mt, i); - for (int j = 0; j < ARRAY_SIZE(set); j++) { - if (j < 18 && j > i) - erase_check_load(mt, j); - else - check_load(mt, set[j], NULL); - } - } - erase_check_insert(mt, 8); - erase_check_insert(mt, 9); - erase_check_erase(mt, 8); - rcu_unregister_thread(); -} - -#define erase_check_store_range(mt, a, i, ptr) mtree_test_store_range(mt, \ - a[(i)], a[(i + 1)], ptr) -#define STORE 1 -#define SNULL 2 -#define ERASE 3 -#define ec_type_str(x) \ - (((x) == STORE) ? \ - "STORE" : \ - (((x) == SNULL) ? \ - "SNULL" : "ERASE") \ - ) -#define check_erase2_debug 0 -void *mas_next(struct ma_state *mas, unsigned long max); - -/* Calculate the overwritten entries. */ -int mas_ce2_over_count(struct ma_state *mas_start, struct ma_state *mas_end, - void *s_entry, unsigned long s_min, - void *e_entry, unsigned long e_max, - unsigned long *set, int i, bool null_entry) -{ - int count = 0, span = 0; - unsigned long retry = 0; - void *entry; - struct ma_state tmp; - - - /* count slots */ - memcpy(&tmp, mas_start, sizeof(tmp)); - entry = mas_next(&tmp, mas_end->last); - while (entry) { - BUG_ON(retry > 50); /* stop infinite retry on testing. */ - if (xa_is_zero(s_entry)) { - retry++; - continue; - } - count++; - span++; - entry = mas_next(&tmp, mas_end->last); - } - - if (null_entry) { - /* Check splitting end. */ - if (e_entry && (e_max > mas_end->last)) - count--; - - /* check overwrite of entire start */ - if (s_entry && (s_min == mas_start->index)) - count++; - } else { /* !null_entry (store) */ - bool esplit = e_max > mas_end->last; - bool ssplit = s_min != mas_start->index; - - if (s_entry && e_entry) { - if (esplit && ssplit) - count--; - else if (ssplit) - count--; - else if (esplit) { - if (span) - count--; - } - } else if (s_entry && !e_entry) { - if (ssplit) - count--; - } else if (!s_entry && e_entry) { - if (esplit) - count--; - count--; - } else { - count--; - } - } - return count; -} - -/* - * mas_node_walk() - Walk a maple node to offset of the index. - * @mas: The maple state - * @type: The maple node type - * @*range_min: Pointer to store the minimum range of the offset - * @*range_max: Pointer to store the maximum range of the offset - * - * The offset will be stored in the maple state. - * - */ -static inline void mas_node_walk(struct ma_state *mas, struct maple_node *node, - enum maple_type type, unsigned long *range_min, - unsigned long *range_max) - -{ - unsigned long *pivots; - unsigned char count; - unsigned long prev, max; - unsigned char offset; - unsigned long index; - - if (unlikely(ma_is_dense(type))) { - (*range_max) = (*range_min) = mas->index; - if (unlikely(ma_dead_node(node))) - return; - - mas->offset = mas->index = mas->min; - return; - } - - pivots = ma_pivots(node, type); - max = pivots[0]; - if (unlikely(ma_dead_node(node))) - return; - - offset = 0; - prev = mas->min; - index = mas->index; - if (unlikely(index <= max)) - goto offset_zero; - - count = mt_pivots[type]; - while (++offset < count) { - prev = max; - max = pivots[offset]; - if (unlikely(ma_dead_node(node))) - return; - - if (index <= max) - goto offset_found; - else if (unlikely(!max)) - goto mas_max; - } - - prev = max; -mas_max: - max = mas->max; -offset_found: - prev++; -offset_zero: - mas->offset = offset; - if (ma_is_leaf(type)) { - *range_max = max; - *range_min = prev; - } else { - mas->max = max; - mas->min = prev; - } -} - -/* - * mas_descend_walk(): Locates a value and sets the mas->node and slot - * accordingly. range_min and range_max are set to the range which the entry is - * valid. - * @mas: The maple state - * @*range_min: A pointer to store the minimum of the range - * @*range_max: A pointer to store the maximum of the range - * - * Check mas->node is still valid on return of any value. - * - * Return: true if pointing to a valid node and offset. False otherwise. - */ -static inline bool mas_descend_walk(struct ma_state *mas, - unsigned long *range_min, unsigned long *range_max) -{ - struct maple_enode *next; - struct maple_node *node; - enum maple_type type; - - next = mas->node; - while (true) { - node = mte_to_node(next); - type = mte_node_type(next); - mas_node_walk(mas, node, type, range_min, range_max); - next = mas_slot(mas, ma_slots(node, type), mas->offset); - if (unlikely(ma_dead_node(node))) - return false; - - if (unlikely(ma_is_leaf(type))) - return true; - - /* Descend. */ - mas->node = next; - } - return false; -} - -/* - * mas_tree_walk() - Walk to @mas->index and set the range values. - * @mas: The maple state. - * @*range_min: The minimum range to be set. - * @*range_max: The maximum range to be set. - * - * Ranges are only valid if there is a valid entry at @mas->index. - * - * Return: True if a value exists, false otherwise. - */ -static inline bool mas_tree_walk(struct ma_state *mas, unsigned long *range_min, - unsigned long *range_max) +static noinline void check_alloc_range(struct maple_tree *mt) { - bool ret; - -retry: - ret = false; - mas_start(mas); - if (mas_is_none(mas)) - goto not_found; - - if (mas_is_ptr(mas)) { - *range_min = *range_max = 0; - if (!mas->index) - return true; - - goto not_found; - } - - ret = mas_descend_walk(mas, range_min, range_max); - if (unlikely(mte_dead_node(mas->node))) { - mas->node = MAS_START; - goto retry; - } - - return ret; + /* + * Generated by: + * cat /proc/self/maps|awk '{print $1}'| + * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}' + */ -not_found: - mas->offset = MAPLE_NODE_SLOTS; - return false; -} + unsigned long range[] = { + /* Inclusive , Exclusive. */ + 0x565234af2000, 0x565234af4000, + 0x565234af4000, 0x565234af9000, + 0x565234af9000, 0x565234afb000, + 0x565234afc000, 0x565234afd000, + 0x565234afd000, 0x565234afe000, + 0x565235def000, 0x565235e10000, + 0x7f36d4bfd000, 0x7f36d4ee2000, + 0x7f36d4ee2000, 0x7f36d4f04000, + 0x7f36d4f04000, 0x7f36d504c000, + 0x7f36d504c000, 0x7f36d5098000, + 0x7f36d5098000, 0x7f36d5099000, + 0x7f36d5099000, 0x7f36d509d000, + 0x7f36d509d000, 0x7f36d509f000, + 0x7f36d509f000, 0x7f36d50a5000, + 0x7f36d50b9000, 0x7f36d50db000, + 0x7f36d50db000, 0x7f36d50dc000, + 0x7f36d50dc000, 0x7f36d50fa000, + 0x7f36d50fa000, 0x7f36d5102000, + 0x7f36d5102000, 0x7f36d5103000, + 0x7f36d5103000, 0x7f36d5104000, + 0x7f36d5104000, 0x7f36d5105000, + 0x7fff5876b000, 0x7fff5878d000, + 0x7fff5878e000, 0x7fff58791000, + 0x7fff58791000, 0x7fff58793000, + }; + unsigned long holes[] = { + /* Start of hole, end of hole, size of hole (+1) */ + 0x565234afb000, 0x565234afc000, 0x1000, + 0x565234afe000, 0x565235def000, 0x12F1000, + 0x565235e10000, 0x7f36d4bfd000, 0x28E49EDED000, + }; -static inline void *mas_range_load(struct ma_state *mas, - unsigned long *range_min, unsigned long *range_max) + /* + * req_range consists of 4 values. + * 1. min index + * 2. max index + * 3. size + * 4. number that should be returned. + * 5. return value + */ + unsigned long req_range[] = { + 0x565234af9000, /* Min */ + 0x7fff58791000, /* Max */ + 0x1000, /* Size */ + 0x565234afb000, /* First hole in our data of size 1000. */ + 0, /* Return value success. */ -{ - void *entry = NULL; - unsigned long index = mas->index; + 0x0, /* Min */ + 0x7fff58791000, /* Max */ + 0x1F00, /* Size */ + 0x0, /* First hole in our data of size 2000. */ + 0, /* Return value success. */ - if (mas_is_none(mas) || mas_is_paused(mas)) - mas->node = MAS_START; -retry: - if (mas_tree_walk(mas, range_min, range_max)) - if (unlikely(mas->node == MAS_ROOT)) - return mas_root(mas); + /* Test ascend. */ + 34148797436 << 12, /* Min */ + 0x7fff587AF000, /* Max */ + 0x3000, /* Size */ + 34148798629 << 12, /* Expected location */ + 0, /* Return value success. */ - if (likely(mas->offset != MAPLE_NODE_SLOTS)) - entry = mas_get_slot(mas, mas->offset); + /* Test failing. */ + 34148798623 << 12, /* Min */ + 34148798683 << 12, /* Max */ + 0x15000, /* Size */ + 0, /* Expected location */ + -EBUSY, /* Return value failed. */ - if (mas_dead_node(mas, index)) - goto retry; + /* Test filling entire gap. */ + 34148798623 << 12, /* Min */ + 0x7fff587AF000, /* Max */ + 0x10000, /* Size */ + 34148798632 << 12, /* Expected location */ + 0, /* Return value success. */ - return entry; -} -static noinline void check_erase2_testset(struct maple_tree *mt, - unsigned long *set, unsigned long size) -{ - int entry_count = 0; - int check = 0; - void *foo; - unsigned long addr = 0; - void *s_entry = NULL, *e_entry = NULL; + /* Test walking off the end of root. */ + 0, /* Min */ + -1, /* Max */ + -1, /* Size */ + 0, /* Expected location */ + -EBUSY, /* Return value failure. */ + /* Test looking for too large a hole across entire range. */ + 0, /* Min */ + -1, /* Max */ + 4503599618982063UL << 12, /* Size */ + 34359052178 << 12, /* Expected location */ + -EBUSY, /* Return failure. */ + }; + int i, range_count = ARRAY_SIZE(range); + int req_range_count = ARRAY_SIZE(req_range); + unsigned long min = 0x565234af2000; MA_STATE(mas, mt, 0, 0); - for (int i = 0; i < size; i += 3) { - unsigned long s_min, s_max; - unsigned long e_min, e_max; - void *value = NULL; - - MA_STATE(mas_start, mt, set[i+1], set[i+1]); - MA_STATE(mas_end, mt, set[i+2], set[i+2]); - mt_set_non_kernel(127); -#if check_erase2_debug - pr_err("%s: %d %s %lu - %lu\n", __func__, i, - ec_type_str(set[i]), - set[i+1], set[i+2]); -#endif - s_entry = mas_range_load(&mas_start, &s_min, &s_max); - e_entry = mas_range_load(&mas_end, &e_min, &e_max); - - switch (set[i]) { - case SNULL: - if ((s_min == set[i+1]) && (s_max == set[i+2])) { - if (s_entry) - entry_count--; - } else if ((s_min != set[i+1]) && (s_max != set[i+2])) { - entry_count++; - } else if ((mas_start.node != mas_end.node) || - (mas_start.offset != mas_end.offset)) { - entry_count -= - mas_ce2_over_count(&mas_start, &mas_end, - s_entry, s_min, - e_entry, e_max, set, i, - true); - } - - - erase_check_store_range(mt, set, i + 1, value); - break; - case STORE: - value = xa_mk_value(set[i + 1]); - if (mas_start.offset > mt_slot_count(mas_start.node)) { - entry_count++; /* appending an entry. */ - } else if ((s_min == e_min) && (s_max == e_max)) { - if (!entry_count) - entry_count++; - - else if (s_entry) { - if (e_max > mas_end.last) - entry_count++; - - if (s_min < mas_start.index) - entry_count++; - - } else { - entry_count++; - } - } else { - entry_count -= - mas_ce2_over_count(&mas_start, &mas_end, - s_entry, s_min, - e_entry, e_max, set, i, - false); - } - - erase_check_store_range(mt, set, i + 1, value); - break; - case ERASE: - if (!s_entry) - break; - check_erase(mt, set[i+1], xa_mk_value(set[i+1])); - entry_count--; - break; - } - mt_validate(mt); - if (entry_count) - MT_BUG_ON(mt, !mt_height(mt)); -#if check_erase2_debug > 1 + mtree_store_range(mt, MTREE_ALLOC_MAX, ULONG_MAX, XA_ZERO_ENTRY, + GFP_KERNEL); + for (i = 0; i < range_count; i += 2) { +#define DEBUG_ALLOC_RANGE 0 +#if DEBUG_ALLOC_RANGE + pr_debug("\tInsert %lu-%lu\n", range[i] >> 12, + (range[i + 1] >> 12) - 1); mt_dump(mt); #endif -#if check_erase2_debug - pr_err("Done\n"); -#endif + check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, + xa_mk_value(range[i] >> 12), 0); + mt_validate(mt); + } - check = 0; - addr = 0; - mt_for_each(mt, foo, addr, ULONG_MAX) { - check++; -#if check_erase2_debug > 2 - pr_err("mt: %lu -> %p (%d)\n", addr+1, foo, check); -#endif - if (check > entry_count) - break; - } -#if check_erase2_debug > 2 - pr_err("mt_for_each %d and count %d\n", check, entry_count); -#endif - MT_BUG_ON(mt, check != entry_count); + mas_lock(&mas); + for (i = 0; i < ARRAY_SIZE(holes); i += 3) { - check = 0; - addr = 0; +#if DEBUG_ALLOC_RANGE + pr_debug("\tGet empty %lu-%lu size %lu (%lx-%lx)\n", min >> 12, + holes[i+1] >> 12, holes[i+2] >> 12, + min, holes[i+1]); +#endif + MT_BUG_ON(mt, mas_empty_area(&mas, min >> 12, + holes[i+1] >> 12, + holes[i+2] >> 12)); + MT_BUG_ON(mt, mas.index != holes[i] >> 12); + min = holes[i+1]; mas_reset(&mas); - mas.index = 0; - rcu_read_lock(); - mas_for_each(&mas, foo, ULONG_MAX) { - if (xa_is_zero(foo)) { - if (addr == mas.index) { - mt_dump(mas.tree); - pr_err("retry failed %lu - %lu\n", - mas.index, mas.last); - MT_BUG_ON(mt, 1); - } - addr = mas.index; - continue; - } -#if check_erase2_debug > 2 - pr_err("mas: %lu -> %p\n", mas.index, foo); + } + mas_unlock(&mas); + for (i = 0; i < req_range_count; i += 5) { +#if DEBUG_ALLOC_RANGE + pr_debug("\tTest %d: %lu-%lu size %lu expected %lu (%lu-%lu)\n", + i/5, req_range[i] >> 12, req_range[i + 1] >> 12, + req_range[i + 2] >> 12, req_range[i + 3] >> 12, + req_range[i], req_range[i+1]); #endif - check++; - if (check > entry_count) - break; - } - rcu_read_unlock(); -#if check_erase2_debug > 2 - pr_err("mas_for_each %d and count %d\n", check, entry_count); + check_mtree_alloc_range(mt, + req_range[i] >> 12, /* start */ + req_range[i+1] >> 12, /* end */ + req_range[i+2] >> 12, /* size */ + req_range[i+3] >> 12, /* expected address */ + req_range[i+4], /* expected return */ + xa_mk_value(req_range[i] >> 12)); /* pointer */ mt_validate(mt); +#if DEBUG_ALLOC_RANGE + mt_dump(mt); #endif - - MT_BUG_ON(mt, check != entry_count); - - MT_BUG_ON(mt, mtree_load(mas.tree, 0) != NULL); } -} + mtree_destroy(mt); +} +#endif -/* These tests were pulled from kvm tests. */ -static noinline void check_erase2_sets(struct maple_tree *mt) +static noinline void check_ranges(struct maple_tree *mt) { - void *entry; - unsigned long start = 0; - unsigned long set[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140721266458624, 140737488351231, -ERASE, 140721266458624, 140737488351231, -STORE, 140721266458624, 140721266462719, -STORE, 94735788949504, 94735789121535, -ERASE, 94735788949504, 94735789121535, -STORE, 94735788949504, 94735788965887, -STORE, 94735788965888, 94735789121535, -ERASE, 94735788965888, 94735789121535, -STORE, 94735788965888, 94735789068287, -STORE, 94735789068288, 94735789109247, -STORE, 94735789109248, 94735789121535, -STORE, 140253902692352, 140253902864383, -ERASE, 140253902692352, 140253902864383, -STORE, 140253902692352, 140253902696447, -STORE, 140253902696448, 140253902864383, - }; - unsigned long set2[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140735933583360, 140737488351231, -ERASE, 140735933583360, 140737488351231, -STORE, 140735933583360, 140735933587455, -STORE, 94811003260928, 94811003432959, -ERASE, 94811003260928, 94811003432959, -STORE, 94811003260928, 94811003277311, -STORE, 94811003277312, 94811003432959, -ERASE, 94811003277312, 94811003432959, -STORE, 94811003277312, 94811003379711, -STORE, 94811003379712, 94811003420671, -STORE, 94811003420672, 94811003432959, -STORE, 140277094653952, 140277094825983, -ERASE, 140277094653952, 140277094825983, -STORE, 140277094653952, 140277094658047, -STORE, 140277094658048, 140277094825983, -ERASE, 140277094658048, 140277094825983, -STORE, 140277094658048, 140277094780927, -STORE, 140277094780928, 140277094813695, -STORE, 140277094813696, 140277094821887, -STORE, 140277094821888, 140277094825983, -STORE, 140735933906944, 140735933911039, - }; - unsigned long set3[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140735790264320, 140737488351231, -ERASE, 140735790264320, 140737488351231, -STORE, 140735790264320, 140735790268415, -STORE, 94016597282816, 94016597454847, -ERASE, 94016597282816, 94016597454847, -STORE, 94016597282816, 94016597299199, -STORE, 94016597299200, 94016597454847, -ERASE, 94016597299200, 94016597454847, -STORE, 94016597299200, 94016597401599, -STORE, 94016597401600, 94016597442559, -STORE, 94016597442560, 94016597454847, -STORE, 140496959283200, 140496959455231, -ERASE, 140496959283200, 140496959455231, -STORE, 140496959283200, 140496959287295, -STORE, 140496959287296, 140496959455231, -ERASE, 140496959287296, 140496959455231, -STORE, 140496959287296, 140496959410175, -STORE, 140496959410176, 140496959442943, -STORE, 140496959442944, 140496959451135, -STORE, 140496959451136, 140496959455231, -STORE, 140735791718400, 140735791722495, -STORE, 140735791706112, 140735791718399, -STORE, 47135835713536, 47135835721727, -STORE, 47135835721728, 47135835729919, -STORE, 47135835729920, 47135835893759, -ERASE, 47135835729920, 47135835893759, -STORE, 47135835729920, 47135835742207, -STORE, 47135835742208, 47135835893759, -STORE, 47135835840512, 47135835893759, -STORE, 47135835742208, 47135835840511, -ERASE, 47135835742208, 47135835840511, -STORE, 47135835742208, 47135835840511, -STORE, 47135835885568, 47135835893759, -STORE, 47135835840512, 47135835885567, -ERASE, 47135835840512, 47135835885567, -STORE, 47135835840512, 47135835893759, -ERASE, 47135835840512, 47135835893759, -STORE, 47135835840512, 47135835885567, -STORE, 47135835885568, 47135835893759, - }; - - unsigned long set4[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140728251703296, 140737488351231, -ERASE, 140728251703296, 140737488351231, -STORE, 140728251703296, 140728251707391, -STORE, 94668429205504, 94668429377535, -ERASE, 94668429205504, 94668429377535, -STORE, 94668429205504, 94668429221887, -STORE, 94668429221888, 94668429377535, -ERASE, 94668429221888, 94668429377535, -STORE, 94668429221888, 94668429324287, -STORE, 94668429324288, 94668429365247, -STORE, 94668429365248, 94668429377535, -STORE, 47646523273216, 47646523445247, -ERASE, 47646523273216, 47646523445247, -STORE, 47646523273216, 47646523277311, -STORE, 47646523277312, 47646523445247, -ERASE, 47646523277312, 47646523445247, -STORE, 47646523277312, 47646523400191, - }; - - unsigned long set5[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140726874062848, 140737488351231, -ERASE, 140726874062848, 140737488351231, -STORE, 140726874062848, 140726874066943, -STORE, 94248892870656, 94248893042687, -ERASE, 94248892870656, 94248893042687, -STORE, 94248892870656, 94248892887039, -STORE, 94248892887040, 94248893042687, -ERASE, 94248892887040, 94248893042687, -STORE, 94248892887040, 94248892989439, -STORE, 94248892989440, 94248893030399, -STORE, 94248893030400, 94248893042687, -STORE, 47884786266112, 47884786438143, -ERASE, 47884786266112, 47884786438143, -STORE, 47884786266112, 47884786270207, -STORE, 47884786270208, 47884786438143, -ERASE, 47884786270208, 47884786438143, -STORE, 47884786270208, 47884786393087, -STORE, 47884786393088, 47884786425855, -STORE, 47884786425856, 47884786434047, -STORE, 47884786434048, 47884786438143, -STORE, 140726874513408, 140726874517503, -STORE, 140726874501120, 140726874513407, -STORE, 47884786438144, 47884786446335, -STORE, 47884786446336, 47884786454527, -STORE, 47884786454528, 47884786618367, -ERASE, 47884786454528, 47884786618367, -STORE, 47884786454528, 47884786466815, -STORE, 47884786466816, 47884786618367, -STORE, 47884786565120, 47884786618367, -STORE, 47884786466816, 47884786565119, -ERASE, 47884786466816, 47884786565119, -STORE, 47884786466816, 47884786565119, -STORE, 47884786610176, 47884786618367, -STORE, 47884786565120, 47884786610175, -ERASE, 47884786565120, 47884786610175, -STORE, 47884786565120, 47884786618367, -ERASE, 47884786565120, 47884786618367, -STORE, 47884786565120, 47884786610175, -STORE, 47884786610176, 47884786618367, -ERASE, 47884786610176, 47884786618367, -STORE, 47884786610176, 47884786618367, -STORE, 47884786618368, 47884789669887, -STORE, 47884787163136, 47884789669887, -STORE, 47884786618368, 47884787163135, -ERASE, 47884787163136, 47884789669887, -STORE, 47884787163136, 47884789448703, -STORE, 47884789448704, 47884789669887, -STORE, 47884788858880, 47884789448703, -STORE, 47884787163136, 47884788858879, -ERASE, 47884787163136, 47884788858879, -STORE, 47884787163136, 47884788858879, -STORE, 47884789444608, 47884789448703, -STORE, 47884788858880, 47884789444607, -ERASE, 47884788858880, 47884789444607, -STORE, 47884788858880, 47884789444607, -STORE, 47884789653504, 47884789669887, -STORE, 47884789448704, 47884789653503, -ERASE, 47884789448704, 47884789653503, -STORE, 47884789448704, 47884789653503, -ERASE, 47884789653504, 47884789669887, -STORE, 47884789653504, 47884789669887, -STORE, 47884789669888, 47884791508991, -STORE, 47884789809152, 47884791508991, -STORE, 47884789669888, 47884789809151, -ERASE, 47884789809152, 47884791508991, -STORE, 47884789809152, 47884791468031, -STORE, 47884791468032, 47884791508991, -STORE, 47884791152640, 47884791468031, -STORE, 47884789809152, 47884791152639, -ERASE, 47884789809152, 47884791152639, -STORE, 47884789809152, 47884791152639, -STORE, 47884791463936, 47884791468031, -STORE, 47884791152640, 47884791463935, -ERASE, 47884791152640, 47884791463935, -STORE, 47884791152640, 47884791463935, -STORE, 47884791492608, 47884791508991, -STORE, 47884791468032, 47884791492607, -ERASE, 47884791468032, 47884791492607, -STORE, 47884791468032, 47884791492607, -ERASE, 47884791492608, 47884791508991, -STORE, 47884791492608, 47884791508991, -STORE, 47884791508992, 47884791644159, -ERASE, 47884791508992, 47884791644159, -STORE, 47884791508992, 47884791533567, -STORE, 47884791533568, 47884791644159, -STORE, 47884791595008, 47884791644159, -STORE, 47884791533568, 47884791595007, -ERASE, 47884791533568, 47884791595007, -STORE, 47884791533568, 47884791595007, -STORE, 47884791619584, 47884791644159, -STORE, 47884791595008, 47884791619583, -ERASE, 47884791595008, 47884791619583, -STORE, 47884791595008, 47884791644159, -ERASE, 47884791595008, 47884791644159, -STORE, 47884791595008, 47884791619583, -STORE, 47884791619584, 47884791644159, -STORE, 47884791627776, 47884791644159, -STORE, 47884791619584, 47884791627775, -ERASE, 47884791619584, 47884791627775, -STORE, 47884791619584, 47884791627775, -ERASE, 47884791627776, 47884791644159, -STORE, 47884791627776, 47884791644159, -STORE, 47884791644160, 47884791664639, -ERASE, 47884791644160, 47884791664639, -STORE, 47884791644160, 47884791648255, -STORE, 47884791648256, 47884791664639, -STORE, 47884791652352, 47884791664639, -STORE, 47884791648256, 47884791652351, -ERASE, 47884791648256, 47884791652351, -STORE, 47884791648256, 47884791652351, -STORE, 47884791656448, 47884791664639, -STORE, 47884791652352, 47884791656447, -ERASE, 47884791652352, 47884791656447, -STORE, 47884791652352, 47884791664639, -ERASE, 47884791652352, 47884791664639, -STORE, 47884791652352, 47884791656447, -STORE, 47884791656448, 47884791664639, -ERASE, 47884791656448, 47884791664639, -STORE, 47884791656448, 47884791664639, -STORE, 47884791664640, 47884791672831, -ERASE, 47884791468032, 47884791492607, -STORE, 47884791468032, 47884791484415, -STORE, 47884791484416, 47884791492607, -ERASE, 47884791656448, 47884791664639, -STORE, 47884791656448, 47884791660543, -STORE, 47884791660544, 47884791664639, -ERASE, 47884791619584, 47884791627775, -STORE, 47884791619584, 47884791623679, -STORE, 47884791623680, 47884791627775, - }; + int i, val, val2; + unsigned long r[] = { + 10, 15, + 20, 25, + 17, 22, /* Overlaps previous range. */ + 9, 1000, /* Huge. */ + 100, 200, + 45, 168, + 118, 128, + }; - unsigned long set6[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140722999021568, 140737488351231, -ERASE, 140722999021568, 140737488351231, -STORE, 140722999021568, 140722999025663, -STORE, 94901500268544, 94901500440575, -ERASE, 94901500268544, 94901500440575, -STORE, 94901500268544, 94901500284927, -STORE, 94901500284928, 94901500440575, -ERASE, 94901500284928, 94901500440575, -STORE, 94901500284928, 94901500387327, -STORE, 94901500387328, 94901500428287, -STORE, 94901500428288, 94901500440575, -STORE, 47430426660864, 47430426832895, -ERASE, 47430426660864, 47430426832895, -STORE, 47430426660864, 47430426664959, -STORE, 47430426664960, 47430426832895, -ERASE, 47430426664960, 47430426832895, -STORE, 47430426664960, 47430426787839, -STORE, 47430426787840, 47430426820607, -STORE, 47430426820608, 47430426828799, -STORE, 47430426828800, 47430426832895, -STORE, 140722999115776, 140722999119871, -STORE, 140722999103488, 140722999115775, -STORE, 47430426832896, 47430426841087, -STORE, 47430426841088, 47430426849279, -STORE, 47430426849280, 47430427013119, -ERASE, 47430426849280, 47430427013119, -STORE, 47430426849280, 47430426861567, -STORE, 47430426861568, 47430427013119, -STORE, 47430426959872, 47430427013119, -STORE, 47430426861568, 47430426959871, -ERASE, 47430426861568, 47430426959871, -STORE, 47430426861568, 47430426959871, -STORE, 47430427004928, 47430427013119, -STORE, 47430426959872, 47430427004927, -ERASE, 47430426959872, 47430427004927, -STORE, 47430426959872, 47430427013119, -ERASE, 47430426959872, 47430427013119, -STORE, 47430426959872, 47430427004927, -STORE, 47430427004928, 47430427013119, -ERASE, 47430427004928, 47430427013119, -STORE, 47430427004928, 47430427013119, -STORE, 47430427013120, 47430430064639, -STORE, 47430427557888, 47430430064639, -STORE, 47430427013120, 47430427557887, -ERASE, 47430427557888, 47430430064639, -STORE, 47430427557888, 47430429843455, -STORE, 47430429843456, 47430430064639, -STORE, 47430429253632, 47430429843455, -STORE, 47430427557888, 47430429253631, -ERASE, 47430427557888, 47430429253631, -STORE, 47430427557888, 47430429253631, -STORE, 47430429839360, 47430429843455, -STORE, 47430429253632, 47430429839359, -ERASE, 47430429253632, 47430429839359, -STORE, 47430429253632, 47430429839359, -STORE, 47430430048256, 47430430064639, -STORE, 47430429843456, 47430430048255, -ERASE, 47430429843456, 47430430048255, -STORE, 47430429843456, 47430430048255, -ERASE, 47430430048256, 47430430064639, -STORE, 47430430048256, 47430430064639, -STORE, 47430430064640, 47430431903743, -STORE, 47430430203904, 47430431903743, -STORE, 47430430064640, 47430430203903, -ERASE, 47430430203904, 47430431903743, -STORE, 47430430203904, 47430431862783, -STORE, 47430431862784, 47430431903743, -STORE, 47430431547392, 47430431862783, -STORE, 47430430203904, 47430431547391, -ERASE, 47430430203904, 47430431547391, -STORE, 47430430203904, 47430431547391, -STORE, 47430431858688, 47430431862783, -STORE, 47430431547392, 47430431858687, -ERASE, 47430431547392, 47430431858687, -STORE, 47430431547392, 47430431858687, -STORE, 47430431887360, 47430431903743, -STORE, 47430431862784, 47430431887359, -ERASE, 47430431862784, 47430431887359, -STORE, 47430431862784, 47430431887359, -ERASE, 47430431887360, 47430431903743, -STORE, 47430431887360, 47430431903743, -STORE, 47430431903744, 47430432038911, -ERASE, 47430431903744, 47430432038911, -STORE, 47430431903744, 47430431928319, -STORE, 47430431928320, 47430432038911, -STORE, 47430431989760, 47430432038911, -STORE, 47430431928320, 47430431989759, -ERASE, 47430431928320, 47430431989759, -STORE, 47430431928320, 47430431989759, -STORE, 47430432014336, 47430432038911, -STORE, 47430431989760, 47430432014335, -ERASE, 47430431989760, 47430432014335, -STORE, 47430431989760, 47430432038911, -ERASE, 47430431989760, 47430432038911, -STORE, 47430431989760, 47430432014335, -STORE, 47430432014336, 47430432038911, -STORE, 47430432022528, 47430432038911, -STORE, 47430432014336, 47430432022527, -ERASE, 47430432014336, 47430432022527, -STORE, 47430432014336, 47430432022527, -ERASE, 47430432022528, 47430432038911, -STORE, 47430432022528, 47430432038911, -STORE, 47430432038912, 47430432059391, -ERASE, 47430432038912, 47430432059391, -STORE, 47430432038912, 47430432043007, -STORE, 47430432043008, 47430432059391, -STORE, 47430432047104, 47430432059391, -STORE, 47430432043008, 47430432047103, -ERASE, 47430432043008, 47430432047103, -STORE, 47430432043008, 47430432047103, -STORE, 47430432051200, 47430432059391, -STORE, 47430432047104, 47430432051199, -ERASE, 47430432047104, 47430432051199, -STORE, 47430432047104, 47430432059391, -ERASE, 47430432047104, 47430432059391, -STORE, 47430432047104, 47430432051199, -STORE, 47430432051200, 47430432059391, -ERASE, 47430432051200, 47430432059391, -STORE, 47430432051200, 47430432059391, -STORE, 47430432059392, 47430432067583, -ERASE, 47430431862784, 47430431887359, -STORE, 47430431862784, 47430431879167, -STORE, 47430431879168, 47430431887359, -ERASE, 47430432051200, 47430432059391, -STORE, 47430432051200, 47430432055295, -STORE, 47430432055296, 47430432059391, -ERASE, 47430432014336, 47430432022527, -STORE, 47430432014336, 47430432018431, -STORE, 47430432018432, 47430432022527, - }; - unsigned long set7[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140729808330752, 140737488351231, -ERASE, 140729808330752, 140737488351231, -STORE, 140729808330752, 140729808334847, -STORE, 94629632020480, 94629632192511, -ERASE, 94629632020480, 94629632192511, -STORE, 94629632020480, 94629632036863, -STORE, 94629632036864, 94629632192511, -ERASE, 94629632036864, 94629632192511, -STORE, 94629632036864, 94629632139263, -STORE, 94629632139264, 94629632180223, -STORE, 94629632180224, 94629632192511, -STORE, 47439981776896, 47439981948927, -ERASE, 47439981776896, 47439981948927, -STORE, 47439981776896, 47439981780991, -STORE, 47439981780992, 47439981948927, -ERASE, 47439981780992, 47439981948927, -STORE, 47439981780992, 47439981903871, -STORE, 47439981903872, 47439981936639, -STORE, 47439981936640, 47439981944831, -STORE, 47439981944832, 47439981948927, -STORE, 140729808474112, 140729808478207, -STORE, 140729808461824, 140729808474111, -STORE, 47439981948928, 47439981957119, -STORE, 47439981957120, 47439981965311, -STORE, 47439981965312, 47439982129151, -ERASE, 47439981965312, 47439982129151, -STORE, 47439981965312, 47439981977599, -STORE, 47439981977600, 47439982129151, -STORE, 47439982075904, 47439982129151, -STORE, 47439981977600, 47439982075903, -ERASE, 47439981977600, 47439982075903, -STORE, 47439981977600, 47439982075903, -STORE, 47439982120960, 47439982129151, -STORE, 47439982075904, 47439982120959, -ERASE, 47439982075904, 47439982120959, -STORE, 47439982075904, 47439982129151, -ERASE, 47439982075904, 47439982129151, -STORE, 47439982075904, 47439982120959, -STORE, 47439982120960, 47439982129151, -ERASE, 47439982120960, 47439982129151, -STORE, 47439982120960, 47439982129151, -STORE, 47439982129152, 47439985180671, -STORE, 47439982673920, 47439985180671, -STORE, 47439982129152, 47439982673919, -ERASE, 47439982673920, 47439985180671, -STORE, 47439982673920, 47439984959487, -STORE, 47439984959488, 47439985180671, -STORE, 47439984369664, 47439984959487, -STORE, 47439982673920, 47439984369663, -ERASE, 47439982673920, 47439984369663, -STORE, 47439982673920, 47439984369663, -STORE, 47439984955392, 47439984959487, -STORE, 47439984369664, 47439984955391, -ERASE, 47439984369664, 47439984955391, -STORE, 47439984369664, 47439984955391, -STORE, 47439985164288, 47439985180671, -STORE, 47439984959488, 47439985164287, -ERASE, 47439984959488, 47439985164287, -STORE, 47439984959488, 47439985164287, -ERASE, 47439985164288, 47439985180671, -STORE, 47439985164288, 47439985180671, -STORE, 47439985180672, 47439987019775, -STORE, 47439985319936, 47439987019775, -STORE, 47439985180672, 47439985319935, -ERASE, 47439985319936, 47439987019775, -STORE, 47439985319936, 47439986978815, -STORE, 47439986978816, 47439987019775, -STORE, 47439986663424, 47439986978815, -STORE, 47439985319936, 47439986663423, -ERASE, 47439985319936, 47439986663423, -STORE, 47439985319936, 47439986663423, -STORE, 47439986974720, 47439986978815, -STORE, 47439986663424, 47439986974719, -ERASE, 47439986663424, 47439986974719, -STORE, 47439986663424, 47439986974719, -STORE, 47439987003392, 47439987019775, -STORE, 47439986978816, 47439987003391, -ERASE, 47439986978816, 47439987003391, -STORE, 47439986978816, 47439987003391, -ERASE, 47439987003392, 47439987019775, -STORE, 47439987003392, 47439987019775, -STORE, 47439987019776, 47439987154943, -ERASE, 47439987019776, 47439987154943, -STORE, 47439987019776, 47439987044351, -STORE, 47439987044352, 47439987154943, -STORE, 47439987105792, 47439987154943, -STORE, 47439987044352, 47439987105791, -ERASE, 47439987044352, 47439987105791, -STORE, 47439987044352, 47439987105791, -STORE, 47439987130368, 47439987154943, -STORE, 47439987105792, 47439987130367, -ERASE, 47439987105792, 47439987130367, -STORE, 47439987105792, 47439987154943, -ERASE, 47439987105792, 47439987154943, -STORE, 47439987105792, 47439987130367, -STORE, 47439987130368, 47439987154943, -STORE, 47439987138560, 47439987154943, -STORE, 47439987130368, 47439987138559, -ERASE, 47439987130368, 47439987138559, -STORE, 47439987130368, 47439987138559, -ERASE, 47439987138560, 47439987154943, -STORE, 47439987138560, 47439987154943, -STORE, 47439987154944, 47439987175423, -ERASE, 47439987154944, 47439987175423, -STORE, 47439987154944, 47439987159039, -STORE, 47439987159040, 47439987175423, -STORE, 47439987163136, 47439987175423, -STORE, 47439987159040, 47439987163135, -ERASE, 47439987159040, 47439987163135, -STORE, 47439987159040, 47439987163135, -STORE, 47439987167232, 47439987175423, -STORE, 47439987163136, 47439987167231, -ERASE, 47439987163136, 47439987167231, -STORE, 47439987163136, 47439987175423, -ERASE, 47439987163136, 47439987175423, -STORE, 47439987163136, 47439987167231, -STORE, 47439987167232, 47439987175423, -ERASE, 47439987167232, 47439987175423, -STORE, 47439987167232, 47439987175423, -STORE, 47439987175424, 47439987183615, -ERASE, 47439986978816, 47439987003391, -STORE, 47439986978816, 47439986995199, -STORE, 47439986995200, 47439987003391, -ERASE, 47439987167232, 47439987175423, -STORE, 47439987167232, 47439987171327, -STORE, 47439987171328, 47439987175423, -ERASE, 47439987130368, 47439987138559, -STORE, 47439987130368, 47439987134463, -STORE, 47439987134464, 47439987138559, - }; - unsigned long set8[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140722482974720, 140737488351231, -ERASE, 140722482974720, 140737488351231, -STORE, 140722482974720, 140722482978815, -STORE, 94121505034240, 94121505206271, -ERASE, 94121505034240, 94121505206271, -STORE, 94121505034240, 94121505050623, -STORE, 94121505050624, 94121505206271, -ERASE, 94121505050624, 94121505206271, -STORE, 94121505050624, 94121505153023, -STORE, 94121505153024, 94121505193983, -STORE, 94121505193984, 94121505206271, -STORE, 47708483284992, 47708483457023, -ERASE, 47708483284992, 47708483457023, -STORE, 47708483284992, 47708483289087, -STORE, 47708483289088, 47708483457023, -ERASE, 47708483289088, 47708483457023, -STORE, 47708483289088, 47708483411967, -STORE, 47708483411968, 47708483444735, -STORE, 47708483444736, 47708483452927, -STORE, 47708483452928, 47708483457023, -STORE, 140722483142656, 140722483146751, -STORE, 140722483130368, 140722483142655, -STORE, 47708483457024, 47708483465215, -STORE, 47708483465216, 47708483473407, -STORE, 47708483473408, 47708483637247, -ERASE, 47708483473408, 47708483637247, -STORE, 47708483473408, 47708483485695, -STORE, 47708483485696, 47708483637247, -STORE, 47708483584000, 47708483637247, -STORE, 47708483485696, 47708483583999, -ERASE, 47708483485696, 47708483583999, -STORE, 47708483485696, 47708483583999, -STORE, 47708483629056, 47708483637247, -STORE, 47708483584000, 47708483629055, -ERASE, 47708483584000, 47708483629055, -STORE, 47708483584000, 47708483637247, -ERASE, 47708483584000, 47708483637247, -STORE, 47708483584000, 47708483629055, -STORE, 47708483629056, 47708483637247, -ERASE, 47708483629056, 47708483637247, -STORE, 47708483629056, 47708483637247, -STORE, 47708483637248, 47708486688767, -STORE, 47708484182016, 47708486688767, -STORE, 47708483637248, 47708484182015, -ERASE, 47708484182016, 47708486688767, -STORE, 47708484182016, 47708486467583, -STORE, 47708486467584, 47708486688767, -STORE, 47708485877760, 47708486467583, -STORE, 47708484182016, 47708485877759, -ERASE, 47708484182016, 47708485877759, -STORE, 47708484182016, 47708485877759, -STORE, 47708486463488, 47708486467583, -STORE, 47708485877760, 47708486463487, -ERASE, 47708485877760, 47708486463487, -STORE, 47708485877760, 47708486463487, -STORE, 47708486672384, 47708486688767, -STORE, 47708486467584, 47708486672383, -ERASE, 47708486467584, 47708486672383, -STORE, 47708486467584, 47708486672383, -ERASE, 47708486672384, 47708486688767, -STORE, 47708486672384, 47708486688767, -STORE, 47708486688768, 47708488527871, -STORE, 47708486828032, 47708488527871, -STORE, 47708486688768, 47708486828031, -ERASE, 47708486828032, 47708488527871, -STORE, 47708486828032, 47708488486911, -STORE, 47708488486912, 47708488527871, -STORE, 47708488171520, 47708488486911, -STORE, 47708486828032, 47708488171519, -ERASE, 47708486828032, 47708488171519, -STORE, 47708486828032, 47708488171519, -STORE, 47708488482816, 47708488486911, -STORE, 47708488171520, 47708488482815, -ERASE, 47708488171520, 47708488482815, -STORE, 47708488171520, 47708488482815, -STORE, 47708488511488, 47708488527871, -STORE, 47708488486912, 47708488511487, -ERASE, 47708488486912, 47708488511487, -STORE, 47708488486912, 47708488511487, -ERASE, 47708488511488, 47708488527871, -STORE, 47708488511488, 47708488527871, -STORE, 47708488527872, 47708488663039, -ERASE, 47708488527872, 47708488663039, -STORE, 47708488527872, 47708488552447, -STORE, 47708488552448, 47708488663039, -STORE, 47708488613888, 47708488663039, -STORE, 47708488552448, 47708488613887, -ERASE, 47708488552448, 47708488613887, -STORE, 47708488552448, 47708488613887, -STORE, 47708488638464, 47708488663039, -STORE, 47708488613888, 47708488638463, -ERASE, 47708488613888, 47708488638463, -STORE, 47708488613888, 47708488663039, -ERASE, 47708488613888, 47708488663039, -STORE, 47708488613888, 47708488638463, -STORE, 47708488638464, 47708488663039, -STORE, 47708488646656, 47708488663039, -STORE, 47708488638464, 47708488646655, -ERASE, 47708488638464, 47708488646655, -STORE, 47708488638464, 47708488646655, -ERASE, 47708488646656, 47708488663039, -STORE, 47708488646656, 47708488663039, -STORE, 47708488663040, 47708488683519, -ERASE, 47708488663040, 47708488683519, -STORE, 47708488663040, 47708488667135, -STORE, 47708488667136, 47708488683519, -STORE, 47708488671232, 47708488683519, -STORE, 47708488667136, 47708488671231, -ERASE, 47708488667136, 47708488671231, -STORE, 47708488667136, 47708488671231, -STORE, 47708488675328, 47708488683519, -STORE, 47708488671232, 47708488675327, -ERASE, 47708488671232, 47708488675327, -STORE, 47708488671232, 47708488683519, -ERASE, 47708488671232, 47708488683519, -STORE, 47708488671232, 47708488675327, -STORE, 47708488675328, 47708488683519, -ERASE, 47708488675328, 47708488683519, -STORE, 47708488675328, 47708488683519, -STORE, 47708488683520, 47708488691711, -ERASE, 47708488486912, 47708488511487, -STORE, 47708488486912, 47708488503295, -STORE, 47708488503296, 47708488511487, -ERASE, 47708488675328, 47708488683519, -STORE, 47708488675328, 47708488679423, -STORE, 47708488679424, 47708488683519, -ERASE, 47708488638464, 47708488646655, -STORE, 47708488638464, 47708488642559, -STORE, 47708488642560, 47708488646655, - }; + MT_BUG_ON(mt, !mtree_empty(mt)); + check_insert_range(mt, r[0], r[1], xa_mk_value(r[0]), 0); + check_insert_range(mt, r[2], r[3], xa_mk_value(r[2]), 0); + check_insert_range(mt, r[4], r[5], xa_mk_value(r[4]), -EEXIST); + MT_BUG_ON(mt, !mt_height(mt)); + /* Store */ + check_store_range(mt, r[4], r[5], xa_mk_value(r[4]), 0); + check_store_range(mt, r[6], r[7], xa_mk_value(r[6]), 0); + check_store_range(mt, r[8], r[9], xa_mk_value(r[8]), 0); + MT_BUG_ON(mt, !mt_height(mt)); + mtree_destroy(mt); + MT_BUG_ON(mt, mt_height(mt)); - unsigned long set9[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140736427839488, 140737488351231, -ERASE, 140736427839488, 140736427839488, -STORE, 140736427839488, 140736427843583, -STORE, 94071213395968, 94071213567999, -ERASE, 94071213395968, 94071213395968, -STORE, 94071213395968, 94071213412351, -STORE, 94071213412352, 94071213567999, -ERASE, 94071213412352, 94071213412352, -STORE, 94071213412352, 94071213514751, -STORE, 94071213514752, 94071213555711, -STORE, 94071213555712, 94071213567999, -STORE, 139968410644480, 139968410816511, -ERASE, 139968410644480, 139968410644480, -STORE, 139968410644480, 139968410648575, -STORE, 139968410648576, 139968410816511, -ERASE, 139968410648576, 139968410648576, -STORE, 139968410648576, 139968410771455, -STORE, 139968410771456, 139968410804223, -STORE, 139968410804224, 139968410812415, -STORE, 139968410812416, 139968410816511, -STORE, 140736429277184, 140736429281279, -STORE, 140736429264896, 140736429277183, -STORE, 47664384352256, 47664384360447, -STORE, 47664384360448, 47664384368639, -STORE, 47664384368640, 47664384532479, -ERASE, 47664384368640, 47664384368640, -STORE, 47664384368640, 47664384380927, -STORE, 47664384380928, 47664384532479, -STORE, 47664384479232, 47664384532479, -STORE, 47664384380928, 47664384479231, -ERASE, 47664384380928, 47664384380928, -STORE, 47664384380928, 47664384479231, -STORE, 47664384524288, 47664384532479, -STORE, 47664384479232, 47664384524287, -ERASE, 47664384479232, 47664384479232, -STORE, 47664384479232, 47664384532479, -ERASE, 47664384479232, 47664384479232, -STORE, 47664384479232, 47664384524287, -STORE, 47664384524288, 47664384532479, -ERASE, 47664384524288, 47664384524288, -STORE, 47664384524288, 47664384532479, -STORE, 47664384532480, 47664387583999, -STORE, 47664385077248, 47664387583999, -STORE, 47664384532480, 47664385077247, -ERASE, 47664385077248, 47664385077248, -STORE, 47664385077248, 47664387362815, -STORE, 47664387362816, 47664387583999, -STORE, 47664386772992, 47664387362815, -STORE, 47664385077248, 47664386772991, -ERASE, 47664385077248, 47664385077248, -STORE, 47664385077248, 47664386772991, -STORE, 47664387358720, 47664387362815, -STORE, 47664386772992, 47664387358719, -ERASE, 47664386772992, 47664386772992, -STORE, 47664386772992, 47664387358719, -STORE, 47664387567616, 47664387583999, -STORE, 47664387362816, 47664387567615, -ERASE, 47664387362816, 47664387362816, -STORE, 47664387362816, 47664387567615, -ERASE, 47664387567616, 47664387567616, -STORE, 47664387567616, 47664387583999, -STORE, 47664387584000, 47664389423103, -STORE, 47664387723264, 47664389423103, -STORE, 47664387584000, 47664387723263, -ERASE, 47664387723264, 47664387723264, -STORE, 47664387723264, 47664389382143, -STORE, 47664389382144, 47664389423103, -STORE, 47664389066752, 47664389382143, -STORE, 47664387723264, 47664389066751, -ERASE, 47664387723264, 47664387723264, -STORE, 47664387723264, 47664389066751, -STORE, 47664389378048, 47664389382143, -STORE, 47664389066752, 47664389378047, -ERASE, 47664389066752, 47664389066752, -STORE, 47664389066752, 47664389378047, -STORE, 47664389406720, 47664389423103, -STORE, 47664389382144, 47664389406719, -ERASE, 47664389382144, 47664389382144, -STORE, 47664389382144, 47664389406719, -ERASE, 47664389406720, 47664389406720, -STORE, 47664389406720, 47664389423103, -STORE, 47664389423104, 47664389558271, -ERASE, 47664389423104, 47664389423104, -STORE, 47664389423104, 47664389447679, -STORE, 47664389447680, 47664389558271, -STORE, 47664389509120, 47664389558271, -STORE, 47664389447680, 47664389509119, -ERASE, 47664389447680, 47664389447680, -STORE, 47664389447680, 47664389509119, -STORE, 47664389533696, 47664389558271, -STORE, 47664389509120, 47664389533695, -ERASE, 47664389509120, 47664389509120, -STORE, 47664389509120, 47664389558271, -ERASE, 47664389509120, 47664389509120, -STORE, 47664389509120, 47664389533695, -STORE, 47664389533696, 47664389558271, -STORE, 47664389541888, 47664389558271, -STORE, 47664389533696, 47664389541887, -ERASE, 47664389533696, 47664389533696, -STORE, 47664389533696, 47664389541887, -ERASE, 47664389541888, 47664389541888, -STORE, 47664389541888, 47664389558271, -STORE, 47664389558272, 47664389578751, -ERASE, 47664389558272, 47664389558272, -STORE, 47664389558272, 47664389562367, -STORE, 47664389562368, 47664389578751, -STORE, 47664389566464, 47664389578751, -STORE, 47664389562368, 47664389566463, -ERASE, 47664389562368, 47664389562368, -STORE, 47664389562368, 47664389566463, -STORE, 47664389570560, 47664389578751, -STORE, 47664389566464, 47664389570559, -ERASE, 47664389566464, 47664389566464, -STORE, 47664389566464, 47664389578751, -ERASE, 47664389566464, 47664389566464, -STORE, 47664389566464, 47664389570559, -STORE, 47664389570560, 47664389578751, -ERASE, 47664389570560, 47664389570560, -STORE, 47664389570560, 47664389578751, -STORE, 47664389578752, 47664389586943, -ERASE, 47664389382144, 47664389382144, -STORE, 47664389382144, 47664389398527, -STORE, 47664389398528, 47664389406719, -ERASE, 47664389570560, 47664389570560, -STORE, 47664389570560, 47664389574655, -STORE, 47664389574656, 47664389578751, -ERASE, 47664389533696, 47664389533696, -STORE, 47664389533696, 47664389537791, -STORE, 47664389537792, 47664389541887, -ERASE, 47664387362816, 47664387362816, -STORE, 47664387362816, 47664387559423, -STORE, 47664387559424, 47664387567615, -ERASE, 47664384524288, 47664384524288, -STORE, 47664384524288, 47664384528383, -STORE, 47664384528384, 47664384532479, -ERASE, 94071213555712, 94071213555712, -STORE, 94071213555712, 94071213563903, -STORE, 94071213563904, 94071213567999, -ERASE, 139968410804224, 139968410804224, -STORE, 139968410804224, 139968410808319, -STORE, 139968410808320, 139968410812415, -ERASE, 47664384352256, 47664384352256, -STORE, 94071244402688, 94071244537855, -STORE, 140737488347136, 140737488351231, -STORE, 140728271503360, 140737488351231, -ERASE, 140728271503360, 140728271503360, -STORE, 140728271503360, 140728271507455, -STORE, 94410361982976, 94410362155007, -ERASE, 94410361982976, 94410361982976, -STORE, 94410361982976, 94410361999359, -STORE, 94410361999360, 94410362155007, -ERASE, 94410361999360, 94410361999360, -STORE, 94410361999360, 94410362101759, -STORE, 94410362101760, 94410362142719, -STORE, 94410362142720, 94410362155007, -STORE, 140351953997824, 140351954169855, -ERASE, 140351953997824, 140351953997824, -STORE, 140351953997824, 140351954001919, -STORE, 140351954001920, 140351954169855, -ERASE, 140351954001920, 140351954001920, -STORE, 140351954001920, 140351954124799, -STORE, 140351954124800, 140351954157567, -STORE, 140351954157568, 140351954165759, -STORE, 140351954165760, 140351954169855, -STORE, 140728272429056, 140728272433151, -STORE, 140728272416768, 140728272429055, -STORE, 47280840998912, 47280841007103, -STORE, 47280841007104, 47280841015295, -STORE, 47280841015296, 47280841179135, -ERASE, 47280841015296, 47280841015296, -STORE, 47280841015296, 47280841027583, -STORE, 47280841027584, 47280841179135, -STORE, 47280841125888, 47280841179135, -STORE, 47280841027584, 47280841125887, -ERASE, 47280841027584, 47280841027584, -STORE, 47280841027584, 47280841125887, -STORE, 47280841170944, 47280841179135, -STORE, 47280841125888, 47280841170943, -ERASE, 47280841125888, 47280841125888, -STORE, 47280841125888, 47280841179135, -ERASE, 47280841125888, 47280841125888, -STORE, 47280841125888, 47280841170943, -STORE, 47280841170944, 47280841179135, -ERASE, 47280841170944, 47280841170944, -STORE, 47280841170944, 47280841179135, -STORE, 47280841179136, 47280844230655, -STORE, 47280841723904, 47280844230655, -STORE, 47280841179136, 47280841723903, -ERASE, 47280841723904, 47280841723904, -STORE, 47280841723904, 47280844009471, -STORE, 47280844009472, 47280844230655, -STORE, 47280843419648, 47280844009471, -STORE, 47280841723904, 47280843419647, -ERASE, 47280841723904, 47280841723904, -STORE, 47280841723904, 47280843419647, -STORE, 47280844005376, 47280844009471, -STORE, 47280843419648, 47280844005375, -ERASE, 47280843419648, 47280843419648, -STORE, 47280843419648, 47280844005375, -STORE, 47280844214272, 47280844230655, -STORE, 47280844009472, 47280844214271, -ERASE, 47280844009472, 47280844009472, -STORE, 47280844009472, 47280844214271, -ERASE, 47280844214272, 47280844214272, -STORE, 47280844214272, 47280844230655, -STORE, 47280844230656, 47280846069759, -STORE, 47280844369920, 47280846069759, -STORE, 47280844230656, 47280844369919, -ERASE, 47280844369920, 47280844369920, -STORE, 47280844369920, 47280846028799, -STORE, 47280846028800, 47280846069759, -STORE, 47280845713408, 47280846028799, -STORE, 47280844369920, 47280845713407, -ERASE, 47280844369920, 47280844369920, -STORE, 47280844369920, 47280845713407, -STORE, 47280846024704, 47280846028799, -STORE, 47280845713408, 47280846024703, -ERASE, 47280845713408, 47280845713408, -STORE, 47280845713408, 47280846024703, -STORE, 47280846053376, 47280846069759, -STORE, 47280846028800, 47280846053375, -ERASE, 47280846028800, 47280846028800, -STORE, 47280846028800, 47280846053375, -ERASE, 47280846053376, 47280846053376, -STORE, 47280846053376, 47280846069759, -STORE, 47280846069760, 47280846204927, -ERASE, 47280846069760, 47280846069760, -STORE, 47280846069760, 47280846094335, -STORE, 47280846094336, 47280846204927, -STORE, 47280846155776, 47280846204927, -STORE, 47280846094336, 47280846155775, -ERASE, 47280846094336, 47280846094336, -STORE, 47280846094336, 47280846155775, -STORE, 47280846180352, 47280846204927, -STORE, 47280846155776, 47280846180351, -ERASE, 47280846155776, 47280846155776, -STORE, 47280846155776, 47280846204927, -ERASE, 47280846155776, 47280846155776, -STORE, 47280846155776, 47280846180351, -STORE, 47280846180352, 47280846204927, -STORE, 47280846188544, 47280846204927, -STORE, 47280846180352, 47280846188543, -ERASE, 47280846180352, 47280846180352, -STORE, 47280846180352, 47280846188543, -ERASE, 47280846188544, 47280846188544, -STORE, 47280846188544, 47280846204927, -STORE, 47280846204928, 47280846225407, -ERASE, 47280846204928, 47280846204928, -STORE, 47280846204928, 47280846209023, -STORE, 47280846209024, 47280846225407, -STORE, 47280846213120, 47280846225407, -STORE, 47280846209024, 47280846213119, -ERASE, 47280846209024, 47280846209024, -STORE, 47280846209024, 47280846213119, -STORE, 47280846217216, 47280846225407, -STORE, 47280846213120, 47280846217215, -ERASE, 47280846213120, 47280846213120, -STORE, 47280846213120, 47280846225407, -ERASE, 47280846213120, 47280846213120, -STORE, 47280846213120, 47280846217215, -STORE, 47280846217216, 47280846225407, -ERASE, 47280846217216, 47280846217216, -STORE, 47280846217216, 47280846225407, -STORE, 47280846225408, 47280846233599, -ERASE, 47280846028800, 47280846028800, -STORE, 47280846028800, 47280846045183, -STORE, 47280846045184, 47280846053375, -ERASE, 47280846217216, 47280846217216, -STORE, 47280846217216, 47280846221311, -STORE, 47280846221312, 47280846225407, -ERASE, 47280846180352, 47280846180352, -STORE, 47280846180352, 47280846184447, -STORE, 47280846184448, 47280846188543, -ERASE, 47280844009472, 47280844009472, -STORE, 47280844009472, 47280844206079, -STORE, 47280844206080, 47280844214271, -ERASE, 47280841170944, 47280841170944, -STORE, 47280841170944, 47280841175039, -STORE, 47280841175040, 47280841179135, -ERASE, 94410362142720, 94410362142720, -STORE, 94410362142720, 94410362150911, -STORE, 94410362150912, 94410362155007, -ERASE, 140351954157568, 140351954157568, -STORE, 140351954157568, 140351954161663, -STORE, 140351954161664, 140351954165759, -ERASE, 47280840998912, 47280840998912, -STORE, 94410379456512, 94410379591679, -STORE, 140737488347136, 140737488351231, -STORE, 140732946362368, 140737488351231, -ERASE, 140732946362368, 140732946362368, -STORE, 140732946362368, 140732946366463, -STORE, 94352937934848, 94352938106879, -ERASE, 94352937934848, 94352937934848, -STORE, 94352937934848, 94352937951231, -STORE, 94352937951232, 94352938106879, -ERASE, 94352937951232, 94352937951232, -STORE, 94352937951232, 94352938053631, -STORE, 94352938053632, 94352938094591, -STORE, 94352938094592, 94352938106879, -STORE, 140595518742528, 140595518914559, -ERASE, 140595518742528, 140595518742528, -STORE, 140595518742528, 140595518746623, -STORE, 140595518746624, 140595518914559, -ERASE, 140595518746624, 140595518746624, -STORE, 140595518746624, 140595518869503, -STORE, 140595518869504, 140595518902271, -STORE, 140595518902272, 140595518910463, -STORE, 140595518910464, 140595518914559, -STORE, 140732947468288, 140732947472383, -STORE, 140732947456000, 140732947468287, -STORE, 47037276254208, 47037276262399, -STORE, 47037276262400, 47037276270591, -STORE, 47037276270592, 47037276434431, -ERASE, 47037276270592, 47037276270592, -STORE, 47037276270592, 47037276282879, -STORE, 47037276282880, 47037276434431, -STORE, 47037276381184, 47037276434431, -STORE, 47037276282880, 47037276381183, -ERASE, 47037276282880, 47037276282880, -STORE, 47037276282880, 47037276381183, -STORE, 47037276426240, 47037276434431, -STORE, 47037276381184, 47037276426239, -ERASE, 47037276381184, 47037276381184, -STORE, 47037276381184, 47037276434431, -ERASE, 47037276381184, 47037276381184, -STORE, 47037276381184, 47037276426239, -STORE, 47037276426240, 47037276434431, -ERASE, 47037276426240, 47037276426240, -STORE, 47037276426240, 47037276434431, -STORE, 47037276434432, 47037279485951, -STORE, 47037276979200, 47037279485951, -STORE, 47037276434432, 47037276979199, -ERASE, 47037276979200, 47037276979200, -STORE, 47037276979200, 47037279264767, -STORE, 47037279264768, 47037279485951, -STORE, 47037278674944, 47037279264767, -STORE, 47037276979200, 47037278674943, -ERASE, 47037276979200, 47037276979200, -STORE, 47037276979200, 47037278674943, -STORE, 47037279260672, 47037279264767, -STORE, 47037278674944, 47037279260671, -ERASE, 47037278674944, 47037278674944, -STORE, 47037278674944, 47037279260671, -STORE, 47037279469568, 47037279485951, -STORE, 47037279264768, 47037279469567, -ERASE, 47037279264768, 47037279264768, -STORE, 47037279264768, 47037279469567, -ERASE, 47037279469568, 47037279469568, -STORE, 47037279469568, 47037279485951, -STORE, 47037279485952, 47037281325055, -STORE, 47037279625216, 47037281325055, -STORE, 47037279485952, 47037279625215, -ERASE, 47037279625216, 47037279625216, -STORE, 47037279625216, 47037281284095, -STORE, 47037281284096, 47037281325055, -STORE, 47037280968704, 47037281284095, -STORE, 47037279625216, 47037280968703, -ERASE, 47037279625216, 47037279625216, -STORE, 47037279625216, 47037280968703, -STORE, 47037281280000, 47037281284095, -STORE, 47037280968704, 47037281279999, -ERASE, 47037280968704, 47037280968704, -STORE, 47037280968704, 47037281279999, -STORE, 47037281308672, 47037281325055, -STORE, 47037281284096, 47037281308671, -ERASE, 47037281284096, 47037281284096, -STORE, 47037281284096, 47037281308671, -ERASE, 47037281308672, 47037281308672, -STORE, 47037281308672, 47037281325055, -STORE, 47037281325056, 47037281460223, -ERASE, 47037281325056, 47037281325056, -STORE, 47037281325056, 47037281349631, -STORE, 47037281349632, 47037281460223, -STORE, 47037281411072, 47037281460223, -STORE, 47037281349632, 47037281411071, -ERASE, 47037281349632, 47037281349632, -STORE, 47037281349632, 47037281411071, -STORE, 47037281435648, 47037281460223, -STORE, 47037281411072, 47037281435647, -ERASE, 47037281411072, 47037281411072, -STORE, 47037281411072, 47037281460223, -ERASE, 47037281411072, 47037281411072, -STORE, 47037281411072, 47037281435647, -STORE, 47037281435648, 47037281460223, -STORE, 47037281443840, 47037281460223, -STORE, 47037281435648, 47037281443839, -ERASE, 47037281435648, 47037281435648, -STORE, 47037281435648, 47037281443839, -ERASE, 47037281443840, 47037281443840, -STORE, 47037281443840, 47037281460223, -STORE, 47037281460224, 47037281480703, -ERASE, 47037281460224, 47037281460224, -STORE, 47037281460224, 47037281464319, -STORE, 47037281464320, 47037281480703, -STORE, 47037281468416, 47037281480703, -STORE, 47037281464320, 47037281468415, -ERASE, 47037281464320, 47037281464320, -STORE, 47037281464320, 47037281468415, -STORE, 47037281472512, 47037281480703, -STORE, 47037281468416, 47037281472511, -ERASE, 47037281468416, 47037281468416, -STORE, 47037281468416, 47037281480703, -ERASE, 47037281468416, 47037281468416, -STORE, 47037281468416, 47037281472511, -STORE, 47037281472512, 47037281480703, -ERASE, 47037281472512, 47037281472512, -STORE, 47037281472512, 47037281480703, -STORE, 47037281480704, 47037281488895, -ERASE, 47037281284096, 47037281284096, -STORE, 47037281284096, 47037281300479, -STORE, 47037281300480, 47037281308671, -ERASE, 47037281472512, 47037281472512, -STORE, 47037281472512, 47037281476607, -STORE, 47037281476608, 47037281480703, -ERASE, 47037281435648, 47037281435648, -STORE, 47037281435648, 47037281439743, -STORE, 47037281439744, 47037281443839, -ERASE, 47037279264768, 47037279264768, -STORE, 47037279264768, 47037279461375, -STORE, 47037279461376, 47037279469567, -ERASE, 47037276426240, 47037276426240, -STORE, 47037276426240, 47037276430335, -STORE, 47037276430336, 47037276434431, -ERASE, 94352938094592, 94352938094592, -STORE, 94352938094592, 94352938102783, -STORE, 94352938102784, 94352938106879, -ERASE, 140595518902272, 140595518902272, -STORE, 140595518902272, 140595518906367, -STORE, 140595518906368, 140595518910463, -ERASE, 47037276254208, 47037276254208, -STORE, 94352938438656, 94352938573823, -STORE, 140737488347136, 140737488351231, -STORE, 140733506027520, 140737488351231, -ERASE, 140733506027520, 140733506027520, -STORE, 140733506027520, 140733506031615, -STORE, 94150123073536, 94150123245567, -ERASE, 94150123073536, 94150123073536, -STORE, 94150123073536, 94150123089919, -STORE, 94150123089920, 94150123245567, -ERASE, 94150123089920, 94150123089920, -STORE, 94150123089920, 94150123192319, -STORE, 94150123192320, 94150123233279, -STORE, 94150123233280, 94150123245567, -STORE, 140081290375168, 140081290547199, -ERASE, 140081290375168, 140081290375168, -STORE, 140081290375168, 140081290379263, -STORE, 140081290379264, 140081290547199, -ERASE, 140081290379264, 140081290379264, -STORE, 140081290379264, 140081290502143, -STORE, 140081290502144, 140081290534911, -STORE, 140081290534912, 140081290543103, -STORE, 140081290543104, 140081290547199, -STORE, 140733506707456, 140733506711551, -STORE, 140733506695168, 140733506707455, -STORE, 47551504621568, 47551504629759, -STORE, 47551504629760, 47551504637951, -STORE, 47551504637952, 47551504801791, -ERASE, 47551504637952, 47551504637952, -STORE, 47551504637952, 47551504650239, -STORE, 47551504650240, 47551504801791, -STORE, 47551504748544, 47551504801791, -STORE, 47551504650240, 47551504748543, -ERASE, 47551504650240, 47551504650240, -STORE, 47551504650240, 47551504748543, -STORE, 47551504793600, 47551504801791, -STORE, 47551504748544, 47551504793599, -ERASE, 47551504748544, 47551504748544, -STORE, 47551504748544, 47551504801791, -ERASE, 47551504748544, 47551504748544, -STORE, 47551504748544, 47551504793599, -STORE, 47551504793600, 47551504801791, -ERASE, 47551504793600, 47551504793600, -STORE, 47551504793600, 47551504801791, -STORE, 47551504801792, 47551507853311, -STORE, 47551505346560, 47551507853311, -STORE, 47551504801792, 47551505346559, -ERASE, 47551505346560, 47551505346560, -STORE, 47551505346560, 47551507632127, -STORE, 47551507632128, 47551507853311, -STORE, 47551507042304, 47551507632127, -STORE, 47551505346560, 47551507042303, -ERASE, 47551505346560, 47551505346560, -STORE, 47551505346560, 47551507042303, -STORE, 47551507628032, 47551507632127, -STORE, 47551507042304, 47551507628031, -ERASE, 47551507042304, 47551507042304, -STORE, 47551507042304, 47551507628031, -STORE, 47551507836928, 47551507853311, -STORE, 47551507632128, 47551507836927, -ERASE, 47551507632128, 47551507632128, -STORE, 47551507632128, 47551507836927, -ERASE, 47551507836928, 47551507836928, -STORE, 47551507836928, 47551507853311, -STORE, 47551507853312, 47551509692415, -STORE, 47551507992576, 47551509692415, -STORE, 47551507853312, 47551507992575, -ERASE, 47551507992576, 47551507992576, -STORE, 47551507992576, 47551509651455, -STORE, 47551509651456, 47551509692415, -STORE, 47551509336064, 47551509651455, -STORE, 47551507992576, 47551509336063, -ERASE, 47551507992576, 47551507992576, -STORE, 47551507992576, 47551509336063, -STORE, 47551509647360, 47551509651455, -STORE, 47551509336064, 47551509647359, -ERASE, 47551509336064, 47551509336064, -STORE, 47551509336064, 47551509647359, -STORE, 47551509676032, 47551509692415, -STORE, 47551509651456, 47551509676031, -ERASE, 47551509651456, 47551509651456, -STORE, 47551509651456, 47551509676031, -ERASE, 47551509676032, 47551509676032, -STORE, 47551509676032, 47551509692415, -STORE, 47551509692416, 47551509827583, -ERASE, 47551509692416, 47551509692416, -STORE, 47551509692416, 47551509716991, -STORE, 47551509716992, 47551509827583, -STORE, 47551509778432, 47551509827583, -STORE, 47551509716992, 47551509778431, -ERASE, 47551509716992, 47551509716992, -STORE, 47551509716992, 47551509778431, -STORE, 47551509803008, 47551509827583, -STORE, 47551509778432, 47551509803007, -ERASE, 47551509778432, 47551509778432, -STORE, 47551509778432, 47551509827583, -ERASE, 47551509778432, 47551509778432, -STORE, 47551509778432, 47551509803007, -STORE, 47551509803008, 47551509827583, -STORE, 47551509811200, 47551509827583, -STORE, 47551509803008, 47551509811199, -ERASE, 47551509803008, 47551509803008, -STORE, 47551509803008, 47551509811199, -ERASE, 47551509811200, 47551509811200, -STORE, 47551509811200, 47551509827583, -STORE, 47551509827584, 47551509848063, -ERASE, 47551509827584, 47551509827584, -STORE, 47551509827584, 47551509831679, -STORE, 47551509831680, 47551509848063, -STORE, 47551509835776, 47551509848063, -STORE, 47551509831680, 47551509835775, -ERASE, 47551509831680, 47551509831680, -STORE, 47551509831680, 47551509835775, -STORE, 47551509839872, 47551509848063, -STORE, 47551509835776, 47551509839871, -ERASE, 47551509835776, 47551509835776, -STORE, 47551509835776, 47551509848063, -ERASE, 47551509835776, 47551509835776, -STORE, 47551509835776, 47551509839871, -STORE, 47551509839872, 47551509848063, -ERASE, 47551509839872, 47551509839872, -STORE, 47551509839872, 47551509848063, -STORE, 47551509848064, 47551509856255, -ERASE, 47551509651456, 47551509651456, -STORE, 47551509651456, 47551509667839, -STORE, 47551509667840, 47551509676031, -ERASE, 47551509839872, 47551509839872, -STORE, 47551509839872, 47551509843967, -STORE, 47551509843968, 47551509848063, -ERASE, 47551509803008, 47551509803008, -STORE, 47551509803008, 47551509807103, -STORE, 47551509807104, 47551509811199, -ERASE, 47551507632128, 47551507632128, -STORE, 47551507632128, 47551507828735, -STORE, 47551507828736, 47551507836927, -ERASE, 47551504793600, 47551504793600, -STORE, 47551504793600, 47551504797695, -STORE, 47551504797696, 47551504801791, -ERASE, 94150123233280, 94150123233280, -STORE, 94150123233280, 94150123241471, -STORE, 94150123241472, 94150123245567, -ERASE, 140081290534912, 140081290534912, -STORE, 140081290534912, 140081290539007, -STORE, 140081290539008, 140081290543103, -ERASE, 47551504621568, 47551504621568, -STORE, 94150148112384, 94150148247551, -STORE, 140737488347136, 140737488351231, -STORE, 140734389334016, 140737488351231, -ERASE, 140734389334016, 140734389334016, -STORE, 140734389334016, 140734389338111, -STORE, 94844636606464, 94844636778495, -ERASE, 94844636606464, 94844636606464, -STORE, 94844636606464, 94844636622847, -STORE, 94844636622848, 94844636778495, -ERASE, 94844636622848, 94844636622848, -STORE, 94844636622848, 94844636725247, -STORE, 94844636725248, 94844636766207, -STORE, 94844636766208, 94844636778495, -STORE, 139922765217792, 139922765389823, -ERASE, 139922765217792, 139922765217792, -STORE, 139922765217792, 139922765221887, -STORE, 139922765221888, 139922765389823, -ERASE, 139922765221888, 139922765221888, -STORE, 139922765221888, 139922765344767, -STORE, 139922765344768, 139922765377535, -STORE, 139922765377536, 139922765385727, -STORE, 139922765385728, 139922765389823, -STORE, 140734389678080, 140734389682175, -STORE, 140734389665792, 140734389678079, -STORE, 47710029778944, 47710029787135, -STORE, 47710029787136, 47710029795327, -STORE, 47710029795328, 47710029959167, -ERASE, 47710029795328, 47710029795328, -STORE, 47710029795328, 47710029807615, -STORE, 47710029807616, 47710029959167, -STORE, 47710029905920, 47710029959167, -STORE, 47710029807616, 47710029905919, -ERASE, 47710029807616, 47710029807616, -STORE, 47710029807616, 47710029905919, -STORE, 47710029950976, 47710029959167, -STORE, 47710029905920, 47710029950975, -ERASE, 47710029905920, 47710029905920, -STORE, 47710029905920, 47710029959167, -ERASE, 47710029905920, 47710029905920, -STORE, 47710029905920, 47710029950975, -STORE, 47710029950976, 47710029959167, -ERASE, 47710029950976, 47710029950976, -STORE, 47710029950976, 47710029959167, -STORE, 47710029959168, 47710033010687, -STORE, 47710030503936, 47710033010687, -STORE, 47710029959168, 47710030503935, -ERASE, 47710030503936, 47710030503936, -STORE, 47710030503936, 47710032789503, -STORE, 47710032789504, 47710033010687, -STORE, 47710032199680, 47710032789503, -STORE, 47710030503936, 47710032199679, -ERASE, 47710030503936, 47710030503936, -STORE, 47710030503936, 47710032199679, -STORE, 47710032785408, 47710032789503, -STORE, 47710032199680, 47710032785407, -ERASE, 47710032199680, 47710032199680, -STORE, 47710032199680, 47710032785407, -STORE, 47710032994304, 47710033010687, -STORE, 47710032789504, 47710032994303, -ERASE, 47710032789504, 47710032789504, -STORE, 47710032789504, 47710032994303, -ERASE, 47710032994304, 47710032994304, -STORE, 47710032994304, 47710033010687, -STORE, 47710033010688, 47710034849791, -STORE, 47710033149952, 47710034849791, -STORE, 47710033010688, 47710033149951, -ERASE, 47710033149952, 47710033149952, -STORE, 47710033149952, 47710034808831, -STORE, 47710034808832, 47710034849791, -STORE, 47710034493440, 47710034808831, -STORE, 47710033149952, 47710034493439, -ERASE, 47710033149952, 47710033149952, -STORE, 47710033149952, 47710034493439, -STORE, 47710034804736, 47710034808831, -STORE, 47710034493440, 47710034804735, -ERASE, 47710034493440, 47710034493440, -STORE, 47710034493440, 47710034804735, -STORE, 47710034833408, 47710034849791, -STORE, 47710034808832, 47710034833407, -ERASE, 47710034808832, 47710034808832, -STORE, 47710034808832, 47710034833407, -ERASE, 47710034833408, 47710034833408, -STORE, 47710034833408, 47710034849791, -STORE, 47710034849792, 47710034984959, -ERASE, 47710034849792, 47710034849792, -STORE, 47710034849792, 47710034874367, -STORE, 47710034874368, 47710034984959, -STORE, 47710034935808, 47710034984959, -STORE, 47710034874368, 47710034935807, -ERASE, 47710034874368, 47710034874368, -STORE, 47710034874368, 47710034935807, -STORE, 47710034960384, 47710034984959, -STORE, 47710034935808, 47710034960383, -ERASE, 47710034935808, 47710034935808, -STORE, 47710034935808, 47710034984959, -ERASE, 47710034935808, 47710034935808, -STORE, 47710034935808, 47710034960383, -STORE, 47710034960384, 47710034984959, -STORE, 47710034968576, 47710034984959, -STORE, 47710034960384, 47710034968575, -ERASE, 47710034960384, 47710034960384, -STORE, 47710034960384, 47710034968575, -ERASE, 47710034968576, 47710034968576, -STORE, 47710034968576, 47710034984959, -STORE, 47710034984960, 47710035005439, -ERASE, 47710034984960, 47710034984960, -STORE, 47710034984960, 47710034989055, -STORE, 47710034989056, 47710035005439, -STORE, 47710034993152, 47710035005439, -STORE, 47710034989056, 47710034993151, -ERASE, 47710034989056, 47710034989056, -STORE, 47710034989056, 47710034993151, -STORE, 47710034997248, 47710035005439, -STORE, 47710034993152, 47710034997247, -ERASE, 47710034993152, 47710034993152, -STORE, 47710034993152, 47710035005439, -ERASE, 47710034993152, 47710034993152, -STORE, 47710034993152, 47710034997247, -STORE, 47710034997248, 47710035005439, -ERASE, 47710034997248, 47710034997248, -STORE, 47710034997248, 47710035005439, -STORE, 47710035005440, 47710035013631, -ERASE, 47710034808832, 47710034808832, -STORE, 47710034808832, 47710034825215, -STORE, 47710034825216, 47710034833407, -ERASE, 47710034997248, 47710034997248, -STORE, 47710034997248, 47710035001343, -STORE, 47710035001344, 47710035005439, -ERASE, 47710034960384, 47710034960384, -STORE, 47710034960384, 47710034964479, -STORE, 47710034964480, 47710034968575, -ERASE, 47710032789504, 47710032789504, -STORE, 47710032789504, 47710032986111, -STORE, 47710032986112, 47710032994303, -ERASE, 47710029950976, 47710029950976, -STORE, 47710029950976, 47710029955071, -STORE, 47710029955072, 47710029959167, -ERASE, 94844636766208, 94844636766208, -STORE, 94844636766208, 94844636774399, -STORE, 94844636774400, 94844636778495, -ERASE, 139922765377536, 139922765377536, -STORE, 139922765377536, 139922765381631, -STORE, 139922765381632, 139922765385727, -ERASE, 47710029778944, 47710029778944, -STORE, 94844641775616, 94844641910783, -STORE, 140737488347136, 140737488351231, -STORE, 140732213886976, 140737488351231, -ERASE, 140732213886976, 140732213886976, -STORE, 140732213886976, 140732213891071, -STORE, 94240508887040, 94240509059071, -ERASE, 94240508887040, 94240508887040, -STORE, 94240508887040, 94240508903423, -STORE, 94240508903424, 94240509059071, -ERASE, 94240508903424, 94240508903424, -STORE, 94240508903424, 94240509005823, -STORE, 94240509005824, 94240509046783, -STORE, 94240509046784, 94240509059071, -STORE, 140275106516992, 140275106689023, -ERASE, 140275106516992, 140275106516992, -STORE, 140275106516992, 140275106521087, -STORE, 140275106521088, 140275106689023, -ERASE, 140275106521088, 140275106521088, -STORE, 140275106521088, 140275106643967, -STORE, 140275106643968, 140275106676735, -STORE, 140275106676736, 140275106684927, -STORE, 140275106684928, 140275106689023, -STORE, 140732213977088, 140732213981183, -STORE, 140732213964800, 140732213977087, -STORE, 47357688479744, 47357688487935, -STORE, 47357688487936, 47357688496127, -STORE, 47357688496128, 47357688659967, -ERASE, 47357688496128, 47357688496128, -STORE, 47357688496128, 47357688508415, -STORE, 47357688508416, 47357688659967, -STORE, 47357688606720, 47357688659967, -STORE, 47357688508416, 47357688606719, -ERASE, 47357688508416, 47357688508416, -STORE, 47357688508416, 47357688606719, -STORE, 47357688651776, 47357688659967, -STORE, 47357688606720, 47357688651775, -ERASE, 47357688606720, 47357688606720, -STORE, 47357688606720, 47357688659967, -ERASE, 47357688606720, 47357688606720, -STORE, 47357688606720, 47357688651775, -STORE, 47357688651776, 47357688659967, -ERASE, 47357688651776, 47357688651776, -STORE, 47357688651776, 47357688659967, -STORE, 47357688659968, 47357691711487, -STORE, 47357689204736, 47357691711487, -STORE, 47357688659968, 47357689204735, -ERASE, 47357689204736, 47357689204736, -STORE, 47357689204736, 47357691490303, -STORE, 47357691490304, 47357691711487, -STORE, 47357690900480, 47357691490303, -STORE, 47357689204736, 47357690900479, -ERASE, 47357689204736, 47357689204736, -STORE, 47357689204736, 47357690900479, -STORE, 47357691486208, 47357691490303, -STORE, 47357690900480, 47357691486207, -ERASE, 47357690900480, 47357690900480, -STORE, 47357690900480, 47357691486207, -STORE, 47357691695104, 47357691711487, -STORE, 47357691490304, 47357691695103, -ERASE, 47357691490304, 47357691490304, -STORE, 47357691490304, 47357691695103, -ERASE, 47357691695104, 47357691695104, -STORE, 47357691695104, 47357691711487, -STORE, 47357691711488, 47357693550591, -STORE, 47357691850752, 47357693550591, -STORE, 47357691711488, 47357691850751, -ERASE, 47357691850752, 47357691850752, -STORE, 47357691850752, 47357693509631, -STORE, 47357693509632, 47357693550591, -STORE, 47357693194240, 47357693509631, -STORE, 47357691850752, 47357693194239, -ERASE, 47357691850752, 47357691850752, -STORE, 47357691850752, 47357693194239, -STORE, 47357693505536, 47357693509631, -STORE, 47357693194240, 47357693505535, -ERASE, 47357693194240, 47357693194240, -STORE, 47357693194240, 47357693505535, -STORE, 47357693534208, 47357693550591, -STORE, 47357693509632, 47357693534207, -ERASE, 47357693509632, 47357693509632, -STORE, 47357693509632, 47357693534207, -ERASE, 47357693534208, 47357693534208, -STORE, 47357693534208, 47357693550591, -STORE, 47357693550592, 47357693685759, -ERASE, 47357693550592, 47357693550592, -STORE, 47357693550592, 47357693575167, -STORE, 47357693575168, 47357693685759, -STORE, 47357693636608, 47357693685759, -STORE, 47357693575168, 47357693636607, -ERASE, 47357693575168, 47357693575168, -STORE, 47357693575168, 47357693636607, -STORE, 47357693661184, 47357693685759, -STORE, 47357693636608, 47357693661183, -ERASE, 47357693636608, 47357693636608, -STORE, 47357693636608, 47357693685759, -ERASE, 47357693636608, 47357693636608, -STORE, 47357693636608, 47357693661183, -STORE, 47357693661184, 47357693685759, -STORE, 47357693669376, 47357693685759, -STORE, 47357693661184, 47357693669375, -ERASE, 47357693661184, 47357693661184, -STORE, 47357693661184, 47357693669375, -ERASE, 47357693669376, 47357693669376, -STORE, 47357693669376, 47357693685759, -STORE, 47357693685760, 47357693706239, -ERASE, 47357693685760, 47357693685760, -STORE, 47357693685760, 47357693689855, -STORE, 47357693689856, 47357693706239, -STORE, 47357693693952, 47357693706239, -STORE, 47357693689856, 47357693693951, -ERASE, 47357693689856, 47357693689856, -STORE, 47357693689856, 47357693693951, -STORE, 47357693698048, 47357693706239, -STORE, 47357693693952, 47357693698047, -ERASE, 47357693693952, 47357693693952, -STORE, 47357693693952, 47357693706239, -ERASE, 47357693693952, 47357693693952, -STORE, 47357693693952, 47357693698047, -STORE, 47357693698048, 47357693706239, -ERASE, 47357693698048, 47357693698048, -STORE, 47357693698048, 47357693706239, -STORE, 47357693706240, 47357693714431, -ERASE, 47357693509632, 47357693509632, -STORE, 47357693509632, 47357693526015, -STORE, 47357693526016, 47357693534207, -ERASE, 47357693698048, 47357693698048, -STORE, 47357693698048, 47357693702143, -STORE, 47357693702144, 47357693706239, -ERASE, 47357693661184, 47357693661184, -STORE, 47357693661184, 47357693665279, -STORE, 47357693665280, 47357693669375, -ERASE, 47357691490304, 47357691490304, -STORE, 47357691490304, 47357691686911, -STORE, 47357691686912, 47357691695103, -ERASE, 47357688651776, 47357688651776, -STORE, 47357688651776, 47357688655871, -STORE, 47357688655872, 47357688659967, -ERASE, 94240509046784, 94240509046784, -STORE, 94240509046784, 94240509054975, -STORE, 94240509054976, 94240509059071, -ERASE, 140275106676736, 140275106676736, -STORE, 140275106676736, 140275106680831, -STORE, 140275106680832, 140275106684927, -ERASE, 47357688479744, 47357688479744, -STORE, 94240518361088, 94240518496255, -STORE, 140737488347136, 140737488351231, -STORE, 140732688277504, 140737488351231, -ERASE, 140732688277504, 140732688277504, -STORE, 140732688277504, 140732688281599, -STORE, 94629171351552, 94629172064255, -ERASE, 94629171351552, 94629171351552, -STORE, 94629171351552, 94629171400703, -STORE, 94629171400704, 94629172064255, -ERASE, 94629171400704, 94629171400704, -STORE, 94629171400704, 94629171945471, -STORE, 94629171945472, 94629172043775, -STORE, 94629172043776, 94629172064255, -STORE, 139770707644416, 139770707816447, -ERASE, 139770707644416, 139770707644416, -STORE, 139770707644416, 139770707648511, -STORE, 139770707648512, 139770707816447, -ERASE, 139770707648512, 139770707648512, -STORE, 139770707648512, 139770707771391, -STORE, 139770707771392, 139770707804159, -STORE, 139770707804160, 139770707812351, -STORE, 139770707812352, 139770707816447, -STORE, 140732689121280, 140732689125375, -STORE, 140732689108992, 140732689121279, -STORE, 47862087352320, 47862087360511, -STORE, 47862087360512, 47862087368703, -STORE, 47862087368704, 47862087475199, -STORE, 47862087385088, 47862087475199, -STORE, 47862087368704, 47862087385087, -ERASE, 47862087385088, 47862087385088, -STORE, 47862087385088, 47862087458815, -STORE, 47862087458816, 47862087475199, -STORE, 47862087438336, 47862087458815, -STORE, 47862087385088, 47862087438335, -ERASE, 47862087385088, 47862087385088, -STORE, 47862087385088, 47862087438335, -STORE, 47862087454720, 47862087458815, -STORE, 47862087438336, 47862087454719, -ERASE, 47862087438336, 47862087438336, -STORE, 47862087438336, 47862087454719, -STORE, 47862087467008, 47862087475199, -STORE, 47862087458816, 47862087467007, -ERASE, 47862087458816, 47862087458816, -STORE, 47862087458816, 47862087467007, -ERASE, 47862087467008, 47862087467008, -STORE, 47862087467008, 47862087475199, -STORE, 47862087475200, 47862089314303, -STORE, 47862087614464, 47862089314303, -STORE, 47862087475200, 47862087614463, -ERASE, 47862087614464, 47862087614464, -STORE, 47862087614464, 47862089273343, -STORE, 47862089273344, 47862089314303, -STORE, 47862088957952, 47862089273343, -STORE, 47862087614464, 47862088957951, -ERASE, 47862087614464, 47862087614464, -STORE, 47862087614464, 47862088957951, -STORE, 47862089269248, 47862089273343, -STORE, 47862088957952, 47862089269247, -ERASE, 47862088957952, 47862088957952, -STORE, 47862088957952, 47862089269247, -STORE, 47862089297920, 47862089314303, -STORE, 47862089273344, 47862089297919, -ERASE, 47862089273344, 47862089273344, -STORE, 47862089273344, 47862089297919, -ERASE, 47862089297920, 47862089297920, -STORE, 47862089297920, 47862089314303, -STORE, 47862089297920, 47862089326591, -ERASE, 47862089273344, 47862089273344, -STORE, 47862089273344, 47862089289727, -STORE, 47862089289728, 47862089297919, -ERASE, 47862087458816, 47862087458816, -STORE, 47862087458816, 47862087462911, -STORE, 47862087462912, 47862087467007, -ERASE, 94629172043776, 94629172043776, -STORE, 94629172043776, 94629172060159, -STORE, 94629172060160, 94629172064255, -ERASE, 139770707804160, 139770707804160, -STORE, 139770707804160, 139770707808255, -STORE, 139770707808256, 139770707812351, -ERASE, 47862087352320, 47862087352320, -STORE, 94629197533184, 94629197668351, -STORE, 140737488347136, 140737488351231, -STORE, 140727540711424, 140737488351231, -ERASE, 140727540711424, 140727540711424, -STORE, 140727540711424, 140727540715519, -STORE, 94299865313280, 94299866025983, -ERASE, 94299865313280, 94299865313280, -STORE, 94299865313280, 94299865362431, -STORE, 94299865362432, 94299866025983, -ERASE, 94299865362432, 94299865362432, -STORE, 94299865362432, 94299865907199, -STORE, 94299865907200, 94299866005503, -STORE, 94299866005504, 94299866025983, -STORE, 140680268763136, 140680268935167, -ERASE, 140680268763136, 140680268763136, -STORE, 140680268763136, 140680268767231, -STORE, 140680268767232, 140680268935167, -ERASE, 140680268767232, 140680268767232, -STORE, 140680268767232, 140680268890111, -STORE, 140680268890112, 140680268922879, -STORE, 140680268922880, 140680268931071, -STORE, 140680268931072, 140680268935167, -STORE, 140727541424128, 140727541428223, -STORE, 140727541411840, 140727541424127, -STORE, 46952526233600, 46952526241791, -STORE, 46952526241792, 46952526249983, -STORE, 46952526249984, 46952526356479, -STORE, 46952526266368, 46952526356479, -STORE, 46952526249984, 46952526266367, -ERASE, 46952526266368, 46952526266368, -STORE, 46952526266368, 46952526340095, -STORE, 46952526340096, 46952526356479, -STORE, 46952526319616, 46952526340095, -STORE, 46952526266368, 46952526319615, -ERASE, 46952526266368, 46952526266368, -STORE, 46952526266368, 46952526319615, -STORE, 46952526336000, 46952526340095, -STORE, 46952526319616, 46952526335999, -ERASE, 46952526319616, 46952526319616, -STORE, 46952526319616, 46952526335999, -STORE, 46952526348288, 46952526356479, -STORE, 46952526340096, 46952526348287, -ERASE, 46952526340096, 46952526340096, -STORE, 46952526340096, 46952526348287, -ERASE, 46952526348288, 46952526348288, -STORE, 46952526348288, 46952526356479, -STORE, 46952526356480, 46952528195583, -STORE, 46952526495744, 46952528195583, -STORE, 46952526356480, 46952526495743, -ERASE, 46952526495744, 46952526495744, -STORE, 46952526495744, 46952528154623, -STORE, 46952528154624, 46952528195583, -STORE, 46952527839232, 46952528154623, -STORE, 46952526495744, 46952527839231, -ERASE, 46952526495744, 46952526495744, -STORE, 46952526495744, 46952527839231, -STORE, 46952528150528, 46952528154623, -STORE, 46952527839232, 46952528150527, -ERASE, 46952527839232, 46952527839232, -STORE, 46952527839232, 46952528150527, -STORE, 46952528179200, 46952528195583, -STORE, 46952528154624, 46952528179199, -ERASE, 46952528154624, 46952528154624, -STORE, 46952528154624, 46952528179199, -ERASE, 46952528179200, 46952528179200, -STORE, 46952528179200, 46952528195583, -STORE, 46952528179200, 46952528207871, -ERASE, 46952528154624, 46952528154624, -STORE, 46952528154624, 46952528171007, -STORE, 46952528171008, 46952528179199, -ERASE, 46952526340096, 46952526340096, -STORE, 46952526340096, 46952526344191, -STORE, 46952526344192, 46952526348287, -ERASE, 94299866005504, 94299866005504, -STORE, 94299866005504, 94299866021887, -STORE, 94299866021888, 94299866025983, -ERASE, 140680268922880, 140680268922880, -STORE, 140680268922880, 140680268926975, -STORE, 140680268926976, 140680268931071, -ERASE, 46952526233600, 46952526233600, -STORE, 140737488347136, 140737488351231, -STORE, 140722874793984, 140737488351231, -ERASE, 140722874793984, 140722874793984, -STORE, 140722874793984, 140722874798079, -STORE, 94448916213760, 94448916926463, -ERASE, 94448916213760, 94448916213760, -STORE, 94448916213760, 94448916262911, -STORE, 94448916262912, 94448916926463, -ERASE, 94448916262912, 94448916262912, -STORE, 94448916262912, 94448916807679, -STORE, 94448916807680, 94448916905983, -STORE, 94448916905984, 94448916926463, -STORE, 140389117046784, 140389117218815, -ERASE, 140389117046784, 140389117046784, -STORE, 140389117046784, 140389117050879, -STORE, 140389117050880, 140389117218815, -ERASE, 140389117050880, 140389117050880, -STORE, 140389117050880, 140389117173759, -STORE, 140389117173760, 140389117206527, -STORE, 140389117206528, 140389117214719, -STORE, 140389117214720, 140389117218815, -STORE, 140722875297792, 140722875301887, -STORE, 140722875285504, 140722875297791, -STORE, 47243677949952, 47243677958143, -STORE, 47243677958144, 47243677966335, -STORE, 47243677966336, 47243678072831, -STORE, 47243677982720, 47243678072831, -STORE, 47243677966336, 47243677982719, -ERASE, 47243677982720, 47243677982720, -STORE, 47243677982720, 47243678056447, -STORE, 47243678056448, 47243678072831, -STORE, 47243678035968, 47243678056447, -STORE, 47243677982720, 47243678035967, -ERASE, 47243677982720, 47243677982720, -STORE, 47243677982720, 47243678035967, -STORE, 47243678052352, 47243678056447, -STORE, 47243678035968, 47243678052351, -ERASE, 47243678035968, 47243678035968, -STORE, 47243678035968, 47243678052351, -STORE, 47243678064640, 47243678072831, -STORE, 47243678056448, 47243678064639, -ERASE, 47243678056448, 47243678056448, -STORE, 47243678056448, 47243678064639, -ERASE, 47243678064640, 47243678064640, -STORE, 47243678064640, 47243678072831, -STORE, 47243678072832, 47243679911935, -STORE, 47243678212096, 47243679911935, -STORE, 47243678072832, 47243678212095, -ERASE, 47243678212096, 47243678212096, -STORE, 47243678212096, 47243679870975, -STORE, 47243679870976, 47243679911935, -STORE, 47243679555584, 47243679870975, -STORE, 47243678212096, 47243679555583, -ERASE, 47243678212096, 47243678212096, -STORE, 47243678212096, 47243679555583, -STORE, 47243679866880, 47243679870975, -STORE, 47243679555584, 47243679866879, -ERASE, 47243679555584, 47243679555584, -STORE, 47243679555584, 47243679866879, -STORE, 47243679895552, 47243679911935, -STORE, 47243679870976, 47243679895551, -ERASE, 47243679870976, 47243679870976, -STORE, 47243679870976, 47243679895551, -ERASE, 47243679895552, 47243679895552, -STORE, 47243679895552, 47243679911935, -STORE, 47243679895552, 47243679924223, -ERASE, 47243679870976, 47243679870976, -STORE, 47243679870976, 47243679887359, -STORE, 47243679887360, 47243679895551, -ERASE, 47243678056448, 47243678056448, -STORE, 47243678056448, 47243678060543, -STORE, 47243678060544, 47243678064639, -ERASE, 94448916905984, 94448916905984, -STORE, 94448916905984, 94448916922367, -STORE, 94448916922368, 94448916926463, -ERASE, 140389117206528, 140389117206528, -STORE, 140389117206528, 140389117210623, -STORE, 140389117210624, 140389117214719, -ERASE, 47243677949952, 47243677949952, -STORE, 140737488347136, 140737488351231, -STORE, 140733068505088, 140737488351231, -ERASE, 140733068505088, 140733068505088, -STORE, 140733068505088, 140733068509183, -STORE, 94207145750528, 94207146463231, -ERASE, 94207145750528, 94207145750528, -STORE, 94207145750528, 94207145799679, -STORE, 94207145799680, 94207146463231, -ERASE, 94207145799680, 94207145799680, -STORE, 94207145799680, 94207146344447, -STORE, 94207146344448, 94207146442751, -STORE, 94207146442752, 94207146463231, -STORE, 140684504911872, 140684505083903, -ERASE, 140684504911872, 140684504911872, -STORE, 140684504911872, 140684504915967, -STORE, 140684504915968, 140684505083903, -ERASE, 140684504915968, 140684504915968, -STORE, 140684504915968, 140684505038847, -STORE, 140684505038848, 140684505071615, -STORE, 140684505071616, 140684505079807, -STORE, 140684505079808, 140684505083903, -STORE, 140733068607488, 140733068611583, -STORE, 140733068595200, 140733068607487, -STORE, 46948290084864, 46948290093055, -STORE, 46948290093056, 46948290101247, -STORE, 46948290101248, 46948290207743, -STORE, 46948290117632, 46948290207743, -STORE, 46948290101248, 46948290117631, -ERASE, 46948290117632, 46948290117632, -STORE, 46948290117632, 46948290191359, -STORE, 46948290191360, 46948290207743, -STORE, 46948290170880, 46948290191359, -STORE, 46948290117632, 46948290170879, -ERASE, 46948290117632, 46948290117632, -STORE, 46948290117632, 46948290170879, -STORE, 46948290187264, 46948290191359, -STORE, 46948290170880, 46948290187263, -ERASE, 46948290170880, 46948290170880, -STORE, 46948290170880, 46948290187263, -STORE, 46948290199552, 46948290207743, -STORE, 46948290191360, 46948290199551, -ERASE, 46948290191360, 46948290191360, -STORE, 46948290191360, 46948290199551, -ERASE, 46948290199552, 46948290199552, -STORE, 46948290199552, 46948290207743, -STORE, 46948290207744, 46948292046847, -STORE, 46948290347008, 46948292046847, -STORE, 46948290207744, 46948290347007, -ERASE, 46948290347008, 46948290347008, -STORE, 46948290347008, 46948292005887, -STORE, 46948292005888, 46948292046847, -STORE, 46948291690496, 46948292005887, -STORE, 46948290347008, 46948291690495, -ERASE, 46948290347008, 46948290347008, -STORE, 46948290347008, 46948291690495, -STORE, 46948292001792, 46948292005887, -STORE, 46948291690496, 46948292001791, -ERASE, 46948291690496, 46948291690496, -STORE, 46948291690496, 46948292001791, -STORE, 46948292030464, 46948292046847, -STORE, 46948292005888, 46948292030463, -ERASE, 46948292005888, 46948292005888, -STORE, 46948292005888, 46948292030463, -ERASE, 46948292030464, 46948292030464, -STORE, 46948292030464, 46948292046847, -STORE, 46948292030464, 46948292059135, -ERASE, 46948292005888, 46948292005888, -STORE, 46948292005888, 46948292022271, -STORE, 46948292022272, 46948292030463, -ERASE, 46948290191360, 46948290191360, -STORE, 46948290191360, 46948290195455, -STORE, 46948290195456, 46948290199551, -ERASE, 94207146442752, 94207146442752, -STORE, 94207146442752, 94207146459135, -STORE, 94207146459136, 94207146463231, -ERASE, 140684505071616, 140684505071616, -STORE, 140684505071616, 140684505075711, -STORE, 140684505075712, 140684505079807, -ERASE, 46948290084864, 46948290084864, -STORE, 140737488347136, 140737488351231, -STORE, 140726367158272, 140737488351231, -ERASE, 140726367158272, 140726367158272, -STORE, 140726367158272, 140726367162367, -STORE, 94436124106752, 94436124819455, -ERASE, 94436124106752, 94436124106752, -STORE, 94436124106752, 94436124155903, -STORE, 94436124155904, 94436124819455, -ERASE, 94436124155904, 94436124155904, -STORE, 94436124155904, 94436124700671, -STORE, 94436124700672, 94436124798975, -STORE, 94436124798976, 94436124819455, -STORE, 140049025044480, 140049025216511, -ERASE, 140049025044480, 140049025044480, -STORE, 140049025044480, 140049025048575, -STORE, 140049025048576, 140049025216511, -ERASE, 140049025048576, 140049025048576, -STORE, 140049025048576, 140049025171455, -STORE, 140049025171456, 140049025204223, -STORE, 140049025204224, 140049025212415, -STORE, 140049025212416, 140049025216511, -STORE, 140726367256576, 140726367260671, -STORE, 140726367244288, 140726367256575, -STORE, 47583769952256, 47583769960447, -STORE, 47583769960448, 47583769968639, -STORE, 47583769968640, 47583770075135, -STORE, 47583769985024, 47583770075135, -STORE, 47583769968640, 47583769985023, -ERASE, 47583769985024, 47583769985024, -STORE, 47583769985024, 47583770058751, -STORE, 47583770058752, 47583770075135, -STORE, 47583770038272, 47583770058751, -STORE, 47583769985024, 47583770038271, -ERASE, 47583769985024, 47583769985024, -STORE, 47583769985024, 47583770038271, -STORE, 47583770054656, 47583770058751, -STORE, 47583770038272, 47583770054655, -ERASE, 47583770038272, 47583770038272, -STORE, 47583770038272, 47583770054655, -STORE, 47583770066944, 47583770075135, -STORE, 47583770058752, 47583770066943, -ERASE, 47583770058752, 47583770058752, -STORE, 47583770058752, 47583770066943, -ERASE, 47583770066944, 47583770066944, -STORE, 47583770066944, 47583770075135, -STORE, 47583770075136, 47583771914239, -STORE, 47583770214400, 47583771914239, -STORE, 47583770075136, 47583770214399, -ERASE, 47583770214400, 47583770214400, -STORE, 47583770214400, 47583771873279, -STORE, 47583771873280, 47583771914239, -STORE, 47583771557888, 47583771873279, -STORE, 47583770214400, 47583771557887, -ERASE, 47583770214400, 47583770214400, -STORE, 47583770214400, 47583771557887, -STORE, 47583771869184, 47583771873279, -STORE, 47583771557888, 47583771869183, -ERASE, 47583771557888, 47583771557888, -STORE, 47583771557888, 47583771869183, -STORE, 47583771897856, 47583771914239, -STORE, 47583771873280, 47583771897855, -ERASE, 47583771873280, 47583771873280, -STORE, 47583771873280, 47583771897855, -ERASE, 47583771897856, 47583771897856, -STORE, 47583771897856, 47583771914239, -STORE, 47583771897856, 47583771926527, -ERASE, 47583771873280, 47583771873280, -STORE, 47583771873280, 47583771889663, -STORE, 47583771889664, 47583771897855, -ERASE, 47583770058752, 47583770058752, -STORE, 47583770058752, 47583770062847, -STORE, 47583770062848, 47583770066943, -ERASE, 94436124798976, 94436124798976, -STORE, 94436124798976, 94436124815359, -STORE, 94436124815360, 94436124819455, -ERASE, 140049025204224, 140049025204224, -STORE, 140049025204224, 140049025208319, -STORE, 140049025208320, 140049025212415, -ERASE, 47583769952256, 47583769952256, -STORE, 140737488347136, 140737488351231, -STORE, 140727116099584, 140737488351231, -ERASE, 140727116099584, 140727116099584, -STORE, 140727116099584, 140727116103679, -STORE, 94166319734784, 94166320447487, -ERASE, 94166319734784, 94166319734784, -STORE, 94166319734784, 94166319783935, -STORE, 94166319783936, 94166320447487, -ERASE, 94166319783936, 94166319783936, -STORE, 94166319783936, 94166320328703, -STORE, 94166320328704, 94166320427007, -STORE, 94166320427008, 94166320447487, -STORE, 139976559542272, 139976559714303, -ERASE, 139976559542272, 139976559542272, -STORE, 139976559542272, 139976559546367, -STORE, 139976559546368, 139976559714303, -ERASE, 139976559546368, 139976559546368, -STORE, 139976559546368, 139976559669247, -STORE, 139976559669248, 139976559702015, -STORE, 139976559702016, 139976559710207, -STORE, 139976559710208, 139976559714303, -STORE, 140727116222464, 140727116226559, -STORE, 140727116210176, 140727116222463, -STORE, 47656235454464, 47656235462655, -STORE, 47656235462656, 47656235470847, -STORE, 47656235470848, 47656235577343, -STORE, 47656235487232, 47656235577343, -STORE, 47656235470848, 47656235487231, -ERASE, 47656235487232, 47656235487232, -STORE, 47656235487232, 47656235560959, -STORE, 47656235560960, 47656235577343, -STORE, 47656235540480, 47656235560959, -STORE, 47656235487232, 47656235540479, -ERASE, 47656235487232, 47656235487232, -STORE, 47656235487232, 47656235540479, -STORE, 47656235556864, 47656235560959, -STORE, 47656235540480, 47656235556863, -ERASE, 47656235540480, 47656235540480, -STORE, 47656235540480, 47656235556863, -STORE, 47656235569152, 47656235577343, -STORE, 47656235560960, 47656235569151, -ERASE, 47656235560960, 47656235560960, -STORE, 47656235560960, 47656235569151, -ERASE, 47656235569152, 47656235569152, -STORE, 47656235569152, 47656235577343, -STORE, 47656235577344, 47656237416447, -STORE, 47656235716608, 47656237416447, -STORE, 47656235577344, 47656235716607, -ERASE, 47656235716608, 47656235716608, -STORE, 47656235716608, 47656237375487, -STORE, 47656237375488, 47656237416447, -STORE, 47656237060096, 47656237375487, -STORE, 47656235716608, 47656237060095, -ERASE, 47656235716608, 47656235716608, -STORE, 47656235716608, 47656237060095, -STORE, 47656237371392, 47656237375487, -STORE, 47656237060096, 47656237371391, -ERASE, 47656237060096, 47656237060096, -STORE, 47656237060096, 47656237371391, -STORE, 47656237400064, 47656237416447, -STORE, 47656237375488, 47656237400063, -ERASE, 47656237375488, 47656237375488, -STORE, 47656237375488, 47656237400063, -ERASE, 47656237400064, 47656237400064, -STORE, 47656237400064, 47656237416447, -STORE, 47656237400064, 47656237428735, -ERASE, 47656237375488, 47656237375488, -STORE, 47656237375488, 47656237391871, -STORE, 47656237391872, 47656237400063, -ERASE, 47656235560960, 47656235560960, -STORE, 47656235560960, 47656235565055, -STORE, 47656235565056, 47656235569151, -ERASE, 94166320427008, 94166320427008, -STORE, 94166320427008, 94166320443391, -STORE, 94166320443392, 94166320447487, -ERASE, 139976559702016, 139976559702016, -STORE, 139976559702016, 139976559706111, -STORE, 139976559706112, 139976559710207, -ERASE, 47656235454464, 47656235454464, -STORE, 94166332153856, 94166332289023, -STORE, 140737488347136, 140737488351231, -STORE, 140726412816384, 140737488351231, -ERASE, 140726412816384, 140726412816384, -STORE, 140726412816384, 140726412820479, -STORE, 94094884507648, 94094885220351, -ERASE, 94094884507648, 94094884507648, -STORE, 94094884507648, 94094884556799, -STORE, 94094884556800, 94094885220351, -ERASE, 94094884556800, 94094884556800, -STORE, 94094884556800, 94094885101567, -STORE, 94094885101568, 94094885199871, -STORE, 94094885199872, 94094885220351, -STORE, 139773773938688, 139773774110719, -ERASE, 139773773938688, 139773773938688, -STORE, 139773773938688, 139773773942783, -STORE, 139773773942784, 139773774110719, -ERASE, 139773773942784, 139773773942784, -STORE, 139773773942784, 139773774065663, -STORE, 139773774065664, 139773774098431, -STORE, 139773774098432, 139773774106623, -STORE, 139773774106624, 139773774110719, -STORE, 140726412963840, 140726412967935, -STORE, 140726412951552, 140726412963839, -STORE, 47859021058048, 47859021066239, -STORE, 47859021066240, 47859021074431, -STORE, 47859021074432, 47859021180927, -STORE, 47859021090816, 47859021180927, -STORE, 47859021074432, 47859021090815, -ERASE, 47859021090816, 47859021090816, -STORE, 47859021090816, 47859021164543, -STORE, 47859021164544, 47859021180927, -STORE, 47859021144064, 47859021164543, -STORE, 47859021090816, 47859021144063, -ERASE, 47859021090816, 47859021090816, -STORE, 47859021090816, 47859021144063, -STORE, 47859021160448, 47859021164543, -STORE, 47859021144064, 47859021160447, -ERASE, 47859021144064, 47859021144064, -STORE, 47859021144064, 47859021160447, -STORE, 47859021172736, 47859021180927, -STORE, 47859021164544, 47859021172735, -ERASE, 47859021164544, 47859021164544, -STORE, 47859021164544, 47859021172735, -ERASE, 47859021172736, 47859021172736, -STORE, 47859021172736, 47859021180927, -STORE, 47859021180928, 47859023020031, -STORE, 47859021320192, 47859023020031, -STORE, 47859021180928, 47859021320191, -ERASE, 47859021320192, 47859021320192, -STORE, 47859021320192, 47859022979071, -STORE, 47859022979072, 47859023020031, -STORE, 47859022663680, 47859022979071, -STORE, 47859021320192, 47859022663679, -ERASE, 47859021320192, 47859021320192, -STORE, 47859021320192, 47859022663679, -STORE, 47859022974976, 47859022979071, -STORE, 47859022663680, 47859022974975, -ERASE, 47859022663680, 47859022663680, -STORE, 47859022663680, 47859022974975, -STORE, 47859023003648, 47859023020031, -STORE, 47859022979072, 47859023003647, -ERASE, 47859022979072, 47859022979072, -STORE, 47859022979072, 47859023003647, -ERASE, 47859023003648, 47859023003648, -STORE, 47859023003648, 47859023020031, -STORE, 47859023003648, 47859023032319, -ERASE, 47859022979072, 47859022979072, -STORE, 47859022979072, 47859022995455, -STORE, 47859022995456, 47859023003647, -ERASE, 47859021164544, 47859021164544, -STORE, 47859021164544, 47859021168639, -STORE, 47859021168640, 47859021172735, -ERASE, 94094885199872, 94094885199872, -STORE, 94094885199872, 94094885216255, -STORE, 94094885216256, 94094885220351, -ERASE, 139773774098432, 139773774098432, -STORE, 139773774098432, 139773774102527, -STORE, 139773774102528, 139773774106623, -ERASE, 47859021058048, 47859021058048, -STORE, 94094901108736, 94094901243903, -STORE, 140737488347136, 140737488351231, -STORE, 140736567963648, 140737488351231, -ERASE, 140736567963648, 140736567963648, -STORE, 140736567963648, 140736567967743, -STORE, 94924425748480, 94924426461183, -ERASE, 94924425748480, 94924425748480, -STORE, 94924425748480, 94924425797631, -STORE, 94924425797632, 94924426461183, -ERASE, 94924425797632, 94924425797632, -STORE, 94924425797632, 94924426342399, -STORE, 94924426342400, 94924426440703, -STORE, 94924426440704, 94924426461183, -STORE, 140042126319616, 140042126491647, -ERASE, 140042126319616, 140042126319616, -STORE, 140042126319616, 140042126323711, -STORE, 140042126323712, 140042126491647, -ERASE, 140042126323712, 140042126323712, -STORE, 140042126323712, 140042126446591, -STORE, 140042126446592, 140042126479359, -STORE, 140042126479360, 140042126487551, -STORE, 140042126487552, 140042126491647, -STORE, 140736568672256, 140736568676351, -STORE, 140736568659968, 140736568672255, -STORE, 47590668677120, 47590668685311, -STORE, 47590668685312, 47590668693503, -STORE, 47590668693504, 47590668799999, -STORE, 47590668709888, 47590668799999, -STORE, 47590668693504, 47590668709887, -ERASE, 47590668709888, 47590668709888, -STORE, 47590668709888, 47590668783615, -STORE, 47590668783616, 47590668799999, -STORE, 47590668763136, 47590668783615, -STORE, 47590668709888, 47590668763135, -ERASE, 47590668709888, 47590668709888, -STORE, 47590668709888, 47590668763135, -STORE, 47590668779520, 47590668783615, -STORE, 47590668763136, 47590668779519, -ERASE, 47590668763136, 47590668763136, -STORE, 47590668763136, 47590668779519, -STORE, 47590668791808, 47590668799999, -STORE, 47590668783616, 47590668791807, -ERASE, 47590668783616, 47590668783616, -STORE, 47590668783616, 47590668791807, -ERASE, 47590668791808, 47590668791808, -STORE, 47590668791808, 47590668799999, -STORE, 47590668800000, 47590670639103, -STORE, 47590668939264, 47590670639103, -STORE, 47590668800000, 47590668939263, -ERASE, 47590668939264, 47590668939264, -STORE, 47590668939264, 47590670598143, -STORE, 47590670598144, 47590670639103, -STORE, 47590670282752, 47590670598143, -STORE, 47590668939264, 47590670282751, -ERASE, 47590668939264, 47590668939264, -STORE, 47590668939264, 47590670282751, -STORE, 47590670594048, 47590670598143, -STORE, 47590670282752, 47590670594047, -ERASE, 47590670282752, 47590670282752, -STORE, 47590670282752, 47590670594047, -STORE, 47590670622720, 47590670639103, -STORE, 47590670598144, 47590670622719, -ERASE, 47590670598144, 47590670598144, -STORE, 47590670598144, 47590670622719, -ERASE, 47590670622720, 47590670622720, -STORE, 47590670622720, 47590670639103, -STORE, 47590670622720, 47590670651391, -ERASE, 47590670598144, 47590670598144, -STORE, 47590670598144, 47590670614527, -STORE, 47590670614528, 47590670622719, -ERASE, 47590668783616, 47590668783616, -STORE, 47590668783616, 47590668787711, -STORE, 47590668787712, 47590668791807, -ERASE, 94924426440704, 94924426440704, -STORE, 94924426440704, 94924426457087, -STORE, 94924426457088, 94924426461183, -ERASE, 140042126479360, 140042126479360, -STORE, 140042126479360, 140042126483455, -STORE, 140042126483456, 140042126487551, -ERASE, 47590668677120, 47590668677120, -STORE, 140737488347136, 140737488351231, -STORE, 140733281439744, 140737488351231, -ERASE, 140733281439744, 140733281439744, -STORE, 140733281439744, 140733281443839, -STORE, 94490667069440, 94490667782143, -ERASE, 94490667069440, 94490667069440, -STORE, 94490667069440, 94490667118591, -STORE, 94490667118592, 94490667782143, -ERASE, 94490667118592, 94490667118592, -STORE, 94490667118592, 94490667663359, -STORE, 94490667663360, 94490667761663, -STORE, 94490667761664, 94490667782143, -STORE, 139878215118848, 139878215290879, -ERASE, 139878215118848, 139878215118848, -STORE, 139878215118848, 139878215122943, -STORE, 139878215122944, 139878215290879, -ERASE, 139878215122944, 139878215122944, -STORE, 139878215122944, 139878215245823, -STORE, 139878215245824, 139878215278591, -STORE, 139878215278592, 139878215286783, -STORE, 139878215286784, 139878215290879, -STORE, 140733281464320, 140733281468415, -STORE, 140733281452032, 140733281464319, -STORE, 47754579877888, 47754579886079, -STORE, 47754579886080, 47754579894271, -STORE, 47754579894272, 47754580000767, -STORE, 47754579910656, 47754580000767, -STORE, 47754579894272, 47754579910655, -ERASE, 47754579910656, 47754579910656, -STORE, 47754579910656, 47754579984383, -STORE, 47754579984384, 47754580000767, -STORE, 47754579963904, 47754579984383, -STORE, 47754579910656, 47754579963903, -ERASE, 47754579910656, 47754579910656, -STORE, 47754579910656, 47754579963903, -STORE, 47754579980288, 47754579984383, -STORE, 47754579963904, 47754579980287, -ERASE, 47754579963904, 47754579963904, -STORE, 47754579963904, 47754579980287, -STORE, 47754579992576, 47754580000767, -STORE, 47754579984384, 47754579992575, -ERASE, 47754579984384, 47754579984384, -STORE, 47754579984384, 47754579992575, -ERASE, 47754579992576, 47754579992576, -STORE, 47754579992576, 47754580000767, -STORE, 47754580000768, 47754581839871, -STORE, 47754580140032, 47754581839871, -STORE, 47754580000768, 47754580140031, -ERASE, 47754580140032, 47754580140032, -STORE, 47754580140032, 47754581798911, -STORE, 47754581798912, 47754581839871, -STORE, 47754581483520, 47754581798911, -STORE, 47754580140032, 47754581483519, -ERASE, 47754580140032, 47754580140032, -STORE, 47754580140032, 47754581483519, -STORE, 47754581794816, 47754581798911, -STORE, 47754581483520, 47754581794815, -ERASE, 47754581483520, 47754581483520, -STORE, 47754581483520, 47754581794815, -STORE, 47754581823488, 47754581839871, -STORE, 47754581798912, 47754581823487, -ERASE, 47754581798912, 47754581798912, -STORE, 47754581798912, 47754581823487, -ERASE, 47754581823488, 47754581823488, -STORE, 47754581823488, 47754581839871, -STORE, 47754581823488, 47754581852159, -ERASE, 47754581798912, 47754581798912, -STORE, 47754581798912, 47754581815295, -STORE, 47754581815296, 47754581823487, -ERASE, 47754579984384, 47754579984384, -STORE, 47754579984384, 47754579988479, -STORE, 47754579988480, 47754579992575, -ERASE, 94490667761664, 94490667761664, -STORE, 94490667761664, 94490667778047, -STORE, 94490667778048, 94490667782143, -ERASE, 139878215278592, 139878215278592, -STORE, 139878215278592, 139878215282687, -STORE, 139878215282688, 139878215286783, -ERASE, 47754579877888, 47754579877888, -STORE, 94490669649920, 94490669785087, -STORE, 140737488347136, 140737488351231, -STORE, 140735382188032, 140737488351231, -ERASE, 140735382188032, 140735382188032, -STORE, 140735382188032, 140735382192127, -STORE, 94150181302272, 94150182014975, -ERASE, 94150181302272, 94150181302272, -STORE, 94150181302272, 94150181351423, -STORE, 94150181351424, 94150182014975, -ERASE, 94150181351424, 94150181351424, -STORE, 94150181351424, 94150181896191, -STORE, 94150181896192, 94150181994495, -STORE, 94150181994496, 94150182014975, -STORE, 139679752458240, 139679752630271, -ERASE, 139679752458240, 139679752458240, -STORE, 139679752458240, 139679752462335, -STORE, 139679752462336, 139679752630271, -ERASE, 139679752462336, 139679752462336, -STORE, 139679752462336, 139679752585215, -STORE, 139679752585216, 139679752617983, -STORE, 139679752617984, 139679752626175, -STORE, 139679752626176, 139679752630271, -STORE, 140735382536192, 140735382540287, -STORE, 140735382523904, 140735382536191, -STORE, 47953042538496, 47953042546687, -STORE, 47953042546688, 47953042554879, -STORE, 47953042554880, 47953042661375, -STORE, 47953042571264, 47953042661375, -STORE, 47953042554880, 47953042571263, -ERASE, 47953042571264, 47953042571264, -STORE, 47953042571264, 47953042644991, -STORE, 47953042644992, 47953042661375, -STORE, 47953042624512, 47953042644991, -STORE, 47953042571264, 47953042624511, -ERASE, 47953042571264, 47953042571264, -STORE, 47953042571264, 47953042624511, -STORE, 47953042640896, 47953042644991, -STORE, 47953042624512, 47953042640895, -ERASE, 47953042624512, 47953042624512, -STORE, 47953042624512, 47953042640895, -STORE, 47953042653184, 47953042661375, -STORE, 47953042644992, 47953042653183, -ERASE, 47953042644992, 47953042644992, -STORE, 47953042644992, 47953042653183, -ERASE, 47953042653184, 47953042653184, -STORE, 47953042653184, 47953042661375, -STORE, 47953042661376, 47953044500479, -STORE, 47953042800640, 47953044500479, -STORE, 47953042661376, 47953042800639, -ERASE, 47953042800640, 47953042800640, -STORE, 47953042800640, 47953044459519, -STORE, 47953044459520, 47953044500479, -STORE, 47953044144128, 47953044459519, -STORE, 47953042800640, 47953044144127, -ERASE, 47953042800640, 47953042800640, -STORE, 47953042800640, 47953044144127, -STORE, 47953044455424, 47953044459519, -STORE, 47953044144128, 47953044455423, -ERASE, 47953044144128, 47953044144128, -STORE, 47953044144128, 47953044455423, -STORE, 47953044484096, 47953044500479, -STORE, 47953044459520, 47953044484095, -ERASE, 47953044459520, 47953044459520, -STORE, 47953044459520, 47953044484095, -ERASE, 47953044484096, 47953044484096, -STORE, 47953044484096, 47953044500479, -STORE, 47953044484096, 47953044512767, -ERASE, 47953044459520, 47953044459520, -STORE, 47953044459520, 47953044475903, -STORE, 47953044475904, 47953044484095, -ERASE, 47953042644992, 47953042644992, -STORE, 47953042644992, 47953042649087, -STORE, 47953042649088, 47953042653183, -ERASE, 94150181994496, 94150181994496, -STORE, 94150181994496, 94150182010879, -STORE, 94150182010880, 94150182014975, -ERASE, 139679752617984, 139679752617984, -STORE, 139679752617984, 139679752622079, -STORE, 139679752622080, 139679752626175, -ERASE, 47953042538496, 47953042538496, -STORE, 140737488347136, 140737488351231, -STORE, 140737044123648, 140737488351231, -ERASE, 140737044123648, 140737044123648, -STORE, 140737044123648, 140737044127743, -STORE, 94425324294144, 94425325006847, -ERASE, 94425324294144, 94425324294144, -STORE, 94425324294144, 94425324343295, -STORE, 94425324343296, 94425325006847, -ERASE, 94425324343296, 94425324343296, -STORE, 94425324343296, 94425324888063, -STORE, 94425324888064, 94425324986367, -STORE, 94425324986368, 94425325006847, -STORE, 140382015016960, 140382015188991, -ERASE, 140382015016960, 140382015016960, -STORE, 140382015016960, 140382015021055, -STORE, 140382015021056, 140382015188991, -ERASE, 140382015021056, 140382015021056, -STORE, 140382015021056, 140382015143935, -STORE, 140382015143936, 140382015176703, -STORE, 140382015176704, 140382015184895, -STORE, 140382015184896, 140382015188991, -STORE, 140737045585920, 140737045590015, -STORE, 140737045573632, 140737045585919, -STORE, 47250779979776, 47250779987967, -STORE, 47250779987968, 47250779996159, -STORE, 47250779996160, 47250780102655, -STORE, 47250780012544, 47250780102655, -STORE, 47250779996160, 47250780012543, -ERASE, 47250780012544, 47250780012544, -STORE, 47250780012544, 47250780086271, -STORE, 47250780086272, 47250780102655, -STORE, 47250780065792, 47250780086271, -STORE, 47250780012544, 47250780065791, -ERASE, 47250780012544, 47250780012544, -STORE, 47250780012544, 47250780065791, -STORE, 47250780082176, 47250780086271, -STORE, 47250780065792, 47250780082175, -ERASE, 47250780065792, 47250780065792, -STORE, 47250780065792, 47250780082175, -STORE, 47250780094464, 47250780102655, -STORE, 47250780086272, 47250780094463, -ERASE, 47250780086272, 47250780086272, -STORE, 47250780086272, 47250780094463, -ERASE, 47250780094464, 47250780094464, -STORE, 47250780094464, 47250780102655, -STORE, 47250780102656, 47250781941759, -STORE, 47250780241920, 47250781941759, -STORE, 47250780102656, 47250780241919, -ERASE, 47250780241920, 47250780241920, -STORE, 47250780241920, 47250781900799, -STORE, 47250781900800, 47250781941759, -STORE, 47250781585408, 47250781900799, -STORE, 47250780241920, 47250781585407, -ERASE, 47250780241920, 47250780241920, -STORE, 47250780241920, 47250781585407, -STORE, 47250781896704, 47250781900799, -STORE, 47250781585408, 47250781896703, -ERASE, 47250781585408, 47250781585408, -STORE, 47250781585408, 47250781896703, -STORE, 47250781925376, 47250781941759, -STORE, 47250781900800, 47250781925375, -ERASE, 47250781900800, 47250781900800, -STORE, 47250781900800, 47250781925375, -ERASE, 47250781925376, 47250781925376, -STORE, 47250781925376, 47250781941759, -STORE, 47250781925376, 47250781954047, -ERASE, 47250781900800, 47250781900800, -STORE, 47250781900800, 47250781917183, -STORE, 47250781917184, 47250781925375, -ERASE, 47250780086272, 47250780086272, -STORE, 47250780086272, 47250780090367, -STORE, 47250780090368, 47250780094463, -ERASE, 94425324986368, 94425324986368, -STORE, 94425324986368, 94425325002751, -STORE, 94425325002752, 94425325006847, -ERASE, 140382015176704, 140382015176704, -STORE, 140382015176704, 140382015180799, -STORE, 140382015180800, 140382015184895, -ERASE, 47250779979776, 47250779979776, -STORE, 94425351438336, 94425351573503, -STORE, 140737488347136, 140737488351231, -STORE, 140736801144832, 140737488351231, -ERASE, 140736801144832, 140736801144832, -STORE, 140736801144832, 140736801148927, -STORE, 94629429358592, 94629430071295, -ERASE, 94629429358592, 94629429358592, -STORE, 94629429358592, 94629429407743, -STORE, 94629429407744, 94629430071295, -ERASE, 94629429407744, 94629429407744, -STORE, 94629429407744, 94629429952511, -STORE, 94629429952512, 94629430050815, -STORE, 94629430050816, 94629430071295, -STORE, 139801685483520, 139801685655551, -ERASE, 139801685483520, 139801685483520, -STORE, 139801685483520, 139801685487615, -STORE, 139801685487616, 139801685655551, -ERASE, 139801685487616, 139801685487616, -STORE, 139801685487616, 139801685610495, -STORE, 139801685610496, 139801685643263, -STORE, 139801685643264, 139801685651455, -STORE, 139801685651456, 139801685655551, -STORE, 140736801198080, 140736801202175, -STORE, 140736801185792, 140736801198079, -STORE, 47831109513216, 47831109521407, -STORE, 47831109521408, 47831109529599, -STORE, 47831109529600, 47831109636095, -STORE, 47831109545984, 47831109636095, -STORE, 47831109529600, 47831109545983, -ERASE, 47831109545984, 47831109545984, -STORE, 47831109545984, 47831109619711, -STORE, 47831109619712, 47831109636095, -STORE, 47831109599232, 47831109619711, -STORE, 47831109545984, 47831109599231, -ERASE, 47831109545984, 47831109545984, -STORE, 47831109545984, 47831109599231, -STORE, 47831109615616, 47831109619711, -STORE, 47831109599232, 47831109615615, -ERASE, 47831109599232, 47831109599232, -STORE, 47831109599232, 47831109615615, -STORE, 47831109627904, 47831109636095, -STORE, 47831109619712, 47831109627903, -ERASE, 47831109619712, 47831109619712, -STORE, 47831109619712, 47831109627903, -ERASE, 47831109627904, 47831109627904, -STORE, 47831109627904, 47831109636095, -STORE, 47831109636096, 47831111475199, -STORE, 47831109775360, 47831111475199, -STORE, 47831109636096, 47831109775359, -ERASE, 47831109775360, 47831109775360, -STORE, 47831109775360, 47831111434239, -STORE, 47831111434240, 47831111475199, -STORE, 47831111118848, 47831111434239, -STORE, 47831109775360, 47831111118847, -ERASE, 47831109775360, 47831109775360, -STORE, 47831109775360, 47831111118847, -STORE, 47831111430144, 47831111434239, -STORE, 47831111118848, 47831111430143, -ERASE, 47831111118848, 47831111118848, -STORE, 47831111118848, 47831111430143, -STORE, 47831111458816, 47831111475199, -STORE, 47831111434240, 47831111458815, -ERASE, 47831111434240, 47831111434240, -STORE, 47831111434240, 47831111458815, -ERASE, 47831111458816, 47831111458816, -STORE, 47831111458816, 47831111475199, -STORE, 47831111458816, 47831111487487, -ERASE, 47831111434240, 47831111434240, -STORE, 47831111434240, 47831111450623, -STORE, 47831111450624, 47831111458815, -ERASE, 47831109619712, 47831109619712, -STORE, 47831109619712, 47831109623807, -STORE, 47831109623808, 47831109627903, -ERASE, 94629430050816, 94629430050816, -STORE, 94629430050816, 94629430067199, -STORE, 94629430067200, 94629430071295, -ERASE, 139801685643264, 139801685643264, -STORE, 139801685643264, 139801685647359, -STORE, 139801685647360, 139801685651455, -ERASE, 47831109513216, 47831109513216, -STORE, 140737488347136, 140737488351231, -STORE, 140729419612160, 140737488351231, -ERASE, 140729419612160, 140729419612160, -STORE, 140729419612160, 140729419616255, -STORE, 94443354148864, 94443354861567, -ERASE, 94443354148864, 94443354148864, -STORE, 94443354148864, 94443354198015, -STORE, 94443354198016, 94443354861567, -ERASE, 94443354198016, 94443354198016, -STORE, 94443354198016, 94443354742783, -STORE, 94443354742784, 94443354841087, -STORE, 94443354841088, 94443354861567, -STORE, 139741700038656, 139741700210687, -ERASE, 139741700038656, 139741700038656, -STORE, 139741700038656, 139741700042751, -STORE, 139741700042752, 139741700210687, -ERASE, 139741700042752, 139741700042752, -STORE, 139741700042752, 139741700165631, -STORE, 139741700165632, 139741700198399, -STORE, 139741700198400, 139741700206591, -STORE, 139741700206592, 139741700210687, -STORE, 140729420574720, 140729420578815, -STORE, 140729420562432, 140729420574719, -STORE, 47891094958080, 47891094966271, -STORE, 47891094966272, 47891094974463, -STORE, 47891094974464, 47891095080959, -STORE, 47891094990848, 47891095080959, -STORE, 47891094974464, 47891094990847, -ERASE, 47891094990848, 47891094990848, -STORE, 47891094990848, 47891095064575, -STORE, 47891095064576, 47891095080959, -STORE, 47891095044096, 47891095064575, -STORE, 47891094990848, 47891095044095, -ERASE, 47891094990848, 47891094990848, -STORE, 47891094990848, 47891095044095, -STORE, 47891095060480, 47891095064575, -STORE, 47891095044096, 47891095060479, -ERASE, 47891095044096, 47891095044096, -STORE, 47891095044096, 47891095060479, -STORE, 47891095072768, 47891095080959, -STORE, 47891095064576, 47891095072767, -ERASE, 47891095064576, 47891095064576, -STORE, 47891095064576, 47891095072767, -ERASE, 47891095072768, 47891095072768, -STORE, 47891095072768, 47891095080959, -STORE, 47891095080960, 47891096920063, -STORE, 47891095220224, 47891096920063, -STORE, 47891095080960, 47891095220223, -ERASE, 47891095220224, 47891095220224, -STORE, 47891095220224, 47891096879103, -STORE, 47891096879104, 47891096920063, -STORE, 47891096563712, 47891096879103, -STORE, 47891095220224, 47891096563711, -ERASE, 47891095220224, 47891095220224, -STORE, 47891095220224, 47891096563711, -STORE, 47891096875008, 47891096879103, -STORE, 47891096563712, 47891096875007, -ERASE, 47891096563712, 47891096563712, -STORE, 47891096563712, 47891096875007, -STORE, 47891096903680, 47891096920063, -STORE, 47891096879104, 47891096903679, -ERASE, 47891096879104, 47891096879104, -STORE, 47891096879104, 47891096903679, -ERASE, 47891096903680, 47891096903680, -STORE, 47891096903680, 47891096920063, -STORE, 47891096903680, 47891096932351, -ERASE, 47891096879104, 47891096879104, -STORE, 47891096879104, 47891096895487, -STORE, 47891096895488, 47891096903679, -ERASE, 47891095064576, 47891095064576, -STORE, 47891095064576, 47891095068671, -STORE, 47891095068672, 47891095072767, -ERASE, 94443354841088, 94443354841088, -STORE, 94443354841088, 94443354857471, -STORE, 94443354857472, 94443354861567, -ERASE, 139741700198400, 139741700198400, -STORE, 139741700198400, 139741700202495, -STORE, 139741700202496, 139741700206591, -ERASE, 47891094958080, 47891094958080, -STORE, 94443360825344, 94443360960511, -STORE, 140737488347136, 140737488351231, -STORE, 140722961661952, 140737488351231, -ERASE, 140722961661952, 140722961661952, -STORE, 140722961661952, 140722961666047, -STORE, 94878388944896, 94878389657599, -ERASE, 94878388944896, 94878388944896, -STORE, 94878388944896, 94878388994047, -STORE, 94878388994048, 94878389657599, -ERASE, 94878388994048, 94878388994048, -STORE, 94878388994048, 94878389538815, -STORE, 94878389538816, 94878389637119, -STORE, 94878389637120, 94878389657599, -STORE, 140210690056192, 140210690228223, -ERASE, 140210690056192, 140210690056192, -STORE, 140210690056192, 140210690060287, -STORE, 140210690060288, 140210690228223, -ERASE, 140210690060288, 140210690060288, -STORE, 140210690060288, 140210690183167, -STORE, 140210690183168, 140210690215935, -STORE, 140210690215936, 140210690224127, -STORE, 140210690224128, 140210690228223, -STORE, 140722963148800, 140722963152895, -STORE, 140722963136512, 140722963148799, -STORE, 47422104940544, 47422104948735, -STORE, 47422104948736, 47422104956927, -STORE, 47422104956928, 47422105063423, -STORE, 47422104973312, 47422105063423, -STORE, 47422104956928, 47422104973311, -ERASE, 47422104973312, 47422104973312, -STORE, 47422104973312, 47422105047039, -STORE, 47422105047040, 47422105063423, -STORE, 47422105026560, 47422105047039, -STORE, 47422104973312, 47422105026559, -ERASE, 47422104973312, 47422104973312, -STORE, 47422104973312, 47422105026559, -STORE, 47422105042944, 47422105047039, -STORE, 47422105026560, 47422105042943, -ERASE, 47422105026560, 47422105026560, -STORE, 47422105026560, 47422105042943, -STORE, 47422105055232, 47422105063423, -STORE, 47422105047040, 47422105055231, -ERASE, 47422105047040, 47422105047040, -STORE, 47422105047040, 47422105055231, -ERASE, 47422105055232, 47422105055232, -STORE, 47422105055232, 47422105063423, -STORE, 47422105063424, 47422106902527, -STORE, 47422105202688, 47422106902527, -STORE, 47422105063424, 47422105202687, -ERASE, 47422105202688, 47422105202688, -STORE, 47422105202688, 47422106861567, -STORE, 47422106861568, 47422106902527, -STORE, 47422106546176, 47422106861567, -STORE, 47422105202688, 47422106546175, -ERASE, 47422105202688, 47422105202688, -STORE, 47422105202688, 47422106546175, -STORE, 47422106857472, 47422106861567, -STORE, 47422106546176, 47422106857471, -ERASE, 47422106546176, 47422106546176, -STORE, 47422106546176, 47422106857471, -STORE, 47422106886144, 47422106902527, -STORE, 47422106861568, 47422106886143, -ERASE, 47422106861568, 47422106861568, -STORE, 47422106861568, 47422106886143, -ERASE, 47422106886144, 47422106886144, -STORE, 47422106886144, 47422106902527, -STORE, 47422106886144, 47422106914815, -ERASE, 47422106861568, 47422106861568, -STORE, 47422106861568, 47422106877951, -STORE, 47422106877952, 47422106886143, -ERASE, 47422105047040, 47422105047040, -STORE, 47422105047040, 47422105051135, -STORE, 47422105051136, 47422105055231, -ERASE, 94878389637120, 94878389637120, -STORE, 94878389637120, 94878389653503, -STORE, 94878389653504, 94878389657599, -ERASE, 140210690215936, 140210690215936, -STORE, 140210690215936, 140210690220031, -STORE, 140210690220032, 140210690224127, -ERASE, 47422104940544, 47422104940544, -STORE, 140737488347136, 140737488351231, -STORE, 140727690309632, 140737488351231, -ERASE, 140727690309632, 140727690309632, -STORE, 140727690309632, 140727690313727, -STORE, 94121892208640, 94121892921343, -ERASE, 94121892208640, 94121892208640, -STORE, 94121892208640, 94121892257791, -STORE, 94121892257792, 94121892921343, -ERASE, 94121892257792, 94121892257792, -STORE, 94121892257792, 94121892802559, -STORE, 94121892802560, 94121892900863, -STORE, 94121892900864, 94121892921343, -STORE, 140662438326272, 140662438498303, -ERASE, 140662438326272, 140662438326272, -STORE, 140662438326272, 140662438330367, -STORE, 140662438330368, 140662438498303, -ERASE, 140662438330368, 140662438330368, -STORE, 140662438330368, 140662438453247, -STORE, 140662438453248, 140662438486015, -STORE, 140662438486016, 140662438494207, -STORE, 140662438494208, 140662438498303, -STORE, 140727690379264, 140727690383359, -STORE, 140727690366976, 140727690379263, -STORE, 46970356670464, 46970356678655, -STORE, 46970356678656, 46970356686847, -STORE, 46970356686848, 46970356793343, -STORE, 46970356703232, 46970356793343, -STORE, 46970356686848, 46970356703231, -ERASE, 46970356703232, 46970356703232, -STORE, 46970356703232, 46970356776959, -STORE, 46970356776960, 46970356793343, -STORE, 46970356756480, 46970356776959, -STORE, 46970356703232, 46970356756479, -ERASE, 46970356703232, 46970356703232, -STORE, 46970356703232, 46970356756479, -STORE, 46970356772864, 46970356776959, -STORE, 46970356756480, 46970356772863, -ERASE, 46970356756480, 46970356756480, -STORE, 46970356756480, 46970356772863, -STORE, 46970356785152, 46970356793343, -STORE, 46970356776960, 46970356785151, -ERASE, 46970356776960, 46970356776960, -STORE, 46970356776960, 46970356785151, -ERASE, 46970356785152, 46970356785152, -STORE, 46970356785152, 46970356793343, -STORE, 46970356793344, 46970358632447, -STORE, 46970356932608, 46970358632447, -STORE, 46970356793344, 46970356932607, -ERASE, 46970356932608, 46970356932608, -STORE, 46970356932608, 46970358591487, -STORE, 46970358591488, 46970358632447, -STORE, 46970358276096, 46970358591487, -STORE, 46970356932608, 46970358276095, -ERASE, 46970356932608, 46970356932608, -STORE, 46970356932608, 46970358276095, -STORE, 46970358587392, 46970358591487, -STORE, 46970358276096, 46970358587391, -ERASE, 46970358276096, 46970358276096, -STORE, 46970358276096, 46970358587391, -STORE, 46970358616064, 46970358632447, -STORE, 46970358591488, 46970358616063, -ERASE, 46970358591488, 46970358591488, -STORE, 46970358591488, 46970358616063, -ERASE, 46970358616064, 46970358616064, -STORE, 46970358616064, 46970358632447, -STORE, 46970358616064, 46970358644735, -ERASE, 46970358591488, 46970358591488, -STORE, 46970358591488, 46970358607871, -STORE, 46970358607872, 46970358616063, -ERASE, 46970356776960, 46970356776960, -STORE, 46970356776960, 46970356781055, -STORE, 46970356781056, 46970356785151, -ERASE, 94121892900864, 94121892900864, -STORE, 94121892900864, 94121892917247, -STORE, 94121892917248, 94121892921343, -ERASE, 140662438486016, 140662438486016, -STORE, 140662438486016, 140662438490111, -STORE, 140662438490112, 140662438494207, -ERASE, 46970356670464, 46970356670464, -STORE, 94121898610688, 94121898745855, -STORE, 140737488347136, 140737488351231, -STORE, 140737189351424, 140737488351231, -ERASE, 140737189351424, 140737189351424, -STORE, 140737189351424, 140737189355519, -STORE, 93847948832768, 93847949545471, -ERASE, 93847948832768, 93847948832768, -STORE, 93847948832768, 93847948881919, -STORE, 93847948881920, 93847949545471, -ERASE, 93847948881920, 93847948881920, -STORE, 93847948881920, 93847949426687, -STORE, 93847949426688, 93847949524991, -STORE, 93847949524992, 93847949545471, -STORE, 139698989985792, 139698990157823, -ERASE, 139698989985792, 139698989985792, -STORE, 139698989985792, 139698989989887, -STORE, 139698989989888, 139698990157823, -ERASE, 139698989989888, 139698989989888, -STORE, 139698989989888, 139698990112767, -STORE, 139698990112768, 139698990145535, -STORE, 139698990145536, 139698990153727, -STORE, 139698990153728, 139698990157823, -STORE, 140737189744640, 140737189748735, -STORE, 140737189732352, 140737189744639, -STORE, 47933805010944, 47933805019135, -STORE, 47933805019136, 47933805027327, -STORE, 47933805027328, 47933805133823, -STORE, 47933805043712, 47933805133823, -STORE, 47933805027328, 47933805043711, -ERASE, 47933805043712, 47933805043712, -STORE, 47933805043712, 47933805117439, -STORE, 47933805117440, 47933805133823, -STORE, 47933805096960, 47933805117439, -STORE, 47933805043712, 47933805096959, -ERASE, 47933805043712, 47933805043712, -STORE, 47933805043712, 47933805096959, -STORE, 47933805113344, 47933805117439, -STORE, 47933805096960, 47933805113343, -ERASE, 47933805096960, 47933805096960, -STORE, 47933805096960, 47933805113343, -STORE, 47933805125632, 47933805133823, -STORE, 47933805117440, 47933805125631, -ERASE, 47933805117440, 47933805117440, -STORE, 47933805117440, 47933805125631, -ERASE, 47933805125632, 47933805125632, -STORE, 47933805125632, 47933805133823, -STORE, 47933805133824, 47933806972927, -STORE, 47933805273088, 47933806972927, -STORE, 47933805133824, 47933805273087, -ERASE, 47933805273088, 47933805273088, -STORE, 47933805273088, 47933806931967, -STORE, 47933806931968, 47933806972927, -STORE, 47933806616576, 47933806931967, -STORE, 47933805273088, 47933806616575, -ERASE, 47933805273088, 47933805273088, -STORE, 47933805273088, 47933806616575, -STORE, 47933806927872, 47933806931967, -STORE, 47933806616576, 47933806927871, -ERASE, 47933806616576, 47933806616576, -STORE, 47933806616576, 47933806927871, -STORE, 47933806956544, 47933806972927, -STORE, 47933806931968, 47933806956543, -ERASE, 47933806931968, 47933806931968, -STORE, 47933806931968, 47933806956543, -ERASE, 47933806956544, 47933806956544, -STORE, 47933806956544, 47933806972927, -STORE, 47933806956544, 47933806985215, -ERASE, 47933806931968, 47933806931968, -STORE, 47933806931968, 47933806948351, -STORE, 47933806948352, 47933806956543, -ERASE, 47933805117440, 47933805117440, -STORE, 47933805117440, 47933805121535, -STORE, 47933805121536, 47933805125631, -ERASE, 93847949524992, 93847949524992, -STORE, 93847949524992, 93847949541375, -STORE, 93847949541376, 93847949545471, -ERASE, 139698990145536, 139698990145536, -STORE, 139698990145536, 139698990149631, -STORE, 139698990149632, 139698990153727, -ERASE, 47933805010944, 47933805010944, -STORE, 140737488347136, 140737488351231, -STORE, 140725553991680, 140737488351231, -ERASE, 140725553991680, 140725553991680, -STORE, 140725553991680, 140725553995775, -STORE, 93980056248320, 93980056961023, -ERASE, 93980056248320, 93980056248320, -STORE, 93980056248320, 93980056297471, -STORE, 93980056297472, 93980056961023, -ERASE, 93980056297472, 93980056297472, -STORE, 93980056297472, 93980056842239, -STORE, 93980056842240, 93980056940543, -STORE, 93980056940544, 93980056961023, -STORE, 140146588971008, 140146589143039, -ERASE, 140146588971008, 140146588971008, -STORE, 140146588971008, 140146588975103, -STORE, 140146588975104, 140146589143039, -ERASE, 140146588975104, 140146588975104, -STORE, 140146588975104, 140146589097983, -STORE, 140146589097984, 140146589130751, -STORE, 140146589130752, 140146589138943, -STORE, 140146589138944, 140146589143039, -STORE, 140725554860032, 140725554864127, -STORE, 140725554847744, 140725554860031, -STORE, 47486206025728, 47486206033919, -STORE, 47486206033920, 47486206042111, -STORE, 47486206042112, 47486206148607, -STORE, 47486206058496, 47486206148607, -STORE, 47486206042112, 47486206058495, -ERASE, 47486206058496, 47486206058496, -STORE, 47486206058496, 47486206132223, -STORE, 47486206132224, 47486206148607, -STORE, 47486206111744, 47486206132223, -STORE, 47486206058496, 47486206111743, -ERASE, 47486206058496, 47486206058496, -STORE, 47486206058496, 47486206111743, -STORE, 47486206128128, 47486206132223, -STORE, 47486206111744, 47486206128127, -ERASE, 47486206111744, 47486206111744, -STORE, 47486206111744, 47486206128127, -STORE, 47486206140416, 47486206148607, -STORE, 47486206132224, 47486206140415, -ERASE, 47486206132224, 47486206132224, -STORE, 47486206132224, 47486206140415, -ERASE, 47486206140416, 47486206140416, -STORE, 47486206140416, 47486206148607, -STORE, 47486206148608, 47486207987711, -STORE, 47486206287872, 47486207987711, -STORE, 47486206148608, 47486206287871, -ERASE, 47486206287872, 47486206287872, -STORE, 47486206287872, 47486207946751, -STORE, 47486207946752, 47486207987711, -STORE, 47486207631360, 47486207946751, -STORE, 47486206287872, 47486207631359, -ERASE, 47486206287872, 47486206287872, -STORE, 47486206287872, 47486207631359, -STORE, 47486207942656, 47486207946751, -STORE, 47486207631360, 47486207942655, -ERASE, 47486207631360, 47486207631360, -STORE, 47486207631360, 47486207942655, -STORE, 47486207971328, 47486207987711, -STORE, 47486207946752, 47486207971327, -ERASE, 47486207946752, 47486207946752, -STORE, 47486207946752, 47486207971327, -ERASE, 47486207971328, 47486207971328, -STORE, 47486207971328, 47486207987711, -STORE, 47486207971328, 47486207999999, -ERASE, 47486207946752, 47486207946752, -STORE, 47486207946752, 47486207963135, -STORE, 47486207963136, 47486207971327, -ERASE, 47486206132224, 47486206132224, -STORE, 47486206132224, 47486206136319, -STORE, 47486206136320, 47486206140415, -ERASE, 93980056940544, 93980056940544, -STORE, 93980056940544, 93980056956927, -STORE, 93980056956928, 93980056961023, -ERASE, 140146589130752, 140146589130752, -STORE, 140146589130752, 140146589134847, -STORE, 140146589134848, 140146589138943, -ERASE, 47486206025728, 47486206025728, -STORE, 93980070006784, 93980070141951, -STORE, 140737488347136, 140737488351231, -STORE, 140727334776832, 140737488351231, -ERASE, 140727334776832, 140727334776832, -STORE, 140727334776832, 140727334780927, -STORE, 94049747247104, 94049747959807, -ERASE, 94049747247104, 94049747247104, -STORE, 94049747247104, 94049747296255, -STORE, 94049747296256, 94049747959807, -ERASE, 94049747296256, 94049747296256, -STORE, 94049747296256, 94049747841023, -STORE, 94049747841024, 94049747939327, -STORE, 94049747939328, 94049747959807, -STORE, 140227307216896, 140227307388927, -ERASE, 140227307216896, 140227307216896, -STORE, 140227307216896, 140227307220991, -STORE, 140227307220992, 140227307388927, -ERASE, 140227307220992, 140227307220992, -STORE, 140227307220992, 140227307343871, -STORE, 140227307343872, 140227307376639, -STORE, 140227307376640, 140227307384831, -STORE, 140227307384832, 140227307388927, -STORE, 140727335337984, 140727335342079, -STORE, 140727335325696, 140727335337983, -STORE, 47405487779840, 47405487788031, -STORE, 47405487788032, 47405487796223, -STORE, 47405487796224, 47405487902719, -STORE, 47405487812608, 47405487902719, -STORE, 47405487796224, 47405487812607, -ERASE, 47405487812608, 47405487812608, -STORE, 47405487812608, 47405487886335, -STORE, 47405487886336, 47405487902719, -STORE, 47405487865856, 47405487886335, -STORE, 47405487812608, 47405487865855, -ERASE, 47405487812608, 47405487812608, -STORE, 47405487812608, 47405487865855, -STORE, 47405487882240, 47405487886335, -STORE, 47405487865856, 47405487882239, -ERASE, 47405487865856, 47405487865856, -STORE, 47405487865856, 47405487882239, -STORE, 47405487894528, 47405487902719, -STORE, 47405487886336, 47405487894527, -ERASE, 47405487886336, 47405487886336, -STORE, 47405487886336, 47405487894527, -ERASE, 47405487894528, 47405487894528, -STORE, 47405487894528, 47405487902719, -STORE, 47405487902720, 47405489741823, -STORE, 47405488041984, 47405489741823, -STORE, 47405487902720, 47405488041983, -ERASE, 47405488041984, 47405488041984, -STORE, 47405488041984, 47405489700863, -STORE, 47405489700864, 47405489741823, -STORE, 47405489385472, 47405489700863, -STORE, 47405488041984, 47405489385471, -ERASE, 47405488041984, 47405488041984, -STORE, 47405488041984, 47405489385471, -STORE, 47405489696768, 47405489700863, -STORE, 47405489385472, 47405489696767, -ERASE, 47405489385472, 47405489385472, -STORE, 47405489385472, 47405489696767, -STORE, 47405489725440, 47405489741823, -STORE, 47405489700864, 47405489725439, -ERASE, 47405489700864, 47405489700864, -STORE, 47405489700864, 47405489725439, -ERASE, 47405489725440, 47405489725440, -STORE, 47405489725440, 47405489741823, -STORE, 47405489725440, 47405489754111, -ERASE, 47405489700864, 47405489700864, -STORE, 47405489700864, 47405489717247, -STORE, 47405489717248, 47405489725439, -ERASE, 47405487886336, 47405487886336, -STORE, 47405487886336, 47405487890431, -STORE, 47405487890432, 47405487894527, -ERASE, 94049747939328, 94049747939328, -STORE, 94049747939328, 94049747955711, -STORE, 94049747955712, 94049747959807, -ERASE, 140227307376640, 140227307376640, -STORE, 140227307376640, 140227307380735, -STORE, 140227307380736, 140227307384831, -ERASE, 47405487779840, 47405487779840, -STORE, 94049758810112, 94049758945279, -STORE, 140737488347136, 140737488351231, -STORE, 140727079718912, 140737488351231, -ERASE, 140727079718912, 140727079718912, -STORE, 140727079718912, 140727079723007, -STORE, 94250996527104, 94250997239807, -ERASE, 94250996527104, 94250996527104, -STORE, 94250996527104, 94250996576255, -STORE, 94250996576256, 94250997239807, -ERASE, 94250996576256, 94250996576256, -STORE, 94250996576256, 94250997121023, -STORE, 94250997121024, 94250997219327, -STORE, 94250997219328, 94250997239807, -STORE, 140060022587392, 140060022759423, -ERASE, 140060022587392, 140060022587392, -STORE, 140060022587392, 140060022591487, -STORE, 140060022591488, 140060022759423, -ERASE, 140060022591488, 140060022591488, -STORE, 140060022591488, 140060022714367, -STORE, 140060022714368, 140060022747135, -STORE, 140060022747136, 140060022755327, -STORE, 140060022755328, 140060022759423, -STORE, 140727079788544, 140727079792639, -STORE, 140727079776256, 140727079788543, -/* this next one caused issues when lowering the efficiency */ -STORE, 47572772409344, 47572772417535, -STORE, 47572772417536, 47572772425727, -STORE, 47572772425728, 47572772532223, -STORE, 47572772442112, 47572772532223, -STORE, 47572772425728, 47572772442111, -ERASE, 47572772442112, 47572772442112, -STORE, 47572772442112, 47572772515839, -STORE, 47572772515840, 47572772532223, -STORE, 47572772495360, 47572772515839, -STORE, 47572772442112, 47572772495359, -ERASE, 47572772442112, 47572772442112, -STORE, 47572772442112, 47572772495359, -STORE, 47572772511744, 47572772515839, -STORE, 47572772495360, 47572772511743, -ERASE, 47572772495360, 47572772495360, -STORE, 47572772495360, 47572772511743, -STORE, 47572772524032, 47572772532223, -STORE, 47572772515840, 47572772524031, -ERASE, 47572772515840, 47572772515840, -STORE, 47572772515840, 47572772524031, -ERASE, 47572772524032, 47572772524032, -STORE, 47572772524032, 47572772532223, -STORE, 47572772532224, 47572774371327, -STORE, 47572772671488, 47572774371327, -STORE, 47572772532224, 47572772671487, -ERASE, 47572772671488, 47572772671488, -STORE, 47572772671488, 47572774330367, -STORE, 47572774330368, 47572774371327, -STORE, 47572774014976, 47572774330367, -STORE, 47572772671488, 47572774014975, -ERASE, 47572772671488, 47572772671488, -STORE, 47572772671488, 47572774014975, -STORE, 47572774326272, 47572774330367, -STORE, 47572774014976, 47572774326271, -ERASE, 47572774014976, 47572774014976, -STORE, 47572774014976, 47572774326271, -STORE, 47572774354944, 47572774371327, -STORE, 47572774330368, 47572774354943, -ERASE, 47572774330368, 47572774330368, -STORE, 47572774330368, 47572774354943, -ERASE, 47572774354944, 47572774354944, -STORE, 47572774354944, 47572774371327, -STORE, 47572774354944, 47572774383615, -ERASE, 47572774330368, 47572774330368, -STORE, 47572774330368, 47572774346751, -STORE, 47572774346752, 47572774354943, -ERASE, 47572772515840, 47572772515840, -STORE, 47572772515840, 47572772519935, -STORE, 47572772519936, 47572772524031, -ERASE, 94250997219328, 94250997219328, -STORE, 94250997219328, 94250997235711, -STORE, 94250997235712, 94250997239807, -ERASE, 140060022747136, 140060022747136, -STORE, 140060022747136, 140060022751231, -STORE, 140060022751232, 140060022755327, -ERASE, 47572772409344, 47572772409344, -STORE, 94251018305536, 94251018440703, -STORE, 140737488347136, 140737488351231, -STORE, 140730012389376, 140737488351231, -ERASE, 140730012389376, 140730012389376, -STORE, 140730012389376, 140730012393471, -STORE, 94382607675392, 94382607695871, -ERASE, 94382607675392, 94382607675392, -STORE, 94382607675392, 94382607679487, -STORE, 94382607679488, 94382607695871, -ERASE, 94382607679488, 94382607679488, -STORE, 94382607679488, 94382607683583, -STORE, 94382607683584, 94382607687679, -STORE, 94382607687680, 94382607695871, -STORE, 140252451454976, 140252451627007, -ERASE, 140252451454976, 140252451454976, -STORE, 140252451454976, 140252451459071, -STORE, 140252451459072, 140252451627007, -ERASE, 140252451459072, 140252451459072, -STORE, 140252451459072, 140252451581951, -STORE, 140252451581952, 140252451614719, -STORE, 140252451614720, 140252451622911, -STORE, 140252451622912, 140252451627007, -STORE, 140730013548544, 140730013552639, -STORE, 140730013536256, 140730013548543, -STORE, 47380343541760, 47380343549951, -STORE, 47380343549952, 47380343558143, -STORE, 47380343558144, 47380345397247, -STORE, 47380343697408, 47380345397247, -STORE, 47380343558144, 47380343697407, -ERASE, 47380343697408, 47380343697408, -STORE, 47380343697408, 47380345356287, -STORE, 47380345356288, 47380345397247, -STORE, 47380345040896, 47380345356287, -STORE, 47380343697408, 47380345040895, -ERASE, 47380343697408, 47380343697408, -STORE, 47380343697408, 47380345040895, -STORE, 47380345352192, 47380345356287, -STORE, 47380345040896, 47380345352191, -ERASE, 47380345040896, 47380345040896, -STORE, 47380345040896, 47380345352191, -STORE, 47380345380864, 47380345397247, -STORE, 47380345356288, 47380345380863, -ERASE, 47380345356288, 47380345356288, -STORE, 47380345356288, 47380345380863, -ERASE, 47380345380864, 47380345380864, -STORE, 47380345380864, 47380345397247, -ERASE, 47380345356288, 47380345356288, -STORE, 47380345356288, 47380345372671, -STORE, 47380345372672, 47380345380863, -ERASE, 94382607687680, 94382607687680, -STORE, 94382607687680, 94382607691775, -STORE, 94382607691776, 94382607695871, -ERASE, 140252451614720, 140252451614720, -STORE, 140252451614720, 140252451618815, -STORE, 140252451618816, 140252451622911, -ERASE, 47380343541760, 47380343541760, -STORE, 94382626803712, 94382626938879, -STORE, 140737488347136, 140737488351231, -STORE, 140730900271104, 140737488351231, -ERASE, 140730900271104, 140730900271104, -STORE, 140730900271104, 140730900275199, -STORE, 93855478120448, 93855478337535, -ERASE, 93855478120448, 93855478120448, -STORE, 93855478120448, 93855478198271, -STORE, 93855478198272, 93855478337535, -ERASE, 93855478198272, 93855478198272, -STORE, 93855478198272, 93855478243327, -STORE, 93855478243328, 93855478288383, -STORE, 93855478288384, 93855478337535, -STORE, 140092686573568, 140092686745599, -ERASE, 140092686573568, 140092686573568, -STORE, 140092686573568, 140092686577663, -STORE, 140092686577664, 140092686745599, -ERASE, 140092686577664, 140092686577664, -STORE, 140092686577664, 140092686700543, -STORE, 140092686700544, 140092686733311, -STORE, 140092686733312, 140092686741503, -STORE, 140092686741504, 140092686745599, -STORE, 140730900537344, 140730900541439, -STORE, 140730900525056, 140730900537343, -STORE, 47540108423168, 47540108431359, -STORE, 47540108431360, 47540108439551, -STORE, 47540108439552, 47540110278655, -STORE, 47540108578816, 47540110278655, -STORE, 47540108439552, 47540108578815, -ERASE, 47540108578816, 47540108578816, -STORE, 47540108578816, 47540110237695, -STORE, 47540110237696, 47540110278655, -STORE, 47540109922304, 47540110237695, -STORE, 47540108578816, 47540109922303, -ERASE, 47540108578816, 47540108578816, -STORE, 47540108578816, 47540109922303, -STORE, 47540110233600, 47540110237695, -STORE, 47540109922304, 47540110233599, -ERASE, 47540109922304, 47540109922304, -STORE, 47540109922304, 47540110233599, -STORE, 47540110262272, 47540110278655, -STORE, 47540110237696, 47540110262271, -ERASE, 47540110237696, 47540110237696, -STORE, 47540110237696, 47540110262271, -ERASE, 47540110262272, 47540110262272, -STORE, 47540110262272, 47540110278655, -ERASE, 47540110237696, 47540110237696, -STORE, 47540110237696, 47540110254079, -STORE, 47540110254080, 47540110262271, -ERASE, 93855478288384, 93855478288384, -STORE, 93855478288384, 93855478333439, -STORE, 93855478333440, 93855478337535, -ERASE, 140092686733312, 140092686733312, -STORE, 140092686733312, 140092686737407, -STORE, 140092686737408, 140092686741503, -ERASE, 47540108423168, 47540108423168, -STORE, 93855492222976, 93855492358143, -STORE, 93855492222976, 93855492493311, -STORE, 140737488347136, 140737488351231, -STORE, 140733498146816, 140737488351231, -ERASE, 140733498146816, 140733498146816, -STORE, 140733498146816, 140733498150911, -STORE, 94170739654656, 94170740367359, -ERASE, 94170739654656, 94170739654656, -STORE, 94170739654656, 94170739703807, -STORE, 94170739703808, 94170740367359, -ERASE, 94170739703808, 94170739703808, -STORE, 94170739703808, 94170740248575, -STORE, 94170740248576, 94170740346879, -STORE, 94170740346880, 94170740367359, -STORE, 140024788877312, 140024789049343, -ERASE, 140024788877312, 140024788877312, -STORE, 140024788877312, 140024788881407, -STORE, 140024788881408, 140024789049343, -ERASE, 140024788881408, 140024788881408, -STORE, 140024788881408, 140024789004287, -STORE, 140024789004288, 140024789037055, -STORE, 140024789037056, 140024789045247, -STORE, 140024789045248, 140024789049343, -STORE, 140733499023360, 140733499027455, -STORE, 140733499011072, 140733499023359, -STORE, 47608006119424, 47608006127615, -STORE, 47608006127616, 47608006135807, -STORE, 47608006135808, 47608006242303, -STORE, 47608006152192, 47608006242303, -STORE, 47608006135808, 47608006152191, -ERASE, 47608006152192, 47608006152192, -STORE, 47608006152192, 47608006225919, -STORE, 47608006225920, 47608006242303, -STORE, 47608006205440, 47608006225919, -STORE, 47608006152192, 47608006205439, -ERASE, 47608006152192, 47608006152192, -STORE, 47608006152192, 47608006205439, -STORE, 47608006221824, 47608006225919, -STORE, 47608006205440, 47608006221823, -ERASE, 47608006205440, 47608006205440, -STORE, 47608006205440, 47608006221823, -STORE, 47608006234112, 47608006242303, -STORE, 47608006225920, 47608006234111, -ERASE, 47608006225920, 47608006225920, -STORE, 47608006225920, 47608006234111, -ERASE, 47608006234112, 47608006234112, -STORE, 47608006234112, 47608006242303, -STORE, 47608006242304, 47608008081407, -STORE, 47608006381568, 47608008081407, -STORE, 47608006242304, 47608006381567, -ERASE, 47608006381568, 47608006381568, -STORE, 47608006381568, 47608008040447, -STORE, 47608008040448, 47608008081407, -STORE, 47608007725056, 47608008040447, -STORE, 47608006381568, 47608007725055, -ERASE, 47608006381568, 47608006381568, -STORE, 47608006381568, 47608007725055, -STORE, 47608008036352, 47608008040447, -STORE, 47608007725056, 47608008036351, -ERASE, 47608007725056, 47608007725056, -STORE, 47608007725056, 47608008036351, -STORE, 47608008065024, 47608008081407, -STORE, 47608008040448, 47608008065023, -ERASE, 47608008040448, 47608008040448, -STORE, 47608008040448, 47608008065023, -ERASE, 47608008065024, 47608008065024, -STORE, 47608008065024, 47608008081407, -STORE, 47608008065024, 47608008093695, -ERASE, 47608008040448, 47608008040448, -STORE, 47608008040448, 47608008056831, -STORE, 47608008056832, 47608008065023, -ERASE, 47608006225920, 47608006225920, -STORE, 47608006225920, 47608006230015, -STORE, 47608006230016, 47608006234111, -ERASE, 94170740346880, 94170740346880, -STORE, 94170740346880, 94170740363263, -STORE, 94170740363264, 94170740367359, -ERASE, 140024789037056, 140024789037056, -STORE, 140024789037056, 140024789041151, -STORE, 140024789041152, 140024789045247, -ERASE, 47608006119424, 47608006119424, -STORE, 140737488347136, 140737488351231, -STORE, 140730264326144, 140737488351231, -ERASE, 140730264326144, 140730264326144, -STORE, 140730264326144, 140730264330239, -STORE, 94653216407552, 94653217120255, -ERASE, 94653216407552, 94653216407552, -STORE, 94653216407552, 94653216456703, -STORE, 94653216456704, 94653217120255, -ERASE, 94653216456704, 94653216456704, -STORE, 94653216456704, 94653217001471, -STORE, 94653217001472, 94653217099775, -STORE, 94653217099776, 94653217120255, -STORE, 140103617011712, 140103617183743, -ERASE, 140103617011712, 140103617011712, -STORE, 140103617011712, 140103617015807, -STORE, 140103617015808, 140103617183743, -ERASE, 140103617015808, 140103617015808, -STORE, 140103617015808, 140103617138687, -STORE, 140103617138688, 140103617171455, -STORE, 140103617171456, 140103617179647, -STORE, 140103617179648, 140103617183743, -STORE, 140730265427968, 140730265432063, -STORE, 140730265415680, 140730265427967, -STORE, 47529177985024, 47529177993215, -STORE, 47529177993216, 47529178001407, -STORE, 47529178001408, 47529178107903, -STORE, 47529178017792, 47529178107903, -STORE, 47529178001408, 47529178017791, -ERASE, 47529178017792, 47529178017792, -STORE, 47529178017792, 47529178091519, -STORE, 47529178091520, 47529178107903, -STORE, 47529178071040, 47529178091519, -STORE, 47529178017792, 47529178071039, -ERASE, 47529178017792, 47529178017792, -STORE, 47529178017792, 47529178071039, -STORE, 47529178087424, 47529178091519, -STORE, 47529178071040, 47529178087423, -ERASE, 47529178071040, 47529178071040, -STORE, 47529178071040, 47529178087423, -STORE, 47529178099712, 47529178107903, -STORE, 47529178091520, 47529178099711, -ERASE, 47529178091520, 47529178091520, -STORE, 47529178091520, 47529178099711, -ERASE, 47529178099712, 47529178099712, -STORE, 47529178099712, 47529178107903, -STORE, 47529178107904, 47529179947007, -STORE, 47529178247168, 47529179947007, -STORE, 47529178107904, 47529178247167, -ERASE, 47529178247168, 47529178247168, -STORE, 47529178247168, 47529179906047, -STORE, 47529179906048, 47529179947007, -STORE, 47529179590656, 47529179906047, -STORE, 47529178247168, 47529179590655, -ERASE, 47529178247168, 47529178247168, -STORE, 47529178247168, 47529179590655, -STORE, 47529179901952, 47529179906047, -STORE, 47529179590656, 47529179901951, -ERASE, 47529179590656, 47529179590656, -STORE, 47529179590656, 47529179901951, -STORE, 47529179930624, 47529179947007, -STORE, 47529179906048, 47529179930623, -ERASE, 47529179906048, 47529179906048, -STORE, 47529179906048, 47529179930623, -ERASE, 47529179930624, 47529179930624, -STORE, 47529179930624, 47529179947007, -STORE, 47529179930624, 47529179959295, -ERASE, 47529179906048, 47529179906048, -STORE, 47529179906048, 47529179922431, -STORE, 47529179922432, 47529179930623, -ERASE, 47529178091520, 47529178091520, -STORE, 47529178091520, 47529178095615, -STORE, 47529178095616, 47529178099711, -ERASE, 94653217099776, 94653217099776, -STORE, 94653217099776, 94653217116159, -STORE, 94653217116160, 94653217120255, -ERASE, 140103617171456, 140103617171456, -STORE, 140103617171456, 140103617175551, -STORE, 140103617175552, 140103617179647, -ERASE, 47529177985024, 47529177985024, -STORE, 94653241135104, 94653241270271, -STORE, 140737488347136, 140737488351231, -STORE, 140736284549120, 140737488351231, -ERASE, 140736284549120, 140736284549120, -STORE, 140736284549120, 140736284553215, -STORE, 93963663822848, 93963664506879, -ERASE, 93963663822848, 93963663822848, -STORE, 93963663822848, 93963663884287, -STORE, 93963663884288, 93963664506879, -ERASE, 93963663884288, 93963663884288, -STORE, 93963663884288, 93963664240639, -STORE, 93963664240640, 93963664379903, -STORE, 93963664379904, 93963664506879, -STORE, 140450188439552, 140450188611583, -ERASE, 140450188439552, 140450188439552, -STORE, 140450188439552, 140450188443647, -STORE, 140450188443648, 140450188611583, -ERASE, 140450188443648, 140450188443648, -STORE, 140450188443648, 140450188566527, -STORE, 140450188566528, 140450188599295, -STORE, 140450188599296, 140450188607487, -STORE, 140450188607488, 140450188611583, -STORE, 140736284577792, 140736284581887, -STORE, 140736284565504, 140736284577791, -STORE, 47182606557184, 47182606565375, -STORE, 47182606565376, 47182606573567, -STORE, 47182606573568, 47182608412671, -STORE, 47182606712832, 47182608412671, -STORE, 47182606573568, 47182606712831, -ERASE, 47182606712832, 47182606712832, -STORE, 47182606712832, 47182608371711, -STORE, 47182608371712, 47182608412671, -STORE, 47182608056320, 47182608371711, -STORE, 47182606712832, 47182608056319, -ERASE, 47182606712832, 47182606712832, -STORE, 47182606712832, 47182608056319, -STORE, 47182608367616, 47182608371711, -STORE, 47182608056320, 47182608367615, -ERASE, 47182608056320, 47182608056320, -STORE, 47182608056320, 47182608367615, -STORE, 47182608396288, 47182608412671, -STORE, 47182608371712, 47182608396287, -ERASE, 47182608371712, 47182608371712, -STORE, 47182608371712, 47182608396287, -ERASE, 47182608396288, 47182608396288, -STORE, 47182608396288, 47182608412671, -STORE, 47182608412672, 47182608523263, -STORE, 47182608429056, 47182608523263, -STORE, 47182608412672, 47182608429055, -ERASE, 47182608429056, 47182608429056, -STORE, 47182608429056, 47182608515071, -STORE, 47182608515072, 47182608523263, -STORE, 47182608490496, 47182608515071, -STORE, 47182608429056, 47182608490495, -ERASE, 47182608429056, 47182608429056, -STORE, 47182608429056, 47182608490495, -STORE, 47182608510976, 47182608515071, -STORE, 47182608490496, 47182608510975, -ERASE, 47182608490496, 47182608490496, -STORE, 47182608490496, 47182608510975, -ERASE, 47182608515072, 47182608515072, -STORE, 47182608515072, 47182608523263, -STORE, 47182608523264, 47182608568319, -ERASE, 47182608523264, 47182608523264, -STORE, 47182608523264, 47182608531455, -STORE, 47182608531456, 47182608568319, -STORE, 47182608551936, 47182608568319, -STORE, 47182608531456, 47182608551935, -ERASE, 47182608531456, 47182608531456, -STORE, 47182608531456, 47182608551935, -STORE, 47182608560128, 47182608568319, -STORE, 47182608551936, 47182608560127, -ERASE, 47182608551936, 47182608551936, -STORE, 47182608551936, 47182608568319, -ERASE, 47182608551936, 47182608551936, -STORE, 47182608551936, 47182608560127, -STORE, 47182608560128, 47182608568319, -ERASE, 47182608560128, 47182608560128, -STORE, 47182608560128, 47182608568319, -STORE, 47182608568320, 47182608916479, -STORE, 47182608609280, 47182608916479, -STORE, 47182608568320, 47182608609279, -ERASE, 47182608609280, 47182608609280, -STORE, 47182608609280, 47182608891903, -STORE, 47182608891904, 47182608916479, -STORE, 47182608822272, 47182608891903, -STORE, 47182608609280, 47182608822271, -ERASE, 47182608609280, 47182608609280, -STORE, 47182608609280, 47182608822271, -STORE, 47182608887808, 47182608891903, -STORE, 47182608822272, 47182608887807, -ERASE, 47182608822272, 47182608822272, -STORE, 47182608822272, 47182608887807, -ERASE, 47182608891904, 47182608891904, -STORE, 47182608891904, 47182608916479, -STORE, 47182608916480, 47182611177471, -STORE, 47182609068032, 47182611177471, -STORE, 47182608916480, 47182609068031, -ERASE, 47182609068032, 47182609068032, -STORE, 47182609068032, 47182611161087, -STORE, 47182611161088, 47182611177471, -STORE, 47182611169280, 47182611177471, -STORE, 47182611161088, 47182611169279, -ERASE, 47182611161088, 47182611161088, -STORE, 47182611161088, 47182611169279, -ERASE, 47182611169280, 47182611169280, -STORE, 47182611169280, 47182611177471, -STORE, 47182611177472, 47182611312639, -ERASE, 47182611177472, 47182611177472, -STORE, 47182611177472, 47182611202047, -STORE, 47182611202048, 47182611312639, -STORE, 47182611263488, 47182611312639, -STORE, 47182611202048, 47182611263487, -ERASE, 47182611202048, 47182611202048, -STORE, 47182611202048, 47182611263487, -STORE, 47182611288064, 47182611312639, -STORE, 47182611263488, 47182611288063, -ERASE, 47182611263488, 47182611263488, -STORE, 47182611263488, 47182611312639, -ERASE, 47182611263488, 47182611263488, -STORE, 47182611263488, 47182611288063, -STORE, 47182611288064, 47182611312639, -STORE, 47182611296256, 47182611312639, -STORE, 47182611288064, 47182611296255, -ERASE, 47182611288064, 47182611288064, -STORE, 47182611288064, 47182611296255, -ERASE, 47182611296256, 47182611296256, -STORE, 47182611296256, 47182611312639, -STORE, 47182611296256, 47182611320831, -STORE, 47182611320832, 47182611484671, -ERASE, 47182611320832, 47182611320832, -STORE, 47182611320832, 47182611333119, -STORE, 47182611333120, 47182611484671, -STORE, 47182611431424, 47182611484671, -STORE, 47182611333120, 47182611431423, -ERASE, 47182611333120, 47182611333120, -STORE, 47182611333120, 47182611431423, -STORE, 47182611476480, 47182611484671, -STORE, 47182611431424, 47182611476479, -ERASE, 47182611431424, 47182611431424, -STORE, 47182611431424, 47182611484671, -ERASE, 47182611431424, 47182611431424, -STORE, 47182611431424, 47182611476479, -STORE, 47182611476480, 47182611484671, -ERASE, 47182611476480, 47182611476480, -STORE, 47182611476480, 47182611484671, -STORE, 47182611484672, 47182612082687, -STORE, 47182611603456, 47182612082687, -STORE, 47182611484672, 47182611603455, -ERASE, 47182611603456, 47182611603456, -STORE, 47182611603456, 47182612029439, -STORE, 47182612029440, 47182612082687, -STORE, 47182611918848, 47182612029439, -STORE, 47182611603456, 47182611918847, -ERASE, 47182611603456, 47182611603456, -STORE, 47182611603456, 47182611918847, -STORE, 47182612025344, 47182612029439, -STORE, 47182611918848, 47182612025343, -ERASE, 47182611918848, 47182611918848, -STORE, 47182611918848, 47182612025343, -ERASE, 47182612029440, 47182612029440, -STORE, 47182612029440, 47182612082687, -STORE, 47182612082688, 47182615134207, -STORE, 47182612627456, 47182615134207, -STORE, 47182612082688, 47182612627455, -ERASE, 47182612627456, 47182612627456, -STORE, 47182612627456, 47182614913023, -STORE, 47182614913024, 47182615134207, -STORE, 47182614323200, 47182614913023, -STORE, 47182612627456, 47182614323199, -ERASE, 47182612627456, 47182612627456, -STORE, 47182612627456, 47182614323199, -STORE, 47182614908928, 47182614913023, -STORE, 47182614323200, 47182614908927, -ERASE, 47182614323200, 47182614323200, -STORE, 47182614323200, 47182614908927, -STORE, 47182615117824, 47182615134207, -STORE, 47182614913024, 47182615117823, -ERASE, 47182614913024, 47182614913024, -STORE, 47182614913024, 47182615117823, -ERASE, 47182615117824, 47182615117824, -STORE, 47182615117824, 47182615134207, -STORE, 47182615134208, 47182615166975, -ERASE, 47182615134208, 47182615134208, -STORE, 47182615134208, 47182615142399, -STORE, 47182615142400, 47182615166975, -STORE, 47182615154688, 47182615166975, -STORE, 47182615142400, 47182615154687, -ERASE, 47182615142400, 47182615142400, -STORE, 47182615142400, 47182615154687, -STORE, 47182615158784, 47182615166975, -STORE, 47182615154688, 47182615158783, -ERASE, 47182615154688, 47182615154688, -STORE, 47182615154688, 47182615166975, -ERASE, 47182615154688, 47182615154688, -STORE, 47182615154688, 47182615158783, -STORE, 47182615158784, 47182615166975, -ERASE, 47182615158784, 47182615158784, -STORE, 47182615158784, 47182615166975, -STORE, 47182615166976, 47182615203839, -ERASE, 47182615166976, 47182615166976, -STORE, 47182615166976, 47182615175167, -STORE, 47182615175168, 47182615203839, -STORE, 47182615191552, 47182615203839, -STORE, 47182615175168, 47182615191551, -ERASE, 47182615175168, 47182615175168, -STORE, 47182615175168, 47182615191551, -STORE, 47182615195648, 47182615203839, -STORE, 47182615191552, 47182615195647, -ERASE, 47182615191552, 47182615191552, -STORE, 47182615191552, 47182615203839, -ERASE, 47182615191552, 47182615191552, -STORE, 47182615191552, 47182615195647, -STORE, 47182615195648, 47182615203839, -ERASE, 47182615195648, 47182615195648, -STORE, 47182615195648, 47182615203839, -STORE, 47182615203840, 47182615678975, -ERASE, 47182615203840, 47182615203840, -STORE, 47182615203840, 47182615212031, -STORE, 47182615212032, 47182615678975, -STORE, 47182615547904, 47182615678975, -STORE, 47182615212032, 47182615547903, -ERASE, 47182615212032, 47182615212032, -STORE, 47182615212032, 47182615547903, -STORE, 47182615670784, 47182615678975, -STORE, 47182615547904, 47182615670783, -ERASE, 47182615547904, 47182615547904, -STORE, 47182615547904, 47182615678975, -ERASE, 47182615547904, 47182615547904, -STORE, 47182615547904, 47182615670783, -STORE, 47182615670784, 47182615678975, -ERASE, 47182615670784, 47182615670784, -STORE, 47182615670784, 47182615678975, -STORE, 47182615678976, 47182615687167, -STORE, 47182615687168, 47182615707647, -ERASE, 47182615687168, 47182615687168, -STORE, 47182615687168, 47182615691263, -STORE, 47182615691264, 47182615707647, -STORE, 47182615695360, 47182615707647, -STORE, 47182615691264, 47182615695359, -ERASE, 47182615691264, 47182615691264, -STORE, 47182615691264, 47182615695359, -STORE, 47182615699456, 47182615707647, -STORE, 47182615695360, 47182615699455, -ERASE, 47182615695360, 47182615695360, -STORE, 47182615695360, 47182615707647, -ERASE, 47182615695360, 47182615695360, -STORE, 47182615695360, 47182615699455, -STORE, 47182615699456, 47182615707647, -ERASE, 47182615699456, 47182615699456, -STORE, 47182615699456, 47182615707647, -STORE, 47182615707648, 47182615715839, -ERASE, 47182608371712, 47182608371712, -STORE, 47182608371712, 47182608388095, -STORE, 47182608388096, 47182608396287, -ERASE, 47182615699456, 47182615699456, -STORE, 47182615699456, 47182615703551, -STORE, 47182615703552, 47182615707647, -ERASE, 47182611288064, 47182611288064, -STORE, 47182611288064, 47182611292159, -STORE, 47182611292160, 47182611296255, -ERASE, 47182615670784, 47182615670784, -STORE, 47182615670784, 47182615674879, -STORE, 47182615674880, 47182615678975, -ERASE, 47182615195648, 47182615195648, -STORE, 47182615195648, 47182615199743, -STORE, 47182615199744, 47182615203839, -ERASE, 47182615158784, 47182615158784, -STORE, 47182615158784, 47182615162879, -STORE, 47182615162880, 47182615166975, -ERASE, 47182614913024, 47182614913024, -STORE, 47182614913024, 47182615109631, -STORE, 47182615109632, 47182615117823, -ERASE, 47182612029440, 47182612029440, -STORE, 47182612029440, 47182612066303, -STORE, 47182612066304, 47182612082687, -ERASE, 47182611476480, 47182611476480, -STORE, 47182611476480, 47182611480575, -STORE, 47182611480576, 47182611484671, -ERASE, 47182611161088, 47182611161088, -STORE, 47182611161088, 47182611165183, -STORE, 47182611165184, 47182611169279, -ERASE, 47182608891904, 47182608891904, -STORE, 47182608891904, 47182608912383, -STORE, 47182608912384, 47182608916479, -ERASE, 47182608560128, 47182608560128, -STORE, 47182608560128, 47182608564223, -STORE, 47182608564224, 47182608568319, -ERASE, 47182608515072, 47182608515072, -STORE, 47182608515072, 47182608519167, -STORE, 47182608519168, 47182608523263, -ERASE, 93963664379904, 93963664379904, -STORE, 93963664379904, 93963664502783, -STORE, 93963664502784, 93963664506879, -ERASE, 140450188599296, 140450188599296, -STORE, 140450188599296, 140450188603391, -STORE, 140450188603392, 140450188607487, -ERASE, 47182606557184, 47182606557184, -STORE, 93963694723072, 93963694858239, -STORE, 140737488347136, 140737488351231, -STORE, 140730313261056, 140737488351231, -ERASE, 140730313261056, 140730313261056, -STORE, 140730313261056, 140730313265151, -STORE, 94386579017728, 94386579697663, -ERASE, 94386579017728, 94386579017728, -STORE, 94386579017728, 94386579083263, -STORE, 94386579083264, 94386579697663, -ERASE, 94386579083264, 94386579083264, -STORE, 94386579083264, 94386579431423, -STORE, 94386579431424, 94386579570687, -STORE, 94386579570688, 94386579697663, -STORE, 140124810838016, 140124811010047, -ERASE, 140124810838016, 140124810838016, -STORE, 140124810838016, 140124810842111, -STORE, 140124810842112, 140124811010047, -ERASE, 140124810842112, 140124810842112, -STORE, 140124810842112, 140124810964991, -STORE, 140124810964992, 140124810997759, -STORE, 140124810997760, 140124811005951, -STORE, 140124811005952, 140124811010047, -STORE, 140730313601024, 140730313605119, -STORE, 140730313588736, 140730313601023, -STORE, 47507984158720, 47507984166911, -STORE, 47507984166912, 47507984175103, -STORE, 47507984175104, 47507986014207, -STORE, 47507984314368, 47507986014207, -STORE, 47507984175104, 47507984314367, -ERASE, 47507984314368, 47507984314368, -STORE, 47507984314368, 47507985973247, -STORE, 47507985973248, 47507986014207, -STORE, 47507985657856, 47507985973247, -STORE, 47507984314368, 47507985657855, -ERASE, 47507984314368, 47507984314368, -STORE, 47507984314368, 47507985657855, -STORE, 47507985969152, 47507985973247, -STORE, 47507985657856, 47507985969151, -ERASE, 47507985657856, 47507985657856, -STORE, 47507985657856, 47507985969151, -STORE, 47507985997824, 47507986014207, -STORE, 47507985973248, 47507985997823, -ERASE, 47507985973248, 47507985973248, -STORE, 47507985973248, 47507985997823, -ERASE, 47507985997824, 47507985997824, -STORE, 47507985997824, 47507986014207, -STORE, 47507986014208, 47507986124799, -STORE, 47507986030592, 47507986124799, -STORE, 47507986014208, 47507986030591, -ERASE, 47507986030592, 47507986030592, -STORE, 47507986030592, 47507986116607, -STORE, 47507986116608, 47507986124799, -STORE, 47507986092032, 47507986116607, -STORE, 47507986030592, 47507986092031, -ERASE, 47507986030592, 47507986030592, -STORE, 47507986030592, 47507986092031, -STORE, 47507986112512, 47507986116607, -STORE, 47507986092032, 47507986112511, -ERASE, 47507986092032, 47507986092032, -STORE, 47507986092032, 47507986112511, -ERASE, 47507986116608, 47507986116608, -STORE, 47507986116608, 47507986124799, -STORE, 47507986124800, 47507986169855, -ERASE, 47507986124800, 47507986124800, -STORE, 47507986124800, 47507986132991, -STORE, 47507986132992, 47507986169855, -STORE, 47507986153472, 47507986169855, -STORE, 47507986132992, 47507986153471, -ERASE, 47507986132992, 47507986132992, -STORE, 47507986132992, 47507986153471, -STORE, 47507986161664, 47507986169855, -STORE, 47507986153472, 47507986161663, -ERASE, 47507986153472, 47507986153472, -STORE, 47507986153472, 47507986169855, -ERASE, 47507986153472, 47507986153472, -STORE, 47507986153472, 47507986161663, -STORE, 47507986161664, 47507986169855, -ERASE, 47507986161664, 47507986161664, -STORE, 47507986161664, 47507986169855, -STORE, 47507986169856, 47507986518015, -STORE, 47507986210816, 47507986518015, -STORE, 47507986169856, 47507986210815, -ERASE, 47507986210816, 47507986210816, -STORE, 47507986210816, 47507986493439, -STORE, 47507986493440, 47507986518015, -STORE, 47507986423808, 47507986493439, -STORE, 47507986210816, 47507986423807, -ERASE, 47507986210816, 47507986210816, -STORE, 47507986210816, 47507986423807, -STORE, 47507986489344, 47507986493439, -STORE, 47507986423808, 47507986489343, -ERASE, 47507986423808, 47507986423808, -STORE, 47507986423808, 47507986489343, -ERASE, 47507986493440, 47507986493440, -STORE, 47507986493440, 47507986518015, -STORE, 47507986518016, 47507988779007, -STORE, 47507986669568, 47507988779007, -STORE, 47507986518016, 47507986669567, -ERASE, 47507986669568, 47507986669568, -STORE, 47507986669568, 47507988762623, -STORE, 47507988762624, 47507988779007, -STORE, 47507988770816, 47507988779007, -STORE, 47507988762624, 47507988770815, -ERASE, 47507988762624, 47507988762624, -STORE, 47507988762624, 47507988770815, -ERASE, 47507988770816, 47507988770816, -STORE, 47507988770816, 47507988779007, -STORE, 47507988779008, 47507988914175, -ERASE, 47507988779008, 47507988779008, -STORE, 47507988779008, 47507988803583, -STORE, 47507988803584, 47507988914175, -STORE, 47507988865024, 47507988914175, -STORE, 47507988803584, 47507988865023, -ERASE, 47507988803584, 47507988803584, -STORE, 47507988803584, 47507988865023, -STORE, 47507988889600, 47507988914175, -STORE, 47507988865024, 47507988889599, -ERASE, 47507988865024, 47507988865024, -STORE, 47507988865024, 47507988914175, -ERASE, 47507988865024, 47507988865024, -STORE, 47507988865024, 47507988889599, -STORE, 47507988889600, 47507988914175, -STORE, 47507988897792, 47507988914175, -STORE, 47507988889600, 47507988897791, -ERASE, 47507988889600, 47507988889600, -STORE, 47507988889600, 47507988897791, -ERASE, 47507988897792, 47507988897792, -STORE, 47507988897792, 47507988914175, -STORE, 47507988897792, 47507988922367, -STORE, 47507988922368, 47507989086207, -ERASE, 47507988922368, 47507988922368, -STORE, 47507988922368, 47507988934655, -STORE, 47507988934656, 47507989086207, -STORE, 47507989032960, 47507989086207, -STORE, 47507988934656, 47507989032959, -ERASE, 47507988934656, 47507988934656, -STORE, 47507988934656, 47507989032959, -STORE, 47507989078016, 47507989086207, -STORE, 47507989032960, 47507989078015, -ERASE, 47507989032960, 47507989032960, -STORE, 47507989032960, 47507989086207, -ERASE, 47507989032960, 47507989032960, -STORE, 47507989032960, 47507989078015, -STORE, 47507989078016, 47507989086207, -ERASE, 47507989078016, 47507989078016, -STORE, 47507989078016, 47507989086207, -STORE, 47507989086208, 47507989684223, -STORE, 47507989204992, 47507989684223, -STORE, 47507989086208, 47507989204991, -ERASE, 47507989204992, 47507989204992, -STORE, 47507989204992, 47507989630975, -STORE, 47507989630976, 47507989684223, -STORE, 47507989520384, 47507989630975, -STORE, 47507989204992, 47507989520383, -ERASE, 47507989204992, 47507989204992, -STORE, 47507989204992, 47507989520383, -STORE, 47507989626880, 47507989630975, -STORE, 47507989520384, 47507989626879, -ERASE, 47507989520384, 47507989520384, -STORE, 47507989520384, 47507989626879, -ERASE, 47507989630976, 47507989630976, -STORE, 47507989630976, 47507989684223, -STORE, 47507989684224, 47507992735743, -STORE, 47507990228992, 47507992735743, -STORE, 47507989684224, 47507990228991, -ERASE, 47507990228992, 47507990228992, -STORE, 47507990228992, 47507992514559, -STORE, 47507992514560, 47507992735743, -STORE, 47507991924736, 47507992514559, -STORE, 47507990228992, 47507991924735, -ERASE, 47507990228992, 47507990228992, -STORE, 47507990228992, 47507991924735, -STORE, 47507992510464, 47507992514559, -STORE, 47507991924736, 47507992510463, -ERASE, 47507991924736, 47507991924736, -STORE, 47507991924736, 47507992510463, -STORE, 47507992719360, 47507992735743, -STORE, 47507992514560, 47507992719359, -ERASE, 47507992514560, 47507992514560, -STORE, 47507992514560, 47507992719359, -ERASE, 47507992719360, 47507992719360, -STORE, 47507992719360, 47507992735743, -STORE, 47507992735744, 47507992768511, -ERASE, 47507992735744, 47507992735744, -STORE, 47507992735744, 47507992743935, -STORE, 47507992743936, 47507992768511, -STORE, 47507992756224, 47507992768511, -STORE, 47507992743936, 47507992756223, -ERASE, 47507992743936, 47507992743936, -STORE, 47507992743936, 47507992756223, -STORE, 47507992760320, 47507992768511, -STORE, 47507992756224, 47507992760319, -ERASE, 47507992756224, 47507992756224, -STORE, 47507992756224, 47507992768511, -ERASE, 47507992756224, 47507992756224, -STORE, 47507992756224, 47507992760319, -STORE, 47507992760320, 47507992768511, -ERASE, 47507992760320, 47507992760320, -STORE, 47507992760320, 47507992768511, -STORE, 47507992768512, 47507992805375, -ERASE, 47507992768512, 47507992768512, -STORE, 47507992768512, 47507992776703, -STORE, 47507992776704, 47507992805375, -STORE, 47507992793088, 47507992805375, -STORE, 47507992776704, 47507992793087, -ERASE, 47507992776704, 47507992776704, -STORE, 47507992776704, 47507992793087, -STORE, 47507992797184, 47507992805375, -STORE, 47507992793088, 47507992797183, -ERASE, 47507992793088, 47507992793088, -STORE, 47507992793088, 47507992805375, -ERASE, 47507992793088, 47507992793088, -STORE, 47507992793088, 47507992797183, -STORE, 47507992797184, 47507992805375, -ERASE, 47507992797184, 47507992797184, -STORE, 47507992797184, 47507992805375, -STORE, 47507992805376, 47507993280511, -ERASE, 47507992805376, 47507992805376, -STORE, 47507992805376, 47507992813567, -STORE, 47507992813568, 47507993280511, -STORE, 47507993149440, 47507993280511, -STORE, 47507992813568, 47507993149439, -ERASE, 47507992813568, 47507992813568, -STORE, 47507992813568, 47507993149439, -STORE, 47507993272320, 47507993280511, -STORE, 47507993149440, 47507993272319, -ERASE, 47507993149440, 47507993149440, -STORE, 47507993149440, 47507993280511, -ERASE, 47507993149440, 47507993149440, -STORE, 47507993149440, 47507993272319, -STORE, 47507993272320, 47507993280511, -ERASE, 47507993272320, 47507993272320, -STORE, 47507993272320, 47507993280511, -STORE, 47507993280512, 47507993288703, -STORE, 47507993288704, 47507993309183, -ERASE, 47507993288704, 47507993288704, -STORE, 47507993288704, 47507993292799, -STORE, 47507993292800, 47507993309183, -STORE, 47507993296896, 47507993309183, -STORE, 47507993292800, 47507993296895, -ERASE, 47507993292800, 47507993292800, -STORE, 47507993292800, 47507993296895, -STORE, 47507993300992, 47507993309183, -STORE, 47507993296896, 47507993300991, -ERASE, 47507993296896, 47507993296896, -STORE, 47507993296896, 47507993309183, -ERASE, 47507993296896, 47507993296896, -STORE, 47507993296896, 47507993300991, -STORE, 47507993300992, 47507993309183, -ERASE, 47507993300992, 47507993300992, -STORE, 47507993300992, 47507993309183, -STORE, 47507993309184, 47507993317375, -ERASE, 47507985973248, 47507985973248, -STORE, 47507985973248, 47507985989631, -STORE, 47507985989632, 47507985997823, -ERASE, 47507993300992, 47507993300992, -STORE, 47507993300992, 47507993305087, -STORE, 47507993305088, 47507993309183, -ERASE, 47507988889600, 47507988889600, -STORE, 47507988889600, 47507988893695, -STORE, 47507988893696, 47507988897791, -ERASE, 47507993272320, 47507993272320, -STORE, 47507993272320, 47507993276415, -STORE, 47507993276416, 47507993280511, -ERASE, 47507992797184, 47507992797184, -STORE, 47507992797184, 47507992801279, -STORE, 47507992801280, 47507992805375, -ERASE, 47507992760320, 47507992760320, -STORE, 47507992760320, 47507992764415, -STORE, 47507992764416, 47507992768511, -ERASE, 47507992514560, 47507992514560, -STORE, 47507992514560, 47507992711167, -STORE, 47507992711168, 47507992719359, -ERASE, 47507989630976, 47507989630976, -STORE, 47507989630976, 47507989667839, -STORE, 47507989667840, 47507989684223, -ERASE, 47507989078016, 47507989078016, -STORE, 47507989078016, 47507989082111, -STORE, 47507989082112, 47507989086207, -ERASE, 47507988762624, 47507988762624, -STORE, 47507988762624, 47507988766719, -STORE, 47507988766720, 47507988770815, -ERASE, 47507986493440, 47507986493440, -STORE, 47507986493440, 47507986513919, -STORE, 47507986513920, 47507986518015, -ERASE, 47507986161664, 47507986161664, -STORE, 47507986161664, 47507986165759, -STORE, 47507986165760, 47507986169855, -ERASE, 47507986116608, 47507986116608, -STORE, 47507986116608, 47507986120703, -STORE, 47507986120704, 47507986124799, -ERASE, 94386579570688, 94386579570688, -STORE, 94386579570688, 94386579693567, -STORE, 94386579693568, 94386579697663, -ERASE, 140124810997760, 140124810997760, -STORE, 140124810997760, 140124811001855, -STORE, 140124811001856, 140124811005951, -ERASE, 47507984158720, 47507984158720, -STORE, 94386583982080, 94386584117247, -STORE, 94386583982080, 94386584256511, -ERASE, 94386583982080, 94386583982080, -STORE, 94386583982080, 94386584223743, -STORE, 94386584223744, 94386584256511, -ERASE, 94386584223744, 94386584223744, -STORE, 140737488347136, 140737488351231, -STORE, 140733763395584, 140737488351231, -ERASE, 140733763395584, 140733763395584, -STORE, 140733763395584, 140733763399679, -STORE, 94011546472448, 94011547152383, -ERASE, 94011546472448, 94011546472448, -STORE, 94011546472448, 94011546537983, -STORE, 94011546537984, 94011547152383, -ERASE, 94011546537984, 94011546537984, -STORE, 94011546537984, 94011546886143, -STORE, 94011546886144, 94011547025407, -STORE, 94011547025408, 94011547152383, -STORE, 139757597949952, 139757598121983, -ERASE, 139757597949952, 139757597949952, -STORE, 139757597949952, 139757597954047, -STORE, 139757597954048, 139757598121983, -ERASE, 139757597954048, 139757597954048, -STORE, 139757597954048, 139757598076927, -STORE, 139757598076928, 139757598109695, -STORE, 139757598109696, 139757598117887, -STORE, 139757598117888, 139757598121983, -STORE, 140733763596288, 140733763600383, -STORE, 140733763584000, 140733763596287, -STORE, 47875197046784, 47875197054975, -STORE, 47875197054976, 47875197063167, -STORE, 47875197063168, 47875198902271, -STORE, 47875197202432, 47875198902271, -STORE, 47875197063168, 47875197202431, -ERASE, 47875197202432, 47875197202432, -STORE, 47875197202432, 47875198861311, -STORE, 47875198861312, 47875198902271, -STORE, 47875198545920, 47875198861311, -STORE, 47875197202432, 47875198545919, -ERASE, 47875197202432, 47875197202432, -STORE, 47875197202432, 47875198545919, -STORE, 47875198857216, 47875198861311, -STORE, 47875198545920, 47875198857215, -ERASE, 47875198545920, 47875198545920, -STORE, 47875198545920, 47875198857215, -STORE, 47875198885888, 47875198902271, -STORE, 47875198861312, 47875198885887, -ERASE, 47875198861312, 47875198861312, -STORE, 47875198861312, 47875198885887, -ERASE, 47875198885888, 47875198885888, -STORE, 47875198885888, 47875198902271, -STORE, 47875198902272, 47875199012863, -STORE, 47875198918656, 47875199012863, -STORE, 47875198902272, 47875198918655, -ERASE, 47875198918656, 47875198918656, -STORE, 47875198918656, 47875199004671, -STORE, 47875199004672, 47875199012863, -STORE, 47875198980096, 47875199004671, -STORE, 47875198918656, 47875198980095, -ERASE, 47875198918656, 47875198918656, -STORE, 47875198918656, 47875198980095, -STORE, 47875199000576, 47875199004671, -STORE, 47875198980096, 47875199000575, -ERASE, 47875198980096, 47875198980096, -STORE, 47875198980096, 47875199000575, -ERASE, 47875199004672, 47875199004672, -STORE, 47875199004672, 47875199012863, -STORE, 47875199012864, 47875199057919, -ERASE, 47875199012864, 47875199012864, -STORE, 47875199012864, 47875199021055, -STORE, 47875199021056, 47875199057919, -STORE, 47875199041536, 47875199057919, -STORE, 47875199021056, 47875199041535, -ERASE, 47875199021056, 47875199021056, -STORE, 47875199021056, 47875199041535, -STORE, 47875199049728, 47875199057919, -STORE, 47875199041536, 47875199049727, -ERASE, 47875199041536, 47875199041536, -STORE, 47875199041536, 47875199057919, -ERASE, 47875199041536, 47875199041536, -STORE, 47875199041536, 47875199049727, -STORE, 47875199049728, 47875199057919, -ERASE, 47875199049728, 47875199049728, -STORE, 47875199049728, 47875199057919, -STORE, 47875199057920, 47875199406079, -STORE, 47875199098880, 47875199406079, -STORE, 47875199057920, 47875199098879, -ERASE, 47875199098880, 47875199098880, -STORE, 47875199098880, 47875199381503, -STORE, 47875199381504, 47875199406079, -STORE, 47875199311872, 47875199381503, -STORE, 47875199098880, 47875199311871, -ERASE, 47875199098880, 47875199098880, -STORE, 47875199098880, 47875199311871, -STORE, 47875199377408, 47875199381503, -STORE, 47875199311872, 47875199377407, -ERASE, 47875199311872, 47875199311872, -STORE, 47875199311872, 47875199377407, -ERASE, 47875199381504, 47875199381504, -STORE, 47875199381504, 47875199406079, -STORE, 47875199406080, 47875201667071, -STORE, 47875199557632, 47875201667071, -STORE, 47875199406080, 47875199557631, -ERASE, 47875199557632, 47875199557632, -STORE, 47875199557632, 47875201650687, -STORE, 47875201650688, 47875201667071, -STORE, 47875201658880, 47875201667071, -STORE, 47875201650688, 47875201658879, -ERASE, 47875201650688, 47875201650688, -STORE, 47875201650688, 47875201658879, -ERASE, 47875201658880, 47875201658880, -STORE, 47875201658880, 47875201667071, -STORE, 47875201667072, 47875201802239, -ERASE, 47875201667072, 47875201667072, -STORE, 47875201667072, 47875201691647, -STORE, 47875201691648, 47875201802239, -STORE, 47875201753088, 47875201802239, -STORE, 47875201691648, 47875201753087, -ERASE, 47875201691648, 47875201691648, -STORE, 47875201691648, 47875201753087, -STORE, 47875201777664, 47875201802239, -STORE, 47875201753088, 47875201777663, -ERASE, 47875201753088, 47875201753088, -STORE, 47875201753088, 47875201802239, -ERASE, 47875201753088, 47875201753088, -STORE, 47875201753088, 47875201777663, -STORE, 47875201777664, 47875201802239, -STORE, 47875201785856, 47875201802239, -STORE, 47875201777664, 47875201785855, -ERASE, 47875201777664, 47875201777664, -STORE, 47875201777664, 47875201785855, -ERASE, 47875201785856, 47875201785856, -STORE, 47875201785856, 47875201802239, -STORE, 47875201785856, 47875201810431, -STORE, 47875201810432, 47875201974271, -ERASE, 47875201810432, 47875201810432, -STORE, 47875201810432, 47875201822719, -STORE, 47875201822720, 47875201974271, -STORE, 47875201921024, 47875201974271, -STORE, 47875201822720, 47875201921023, -ERASE, 47875201822720, 47875201822720, -STORE, 47875201822720, 47875201921023, -STORE, 47875201966080, 47875201974271, -STORE, 47875201921024, 47875201966079, -ERASE, 47875201921024, 47875201921024, -STORE, 47875201921024, 47875201974271, -ERASE, 47875201921024, 47875201921024, -STORE, 47875201921024, 47875201966079, -STORE, 47875201966080, 47875201974271, -ERASE, 47875201966080, 47875201966080, -STORE, 47875201966080, 47875201974271, -STORE, 47875201974272, 47875202572287, -STORE, 47875202093056, 47875202572287, -STORE, 47875201974272, 47875202093055, -ERASE, 47875202093056, 47875202093056, -STORE, 47875202093056, 47875202519039, -STORE, 47875202519040, 47875202572287, -STORE, 47875202408448, 47875202519039, -STORE, 47875202093056, 47875202408447, -ERASE, 47875202093056, 47875202093056, -STORE, 47875202093056, 47875202408447, -STORE, 47875202514944, 47875202519039, -STORE, 47875202408448, 47875202514943, -ERASE, 47875202408448, 47875202408448, -STORE, 47875202408448, 47875202514943, -ERASE, 47875202519040, 47875202519040, -STORE, 47875202519040, 47875202572287, -STORE, 47875202572288, 47875205623807, -STORE, 47875203117056, 47875205623807, -STORE, 47875202572288, 47875203117055, -ERASE, 47875203117056, 47875203117056, -STORE, 47875203117056, 47875205402623, -STORE, 47875205402624, 47875205623807, -STORE, 47875204812800, 47875205402623, -STORE, 47875203117056, 47875204812799, -ERASE, 47875203117056, 47875203117056, -STORE, 47875203117056, 47875204812799, -STORE, 47875205398528, 47875205402623, -STORE, 47875204812800, 47875205398527, -ERASE, 47875204812800, 47875204812800, -STORE, 47875204812800, 47875205398527, -STORE, 47875205607424, 47875205623807, -STORE, 47875205402624, 47875205607423, -ERASE, 47875205402624, 47875205402624, -STORE, 47875205402624, 47875205607423, -ERASE, 47875205607424, 47875205607424, -STORE, 47875205607424, 47875205623807, -STORE, 47875205623808, 47875205656575, -ERASE, 47875205623808, 47875205623808, -STORE, 47875205623808, 47875205631999, -STORE, 47875205632000, 47875205656575, -STORE, 47875205644288, 47875205656575, -STORE, 47875205632000, 47875205644287, -ERASE, 47875205632000, 47875205632000, -STORE, 47875205632000, 47875205644287, -STORE, 47875205648384, 47875205656575, -STORE, 47875205644288, 47875205648383, -ERASE, 47875205644288, 47875205644288, -STORE, 47875205644288, 47875205656575, -ERASE, 47875205644288, 47875205644288, -STORE, 47875205644288, 47875205648383, -STORE, 47875205648384, 47875205656575, -ERASE, 47875205648384, 47875205648384, -STORE, 47875205648384, 47875205656575, -STORE, 47875205656576, 47875205693439, -ERASE, 47875205656576, 47875205656576, -STORE, 47875205656576, 47875205664767, -STORE, 47875205664768, 47875205693439, -STORE, 47875205681152, 47875205693439, -STORE, 47875205664768, 47875205681151, -ERASE, 47875205664768, 47875205664768, -STORE, 47875205664768, 47875205681151, -STORE, 47875205685248, 47875205693439, -STORE, 47875205681152, 47875205685247, -ERASE, 47875205681152, 47875205681152, -STORE, 47875205681152, 47875205693439, -ERASE, 47875205681152, 47875205681152, -STORE, 47875205681152, 47875205685247, -STORE, 47875205685248, 47875205693439, -ERASE, 47875205685248, 47875205685248, -STORE, 47875205685248, 47875205693439, -STORE, 47875205693440, 47875206168575, -ERASE, 47875205693440, 47875205693440, -STORE, 47875205693440, 47875205701631, -STORE, 47875205701632, 47875206168575, -STORE, 47875206037504, 47875206168575, -STORE, 47875205701632, 47875206037503, -ERASE, 47875205701632, 47875205701632, -STORE, 47875205701632, 47875206037503, -STORE, 47875206160384, 47875206168575, -STORE, 47875206037504, 47875206160383, -ERASE, 47875206037504, 47875206037504, -STORE, 47875206037504, 47875206168575, -ERASE, 47875206037504, 47875206037504, -STORE, 47875206037504, 47875206160383, -STORE, 47875206160384, 47875206168575, -ERASE, 47875206160384, 47875206160384, -STORE, 47875206160384, 47875206168575, -STORE, 47875206168576, 47875206176767, -STORE, 47875206176768, 47875206197247, -ERASE, 47875206176768, 47875206176768, -STORE, 47875206176768, 47875206180863, -STORE, 47875206180864, 47875206197247, -STORE, 47875206184960, 47875206197247, -STORE, 47875206180864, 47875206184959, -ERASE, 47875206180864, 47875206180864, -STORE, 47875206180864, 47875206184959, -STORE, 47875206189056, 47875206197247, -STORE, 47875206184960, 47875206189055, -ERASE, 47875206184960, 47875206184960, -STORE, 47875206184960, 47875206197247, -ERASE, 47875206184960, 47875206184960, -STORE, 47875206184960, 47875206189055, -STORE, 47875206189056, 47875206197247, -ERASE, 47875206189056, 47875206189056, -STORE, 47875206189056, 47875206197247, -STORE, 47875206197248, 47875206205439, -ERASE, 47875198861312, 47875198861312, -STORE, 47875198861312, 47875198877695, -STORE, 47875198877696, 47875198885887, -ERASE, 47875206189056, 47875206189056, -STORE, 47875206189056, 47875206193151, -STORE, 47875206193152, 47875206197247, -ERASE, 47875201777664, 47875201777664, -STORE, 47875201777664, 47875201781759, -STORE, 47875201781760, 47875201785855, -ERASE, 47875206160384, 47875206160384, -STORE, 47875206160384, 47875206164479, -STORE, 47875206164480, 47875206168575, -ERASE, 47875205685248, 47875205685248, -STORE, 47875205685248, 47875205689343, -STORE, 47875205689344, 47875205693439, -ERASE, 47875205648384, 47875205648384, -STORE, 47875205648384, 47875205652479, -STORE, 47875205652480, 47875205656575, -ERASE, 47875205402624, 47875205402624, -STORE, 47875205402624, 47875205599231, -STORE, 47875205599232, 47875205607423, -ERASE, 47875202519040, 47875202519040, -STORE, 47875202519040, 47875202555903, -STORE, 47875202555904, 47875202572287, -ERASE, 47875201966080, 47875201966080, -STORE, 47875201966080, 47875201970175, -STORE, 47875201970176, 47875201974271, -ERASE, 47875201650688, 47875201650688, -STORE, 47875201650688, 47875201654783, -STORE, 47875201654784, 47875201658879, -ERASE, 47875199381504, 47875199381504, -STORE, 47875199381504, 47875199401983, -STORE, 47875199401984, 47875199406079, -ERASE, 47875199049728, 47875199049728, -STORE, 47875199049728, 47875199053823, -STORE, 47875199053824, 47875199057919, -ERASE, 47875199004672, 47875199004672, -STORE, 47875199004672, 47875199008767, -STORE, 47875199008768, 47875199012863, -ERASE, 94011547025408, 94011547025408, -STORE, 94011547025408, 94011547148287, -STORE, 94011547148288, 94011547152383, -ERASE, 139757598109696, 139757598109696, -STORE, 139757598109696, 139757598113791, -STORE, 139757598113792, 139757598117887, -ERASE, 47875197046784, 47875197046784, -STORE, 94011557584896, 94011557720063, -STORE, 94011557584896, 94011557855231, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557851135, -STORE, 94011557851136, 94011557855231, -ERASE, 94011557851136, 94011557851136, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557847039, -STORE, 94011557847040, 94011557851135, -ERASE, 94011557847040, 94011557847040, -STORE, 94011557584896, 94011557982207, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557978111, -STORE, 94011557978112, 94011557982207, -ERASE, 94011557978112, 94011557978112, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557974015, -STORE, 94011557974016, 94011557978111, -ERASE, 94011557974016, 94011557974016, -STORE, 140737488347136, 140737488351231, -STORE, 140734130360320, 140737488351231, -ERASE, 140734130360320, 140734130360320, -STORE, 140734130360320, 140734130364415, -STORE, 94641232105472, 94641232785407, -ERASE, 94641232105472, 94641232105472, -STORE, 94641232105472, 94641232171007, -STORE, 94641232171008, 94641232785407, -ERASE, 94641232171008, 94641232171008, -STORE, 94641232171008, 94641232519167, -STORE, 94641232519168, 94641232658431, -STORE, 94641232658432, 94641232785407, -STORE, 139726599516160, 139726599688191, -ERASE, 139726599516160, 139726599516160, -STORE, 139726599516160, 139726599520255, -STORE, 139726599520256, 139726599688191, -ERASE, 139726599520256, 139726599520256, -STORE, 139726599520256, 139726599643135, -STORE, 139726599643136, 139726599675903, -STORE, 139726599675904, 139726599684095, -STORE, 139726599684096, 139726599688191, -STORE, 140734130446336, 140734130450431, -STORE, 140734130434048, 140734130446335, -STORE, 47906195480576, 47906195488767, -STORE, 47906195488768, 47906195496959, -STORE, 47906195496960, 47906197336063, -STORE, 47906195636224, 47906197336063, -STORE, 47906195496960, 47906195636223, -ERASE, 47906195636224, 47906195636224, -STORE, 47906195636224, 47906197295103, -STORE, 47906197295104, 47906197336063, -STORE, 47906196979712, 47906197295103, -STORE, 47906195636224, 47906196979711, -ERASE, 47906195636224, 47906195636224, -STORE, 47906195636224, 47906196979711, -STORE, 47906197291008, 47906197295103, -STORE, 47906196979712, 47906197291007, -ERASE, 47906196979712, 47906196979712, -STORE, 47906196979712, 47906197291007, -STORE, 47906197319680, 47906197336063, -STORE, 47906197295104, 47906197319679, -ERASE, 47906197295104, 47906197295104, -STORE, 47906197295104, 47906197319679, -ERASE, 47906197319680, 47906197319680, -STORE, 47906197319680, 47906197336063, -STORE, 47906197336064, 47906197446655, -STORE, 47906197352448, 47906197446655, -STORE, 47906197336064, 47906197352447, -ERASE, 47906197352448, 47906197352448, -STORE, 47906197352448, 47906197438463, -STORE, 47906197438464, 47906197446655, -STORE, 47906197413888, 47906197438463, -STORE, 47906197352448, 47906197413887, -ERASE, 47906197352448, 47906197352448, -STORE, 47906197352448, 47906197413887, -STORE, 47906197434368, 47906197438463, -STORE, 47906197413888, 47906197434367, -ERASE, 47906197413888, 47906197413888, -STORE, 47906197413888, 47906197434367, -ERASE, 47906197438464, 47906197438464, -STORE, 47906197438464, 47906197446655, -STORE, 47906197446656, 47906197491711, -ERASE, 47906197446656, 47906197446656, -STORE, 47906197446656, 47906197454847, -STORE, 47906197454848, 47906197491711, -STORE, 47906197475328, 47906197491711, -STORE, 47906197454848, 47906197475327, -ERASE, 47906197454848, 47906197454848, -STORE, 47906197454848, 47906197475327, -STORE, 47906197483520, 47906197491711, -STORE, 47906197475328, 47906197483519, -ERASE, 47906197475328, 47906197475328, -STORE, 47906197475328, 47906197491711, -ERASE, 47906197475328, 47906197475328, -STORE, 47906197475328, 47906197483519, -STORE, 47906197483520, 47906197491711, -ERASE, 47906197483520, 47906197483520, -STORE, 47906197483520, 47906197491711, -STORE, 47906197491712, 47906197839871, -STORE, 47906197532672, 47906197839871, -STORE, 47906197491712, 47906197532671, -ERASE, 47906197532672, 47906197532672, -STORE, 47906197532672, 47906197815295, -STORE, 47906197815296, 47906197839871, -STORE, 47906197745664, 47906197815295, -STORE, 47906197532672, 47906197745663, -ERASE, 47906197532672, 47906197532672, -STORE, 47906197532672, 47906197745663, -STORE, 47906197811200, 47906197815295, -STORE, 47906197745664, 47906197811199, -ERASE, 47906197745664, 47906197745664, -STORE, 47906197745664, 47906197811199, -ERASE, 47906197815296, 47906197815296, -STORE, 47906197815296, 47906197839871, -STORE, 47906197839872, 47906200100863, -STORE, 47906197991424, 47906200100863, -STORE, 47906197839872, 47906197991423, -ERASE, 47906197991424, 47906197991424, -STORE, 47906197991424, 47906200084479, -STORE, 47906200084480, 47906200100863, -STORE, 47906200092672, 47906200100863, -STORE, 47906200084480, 47906200092671, -ERASE, 47906200084480, 47906200084480, -STORE, 47906200084480, 47906200092671, -ERASE, 47906200092672, 47906200092672, -STORE, 47906200092672, 47906200100863, -STORE, 47906200100864, 47906200236031, -ERASE, 47906200100864, 47906200100864, -STORE, 47906200100864, 47906200125439, -STORE, 47906200125440, 47906200236031, -STORE, 47906200186880, 47906200236031, -STORE, 47906200125440, 47906200186879, -ERASE, 47906200125440, 47906200125440, -STORE, 47906200125440, 47906200186879, -STORE, 47906200211456, 47906200236031, -STORE, 47906200186880, 47906200211455, -ERASE, 47906200186880, 47906200186880, -STORE, 47906200186880, 47906200236031, -ERASE, 47906200186880, 47906200186880, -STORE, 47906200186880, 47906200211455, -STORE, 47906200211456, 47906200236031, -STORE, 47906200219648, 47906200236031, -STORE, 47906200211456, 47906200219647, -ERASE, 47906200211456, 47906200211456, -STORE, 47906200211456, 47906200219647, -ERASE, 47906200219648, 47906200219648, -STORE, 47906200219648, 47906200236031, -STORE, 47906200219648, 47906200244223, -STORE, 47906200244224, 47906200408063, -ERASE, 47906200244224, 47906200244224, -STORE, 47906200244224, 47906200256511, -STORE, 47906200256512, 47906200408063, -STORE, 47906200354816, 47906200408063, -STORE, 47906200256512, 47906200354815, -ERASE, 47906200256512, 47906200256512, -STORE, 47906200256512, 47906200354815, -STORE, 47906200399872, 47906200408063, -STORE, 47906200354816, 47906200399871, -ERASE, 47906200354816, 47906200354816, -STORE, 47906200354816, 47906200408063, -ERASE, 47906200354816, 47906200354816, -STORE, 47906200354816, 47906200399871, -STORE, 47906200399872, 47906200408063, -ERASE, 47906200399872, 47906200399872, -STORE, 47906200399872, 47906200408063, -STORE, 47906200408064, 47906201006079, -STORE, 47906200526848, 47906201006079, -STORE, 47906200408064, 47906200526847, -ERASE, 47906200526848, 47906200526848, -STORE, 47906200526848, 47906200952831, -STORE, 47906200952832, 47906201006079, -STORE, 47906200842240, 47906200952831, -STORE, 47906200526848, 47906200842239, -ERASE, 47906200526848, 47906200526848, -STORE, 47906200526848, 47906200842239, -STORE, 47906200948736, 47906200952831, -STORE, 47906200842240, 47906200948735, -ERASE, 47906200842240, 47906200842240, -STORE, 47906200842240, 47906200948735, -ERASE, 47906200952832, 47906200952832, -STORE, 47906200952832, 47906201006079, -STORE, 47906201006080, 47906204057599, -STORE, 47906201550848, 47906204057599, -STORE, 47906201006080, 47906201550847, -ERASE, 47906201550848, 47906201550848, -STORE, 47906201550848, 47906203836415, -STORE, 47906203836416, 47906204057599, -STORE, 47906203246592, 47906203836415, -STORE, 47906201550848, 47906203246591, -ERASE, 47906201550848, 47906201550848, -STORE, 47906201550848, 47906203246591, -STORE, 47906203832320, 47906203836415, -STORE, 47906203246592, 47906203832319, -ERASE, 47906203246592, 47906203246592, -STORE, 47906203246592, 47906203832319, -STORE, 47906204041216, 47906204057599, -STORE, 47906203836416, 47906204041215, -ERASE, 47906203836416, 47906203836416, -STORE, 47906203836416, 47906204041215, -ERASE, 47906204041216, 47906204041216, -STORE, 47906204041216, 47906204057599, -STORE, 47906204057600, 47906204090367, -ERASE, 47906204057600, 47906204057600, -STORE, 47906204057600, 47906204065791, -STORE, 47906204065792, 47906204090367, -STORE, 47906204078080, 47906204090367, -STORE, 47906204065792, 47906204078079, -ERASE, 47906204065792, 47906204065792, -STORE, 47906204065792, 47906204078079, -STORE, 47906204082176, 47906204090367, -STORE, 47906204078080, 47906204082175, -ERASE, 47906204078080, 47906204078080, -STORE, 47906204078080, 47906204090367, -ERASE, 47906204078080, 47906204078080, -STORE, 47906204078080, 47906204082175, -STORE, 47906204082176, 47906204090367, -ERASE, 47906204082176, 47906204082176, -STORE, 47906204082176, 47906204090367, -STORE, 47906204090368, 47906204127231, -ERASE, 47906204090368, 47906204090368, -STORE, 47906204090368, 47906204098559, -STORE, 47906204098560, 47906204127231, -STORE, 47906204114944, 47906204127231, -STORE, 47906204098560, 47906204114943, -ERASE, 47906204098560, 47906204098560, -STORE, 47906204098560, 47906204114943, -STORE, 47906204119040, 47906204127231, -STORE, 47906204114944, 47906204119039, -ERASE, 47906204114944, 47906204114944, -STORE, 47906204114944, 47906204127231, -ERASE, 47906204114944, 47906204114944, -STORE, 47906204114944, 47906204119039, -STORE, 47906204119040, 47906204127231, -ERASE, 47906204119040, 47906204119040, -STORE, 47906204119040, 47906204127231, -STORE, 47906204127232, 47906204602367, -ERASE, 47906204127232, 47906204127232, -STORE, 47906204127232, 47906204135423, -STORE, 47906204135424, 47906204602367, -STORE, 47906204471296, 47906204602367, -STORE, 47906204135424, 47906204471295, -ERASE, 47906204135424, 47906204135424, -STORE, 47906204135424, 47906204471295, -STORE, 47906204594176, 47906204602367, -STORE, 47906204471296, 47906204594175, -ERASE, 47906204471296, 47906204471296, -STORE, 47906204471296, 47906204602367, -ERASE, 47906204471296, 47906204471296, -STORE, 47906204471296, 47906204594175, -STORE, 47906204594176, 47906204602367, -ERASE, 47906204594176, 47906204594176, -STORE, 47906204594176, 47906204602367, -STORE, 47906204602368, 47906204610559, -STORE, 47906204610560, 47906204631039, -ERASE, 47906204610560, 47906204610560, -STORE, 47906204610560, 47906204614655, -STORE, 47906204614656, 47906204631039, -STORE, 47906204618752, 47906204631039, -STORE, 47906204614656, 47906204618751, -ERASE, 47906204614656, 47906204614656, -STORE, 47906204614656, 47906204618751, -STORE, 47906204622848, 47906204631039, -STORE, 47906204618752, 47906204622847, -ERASE, 47906204618752, 47906204618752, -STORE, 47906204618752, 47906204631039, -ERASE, 47906204618752, 47906204618752, -STORE, 47906204618752, 47906204622847, -STORE, 47906204622848, 47906204631039, -ERASE, 47906204622848, 47906204622848, -STORE, 47906204622848, 47906204631039, -STORE, 47906204631040, 47906204639231, -ERASE, 47906197295104, 47906197295104, -STORE, 47906197295104, 47906197311487, -STORE, 47906197311488, 47906197319679, -ERASE, 47906204622848, 47906204622848, -STORE, 47906204622848, 47906204626943, -STORE, 47906204626944, 47906204631039, -ERASE, 47906200211456, 47906200211456, -STORE, 47906200211456, 47906200215551, -STORE, 47906200215552, 47906200219647, -ERASE, 47906204594176, 47906204594176, -STORE, 47906204594176, 47906204598271, -STORE, 47906204598272, 47906204602367, -ERASE, 47906204119040, 47906204119040, -STORE, 47906204119040, 47906204123135, -STORE, 47906204123136, 47906204127231, -ERASE, 47906204082176, 47906204082176, -STORE, 47906204082176, 47906204086271, -STORE, 47906204086272, 47906204090367, -ERASE, 47906203836416, 47906203836416, -STORE, 47906203836416, 47906204033023, -STORE, 47906204033024, 47906204041215, -ERASE, 47906200952832, 47906200952832, -STORE, 47906200952832, 47906200989695, -STORE, 47906200989696, 47906201006079, -ERASE, 47906200399872, 47906200399872, -STORE, 47906200399872, 47906200403967, -STORE, 47906200403968, 47906200408063, -ERASE, 47906200084480, 47906200084480, -STORE, 47906200084480, 47906200088575, -STORE, 47906200088576, 47906200092671, -ERASE, 47906197815296, 47906197815296, -STORE, 47906197815296, 47906197835775, -STORE, 47906197835776, 47906197839871, -ERASE, 47906197483520, 47906197483520, -STORE, 47906197483520, 47906197487615, -STORE, 47906197487616, 47906197491711, -ERASE, 47906197438464, 47906197438464, -STORE, 47906197438464, 47906197442559, -STORE, 47906197442560, 47906197446655, -ERASE, 94641232658432, 94641232658432, -STORE, 94641232658432, 94641232781311, -STORE, 94641232781312, 94641232785407, -ERASE, 139726599675904, 139726599675904, -STORE, 139726599675904, 139726599679999, -STORE, 139726599680000, 139726599684095, -ERASE, 47906195480576, 47906195480576, -STORE, 94641242615808, 94641242750975, - }; + check_seq(mt, 50, false); + mt_set_non_kernel(4); + check_store_range(mt, 5, 47, xa_mk_value(47), 0); + MT_BUG_ON(mt, !mt_height(mt)); + mtree_destroy(mt); - unsigned long set10[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140736427839488, 140737488351231, -ERASE, 140736427839488, 140736427839488, -STORE, 140736427839488, 140736427843583, -STORE, 94071213395968, 94071213567999, -ERASE, 94071213395968, 94071213395968, -STORE, 94071213395968, 94071213412351, -STORE, 94071213412352, 94071213567999, -ERASE, 94071213412352, 94071213412352, -STORE, 94071213412352, 94071213514751, -STORE, 94071213514752, 94071213555711, -STORE, 94071213555712, 94071213567999, -STORE, 139968410644480, 139968410816511, -ERASE, 139968410644480, 139968410644480, -STORE, 139968410644480, 139968410648575, -STORE, 139968410648576, 139968410816511, -ERASE, 139968410648576, 139968410648576, -STORE, 139968410648576, 139968410771455, -STORE, 139968410771456, 139968410804223, -STORE, 139968410804224, 139968410812415, -STORE, 139968410812416, 139968410816511, -STORE, 140736429277184, 140736429281279, -STORE, 140736429264896, 140736429277183, -STORE, 47664384352256, 47664384360447, -STORE, 47664384360448, 47664384368639, -STORE, 47664384368640, 47664384532479, -ERASE, 47664384368640, 47664384368640, -STORE, 47664384368640, 47664384380927, -STORE, 47664384380928, 47664384532479, -STORE, 47664384479232, 47664384532479, -STORE, 47664384380928, 47664384479231, -ERASE, 47664384380928, 47664384380928, -STORE, 47664384380928, 47664384479231, -STORE, 47664384524288, 47664384532479, -STORE, 47664384479232, 47664384524287, -ERASE, 47664384479232, 47664384479232, -STORE, 47664384479232, 47664384532479, -ERASE, 47664384479232, 47664384479232, -STORE, 47664384479232, 47664384524287, -STORE, 47664384524288, 47664384532479, -ERASE, 47664384524288, 47664384524288, -STORE, 47664384524288, 47664384532479, -STORE, 47664384532480, 47664387583999, -STORE, 47664385077248, 47664387583999, -STORE, 47664384532480, 47664385077247, -ERASE, 47664385077248, 47664385077248, -STORE, 47664385077248, 47664387362815, -STORE, 47664387362816, 47664387583999, -STORE, 47664386772992, 47664387362815, -STORE, 47664385077248, 47664386772991, -ERASE, 47664385077248, 47664385077248, -STORE, 47664385077248, 47664386772991, -STORE, 47664387358720, 47664387362815, -STORE, 47664386772992, 47664387358719, -ERASE, 47664386772992, 47664386772992, -STORE, 47664386772992, 47664387358719, -STORE, 47664387567616, 47664387583999, -STORE, 47664387362816, 47664387567615, -ERASE, 47664387362816, 47664387362816, -STORE, 47664387362816, 47664387567615, -ERASE, 47664387567616, 47664387567616, -STORE, 47664387567616, 47664387583999, -STORE, 47664387584000, 47664389423103, -STORE, 47664387723264, 47664389423103, -STORE, 47664387584000, 47664387723263, -ERASE, 47664387723264, 47664387723264, -STORE, 47664387723264, 47664389382143, -STORE, 47664389382144, 47664389423103, -STORE, 47664389066752, 47664389382143, -STORE, 47664387723264, 47664389066751, -ERASE, 47664387723264, 47664387723264, -STORE, 47664387723264, 47664389066751, -STORE, 47664389378048, 47664389382143, -STORE, 47664389066752, 47664389378047, -ERASE, 47664389066752, 47664389066752, -STORE, 47664389066752, 47664389378047, -STORE, 47664389406720, 47664389423103, -STORE, 47664389382144, 47664389406719, -ERASE, 47664389382144, 47664389382144, -STORE, 47664389382144, 47664389406719, -ERASE, 47664389406720, 47664389406720, -STORE, 47664389406720, 47664389423103, -STORE, 47664389423104, 47664389558271, -ERASE, 47664389423104, 47664389423104, -STORE, 47664389423104, 47664389447679, -STORE, 47664389447680, 47664389558271, -STORE, 47664389509120, 47664389558271, -STORE, 47664389447680, 47664389509119, -ERASE, 47664389447680, 47664389447680, -STORE, 47664389447680, 47664389509119, -STORE, 47664389533696, 47664389558271, -STORE, 47664389509120, 47664389533695, -ERASE, 47664389509120, 47664389509120, -STORE, 47664389509120, 47664389558271, -ERASE, 47664389509120, 47664389509120, -STORE, 47664389509120, 47664389533695, -STORE, 47664389533696, 47664389558271, -STORE, 47664389541888, 47664389558271, -STORE, 47664389533696, 47664389541887, -ERASE, 47664389533696, 47664389533696, -STORE, 47664389533696, 47664389541887, -ERASE, 47664389541888, 47664389541888, -STORE, 47664389541888, 47664389558271, -STORE, 47664389558272, 47664389578751, -ERASE, 47664389558272, 47664389558272, -STORE, 47664389558272, 47664389562367, -STORE, 47664389562368, 47664389578751, -STORE, 47664389566464, 47664389578751, -STORE, 47664389562368, 47664389566463, -ERASE, 47664389562368, 47664389562368, -STORE, 47664389562368, 47664389566463, -STORE, 47664389570560, 47664389578751, -STORE, 47664389566464, 47664389570559, -ERASE, 47664389566464, 47664389566464, -STORE, 47664389566464, 47664389578751, -ERASE, 47664389566464, 47664389566464, -STORE, 47664389566464, 47664389570559, -STORE, 47664389570560, 47664389578751, -ERASE, 47664389570560, 47664389570560, -STORE, 47664389570560, 47664389578751, -STORE, 47664389578752, 47664389586943, -ERASE, 47664389382144, 47664389382144, -STORE, 47664389382144, 47664389398527, -STORE, 47664389398528, 47664389406719, -ERASE, 47664389570560, 47664389570560, -STORE, 47664389570560, 47664389574655, -STORE, 47664389574656, 47664389578751, -ERASE, 47664389533696, 47664389533696, -STORE, 47664389533696, 47664389537791, -STORE, 47664389537792, 47664389541887, -ERASE, 47664387362816, 47664387362816, -STORE, 47664387362816, 47664387559423, -STORE, 47664387559424, 47664387567615, -ERASE, 47664384524288, 47664384524288, -STORE, 47664384524288, 47664384528383, -STORE, 47664384528384, 47664384532479, -ERASE, 94071213555712, 94071213555712, -STORE, 94071213555712, 94071213563903, -STORE, 94071213563904, 94071213567999, -ERASE, 139968410804224, 139968410804224, -STORE, 139968410804224, 139968410808319, -STORE, 139968410808320, 139968410812415, -ERASE, 47664384352256, 47664384352256, -STORE, 94071244402688, 94071244537855, -STORE, 140737488347136, 140737488351231, -STORE, 140728271503360, 140737488351231, -ERASE, 140728271503360, 140728271503360, -STORE, 140728271503360, 140728271507455, -STORE, 94410361982976, 94410362155007, -ERASE, 94410361982976, 94410361982976, -STORE, 94410361982976, 94410361999359, -STORE, 94410361999360, 94410362155007, -ERASE, 94410361999360, 94410361999360, -STORE, 94410361999360, 94410362101759, -STORE, 94410362101760, 94410362142719, -STORE, 94410362142720, 94410362155007, -STORE, 140351953997824, 140351954169855, -ERASE, 140351953997824, 140351953997824, -STORE, 140351953997824, 140351954001919, -STORE, 140351954001920, 140351954169855, -ERASE, 140351954001920, 140351954001920, -STORE, 140351954001920, 140351954124799, -STORE, 140351954124800, 140351954157567, -STORE, 140351954157568, 140351954165759, -STORE, 140351954165760, 140351954169855, -STORE, 140728272429056, 140728272433151, -STORE, 140728272416768, 140728272429055, -STORE, 47280840998912, 47280841007103, -STORE, 47280841007104, 47280841015295, -STORE, 47280841015296, 47280841179135, -ERASE, 47280841015296, 47280841015296, -STORE, 47280841015296, 47280841027583, -STORE, 47280841027584, 47280841179135, -STORE, 47280841125888, 47280841179135, -STORE, 47280841027584, 47280841125887, -ERASE, 47280841027584, 47280841027584, -STORE, 47280841027584, 47280841125887, -STORE, 47280841170944, 47280841179135, -STORE, 47280841125888, 47280841170943, -ERASE, 47280841125888, 47280841125888, -STORE, 47280841125888, 47280841179135, -ERASE, 47280841125888, 47280841125888, -STORE, 47280841125888, 47280841170943, -STORE, 47280841170944, 47280841179135, -ERASE, 47280841170944, 47280841170944, -STORE, 47280841170944, 47280841179135, -STORE, 47280841179136, 47280844230655, -STORE, 47280841723904, 47280844230655, -STORE, 47280841179136, 47280841723903, -ERASE, 47280841723904, 47280841723904, -STORE, 47280841723904, 47280844009471, -STORE, 47280844009472, 47280844230655, -STORE, 47280843419648, 47280844009471, -STORE, 47280841723904, 47280843419647, -ERASE, 47280841723904, 47280841723904, -STORE, 47280841723904, 47280843419647, -STORE, 47280844005376, 47280844009471, -STORE, 47280843419648, 47280844005375, -ERASE, 47280843419648, 47280843419648, -STORE, 47280843419648, 47280844005375, -STORE, 47280844214272, 47280844230655, -STORE, 47280844009472, 47280844214271, -ERASE, 47280844009472, 47280844009472, -STORE, 47280844009472, 47280844214271, -ERASE, 47280844214272, 47280844214272, -STORE, 47280844214272, 47280844230655, -STORE, 47280844230656, 47280846069759, -STORE, 47280844369920, 47280846069759, -STORE, 47280844230656, 47280844369919, -ERASE, 47280844369920, 47280844369920, -STORE, 47280844369920, 47280846028799, -STORE, 47280846028800, 47280846069759, -STORE, 47280845713408, 47280846028799, -STORE, 47280844369920, 47280845713407, -ERASE, 47280844369920, 47280844369920, -STORE, 47280844369920, 47280845713407, -STORE, 47280846024704, 47280846028799, -STORE, 47280845713408, 47280846024703, -ERASE, 47280845713408, 47280845713408, -STORE, 47280845713408, 47280846024703, -STORE, 47280846053376, 47280846069759, -STORE, 47280846028800, 47280846053375, -ERASE, 47280846028800, 47280846028800, -STORE, 47280846028800, 47280846053375, -ERASE, 47280846053376, 47280846053376, -STORE, 47280846053376, 47280846069759, -STORE, 47280846069760, 47280846204927, -ERASE, 47280846069760, 47280846069760, -STORE, 47280846069760, 47280846094335, -STORE, 47280846094336, 47280846204927, -STORE, 47280846155776, 47280846204927, -STORE, 47280846094336, 47280846155775, -ERASE, 47280846094336, 47280846094336, -STORE, 47280846094336, 47280846155775, -STORE, 47280846180352, 47280846204927, -STORE, 47280846155776, 47280846180351, -ERASE, 47280846155776, 47280846155776, -STORE, 47280846155776, 47280846204927, -ERASE, 47280846155776, 47280846155776, -STORE, 47280846155776, 47280846180351, -STORE, 47280846180352, 47280846204927, -STORE, 47280846188544, 47280846204927, -STORE, 47280846180352, 47280846188543, -ERASE, 47280846180352, 47280846180352, -STORE, 47280846180352, 47280846188543, -ERASE, 47280846188544, 47280846188544, -STORE, 47280846188544, 47280846204927, -STORE, 47280846204928, 47280846225407, -ERASE, 47280846204928, 47280846204928, -STORE, 47280846204928, 47280846209023, -STORE, 47280846209024, 47280846225407, -STORE, 47280846213120, 47280846225407, -STORE, 47280846209024, 47280846213119, -ERASE, 47280846209024, 47280846209024, -STORE, 47280846209024, 47280846213119, -STORE, 47280846217216, 47280846225407, -STORE, 47280846213120, 47280846217215, -ERASE, 47280846213120, 47280846213120, -STORE, 47280846213120, 47280846225407, -ERASE, 47280846213120, 47280846213120, -STORE, 47280846213120, 47280846217215, -STORE, 47280846217216, 47280846225407, -ERASE, 47280846217216, 47280846217216, -STORE, 47280846217216, 47280846225407, -STORE, 47280846225408, 47280846233599, -ERASE, 47280846028800, 47280846028800, -STORE, 47280846028800, 47280846045183, -STORE, 47280846045184, 47280846053375, -ERASE, 47280846217216, 47280846217216, -STORE, 47280846217216, 47280846221311, -STORE, 47280846221312, 47280846225407, -ERASE, 47280846180352, 47280846180352, -STORE, 47280846180352, 47280846184447, -STORE, 47280846184448, 47280846188543, -ERASE, 47280844009472, 47280844009472, -STORE, 47280844009472, 47280844206079, -STORE, 47280844206080, 47280844214271, -ERASE, 47280841170944, 47280841170944, -STORE, 47280841170944, 47280841175039, -STORE, 47280841175040, 47280841179135, -ERASE, 94410362142720, 94410362142720, -STORE, 94410362142720, 94410362150911, -STORE, 94410362150912, 94410362155007, -ERASE, 140351954157568, 140351954157568, -STORE, 140351954157568, 140351954161663, -STORE, 140351954161664, 140351954165759, -ERASE, 47280840998912, 47280840998912, -STORE, 94410379456512, 94410379591679, -STORE, 140737488347136, 140737488351231, -STORE, 140732946362368, 140737488351231, -ERASE, 140732946362368, 140732946362368, -STORE, 140732946362368, 140732946366463, -STORE, 94352937934848, 94352938106879, -ERASE, 94352937934848, 94352937934848, -STORE, 94352937934848, 94352937951231, -STORE, 94352937951232, 94352938106879, -ERASE, 94352937951232, 94352937951232, -STORE, 94352937951232, 94352938053631, -STORE, 94352938053632, 94352938094591, -STORE, 94352938094592, 94352938106879, -STORE, 140595518742528, 140595518914559, -ERASE, 140595518742528, 140595518742528, -STORE, 140595518742528, 140595518746623, -STORE, 140595518746624, 140595518914559, -ERASE, 140595518746624, 140595518746624, -STORE, 140595518746624, 140595518869503, -STORE, 140595518869504, 140595518902271, -STORE, 140595518902272, 140595518910463, -STORE, 140595518910464, 140595518914559, -STORE, 140732947468288, 140732947472383, -STORE, 140732947456000, 140732947468287, -STORE, 47037276254208, 47037276262399, -STORE, 47037276262400, 47037276270591, -STORE, 47037276270592, 47037276434431, -ERASE, 47037276270592, 47037276270592, -STORE, 47037276270592, 47037276282879, -STORE, 47037276282880, 47037276434431, -STORE, 47037276381184, 47037276434431, -STORE, 47037276282880, 47037276381183, -ERASE, 47037276282880, 47037276282880, -STORE, 47037276282880, 47037276381183, -STORE, 47037276426240, 47037276434431, -STORE, 47037276381184, 47037276426239, -ERASE, 47037276381184, 47037276381184, -STORE, 47037276381184, 47037276434431, -ERASE, 47037276381184, 47037276381184, -STORE, 47037276381184, 47037276426239, -STORE, 47037276426240, 47037276434431, -ERASE, 47037276426240, 47037276426240, -STORE, 47037276426240, 47037276434431, -STORE, 47037276434432, 47037279485951, -STORE, 47037276979200, 47037279485951, -STORE, 47037276434432, 47037276979199, -ERASE, 47037276979200, 47037276979200, -STORE, 47037276979200, 47037279264767, -STORE, 47037279264768, 47037279485951, -STORE, 47037278674944, 47037279264767, -STORE, 47037276979200, 47037278674943, -ERASE, 47037276979200, 47037276979200, -STORE, 47037276979200, 47037278674943, -STORE, 47037279260672, 47037279264767, -STORE, 47037278674944, 47037279260671, -ERASE, 47037278674944, 47037278674944, -STORE, 47037278674944, 47037279260671, -STORE, 47037279469568, 47037279485951, -STORE, 47037279264768, 47037279469567, -ERASE, 47037279264768, 47037279264768, -STORE, 47037279264768, 47037279469567, -ERASE, 47037279469568, 47037279469568, -STORE, 47037279469568, 47037279485951, -STORE, 47037279485952, 47037281325055, -STORE, 47037279625216, 47037281325055, -STORE, 47037279485952, 47037279625215, -ERASE, 47037279625216, 47037279625216, -STORE, 47037279625216, 47037281284095, -STORE, 47037281284096, 47037281325055, -STORE, 47037280968704, 47037281284095, -STORE, 47037279625216, 47037280968703, -ERASE, 47037279625216, 47037279625216, -STORE, 47037279625216, 47037280968703, -STORE, 47037281280000, 47037281284095, -STORE, 47037280968704, 47037281279999, -ERASE, 47037280968704, 47037280968704, -STORE, 47037280968704, 47037281279999, -STORE, 47037281308672, 47037281325055, -STORE, 47037281284096, 47037281308671, -ERASE, 47037281284096, 47037281284096, -STORE, 47037281284096, 47037281308671, -ERASE, 47037281308672, 47037281308672, -STORE, 47037281308672, 47037281325055, -STORE, 47037281325056, 47037281460223, -ERASE, 47037281325056, 47037281325056, -STORE, 47037281325056, 47037281349631, -STORE, 47037281349632, 47037281460223, -STORE, 47037281411072, 47037281460223, -STORE, 47037281349632, 47037281411071, -ERASE, 47037281349632, 47037281349632, -STORE, 47037281349632, 47037281411071, -STORE, 47037281435648, 47037281460223, -STORE, 47037281411072, 47037281435647, -ERASE, 47037281411072, 47037281411072, -STORE, 47037281411072, 47037281460223, -ERASE, 47037281411072, 47037281411072, -STORE, 47037281411072, 47037281435647, -STORE, 47037281435648, 47037281460223, -STORE, 47037281443840, 47037281460223, -STORE, 47037281435648, 47037281443839, -ERASE, 47037281435648, 47037281435648, -STORE, 47037281435648, 47037281443839, -ERASE, 47037281443840, 47037281443840, -STORE, 47037281443840, 47037281460223, -STORE, 47037281460224, 47037281480703, -ERASE, 47037281460224, 47037281460224, -STORE, 47037281460224, 47037281464319, -STORE, 47037281464320, 47037281480703, -STORE, 47037281468416, 47037281480703, -STORE, 47037281464320, 47037281468415, -ERASE, 47037281464320, 47037281464320, -STORE, 47037281464320, 47037281468415, -STORE, 47037281472512, 47037281480703, -STORE, 47037281468416, 47037281472511, -ERASE, 47037281468416, 47037281468416, -STORE, 47037281468416, 47037281480703, -ERASE, 47037281468416, 47037281468416, -STORE, 47037281468416, 47037281472511, -STORE, 47037281472512, 47037281480703, -ERASE, 47037281472512, 47037281472512, -STORE, 47037281472512, 47037281480703, -STORE, 47037281480704, 47037281488895, -ERASE, 47037281284096, 47037281284096, -STORE, 47037281284096, 47037281300479, -STORE, 47037281300480, 47037281308671, -ERASE, 47037281472512, 47037281472512, -STORE, 47037281472512, 47037281476607, -STORE, 47037281476608, 47037281480703, -ERASE, 47037281435648, 47037281435648, -STORE, 47037281435648, 47037281439743, -STORE, 47037281439744, 47037281443839, -ERASE, 47037279264768, 47037279264768, -STORE, 47037279264768, 47037279461375, -STORE, 47037279461376, 47037279469567, -ERASE, 47037276426240, 47037276426240, -STORE, 47037276426240, 47037276430335, -STORE, 47037276430336, 47037276434431, -ERASE, 94352938094592, 94352938094592, -STORE, 94352938094592, 94352938102783, -STORE, 94352938102784, 94352938106879, -ERASE, 140595518902272, 140595518902272, -STORE, 140595518902272, 140595518906367, -STORE, 140595518906368, 140595518910463, -ERASE, 47037276254208, 47037276254208, -STORE, 94352938438656, 94352938573823, -STORE, 140737488347136, 140737488351231, -STORE, 140733506027520, 140737488351231, -ERASE, 140733506027520, 140733506027520, -STORE, 140733506027520, 140733506031615, -STORE, 94150123073536, 94150123245567, -ERASE, 94150123073536, 94150123073536, -STORE, 94150123073536, 94150123089919, -STORE, 94150123089920, 94150123245567, -ERASE, 94150123089920, 94150123089920, -STORE, 94150123089920, 94150123192319, -STORE, 94150123192320, 94150123233279, -STORE, 94150123233280, 94150123245567, -STORE, 140081290375168, 140081290547199, -ERASE, 140081290375168, 140081290375168, -STORE, 140081290375168, 140081290379263, -STORE, 140081290379264, 140081290547199, -ERASE, 140081290379264, 140081290379264, -STORE, 140081290379264, 140081290502143, -STORE, 140081290502144, 140081290534911, -STORE, 140081290534912, 140081290543103, -STORE, 140081290543104, 140081290547199, -STORE, 140733506707456, 140733506711551, -STORE, 140733506695168, 140733506707455, -STORE, 47551504621568, 47551504629759, -STORE, 47551504629760, 47551504637951, -STORE, 47551504637952, 47551504801791, -ERASE, 47551504637952, 47551504637952, -STORE, 47551504637952, 47551504650239, -STORE, 47551504650240, 47551504801791, -STORE, 47551504748544, 47551504801791, -STORE, 47551504650240, 47551504748543, -ERASE, 47551504650240, 47551504650240, -STORE, 47551504650240, 47551504748543, -STORE, 47551504793600, 47551504801791, -STORE, 47551504748544, 47551504793599, -ERASE, 47551504748544, 47551504748544, -STORE, 47551504748544, 47551504801791, -ERASE, 47551504748544, 47551504748544, -STORE, 47551504748544, 47551504793599, -STORE, 47551504793600, 47551504801791, -ERASE, 47551504793600, 47551504793600, -STORE, 47551504793600, 47551504801791, -STORE, 47551504801792, 47551507853311, -STORE, 47551505346560, 47551507853311, -STORE, 47551504801792, 47551505346559, -ERASE, 47551505346560, 47551505346560, -STORE, 47551505346560, 47551507632127, -STORE, 47551507632128, 47551507853311, -STORE, 47551507042304, 47551507632127, -STORE, 47551505346560, 47551507042303, -ERASE, 47551505346560, 47551505346560, -STORE, 47551505346560, 47551507042303, -STORE, 47551507628032, 47551507632127, -STORE, 47551507042304, 47551507628031, -ERASE, 47551507042304, 47551507042304, -STORE, 47551507042304, 47551507628031, -STORE, 47551507836928, 47551507853311, -STORE, 47551507632128, 47551507836927, -ERASE, 47551507632128, 47551507632128, -STORE, 47551507632128, 47551507836927, -ERASE, 47551507836928, 47551507836928, -STORE, 47551507836928, 47551507853311, -STORE, 47551507853312, 47551509692415, -STORE, 47551507992576, 47551509692415, -STORE, 47551507853312, 47551507992575, -ERASE, 47551507992576, 47551507992576, -STORE, 47551507992576, 47551509651455, -STORE, 47551509651456, 47551509692415, -STORE, 47551509336064, 47551509651455, -STORE, 47551507992576, 47551509336063, -ERASE, 47551507992576, 47551507992576, -STORE, 47551507992576, 47551509336063, -STORE, 47551509647360, 47551509651455, -STORE, 47551509336064, 47551509647359, -ERASE, 47551509336064, 47551509336064, -STORE, 47551509336064, 47551509647359, -STORE, 47551509676032, 47551509692415, -STORE, 47551509651456, 47551509676031, -ERASE, 47551509651456, 47551509651456, -STORE, 47551509651456, 47551509676031, -ERASE, 47551509676032, 47551509676032, -STORE, 47551509676032, 47551509692415, -STORE, 47551509692416, 47551509827583, -ERASE, 47551509692416, 47551509692416, -STORE, 47551509692416, 47551509716991, -STORE, 47551509716992, 47551509827583, -STORE, 47551509778432, 47551509827583, -STORE, 47551509716992, 47551509778431, -ERASE, 47551509716992, 47551509716992, -STORE, 47551509716992, 47551509778431, -STORE, 47551509803008, 47551509827583, -STORE, 47551509778432, 47551509803007, -ERASE, 47551509778432, 47551509778432, -STORE, 47551509778432, 47551509827583, -ERASE, 47551509778432, 47551509778432, -STORE, 47551509778432, 47551509803007, -STORE, 47551509803008, 47551509827583, -STORE, 47551509811200, 47551509827583, -STORE, 47551509803008, 47551509811199, -ERASE, 47551509803008, 47551509803008, -STORE, 47551509803008, 47551509811199, -ERASE, 47551509811200, 47551509811200, -STORE, 47551509811200, 47551509827583, -STORE, 47551509827584, 47551509848063, -ERASE, 47551509827584, 47551509827584, -STORE, 47551509827584, 47551509831679, -STORE, 47551509831680, 47551509848063, -STORE, 47551509835776, 47551509848063, -STORE, 47551509831680, 47551509835775, -ERASE, 47551509831680, 47551509831680, -STORE, 47551509831680, 47551509835775, -STORE, 47551509839872, 47551509848063, -STORE, 47551509835776, 47551509839871, -ERASE, 47551509835776, 47551509835776, -STORE, 47551509835776, 47551509848063, -ERASE, 47551509835776, 47551509835776, -STORE, 47551509835776, 47551509839871, -STORE, 47551509839872, 47551509848063, -ERASE, 47551509839872, 47551509839872, -STORE, 47551509839872, 47551509848063, -STORE, 47551509848064, 47551509856255, -ERASE, 47551509651456, 47551509651456, -STORE, 47551509651456, 47551509667839, -STORE, 47551509667840, 47551509676031, -ERASE, 47551509839872, 47551509839872, -STORE, 47551509839872, 47551509843967, -STORE, 47551509843968, 47551509848063, -ERASE, 47551509803008, 47551509803008, -STORE, 47551509803008, 47551509807103, -STORE, 47551509807104, 47551509811199, -ERASE, 47551507632128, 47551507632128, -STORE, 47551507632128, 47551507828735, -STORE, 47551507828736, 47551507836927, -ERASE, 47551504793600, 47551504793600, -STORE, 47551504793600, 47551504797695, -STORE, 47551504797696, 47551504801791, -ERASE, 94150123233280, 94150123233280, -STORE, 94150123233280, 94150123241471, -STORE, 94150123241472, 94150123245567, -ERASE, 140081290534912, 140081290534912, -STORE, 140081290534912, 140081290539007, -STORE, 140081290539008, 140081290543103, -ERASE, 47551504621568, 47551504621568, -STORE, 94150148112384, 94150148247551, -STORE, 140737488347136, 140737488351231, -STORE, 140734389334016, 140737488351231, -ERASE, 140734389334016, 140734389334016, -STORE, 140734389334016, 140734389338111, -STORE, 94844636606464, 94844636778495, -ERASE, 94844636606464, 94844636606464, -STORE, 94844636606464, 94844636622847, -STORE, 94844636622848, 94844636778495, -ERASE, 94844636622848, 94844636622848, -STORE, 94844636622848, 94844636725247, -STORE, 94844636725248, 94844636766207, -STORE, 94844636766208, 94844636778495, -STORE, 139922765217792, 139922765389823, -ERASE, 139922765217792, 139922765217792, -STORE, 139922765217792, 139922765221887, -STORE, 139922765221888, 139922765389823, -ERASE, 139922765221888, 139922765221888, -STORE, 139922765221888, 139922765344767, -STORE, 139922765344768, 139922765377535, -STORE, 139922765377536, 139922765385727, -STORE, 139922765385728, 139922765389823, -STORE, 140734389678080, 140734389682175, -STORE, 140734389665792, 140734389678079, -STORE, 47710029778944, 47710029787135, -STORE, 47710029787136, 47710029795327, -STORE, 47710029795328, 47710029959167, -ERASE, 47710029795328, 47710029795328, -STORE, 47710029795328, 47710029807615, -STORE, 47710029807616, 47710029959167, -STORE, 47710029905920, 47710029959167, -STORE, 47710029807616, 47710029905919, -ERASE, 47710029807616, 47710029807616, -STORE, 47710029807616, 47710029905919, -STORE, 47710029950976, 47710029959167, -STORE, 47710029905920, 47710029950975, -ERASE, 47710029905920, 47710029905920, -STORE, 47710029905920, 47710029959167, -ERASE, 47710029905920, 47710029905920, -STORE, 47710029905920, 47710029950975, -STORE, 47710029950976, 47710029959167, -ERASE, 47710029950976, 47710029950976, -STORE, 47710029950976, 47710029959167, -STORE, 47710029959168, 47710033010687, -STORE, 47710030503936, 47710033010687, -STORE, 47710029959168, 47710030503935, -ERASE, 47710030503936, 47710030503936, -STORE, 47710030503936, 47710032789503, -STORE, 47710032789504, 47710033010687, -STORE, 47710032199680, 47710032789503, -STORE, 47710030503936, 47710032199679, -ERASE, 47710030503936, 47710030503936, -STORE, 47710030503936, 47710032199679, -STORE, 47710032785408, 47710032789503, -STORE, 47710032199680, 47710032785407, -ERASE, 47710032199680, 47710032199680, -STORE, 47710032199680, 47710032785407, -STORE, 47710032994304, 47710033010687, -STORE, 47710032789504, 47710032994303, -ERASE, 47710032789504, 47710032789504, -STORE, 47710032789504, 47710032994303, -ERASE, 47710032994304, 47710032994304, -STORE, 47710032994304, 47710033010687, -STORE, 47710033010688, 47710034849791, -STORE, 47710033149952, 47710034849791, -STORE, 47710033010688, 47710033149951, -ERASE, 47710033149952, 47710033149952, -STORE, 47710033149952, 47710034808831, -STORE, 47710034808832, 47710034849791, -STORE, 47710034493440, 47710034808831, -STORE, 47710033149952, 47710034493439, -ERASE, 47710033149952, 47710033149952, -STORE, 47710033149952, 47710034493439, -STORE, 47710034804736, 47710034808831, -STORE, 47710034493440, 47710034804735, -ERASE, 47710034493440, 47710034493440, -STORE, 47710034493440, 47710034804735, -STORE, 47710034833408, 47710034849791, -STORE, 47710034808832, 47710034833407, -ERASE, 47710034808832, 47710034808832, -STORE, 47710034808832, 47710034833407, -ERASE, 47710034833408, 47710034833408, -STORE, 47710034833408, 47710034849791, -STORE, 47710034849792, 47710034984959, -ERASE, 47710034849792, 47710034849792, -STORE, 47710034849792, 47710034874367, -STORE, 47710034874368, 47710034984959, -STORE, 47710034935808, 47710034984959, -STORE, 47710034874368, 47710034935807, -ERASE, 47710034874368, 47710034874368, -STORE, 47710034874368, 47710034935807, -STORE, 47710034960384, 47710034984959, -STORE, 47710034935808, 47710034960383, -ERASE, 47710034935808, 47710034935808, -STORE, 47710034935808, 47710034984959, -ERASE, 47710034935808, 47710034935808, -STORE, 47710034935808, 47710034960383, -STORE, 47710034960384, 47710034984959, -STORE, 47710034968576, 47710034984959, -STORE, 47710034960384, 47710034968575, -ERASE, 47710034960384, 47710034960384, -STORE, 47710034960384, 47710034968575, -ERASE, 47710034968576, 47710034968576, -STORE, 47710034968576, 47710034984959, -STORE, 47710034984960, 47710035005439, -ERASE, 47710034984960, 47710034984960, -STORE, 47710034984960, 47710034989055, -STORE, 47710034989056, 47710035005439, -STORE, 47710034993152, 47710035005439, -STORE, 47710034989056, 47710034993151, -ERASE, 47710034989056, 47710034989056, -STORE, 47710034989056, 47710034993151, -STORE, 47710034997248, 47710035005439, -STORE, 47710034993152, 47710034997247, -ERASE, 47710034993152, 47710034993152, -STORE, 47710034993152, 47710035005439, -ERASE, 47710034993152, 47710034993152, -STORE, 47710034993152, 47710034997247, -STORE, 47710034997248, 47710035005439, -ERASE, 47710034997248, 47710034997248, -STORE, 47710034997248, 47710035005439, -STORE, 47710035005440, 47710035013631, -ERASE, 47710034808832, 47710034808832, -STORE, 47710034808832, 47710034825215, -STORE, 47710034825216, 47710034833407, -ERASE, 47710034997248, 47710034997248, -STORE, 47710034997248, 47710035001343, -STORE, 47710035001344, 47710035005439, -ERASE, 47710034960384, 47710034960384, -STORE, 47710034960384, 47710034964479, -STORE, 47710034964480, 47710034968575, -ERASE, 47710032789504, 47710032789504, -STORE, 47710032789504, 47710032986111, -STORE, 47710032986112, 47710032994303, -ERASE, 47710029950976, 47710029950976, -STORE, 47710029950976, 47710029955071, -STORE, 47710029955072, 47710029959167, -ERASE, 94844636766208, 94844636766208, -STORE, 94844636766208, 94844636774399, -STORE, 94844636774400, 94844636778495, -ERASE, 139922765377536, 139922765377536, -STORE, 139922765377536, 139922765381631, -STORE, 139922765381632, 139922765385727, -ERASE, 47710029778944, 47710029778944, -STORE, 94844641775616, 94844641910783, -STORE, 140737488347136, 140737488351231, -STORE, 140732213886976, 140737488351231, -ERASE, 140732213886976, 140732213886976, -STORE, 140732213886976, 140732213891071, -STORE, 94240508887040, 94240509059071, -ERASE, 94240508887040, 94240508887040, -STORE, 94240508887040, 94240508903423, -STORE, 94240508903424, 94240509059071, -ERASE, 94240508903424, 94240508903424, -STORE, 94240508903424, 94240509005823, -STORE, 94240509005824, 94240509046783, -STORE, 94240509046784, 94240509059071, -STORE, 140275106516992, 140275106689023, -ERASE, 140275106516992, 140275106516992, -STORE, 140275106516992, 140275106521087, -STORE, 140275106521088, 140275106689023, -ERASE, 140275106521088, 140275106521088, -STORE, 140275106521088, 140275106643967, -STORE, 140275106643968, 140275106676735, -STORE, 140275106676736, 140275106684927, -STORE, 140275106684928, 140275106689023, -STORE, 140732213977088, 140732213981183, -STORE, 140732213964800, 140732213977087, -STORE, 47357688479744, 47357688487935, -STORE, 47357688487936, 47357688496127, -STORE, 47357688496128, 47357688659967, -ERASE, 47357688496128, 47357688496128, -STORE, 47357688496128, 47357688508415, -STORE, 47357688508416, 47357688659967, -STORE, 47357688606720, 47357688659967, -STORE, 47357688508416, 47357688606719, -ERASE, 47357688508416, 47357688508416, -STORE, 47357688508416, 47357688606719, -STORE, 47357688651776, 47357688659967, -STORE, 47357688606720, 47357688651775, -ERASE, 47357688606720, 47357688606720, -STORE, 47357688606720, 47357688659967, -ERASE, 47357688606720, 47357688606720, -STORE, 47357688606720, 47357688651775, -STORE, 47357688651776, 47357688659967, -ERASE, 47357688651776, 47357688651776, -STORE, 47357688651776, 47357688659967, -STORE, 47357688659968, 47357691711487, -STORE, 47357689204736, 47357691711487, -STORE, 47357688659968, 47357689204735, -ERASE, 47357689204736, 47357689204736, -STORE, 47357689204736, 47357691490303, -STORE, 47357691490304, 47357691711487, -STORE, 47357690900480, 47357691490303, -STORE, 47357689204736, 47357690900479, -ERASE, 47357689204736, 47357689204736, -STORE, 47357689204736, 47357690900479, -STORE, 47357691486208, 47357691490303, -STORE, 47357690900480, 47357691486207, -ERASE, 47357690900480, 47357690900480, -STORE, 47357690900480, 47357691486207, -STORE, 47357691695104, 47357691711487, -STORE, 47357691490304, 47357691695103, -ERASE, 47357691490304, 47357691490304, -STORE, 47357691490304, 47357691695103, -ERASE, 47357691695104, 47357691695104, -STORE, 47357691695104, 47357691711487, -STORE, 47357691711488, 47357693550591, -STORE, 47357691850752, 47357693550591, -STORE, 47357691711488, 47357691850751, -ERASE, 47357691850752, 47357691850752, -STORE, 47357691850752, 47357693509631, -STORE, 47357693509632, 47357693550591, -STORE, 47357693194240, 47357693509631, -STORE, 47357691850752, 47357693194239, -ERASE, 47357691850752, 47357691850752, -STORE, 47357691850752, 47357693194239, -STORE, 47357693505536, 47357693509631, -STORE, 47357693194240, 47357693505535, -ERASE, 47357693194240, 47357693194240, -STORE, 47357693194240, 47357693505535, -STORE, 47357693534208, 47357693550591, -STORE, 47357693509632, 47357693534207, -ERASE, 47357693509632, 47357693509632, -STORE, 47357693509632, 47357693534207, -ERASE, 47357693534208, 47357693534208, -STORE, 47357693534208, 47357693550591, -STORE, 47357693550592, 47357693685759, -ERASE, 47357693550592, 47357693550592, -STORE, 47357693550592, 47357693575167, -STORE, 47357693575168, 47357693685759, -STORE, 47357693636608, 47357693685759, -STORE, 47357693575168, 47357693636607, -ERASE, 47357693575168, 47357693575168, -STORE, 47357693575168, 47357693636607, -STORE, 47357693661184, 47357693685759, -STORE, 47357693636608, 47357693661183, -ERASE, 47357693636608, 47357693636608, -STORE, 47357693636608, 47357693685759, -ERASE, 47357693636608, 47357693636608, -STORE, 47357693636608, 47357693661183, -STORE, 47357693661184, 47357693685759, -STORE, 47357693669376, 47357693685759, -STORE, 47357693661184, 47357693669375, -ERASE, 47357693661184, 47357693661184, -STORE, 47357693661184, 47357693669375, -ERASE, 47357693669376, 47357693669376, -STORE, 47357693669376, 47357693685759, -STORE, 47357693685760, 47357693706239, -ERASE, 47357693685760, 47357693685760, -STORE, 47357693685760, 47357693689855, -STORE, 47357693689856, 47357693706239, -STORE, 47357693693952, 47357693706239, -STORE, 47357693689856, 47357693693951, -ERASE, 47357693689856, 47357693689856, -STORE, 47357693689856, 47357693693951, -STORE, 47357693698048, 47357693706239, -STORE, 47357693693952, 47357693698047, -ERASE, 47357693693952, 47357693693952, -STORE, 47357693693952, 47357693706239, -ERASE, 47357693693952, 47357693693952, -STORE, 47357693693952, 47357693698047, -STORE, 47357693698048, 47357693706239, -ERASE, 47357693698048, 47357693698048, -STORE, 47357693698048, 47357693706239, -STORE, 47357693706240, 47357693714431, -ERASE, 47357693509632, 47357693509632, -STORE, 47357693509632, 47357693526015, -STORE, 47357693526016, 47357693534207, -ERASE, 47357693698048, 47357693698048, -STORE, 47357693698048, 47357693702143, -STORE, 47357693702144, 47357693706239, -ERASE, 47357693661184, 47357693661184, -STORE, 47357693661184, 47357693665279, -STORE, 47357693665280, 47357693669375, -ERASE, 47357691490304, 47357691490304, -STORE, 47357691490304, 47357691686911, -STORE, 47357691686912, 47357691695103, -ERASE, 47357688651776, 47357688651776, -STORE, 47357688651776, 47357688655871, -STORE, 47357688655872, 47357688659967, -ERASE, 94240509046784, 94240509046784, -STORE, 94240509046784, 94240509054975, -STORE, 94240509054976, 94240509059071, -ERASE, 140275106676736, 140275106676736, -STORE, 140275106676736, 140275106680831, -STORE, 140275106680832, 140275106684927, -ERASE, 47357688479744, 47357688479744, -STORE, 94240518361088, 94240518496255, -STORE, 140737488347136, 140737488351231, -STORE, 140732688277504, 140737488351231, -ERASE, 140732688277504, 140732688277504, -STORE, 140732688277504, 140732688281599, -STORE, 94629171351552, 94629172064255, -ERASE, 94629171351552, 94629171351552, -STORE, 94629171351552, 94629171400703, -STORE, 94629171400704, 94629172064255, -ERASE, 94629171400704, 94629171400704, -STORE, 94629171400704, 94629171945471, -STORE, 94629171945472, 94629172043775, -STORE, 94629172043776, 94629172064255, -STORE, 139770707644416, 139770707816447, -ERASE, 139770707644416, 139770707644416, -STORE, 139770707644416, 139770707648511, -STORE, 139770707648512, 139770707816447, -ERASE, 139770707648512, 139770707648512, -STORE, 139770707648512, 139770707771391, -STORE, 139770707771392, 139770707804159, -STORE, 139770707804160, 139770707812351, -STORE, 139770707812352, 139770707816447, -STORE, 140732689121280, 140732689125375, -STORE, 140732689108992, 140732689121279, -STORE, 47862087352320, 47862087360511, -STORE, 47862087360512, 47862087368703, -STORE, 47862087368704, 47862087475199, -STORE, 47862087385088, 47862087475199, -STORE, 47862087368704, 47862087385087, -ERASE, 47862087385088, 47862087385088, -STORE, 47862087385088, 47862087458815, -STORE, 47862087458816, 47862087475199, -STORE, 47862087438336, 47862087458815, -STORE, 47862087385088, 47862087438335, -ERASE, 47862087385088, 47862087385088, -STORE, 47862087385088, 47862087438335, -STORE, 47862087454720, 47862087458815, -STORE, 47862087438336, 47862087454719, -ERASE, 47862087438336, 47862087438336, -STORE, 47862087438336, 47862087454719, -STORE, 47862087467008, 47862087475199, -STORE, 47862087458816, 47862087467007, -ERASE, 47862087458816, 47862087458816, -STORE, 47862087458816, 47862087467007, -ERASE, 47862087467008, 47862087467008, -STORE, 47862087467008, 47862087475199, -STORE, 47862087475200, 47862089314303, -STORE, 47862087614464, 47862089314303, -STORE, 47862087475200, 47862087614463, -ERASE, 47862087614464, 47862087614464, -STORE, 47862087614464, 47862089273343, -STORE, 47862089273344, 47862089314303, -STORE, 47862088957952, 47862089273343, -STORE, 47862087614464, 47862088957951, -ERASE, 47862087614464, 47862087614464, -STORE, 47862087614464, 47862088957951, -STORE, 47862089269248, 47862089273343, -STORE, 47862088957952, 47862089269247, -ERASE, 47862088957952, 47862088957952, -STORE, 47862088957952, 47862089269247, -STORE, 47862089297920, 47862089314303, -STORE, 47862089273344, 47862089297919, -ERASE, 47862089273344, 47862089273344, -STORE, 47862089273344, 47862089297919, -ERASE, 47862089297920, 47862089297920, -STORE, 47862089297920, 47862089314303, -STORE, 47862089297920, 47862089326591, -ERASE, 47862089273344, 47862089273344, -STORE, 47862089273344, 47862089289727, -STORE, 47862089289728, 47862089297919, -ERASE, 47862087458816, 47862087458816, -STORE, 47862087458816, 47862087462911, -STORE, 47862087462912, 47862087467007, -ERASE, 94629172043776, 94629172043776, -STORE, 94629172043776, 94629172060159, -STORE, 94629172060160, 94629172064255, -ERASE, 139770707804160, 139770707804160, -STORE, 139770707804160, 139770707808255, -STORE, 139770707808256, 139770707812351, -ERASE, 47862087352320, 47862087352320, -STORE, 94629197533184, 94629197668351, -STORE, 140737488347136, 140737488351231, -STORE, 140727540711424, 140737488351231, -ERASE, 140727540711424, 140727540711424, -STORE, 140727540711424, 140727540715519, -STORE, 94299865313280, 94299866025983, -ERASE, 94299865313280, 94299865313280, -STORE, 94299865313280, 94299865362431, -STORE, 94299865362432, 94299866025983, -ERASE, 94299865362432, 94299865362432, -STORE, 94299865362432, 94299865907199, -STORE, 94299865907200, 94299866005503, -STORE, 94299866005504, 94299866025983, -STORE, 140680268763136, 140680268935167, -ERASE, 140680268763136, 140680268763136, -STORE, 140680268763136, 140680268767231, -STORE, 140680268767232, 140680268935167, -ERASE, 140680268767232, 140680268767232, -STORE, 140680268767232, 140680268890111, -STORE, 140680268890112, 140680268922879, -STORE, 140680268922880, 140680268931071, -STORE, 140680268931072, 140680268935167, -STORE, 140727541424128, 140727541428223, -STORE, 140727541411840, 140727541424127, -STORE, 46952526233600, 46952526241791, -STORE, 46952526241792, 46952526249983, -STORE, 46952526249984, 46952526356479, -STORE, 46952526266368, 46952526356479, -STORE, 46952526249984, 46952526266367, -ERASE, 46952526266368, 46952526266368, -STORE, 46952526266368, 46952526340095, -STORE, 46952526340096, 46952526356479, -STORE, 46952526319616, 46952526340095, -STORE, 46952526266368, 46952526319615, -ERASE, 46952526266368, 46952526266368, -STORE, 46952526266368, 46952526319615, -STORE, 46952526336000, 46952526340095, -STORE, 46952526319616, 46952526335999, -ERASE, 46952526319616, 46952526319616, -STORE, 46952526319616, 46952526335999, -STORE, 46952526348288, 46952526356479, -STORE, 46952526340096, 46952526348287, -ERASE, 46952526340096, 46952526340096, -STORE, 46952526340096, 46952526348287, -ERASE, 46952526348288, 46952526348288, -STORE, 46952526348288, 46952526356479, -STORE, 46952526356480, 46952528195583, -STORE, 46952526495744, 46952528195583, -STORE, 46952526356480, 46952526495743, -ERASE, 46952526495744, 46952526495744, -STORE, 46952526495744, 46952528154623, -STORE, 46952528154624, 46952528195583, -STORE, 46952527839232, 46952528154623, -STORE, 46952526495744, 46952527839231, -ERASE, 46952526495744, 46952526495744, -STORE, 46952526495744, 46952527839231, -STORE, 46952528150528, 46952528154623, -STORE, 46952527839232, 46952528150527, -ERASE, 46952527839232, 46952527839232, -STORE, 46952527839232, 46952528150527, -STORE, 46952528179200, 46952528195583, -STORE, 46952528154624, 46952528179199, -ERASE, 46952528154624, 46952528154624, -STORE, 46952528154624, 46952528179199, -ERASE, 46952528179200, 46952528179200, -STORE, 46952528179200, 46952528195583, -STORE, 46952528179200, 46952528207871, -ERASE, 46952528154624, 46952528154624, -STORE, 46952528154624, 46952528171007, -STORE, 46952528171008, 46952528179199, -ERASE, 46952526340096, 46952526340096, -STORE, 46952526340096, 46952526344191, -STORE, 46952526344192, 46952526348287, -ERASE, 94299866005504, 94299866005504, -STORE, 94299866005504, 94299866021887, -STORE, 94299866021888, 94299866025983, -ERASE, 140680268922880, 140680268922880, -STORE, 140680268922880, 140680268926975, -STORE, 140680268926976, 140680268931071, -ERASE, 46952526233600, 46952526233600, -STORE, 140737488347136, 140737488351231, -STORE, 140722874793984, 140737488351231, -ERASE, 140722874793984, 140722874793984, -STORE, 140722874793984, 140722874798079, -STORE, 94448916213760, 94448916926463, -ERASE, 94448916213760, 94448916213760, -STORE, 94448916213760, 94448916262911, -STORE, 94448916262912, 94448916926463, -ERASE, 94448916262912, 94448916262912, -STORE, 94448916262912, 94448916807679, -STORE, 94448916807680, 94448916905983, -STORE, 94448916905984, 94448916926463, -STORE, 140389117046784, 140389117218815, -ERASE, 140389117046784, 140389117046784, -STORE, 140389117046784, 140389117050879, -STORE, 140389117050880, 140389117218815, -ERASE, 140389117050880, 140389117050880, -STORE, 140389117050880, 140389117173759, -STORE, 140389117173760, 140389117206527, -STORE, 140389117206528, 140389117214719, -STORE, 140389117214720, 140389117218815, -STORE, 140722875297792, 140722875301887, -STORE, 140722875285504, 140722875297791, -STORE, 47243677949952, 47243677958143, -STORE, 47243677958144, 47243677966335, -STORE, 47243677966336, 47243678072831, -STORE, 47243677982720, 47243678072831, -STORE, 47243677966336, 47243677982719, -ERASE, 47243677982720, 47243677982720, -STORE, 47243677982720, 47243678056447, -STORE, 47243678056448, 47243678072831, -STORE, 47243678035968, 47243678056447, -STORE, 47243677982720, 47243678035967, -ERASE, 47243677982720, 47243677982720, -STORE, 47243677982720, 47243678035967, -STORE, 47243678052352, 47243678056447, -STORE, 47243678035968, 47243678052351, -ERASE, 47243678035968, 47243678035968, -STORE, 47243678035968, 47243678052351, -STORE, 47243678064640, 47243678072831, -STORE, 47243678056448, 47243678064639, -ERASE, 47243678056448, 47243678056448, -STORE, 47243678056448, 47243678064639, -ERASE, 47243678064640, 47243678064640, -STORE, 47243678064640, 47243678072831, -STORE, 47243678072832, 47243679911935, -STORE, 47243678212096, 47243679911935, -STORE, 47243678072832, 47243678212095, -ERASE, 47243678212096, 47243678212096, -STORE, 47243678212096, 47243679870975, -STORE, 47243679870976, 47243679911935, -STORE, 47243679555584, 47243679870975, -STORE, 47243678212096, 47243679555583, -ERASE, 47243678212096, 47243678212096, -STORE, 47243678212096, 47243679555583, -STORE, 47243679866880, 47243679870975, -STORE, 47243679555584, 47243679866879, -ERASE, 47243679555584, 47243679555584, -STORE, 47243679555584, 47243679866879, -STORE, 47243679895552, 47243679911935, -STORE, 47243679870976, 47243679895551, -ERASE, 47243679870976, 47243679870976, -STORE, 47243679870976, 47243679895551, -ERASE, 47243679895552, 47243679895552, -STORE, 47243679895552, 47243679911935, -STORE, 47243679895552, 47243679924223, -ERASE, 47243679870976, 47243679870976, -STORE, 47243679870976, 47243679887359, -STORE, 47243679887360, 47243679895551, -ERASE, 47243678056448, 47243678056448, -STORE, 47243678056448, 47243678060543, -STORE, 47243678060544, 47243678064639, -ERASE, 94448916905984, 94448916905984, -STORE, 94448916905984, 94448916922367, -STORE, 94448916922368, 94448916926463, -ERASE, 140389117206528, 140389117206528, -STORE, 140389117206528, 140389117210623, -STORE, 140389117210624, 140389117214719, -ERASE, 47243677949952, 47243677949952, -STORE, 140737488347136, 140737488351231, -STORE, 140733068505088, 140737488351231, -ERASE, 140733068505088, 140733068505088, -STORE, 140733068505088, 140733068509183, -STORE, 94207145750528, 94207146463231, -ERASE, 94207145750528, 94207145750528, -STORE, 94207145750528, 94207145799679, -STORE, 94207145799680, 94207146463231, -ERASE, 94207145799680, 94207145799680, -STORE, 94207145799680, 94207146344447, -STORE, 94207146344448, 94207146442751, -STORE, 94207146442752, 94207146463231, -STORE, 140684504911872, 140684505083903, -ERASE, 140684504911872, 140684504911872, -STORE, 140684504911872, 140684504915967, -STORE, 140684504915968, 140684505083903, -ERASE, 140684504915968, 140684504915968, -STORE, 140684504915968, 140684505038847, -STORE, 140684505038848, 140684505071615, -STORE, 140684505071616, 140684505079807, -STORE, 140684505079808, 140684505083903, -STORE, 140733068607488, 140733068611583, -STORE, 140733068595200, 140733068607487, -STORE, 46948290084864, 46948290093055, -STORE, 46948290093056, 46948290101247, -STORE, 46948290101248, 46948290207743, -STORE, 46948290117632, 46948290207743, -STORE, 46948290101248, 46948290117631, -ERASE, 46948290117632, 46948290117632, -STORE, 46948290117632, 46948290191359, -STORE, 46948290191360, 46948290207743, -STORE, 46948290170880, 46948290191359, -STORE, 46948290117632, 46948290170879, -ERASE, 46948290117632, 46948290117632, -STORE, 46948290117632, 46948290170879, -STORE, 46948290187264, 46948290191359, -STORE, 46948290170880, 46948290187263, -ERASE, 46948290170880, 46948290170880, -STORE, 46948290170880, 46948290187263, -STORE, 46948290199552, 46948290207743, -STORE, 46948290191360, 46948290199551, -ERASE, 46948290191360, 46948290191360, -STORE, 46948290191360, 46948290199551, -ERASE, 46948290199552, 46948290199552, -STORE, 46948290199552, 46948290207743, -STORE, 46948290207744, 46948292046847, -STORE, 46948290347008, 46948292046847, -STORE, 46948290207744, 46948290347007, -ERASE, 46948290347008, 46948290347008, -STORE, 46948290347008, 46948292005887, -STORE, 46948292005888, 46948292046847, -STORE, 46948291690496, 46948292005887, -STORE, 46948290347008, 46948291690495, -ERASE, 46948290347008, 46948290347008, -STORE, 46948290347008, 46948291690495, -STORE, 46948292001792, 46948292005887, -STORE, 46948291690496, 46948292001791, -ERASE, 46948291690496, 46948291690496, -STORE, 46948291690496, 46948292001791, -STORE, 46948292030464, 46948292046847, -STORE, 46948292005888, 46948292030463, -ERASE, 46948292005888, 46948292005888, -STORE, 46948292005888, 46948292030463, -ERASE, 46948292030464, 46948292030464, -STORE, 46948292030464, 46948292046847, -STORE, 46948292030464, 46948292059135, -ERASE, 46948292005888, 46948292005888, -STORE, 46948292005888, 46948292022271, -STORE, 46948292022272, 46948292030463, -ERASE, 46948290191360, 46948290191360, -STORE, 46948290191360, 46948290195455, -STORE, 46948290195456, 46948290199551, -ERASE, 94207146442752, 94207146442752, -STORE, 94207146442752, 94207146459135, -STORE, 94207146459136, 94207146463231, -ERASE, 140684505071616, 140684505071616, -STORE, 140684505071616, 140684505075711, -STORE, 140684505075712, 140684505079807, -ERASE, 46948290084864, 46948290084864, -STORE, 140737488347136, 140737488351231, -STORE, 140726367158272, 140737488351231, -ERASE, 140726367158272, 140726367158272, -STORE, 140726367158272, 140726367162367, -STORE, 94436124106752, 94436124819455, -ERASE, 94436124106752, 94436124106752, -STORE, 94436124106752, 94436124155903, -STORE, 94436124155904, 94436124819455, -ERASE, 94436124155904, 94436124155904, -STORE, 94436124155904, 94436124700671, -STORE, 94436124700672, 94436124798975, -STORE, 94436124798976, 94436124819455, -STORE, 140049025044480, 140049025216511, -ERASE, 140049025044480, 140049025044480, -STORE, 140049025044480, 140049025048575, -STORE, 140049025048576, 140049025216511, -ERASE, 140049025048576, 140049025048576, -STORE, 140049025048576, 140049025171455, -STORE, 140049025171456, 140049025204223, -STORE, 140049025204224, 140049025212415, -STORE, 140049025212416, 140049025216511, -STORE, 140726367256576, 140726367260671, -STORE, 140726367244288, 140726367256575, -STORE, 47583769952256, 47583769960447, -STORE, 47583769960448, 47583769968639, -STORE, 47583769968640, 47583770075135, -STORE, 47583769985024, 47583770075135, -STORE, 47583769968640, 47583769985023, -ERASE, 47583769985024, 47583769985024, -STORE, 47583769985024, 47583770058751, -STORE, 47583770058752, 47583770075135, -STORE, 47583770038272, 47583770058751, -STORE, 47583769985024, 47583770038271, -ERASE, 47583769985024, 47583769985024, -STORE, 47583769985024, 47583770038271, -STORE, 47583770054656, 47583770058751, -STORE, 47583770038272, 47583770054655, -ERASE, 47583770038272, 47583770038272, -STORE, 47583770038272, 47583770054655, -STORE, 47583770066944, 47583770075135, -STORE, 47583770058752, 47583770066943, -ERASE, 47583770058752, 47583770058752, -STORE, 47583770058752, 47583770066943, -ERASE, 47583770066944, 47583770066944, -STORE, 47583770066944, 47583770075135, -STORE, 47583770075136, 47583771914239, -STORE, 47583770214400, 47583771914239, -STORE, 47583770075136, 47583770214399, -ERASE, 47583770214400, 47583770214400, -STORE, 47583770214400, 47583771873279, -STORE, 47583771873280, 47583771914239, -STORE, 47583771557888, 47583771873279, -STORE, 47583770214400, 47583771557887, -ERASE, 47583770214400, 47583770214400, -STORE, 47583770214400, 47583771557887, -STORE, 47583771869184, 47583771873279, -STORE, 47583771557888, 47583771869183, -ERASE, 47583771557888, 47583771557888, -STORE, 47583771557888, 47583771869183, -STORE, 47583771897856, 47583771914239, -STORE, 47583771873280, 47583771897855, -ERASE, 47583771873280, 47583771873280, -STORE, 47583771873280, 47583771897855, -ERASE, 47583771897856, 47583771897856, -STORE, 47583771897856, 47583771914239, -STORE, 47583771897856, 47583771926527, -ERASE, 47583771873280, 47583771873280, -STORE, 47583771873280, 47583771889663, -STORE, 47583771889664, 47583771897855, -ERASE, 47583770058752, 47583770058752, -STORE, 47583770058752, 47583770062847, -STORE, 47583770062848, 47583770066943, -ERASE, 94436124798976, 94436124798976, -STORE, 94436124798976, 94436124815359, -STORE, 94436124815360, 94436124819455, -ERASE, 140049025204224, 140049025204224, -STORE, 140049025204224, 140049025208319, -STORE, 140049025208320, 140049025212415, -ERASE, 47583769952256, 47583769952256, -STORE, 140737488347136, 140737488351231, -STORE, 140727116099584, 140737488351231, -ERASE, 140727116099584, 140727116099584, -STORE, 140727116099584, 140727116103679, -STORE, 94166319734784, 94166320447487, -ERASE, 94166319734784, 94166319734784, -STORE, 94166319734784, 94166319783935, -STORE, 94166319783936, 94166320447487, -ERASE, 94166319783936, 94166319783936, -STORE, 94166319783936, 94166320328703, -STORE, 94166320328704, 94166320427007, -STORE, 94166320427008, 94166320447487, -STORE, 139976559542272, 139976559714303, -ERASE, 139976559542272, 139976559542272, -STORE, 139976559542272, 139976559546367, -STORE, 139976559546368, 139976559714303, -ERASE, 139976559546368, 139976559546368, -STORE, 139976559546368, 139976559669247, -STORE, 139976559669248, 139976559702015, -STORE, 139976559702016, 139976559710207, -STORE, 139976559710208, 139976559714303, -STORE, 140727116222464, 140727116226559, -STORE, 140727116210176, 140727116222463, -STORE, 47656235454464, 47656235462655, -STORE, 47656235462656, 47656235470847, -STORE, 47656235470848, 47656235577343, -STORE, 47656235487232, 47656235577343, -STORE, 47656235470848, 47656235487231, -ERASE, 47656235487232, 47656235487232, -STORE, 47656235487232, 47656235560959, -STORE, 47656235560960, 47656235577343, -STORE, 47656235540480, 47656235560959, -STORE, 47656235487232, 47656235540479, -ERASE, 47656235487232, 47656235487232, -STORE, 47656235487232, 47656235540479, -STORE, 47656235556864, 47656235560959, -STORE, 47656235540480, 47656235556863, -ERASE, 47656235540480, 47656235540480, -STORE, 47656235540480, 47656235556863, -STORE, 47656235569152, 47656235577343, -STORE, 47656235560960, 47656235569151, -ERASE, 47656235560960, 47656235560960, -STORE, 47656235560960, 47656235569151, -ERASE, 47656235569152, 47656235569152, -STORE, 47656235569152, 47656235577343, -STORE, 47656235577344, 47656237416447, -STORE, 47656235716608, 47656237416447, -STORE, 47656235577344, 47656235716607, -ERASE, 47656235716608, 47656235716608, -STORE, 47656235716608, 47656237375487, -STORE, 47656237375488, 47656237416447, -STORE, 47656237060096, 47656237375487, -STORE, 47656235716608, 47656237060095, -ERASE, 47656235716608, 47656235716608, -STORE, 47656235716608, 47656237060095, -STORE, 47656237371392, 47656237375487, -STORE, 47656237060096, 47656237371391, -ERASE, 47656237060096, 47656237060096, -STORE, 47656237060096, 47656237371391, -STORE, 47656237400064, 47656237416447, -STORE, 47656237375488, 47656237400063, -ERASE, 47656237375488, 47656237375488, -STORE, 47656237375488, 47656237400063, -ERASE, 47656237400064, 47656237400064, -STORE, 47656237400064, 47656237416447, -STORE, 47656237400064, 47656237428735, -ERASE, 47656237375488, 47656237375488, -STORE, 47656237375488, 47656237391871, -STORE, 47656237391872, 47656237400063, -ERASE, 47656235560960, 47656235560960, -STORE, 47656235560960, 47656235565055, -STORE, 47656235565056, 47656235569151, -ERASE, 94166320427008, 94166320427008, -STORE, 94166320427008, 94166320443391, -STORE, 94166320443392, 94166320447487, -ERASE, 139976559702016, 139976559702016, -STORE, 139976559702016, 139976559706111, -STORE, 139976559706112, 139976559710207, -ERASE, 47656235454464, 47656235454464, -STORE, 94166332153856, 94166332289023, -STORE, 140737488347136, 140737488351231, -STORE, 140726412816384, 140737488351231, -ERASE, 140726412816384, 140726412816384, -STORE, 140726412816384, 140726412820479, -STORE, 94094884507648, 94094885220351, -ERASE, 94094884507648, 94094884507648, -STORE, 94094884507648, 94094884556799, -STORE, 94094884556800, 94094885220351, -ERASE, 94094884556800, 94094884556800, -STORE, 94094884556800, 94094885101567, -STORE, 94094885101568, 94094885199871, -STORE, 94094885199872, 94094885220351, -STORE, 139773773938688, 139773774110719, -ERASE, 139773773938688, 139773773938688, -STORE, 139773773938688, 139773773942783, -STORE, 139773773942784, 139773774110719, -ERASE, 139773773942784, 139773773942784, -STORE, 139773773942784, 139773774065663, -STORE, 139773774065664, 139773774098431, -STORE, 139773774098432, 139773774106623, -STORE, 139773774106624, 139773774110719, -STORE, 140726412963840, 140726412967935, -STORE, 140726412951552, 140726412963839, -STORE, 47859021058048, 47859021066239, -STORE, 47859021066240, 47859021074431, -STORE, 47859021074432, 47859021180927, -STORE, 47859021090816, 47859021180927, -STORE, 47859021074432, 47859021090815, -ERASE, 47859021090816, 47859021090816, -STORE, 47859021090816, 47859021164543, -STORE, 47859021164544, 47859021180927, -STORE, 47859021144064, 47859021164543, -STORE, 47859021090816, 47859021144063, -ERASE, 47859021090816, 47859021090816, -STORE, 47859021090816, 47859021144063, -STORE, 47859021160448, 47859021164543, -STORE, 47859021144064, 47859021160447, -ERASE, 47859021144064, 47859021144064, -STORE, 47859021144064, 47859021160447, -STORE, 47859021172736, 47859021180927, -STORE, 47859021164544, 47859021172735, -ERASE, 47859021164544, 47859021164544, -STORE, 47859021164544, 47859021172735, -ERASE, 47859021172736, 47859021172736, -STORE, 47859021172736, 47859021180927, -STORE, 47859021180928, 47859023020031, -STORE, 47859021320192, 47859023020031, -STORE, 47859021180928, 47859021320191, -ERASE, 47859021320192, 47859021320192, -STORE, 47859021320192, 47859022979071, -STORE, 47859022979072, 47859023020031, -STORE, 47859022663680, 47859022979071, -STORE, 47859021320192, 47859022663679, -ERASE, 47859021320192, 47859021320192, -STORE, 47859021320192, 47859022663679, -STORE, 47859022974976, 47859022979071, -STORE, 47859022663680, 47859022974975, -ERASE, 47859022663680, 47859022663680, -STORE, 47859022663680, 47859022974975, -STORE, 47859023003648, 47859023020031, -STORE, 47859022979072, 47859023003647, -ERASE, 47859022979072, 47859022979072, -STORE, 47859022979072, 47859023003647, -ERASE, 47859023003648, 47859023003648, -STORE, 47859023003648, 47859023020031, -STORE, 47859023003648, 47859023032319, -ERASE, 47859022979072, 47859022979072, -STORE, 47859022979072, 47859022995455, -STORE, 47859022995456, 47859023003647, -ERASE, 47859021164544, 47859021164544, -STORE, 47859021164544, 47859021168639, -STORE, 47859021168640, 47859021172735, -ERASE, 94094885199872, 94094885199872, -STORE, 94094885199872, 94094885216255, -STORE, 94094885216256, 94094885220351, -ERASE, 139773774098432, 139773774098432, -STORE, 139773774098432, 139773774102527, -STORE, 139773774102528, 139773774106623, -ERASE, 47859021058048, 47859021058048, -STORE, 94094901108736, 94094901243903, -STORE, 140737488347136, 140737488351231, -STORE, 140736567963648, 140737488351231, -ERASE, 140736567963648, 140736567963648, -STORE, 140736567963648, 140736567967743, -STORE, 94924425748480, 94924426461183, -ERASE, 94924425748480, 94924425748480, -STORE, 94924425748480, 94924425797631, -STORE, 94924425797632, 94924426461183, -ERASE, 94924425797632, 94924425797632, -STORE, 94924425797632, 94924426342399, -STORE, 94924426342400, 94924426440703, -STORE, 94924426440704, 94924426461183, -STORE, 140042126319616, 140042126491647, -ERASE, 140042126319616, 140042126319616, -STORE, 140042126319616, 140042126323711, -STORE, 140042126323712, 140042126491647, -ERASE, 140042126323712, 140042126323712, -STORE, 140042126323712, 140042126446591, -STORE, 140042126446592, 140042126479359, -STORE, 140042126479360, 140042126487551, -STORE, 140042126487552, 140042126491647, -STORE, 140736568672256, 140736568676351, -STORE, 140736568659968, 140736568672255, -STORE, 47590668677120, 47590668685311, -STORE, 47590668685312, 47590668693503, -STORE, 47590668693504, 47590668799999, -STORE, 47590668709888, 47590668799999, -STORE, 47590668693504, 47590668709887, -ERASE, 47590668709888, 47590668709888, -STORE, 47590668709888, 47590668783615, -STORE, 47590668783616, 47590668799999, -STORE, 47590668763136, 47590668783615, -STORE, 47590668709888, 47590668763135, -ERASE, 47590668709888, 47590668709888, -STORE, 47590668709888, 47590668763135, -STORE, 47590668779520, 47590668783615, -STORE, 47590668763136, 47590668779519, -ERASE, 47590668763136, 47590668763136, -STORE, 47590668763136, 47590668779519, -STORE, 47590668791808, 47590668799999, -STORE, 47590668783616, 47590668791807, -ERASE, 47590668783616, 47590668783616, -STORE, 47590668783616, 47590668791807, -ERASE, 47590668791808, 47590668791808, -STORE, 47590668791808, 47590668799999, -STORE, 47590668800000, 47590670639103, -STORE, 47590668939264, 47590670639103, -STORE, 47590668800000, 47590668939263, -ERASE, 47590668939264, 47590668939264, -STORE, 47590668939264, 47590670598143, -STORE, 47590670598144, 47590670639103, -STORE, 47590670282752, 47590670598143, -STORE, 47590668939264, 47590670282751, -ERASE, 47590668939264, 47590668939264, -STORE, 47590668939264, 47590670282751, -STORE, 47590670594048, 47590670598143, -STORE, 47590670282752, 47590670594047, -ERASE, 47590670282752, 47590670282752, -STORE, 47590670282752, 47590670594047, -STORE, 47590670622720, 47590670639103, -STORE, 47590670598144, 47590670622719, -ERASE, 47590670598144, 47590670598144, -STORE, 47590670598144, 47590670622719, -ERASE, 47590670622720, 47590670622720, -STORE, 47590670622720, 47590670639103, -STORE, 47590670622720, 47590670651391, -ERASE, 47590670598144, 47590670598144, -STORE, 47590670598144, 47590670614527, -STORE, 47590670614528, 47590670622719, -ERASE, 47590668783616, 47590668783616, -STORE, 47590668783616, 47590668787711, -STORE, 47590668787712, 47590668791807, -ERASE, 94924426440704, 94924426440704, -STORE, 94924426440704, 94924426457087, -STORE, 94924426457088, 94924426461183, -ERASE, 140042126479360, 140042126479360, -STORE, 140042126479360, 140042126483455, -STORE, 140042126483456, 140042126487551, -ERASE, 47590668677120, 47590668677120, -STORE, 140737488347136, 140737488351231, -STORE, 140733281439744, 140737488351231, -ERASE, 140733281439744, 140733281439744, -STORE, 140733281439744, 140733281443839, -STORE, 94490667069440, 94490667782143, -ERASE, 94490667069440, 94490667069440, -STORE, 94490667069440, 94490667118591, -STORE, 94490667118592, 94490667782143, -ERASE, 94490667118592, 94490667118592, -STORE, 94490667118592, 94490667663359, -STORE, 94490667663360, 94490667761663, -STORE, 94490667761664, 94490667782143, -STORE, 139878215118848, 139878215290879, -ERASE, 139878215118848, 139878215118848, -STORE, 139878215118848, 139878215122943, -STORE, 139878215122944, 139878215290879, -ERASE, 139878215122944, 139878215122944, -STORE, 139878215122944, 139878215245823, -STORE, 139878215245824, 139878215278591, -STORE, 139878215278592, 139878215286783, -STORE, 139878215286784, 139878215290879, -STORE, 140733281464320, 140733281468415, -STORE, 140733281452032, 140733281464319, -STORE, 47754579877888, 47754579886079, -STORE, 47754579886080, 47754579894271, -STORE, 47754579894272, 47754580000767, -STORE, 47754579910656, 47754580000767, -STORE, 47754579894272, 47754579910655, -ERASE, 47754579910656, 47754579910656, -STORE, 47754579910656, 47754579984383, -STORE, 47754579984384, 47754580000767, -STORE, 47754579963904, 47754579984383, -STORE, 47754579910656, 47754579963903, -ERASE, 47754579910656, 47754579910656, -STORE, 47754579910656, 47754579963903, -STORE, 47754579980288, 47754579984383, -STORE, 47754579963904, 47754579980287, -ERASE, 47754579963904, 47754579963904, -STORE, 47754579963904, 47754579980287, -STORE, 47754579992576, 47754580000767, -STORE, 47754579984384, 47754579992575, -ERASE, 47754579984384, 47754579984384, -STORE, 47754579984384, 47754579992575, -ERASE, 47754579992576, 47754579992576, -STORE, 47754579992576, 47754580000767, -STORE, 47754580000768, 47754581839871, -STORE, 47754580140032, 47754581839871, -STORE, 47754580000768, 47754580140031, -ERASE, 47754580140032, 47754580140032, -STORE, 47754580140032, 47754581798911, -STORE, 47754581798912, 47754581839871, -STORE, 47754581483520, 47754581798911, -STORE, 47754580140032, 47754581483519, -ERASE, 47754580140032, 47754580140032, -STORE, 47754580140032, 47754581483519, -STORE, 47754581794816, 47754581798911, -STORE, 47754581483520, 47754581794815, -ERASE, 47754581483520, 47754581483520, -STORE, 47754581483520, 47754581794815, -STORE, 47754581823488, 47754581839871, -STORE, 47754581798912, 47754581823487, -ERASE, 47754581798912, 47754581798912, -STORE, 47754581798912, 47754581823487, -ERASE, 47754581823488, 47754581823488, -STORE, 47754581823488, 47754581839871, -STORE, 47754581823488, 47754581852159, -ERASE, 47754581798912, 47754581798912, -STORE, 47754581798912, 47754581815295, -STORE, 47754581815296, 47754581823487, -ERASE, 47754579984384, 47754579984384, -STORE, 47754579984384, 47754579988479, -STORE, 47754579988480, 47754579992575, -ERASE, 94490667761664, 94490667761664, -STORE, 94490667761664, 94490667778047, -STORE, 94490667778048, 94490667782143, -ERASE, 139878215278592, 139878215278592, -STORE, 139878215278592, 139878215282687, -STORE, 139878215282688, 139878215286783, -ERASE, 47754579877888, 47754579877888, -STORE, 94490669649920, 94490669785087, -STORE, 140737488347136, 140737488351231, -STORE, 140735382188032, 140737488351231, -ERASE, 140735382188032, 140735382188032, -STORE, 140735382188032, 140735382192127, -STORE, 94150181302272, 94150182014975, -ERASE, 94150181302272, 94150181302272, -STORE, 94150181302272, 94150181351423, -STORE, 94150181351424, 94150182014975, -ERASE, 94150181351424, 94150181351424, -STORE, 94150181351424, 94150181896191, -STORE, 94150181896192, 94150181994495, -STORE, 94150181994496, 94150182014975, -STORE, 139679752458240, 139679752630271, -ERASE, 139679752458240, 139679752458240, -STORE, 139679752458240, 139679752462335, -STORE, 139679752462336, 139679752630271, -ERASE, 139679752462336, 139679752462336, -STORE, 139679752462336, 139679752585215, -STORE, 139679752585216, 139679752617983, -STORE, 139679752617984, 139679752626175, -STORE, 139679752626176, 139679752630271, -STORE, 140735382536192, 140735382540287, -STORE, 140735382523904, 140735382536191, -STORE, 47953042538496, 47953042546687, -STORE, 47953042546688, 47953042554879, -STORE, 47953042554880, 47953042661375, -STORE, 47953042571264, 47953042661375, -STORE, 47953042554880, 47953042571263, -ERASE, 47953042571264, 47953042571264, -STORE, 47953042571264, 47953042644991, -STORE, 47953042644992, 47953042661375, -STORE, 47953042624512, 47953042644991, -STORE, 47953042571264, 47953042624511, -ERASE, 47953042571264, 47953042571264, -STORE, 47953042571264, 47953042624511, -STORE, 47953042640896, 47953042644991, -STORE, 47953042624512, 47953042640895, -ERASE, 47953042624512, 47953042624512, -STORE, 47953042624512, 47953042640895, -STORE, 47953042653184, 47953042661375, -STORE, 47953042644992, 47953042653183, -ERASE, 47953042644992, 47953042644992, -STORE, 47953042644992, 47953042653183, -ERASE, 47953042653184, 47953042653184, -STORE, 47953042653184, 47953042661375, -STORE, 47953042661376, 47953044500479, -STORE, 47953042800640, 47953044500479, -STORE, 47953042661376, 47953042800639, -ERASE, 47953042800640, 47953042800640, -STORE, 47953042800640, 47953044459519, -STORE, 47953044459520, 47953044500479, -STORE, 47953044144128, 47953044459519, -STORE, 47953042800640, 47953044144127, -ERASE, 47953042800640, 47953042800640, -STORE, 47953042800640, 47953044144127, -STORE, 47953044455424, 47953044459519, -STORE, 47953044144128, 47953044455423, -ERASE, 47953044144128, 47953044144128, -STORE, 47953044144128, 47953044455423, -STORE, 47953044484096, 47953044500479, -STORE, 47953044459520, 47953044484095, -ERASE, 47953044459520, 47953044459520, -STORE, 47953044459520, 47953044484095, -ERASE, 47953044484096, 47953044484096, -STORE, 47953044484096, 47953044500479, -STORE, 47953044484096, 47953044512767, -ERASE, 47953044459520, 47953044459520, -STORE, 47953044459520, 47953044475903, -STORE, 47953044475904, 47953044484095, -ERASE, 47953042644992, 47953042644992, -STORE, 47953042644992, 47953042649087, -STORE, 47953042649088, 47953042653183, -ERASE, 94150181994496, 94150181994496, -STORE, 94150181994496, 94150182010879, -STORE, 94150182010880, 94150182014975, -ERASE, 139679752617984, 139679752617984, -STORE, 139679752617984, 139679752622079, -STORE, 139679752622080, 139679752626175, -ERASE, 47953042538496, 47953042538496, -STORE, 140737488347136, 140737488351231, -STORE, 140737044123648, 140737488351231, -ERASE, 140737044123648, 140737044123648, -STORE, 140737044123648, 140737044127743, -STORE, 94425324294144, 94425325006847, -ERASE, 94425324294144, 94425324294144, -STORE, 94425324294144, 94425324343295, -STORE, 94425324343296, 94425325006847, -ERASE, 94425324343296, 94425324343296, -STORE, 94425324343296, 94425324888063, -STORE, 94425324888064, 94425324986367, -STORE, 94425324986368, 94425325006847, -STORE, 140382015016960, 140382015188991, -ERASE, 140382015016960, 140382015016960, -STORE, 140382015016960, 140382015021055, -STORE, 140382015021056, 140382015188991, -ERASE, 140382015021056, 140382015021056, -STORE, 140382015021056, 140382015143935, -STORE, 140382015143936, 140382015176703, -STORE, 140382015176704, 140382015184895, -STORE, 140382015184896, 140382015188991, -STORE, 140737045585920, 140737045590015, -STORE, 140737045573632, 140737045585919, -STORE, 47250779979776, 47250779987967, -STORE, 47250779987968, 47250779996159, -STORE, 47250779996160, 47250780102655, -STORE, 47250780012544, 47250780102655, -STORE, 47250779996160, 47250780012543, -ERASE, 47250780012544, 47250780012544, -STORE, 47250780012544, 47250780086271, -STORE, 47250780086272, 47250780102655, -STORE, 47250780065792, 47250780086271, -STORE, 47250780012544, 47250780065791, -ERASE, 47250780012544, 47250780012544, -STORE, 47250780012544, 47250780065791, -STORE, 47250780082176, 47250780086271, -STORE, 47250780065792, 47250780082175, -ERASE, 47250780065792, 47250780065792, -STORE, 47250780065792, 47250780082175, -STORE, 47250780094464, 47250780102655, -STORE, 47250780086272, 47250780094463, -ERASE, 47250780086272, 47250780086272, -STORE, 47250780086272, 47250780094463, -ERASE, 47250780094464, 47250780094464, -STORE, 47250780094464, 47250780102655, -STORE, 47250780102656, 47250781941759, -STORE, 47250780241920, 47250781941759, -STORE, 47250780102656, 47250780241919, -ERASE, 47250780241920, 47250780241920, -STORE, 47250780241920, 47250781900799, -STORE, 47250781900800, 47250781941759, -STORE, 47250781585408, 47250781900799, -STORE, 47250780241920, 47250781585407, -ERASE, 47250780241920, 47250780241920, -STORE, 47250780241920, 47250781585407, -STORE, 47250781896704, 47250781900799, -STORE, 47250781585408, 47250781896703, -ERASE, 47250781585408, 47250781585408, -STORE, 47250781585408, 47250781896703, -STORE, 47250781925376, 47250781941759, -STORE, 47250781900800, 47250781925375, -ERASE, 47250781900800, 47250781900800, -STORE, 47250781900800, 47250781925375, -ERASE, 47250781925376, 47250781925376, -STORE, 47250781925376, 47250781941759, -STORE, 47250781925376, 47250781954047, -ERASE, 47250781900800, 47250781900800, -STORE, 47250781900800, 47250781917183, -STORE, 47250781917184, 47250781925375, -ERASE, 47250780086272, 47250780086272, -STORE, 47250780086272, 47250780090367, -STORE, 47250780090368, 47250780094463, -ERASE, 94425324986368, 94425324986368, -STORE, 94425324986368, 94425325002751, -STORE, 94425325002752, 94425325006847, -ERASE, 140382015176704, 140382015176704, -STORE, 140382015176704, 140382015180799, -STORE, 140382015180800, 140382015184895, -ERASE, 47250779979776, 47250779979776, -STORE, 94425351438336, 94425351573503, -STORE, 140737488347136, 140737488351231, -STORE, 140736801144832, 140737488351231, -ERASE, 140736801144832, 140736801144832, -STORE, 140736801144832, 140736801148927, -STORE, 94629429358592, 94629430071295, -ERASE, 94629429358592, 94629429358592, -STORE, 94629429358592, 94629429407743, -STORE, 94629429407744, 94629430071295, -ERASE, 94629429407744, 94629429407744, -STORE, 94629429407744, 94629429952511, -STORE, 94629429952512, 94629430050815, -STORE, 94629430050816, 94629430071295, -STORE, 139801685483520, 139801685655551, -ERASE, 139801685483520, 139801685483520, -STORE, 139801685483520, 139801685487615, -STORE, 139801685487616, 139801685655551, -ERASE, 139801685487616, 139801685487616, -STORE, 139801685487616, 139801685610495, -STORE, 139801685610496, 139801685643263, -STORE, 139801685643264, 139801685651455, -STORE, 139801685651456, 139801685655551, -STORE, 140736801198080, 140736801202175, -STORE, 140736801185792, 140736801198079, -STORE, 47831109513216, 47831109521407, -STORE, 47831109521408, 47831109529599, -STORE, 47831109529600, 47831109636095, -STORE, 47831109545984, 47831109636095, -STORE, 47831109529600, 47831109545983, -ERASE, 47831109545984, 47831109545984, -STORE, 47831109545984, 47831109619711, -STORE, 47831109619712, 47831109636095, -STORE, 47831109599232, 47831109619711, -STORE, 47831109545984, 47831109599231, -ERASE, 47831109545984, 47831109545984, -STORE, 47831109545984, 47831109599231, -STORE, 47831109615616, 47831109619711, -STORE, 47831109599232, 47831109615615, -ERASE, 47831109599232, 47831109599232, -STORE, 47831109599232, 47831109615615, -STORE, 47831109627904, 47831109636095, -STORE, 47831109619712, 47831109627903, -ERASE, 47831109619712, 47831109619712, -STORE, 47831109619712, 47831109627903, -ERASE, 47831109627904, 47831109627904, -STORE, 47831109627904, 47831109636095, -STORE, 47831109636096, 47831111475199, -STORE, 47831109775360, 47831111475199, -STORE, 47831109636096, 47831109775359, -ERASE, 47831109775360, 47831109775360, -STORE, 47831109775360, 47831111434239, -STORE, 47831111434240, 47831111475199, -STORE, 47831111118848, 47831111434239, -STORE, 47831109775360, 47831111118847, -ERASE, 47831109775360, 47831109775360, -STORE, 47831109775360, 47831111118847, -STORE, 47831111430144, 47831111434239, -STORE, 47831111118848, 47831111430143, -ERASE, 47831111118848, 47831111118848, -STORE, 47831111118848, 47831111430143, -STORE, 47831111458816, 47831111475199, -STORE, 47831111434240, 47831111458815, -ERASE, 47831111434240, 47831111434240, -STORE, 47831111434240, 47831111458815, -ERASE, 47831111458816, 47831111458816, -STORE, 47831111458816, 47831111475199, -STORE, 47831111458816, 47831111487487, -ERASE, 47831111434240, 47831111434240, -STORE, 47831111434240, 47831111450623, -STORE, 47831111450624, 47831111458815, -ERASE, 47831109619712, 47831109619712, -STORE, 47831109619712, 47831109623807, -STORE, 47831109623808, 47831109627903, -ERASE, 94629430050816, 94629430050816, -STORE, 94629430050816, 94629430067199, -STORE, 94629430067200, 94629430071295, -ERASE, 139801685643264, 139801685643264, -STORE, 139801685643264, 139801685647359, -STORE, 139801685647360, 139801685651455, -ERASE, 47831109513216, 47831109513216, -STORE, 140737488347136, 140737488351231, -STORE, 140729419612160, 140737488351231, -ERASE, 140729419612160, 140729419612160, -STORE, 140729419612160, 140729419616255, -STORE, 94443354148864, 94443354861567, -ERASE, 94443354148864, 94443354148864, -STORE, 94443354148864, 94443354198015, -STORE, 94443354198016, 94443354861567, -ERASE, 94443354198016, 94443354198016, -STORE, 94443354198016, 94443354742783, -STORE, 94443354742784, 94443354841087, -STORE, 94443354841088, 94443354861567, -STORE, 139741700038656, 139741700210687, -ERASE, 139741700038656, 139741700038656, -STORE, 139741700038656, 139741700042751, -STORE, 139741700042752, 139741700210687, -ERASE, 139741700042752, 139741700042752, -STORE, 139741700042752, 139741700165631, -STORE, 139741700165632, 139741700198399, -STORE, 139741700198400, 139741700206591, -STORE, 139741700206592, 139741700210687, -STORE, 140729420574720, 140729420578815, -STORE, 140729420562432, 140729420574719, -STORE, 47891094958080, 47891094966271, -STORE, 47891094966272, 47891094974463, -STORE, 47891094974464, 47891095080959, -STORE, 47891094990848, 47891095080959, -STORE, 47891094974464, 47891094990847, -ERASE, 47891094990848, 47891094990848, -STORE, 47891094990848, 47891095064575, -STORE, 47891095064576, 47891095080959, -STORE, 47891095044096, 47891095064575, -STORE, 47891094990848, 47891095044095, -ERASE, 47891094990848, 47891094990848, -STORE, 47891094990848, 47891095044095, -STORE, 47891095060480, 47891095064575, -STORE, 47891095044096, 47891095060479, -ERASE, 47891095044096, 47891095044096, -STORE, 47891095044096, 47891095060479, -STORE, 47891095072768, 47891095080959, -STORE, 47891095064576, 47891095072767, -ERASE, 47891095064576, 47891095064576, -STORE, 47891095064576, 47891095072767, -ERASE, 47891095072768, 47891095072768, -STORE, 47891095072768, 47891095080959, -STORE, 47891095080960, 47891096920063, -STORE, 47891095220224, 47891096920063, -STORE, 47891095080960, 47891095220223, -ERASE, 47891095220224, 47891095220224, -STORE, 47891095220224, 47891096879103, -STORE, 47891096879104, 47891096920063, -STORE, 47891096563712, 47891096879103, -STORE, 47891095220224, 47891096563711, -ERASE, 47891095220224, 47891095220224, -STORE, 47891095220224, 47891096563711, -STORE, 47891096875008, 47891096879103, -STORE, 47891096563712, 47891096875007, -ERASE, 47891096563712, 47891096563712, -STORE, 47891096563712, 47891096875007, -STORE, 47891096903680, 47891096920063, -STORE, 47891096879104, 47891096903679, -ERASE, 47891096879104, 47891096879104, -STORE, 47891096879104, 47891096903679, -ERASE, 47891096903680, 47891096903680, -STORE, 47891096903680, 47891096920063, -STORE, 47891096903680, 47891096932351, -ERASE, 47891096879104, 47891096879104, -STORE, 47891096879104, 47891096895487, -STORE, 47891096895488, 47891096903679, -ERASE, 47891095064576, 47891095064576, -STORE, 47891095064576, 47891095068671, -STORE, 47891095068672, 47891095072767, -ERASE, 94443354841088, 94443354841088, -STORE, 94443354841088, 94443354857471, -STORE, 94443354857472, 94443354861567, -ERASE, 139741700198400, 139741700198400, -STORE, 139741700198400, 139741700202495, -STORE, 139741700202496, 139741700206591, -ERASE, 47891094958080, 47891094958080, -STORE, 94443360825344, 94443360960511, -STORE, 140737488347136, 140737488351231, -STORE, 140722961661952, 140737488351231, -ERASE, 140722961661952, 140722961661952, -STORE, 140722961661952, 140722961666047, -STORE, 94878388944896, 94878389657599, -ERASE, 94878388944896, 94878388944896, -STORE, 94878388944896, 94878388994047, -STORE, 94878388994048, 94878389657599, -ERASE, 94878388994048, 94878388994048, -STORE, 94878388994048, 94878389538815, -STORE, 94878389538816, 94878389637119, -STORE, 94878389637120, 94878389657599, -STORE, 140210690056192, 140210690228223, -ERASE, 140210690056192, 140210690056192, -STORE, 140210690056192, 140210690060287, -STORE, 140210690060288, 140210690228223, -ERASE, 140210690060288, 140210690060288, -STORE, 140210690060288, 140210690183167, -STORE, 140210690183168, 140210690215935, -STORE, 140210690215936, 140210690224127, -STORE, 140210690224128, 140210690228223, -STORE, 140722963148800, 140722963152895, -STORE, 140722963136512, 140722963148799, -STORE, 47422104940544, 47422104948735, -STORE, 47422104948736, 47422104956927, -STORE, 47422104956928, 47422105063423, -STORE, 47422104973312, 47422105063423, -STORE, 47422104956928, 47422104973311, -ERASE, 47422104973312, 47422104973312, -STORE, 47422104973312, 47422105047039, -STORE, 47422105047040, 47422105063423, -STORE, 47422105026560, 47422105047039, -STORE, 47422104973312, 47422105026559, -ERASE, 47422104973312, 47422104973312, -STORE, 47422104973312, 47422105026559, -STORE, 47422105042944, 47422105047039, -STORE, 47422105026560, 47422105042943, -ERASE, 47422105026560, 47422105026560, -STORE, 47422105026560, 47422105042943, -STORE, 47422105055232, 47422105063423, -STORE, 47422105047040, 47422105055231, -ERASE, 47422105047040, 47422105047040, -STORE, 47422105047040, 47422105055231, -ERASE, 47422105055232, 47422105055232, -STORE, 47422105055232, 47422105063423, -STORE, 47422105063424, 47422106902527, -STORE, 47422105202688, 47422106902527, -STORE, 47422105063424, 47422105202687, -ERASE, 47422105202688, 47422105202688, -STORE, 47422105202688, 47422106861567, -STORE, 47422106861568, 47422106902527, -STORE, 47422106546176, 47422106861567, -STORE, 47422105202688, 47422106546175, -ERASE, 47422105202688, 47422105202688, -STORE, 47422105202688, 47422106546175, -STORE, 47422106857472, 47422106861567, -STORE, 47422106546176, 47422106857471, -ERASE, 47422106546176, 47422106546176, -STORE, 47422106546176, 47422106857471, -STORE, 47422106886144, 47422106902527, -STORE, 47422106861568, 47422106886143, -ERASE, 47422106861568, 47422106861568, -STORE, 47422106861568, 47422106886143, -ERASE, 47422106886144, 47422106886144, -STORE, 47422106886144, 47422106902527, -STORE, 47422106886144, 47422106914815, -ERASE, 47422106861568, 47422106861568, -STORE, 47422106861568, 47422106877951, -STORE, 47422106877952, 47422106886143, -ERASE, 47422105047040, 47422105047040, -STORE, 47422105047040, 47422105051135, -STORE, 47422105051136, 47422105055231, -ERASE, 94878389637120, 94878389637120, -STORE, 94878389637120, 94878389653503, -STORE, 94878389653504, 94878389657599, -ERASE, 140210690215936, 140210690215936, -STORE, 140210690215936, 140210690220031, -STORE, 140210690220032, 140210690224127, -ERASE, 47422104940544, 47422104940544, -STORE, 140737488347136, 140737488351231, -STORE, 140727690309632, 140737488351231, -ERASE, 140727690309632, 140727690309632, -STORE, 140727690309632, 140727690313727, -STORE, 94121892208640, 94121892921343, -ERASE, 94121892208640, 94121892208640, -STORE, 94121892208640, 94121892257791, -STORE, 94121892257792, 94121892921343, -ERASE, 94121892257792, 94121892257792, -STORE, 94121892257792, 94121892802559, -STORE, 94121892802560, 94121892900863, -STORE, 94121892900864, 94121892921343, -STORE, 140662438326272, 140662438498303, -ERASE, 140662438326272, 140662438326272, -STORE, 140662438326272, 140662438330367, -STORE, 140662438330368, 140662438498303, -ERASE, 140662438330368, 140662438330368, -STORE, 140662438330368, 140662438453247, -STORE, 140662438453248, 140662438486015, -STORE, 140662438486016, 140662438494207, -STORE, 140662438494208, 140662438498303, -STORE, 140727690379264, 140727690383359, -STORE, 140727690366976, 140727690379263, -STORE, 46970356670464, 46970356678655, -STORE, 46970356678656, 46970356686847, -STORE, 46970356686848, 46970356793343, -STORE, 46970356703232, 46970356793343, -STORE, 46970356686848, 46970356703231, -ERASE, 46970356703232, 46970356703232, -STORE, 46970356703232, 46970356776959, -STORE, 46970356776960, 46970356793343, -STORE, 46970356756480, 46970356776959, -STORE, 46970356703232, 46970356756479, -ERASE, 46970356703232, 46970356703232, -STORE, 46970356703232, 46970356756479, -STORE, 46970356772864, 46970356776959, -STORE, 46970356756480, 46970356772863, -ERASE, 46970356756480, 46970356756480, -STORE, 46970356756480, 46970356772863, -STORE, 46970356785152, 46970356793343, -STORE, 46970356776960, 46970356785151, -ERASE, 46970356776960, 46970356776960, -STORE, 46970356776960, 46970356785151, -ERASE, 46970356785152, 46970356785152, -STORE, 46970356785152, 46970356793343, -STORE, 46970356793344, 46970358632447, -STORE, 46970356932608, 46970358632447, -STORE, 46970356793344, 46970356932607, -ERASE, 46970356932608, 46970356932608, -STORE, 46970356932608, 46970358591487, -STORE, 46970358591488, 46970358632447, -STORE, 46970358276096, 46970358591487, -STORE, 46970356932608, 46970358276095, -ERASE, 46970356932608, 46970356932608, -STORE, 46970356932608, 46970358276095, -STORE, 46970358587392, 46970358591487, -STORE, 46970358276096, 46970358587391, -ERASE, 46970358276096, 46970358276096, -STORE, 46970358276096, 46970358587391, -STORE, 46970358616064, 46970358632447, -STORE, 46970358591488, 46970358616063, -ERASE, 46970358591488, 46970358591488, -STORE, 46970358591488, 46970358616063, -ERASE, 46970358616064, 46970358616064, -STORE, 46970358616064, 46970358632447, -STORE, 46970358616064, 46970358644735, -ERASE, 46970358591488, 46970358591488, -STORE, 46970358591488, 46970358607871, -STORE, 46970358607872, 46970358616063, -ERASE, 46970356776960, 46970356776960, -STORE, 46970356776960, 46970356781055, -STORE, 46970356781056, 46970356785151, -ERASE, 94121892900864, 94121892900864, -STORE, 94121892900864, 94121892917247, -STORE, 94121892917248, 94121892921343, -ERASE, 140662438486016, 140662438486016, -STORE, 140662438486016, 140662438490111, -STORE, 140662438490112, 140662438494207, -ERASE, 46970356670464, 46970356670464, -STORE, 94121898610688, 94121898745855, -STORE, 140737488347136, 140737488351231, -STORE, 140737189351424, 140737488351231, -ERASE, 140737189351424, 140737189351424, -STORE, 140737189351424, 140737189355519, -STORE, 93847948832768, 93847949545471, -ERASE, 93847948832768, 93847948832768, -STORE, 93847948832768, 93847948881919, -STORE, 93847948881920, 93847949545471, -ERASE, 93847948881920, 93847948881920, -STORE, 93847948881920, 93847949426687, -STORE, 93847949426688, 93847949524991, -STORE, 93847949524992, 93847949545471, -STORE, 139698989985792, 139698990157823, -ERASE, 139698989985792, 139698989985792, -STORE, 139698989985792, 139698989989887, -STORE, 139698989989888, 139698990157823, -ERASE, 139698989989888, 139698989989888, -STORE, 139698989989888, 139698990112767, -STORE, 139698990112768, 139698990145535, -STORE, 139698990145536, 139698990153727, -STORE, 139698990153728, 139698990157823, -STORE, 140737189744640, 140737189748735, -STORE, 140737189732352, 140737189744639, -STORE, 47933805010944, 47933805019135, -STORE, 47933805019136, 47933805027327, -STORE, 47933805027328, 47933805133823, -STORE, 47933805043712, 47933805133823, -STORE, 47933805027328, 47933805043711, -ERASE, 47933805043712, 47933805043712, -STORE, 47933805043712, 47933805117439, -STORE, 47933805117440, 47933805133823, -STORE, 47933805096960, 47933805117439, -STORE, 47933805043712, 47933805096959, -ERASE, 47933805043712, 47933805043712, -STORE, 47933805043712, 47933805096959, -STORE, 47933805113344, 47933805117439, -STORE, 47933805096960, 47933805113343, -ERASE, 47933805096960, 47933805096960, -STORE, 47933805096960, 47933805113343, -STORE, 47933805125632, 47933805133823, -STORE, 47933805117440, 47933805125631, -ERASE, 47933805117440, 47933805117440, -STORE, 47933805117440, 47933805125631, -ERASE, 47933805125632, 47933805125632, -STORE, 47933805125632, 47933805133823, -STORE, 47933805133824, 47933806972927, -STORE, 47933805273088, 47933806972927, -STORE, 47933805133824, 47933805273087, -ERASE, 47933805273088, 47933805273088, -STORE, 47933805273088, 47933806931967, -STORE, 47933806931968, 47933806972927, -STORE, 47933806616576, 47933806931967, -STORE, 47933805273088, 47933806616575, -ERASE, 47933805273088, 47933805273088, -STORE, 47933805273088, 47933806616575, -STORE, 47933806927872, 47933806931967, -STORE, 47933806616576, 47933806927871, -ERASE, 47933806616576, 47933806616576, -STORE, 47933806616576, 47933806927871, -STORE, 47933806956544, 47933806972927, -STORE, 47933806931968, 47933806956543, -ERASE, 47933806931968, 47933806931968, -STORE, 47933806931968, 47933806956543, -ERASE, 47933806956544, 47933806956544, -STORE, 47933806956544, 47933806972927, -STORE, 47933806956544, 47933806985215, -ERASE, 47933806931968, 47933806931968, -STORE, 47933806931968, 47933806948351, -STORE, 47933806948352, 47933806956543, -ERASE, 47933805117440, 47933805117440, -STORE, 47933805117440, 47933805121535, -STORE, 47933805121536, 47933805125631, -ERASE, 93847949524992, 93847949524992, -STORE, 93847949524992, 93847949541375, -STORE, 93847949541376, 93847949545471, -ERASE, 139698990145536, 139698990145536, -STORE, 139698990145536, 139698990149631, -STORE, 139698990149632, 139698990153727, -ERASE, 47933805010944, 47933805010944, -STORE, 140737488347136, 140737488351231, -STORE, 140725553991680, 140737488351231, -ERASE, 140725553991680, 140725553991680, -STORE, 140725553991680, 140725553995775, -STORE, 93980056248320, 93980056961023, -ERASE, 93980056248320, 93980056248320, -STORE, 93980056248320, 93980056297471, -STORE, 93980056297472, 93980056961023, -ERASE, 93980056297472, 93980056297472, -STORE, 93980056297472, 93980056842239, -STORE, 93980056842240, 93980056940543, -STORE, 93980056940544, 93980056961023, -STORE, 140146588971008, 140146589143039, -ERASE, 140146588971008, 140146588971008, -STORE, 140146588971008, 140146588975103, -STORE, 140146588975104, 140146589143039, -ERASE, 140146588975104, 140146588975104, -STORE, 140146588975104, 140146589097983, -STORE, 140146589097984, 140146589130751, -STORE, 140146589130752, 140146589138943, -STORE, 140146589138944, 140146589143039, -STORE, 140725554860032, 140725554864127, -STORE, 140725554847744, 140725554860031, -STORE, 47486206025728, 47486206033919, -STORE, 47486206033920, 47486206042111, -STORE, 47486206042112, 47486206148607, -STORE, 47486206058496, 47486206148607, -STORE, 47486206042112, 47486206058495, -ERASE, 47486206058496, 47486206058496, -STORE, 47486206058496, 47486206132223, -STORE, 47486206132224, 47486206148607, -STORE, 47486206111744, 47486206132223, -STORE, 47486206058496, 47486206111743, -ERASE, 47486206058496, 47486206058496, -STORE, 47486206058496, 47486206111743, -STORE, 47486206128128, 47486206132223, -STORE, 47486206111744, 47486206128127, -ERASE, 47486206111744, 47486206111744, -STORE, 47486206111744, 47486206128127, -STORE, 47486206140416, 47486206148607, -STORE, 47486206132224, 47486206140415, -ERASE, 47486206132224, 47486206132224, -STORE, 47486206132224, 47486206140415, -ERASE, 47486206140416, 47486206140416, -STORE, 47486206140416, 47486206148607, -STORE, 47486206148608, 47486207987711, -STORE, 47486206287872, 47486207987711, -STORE, 47486206148608, 47486206287871, -ERASE, 47486206287872, 47486206287872, -STORE, 47486206287872, 47486207946751, -STORE, 47486207946752, 47486207987711, -STORE, 47486207631360, 47486207946751, -STORE, 47486206287872, 47486207631359, -ERASE, 47486206287872, 47486206287872, -STORE, 47486206287872, 47486207631359, -STORE, 47486207942656, 47486207946751, -STORE, 47486207631360, 47486207942655, -ERASE, 47486207631360, 47486207631360, -STORE, 47486207631360, 47486207942655, -STORE, 47486207971328, 47486207987711, -STORE, 47486207946752, 47486207971327, -ERASE, 47486207946752, 47486207946752, -STORE, 47486207946752, 47486207971327, -ERASE, 47486207971328, 47486207971328, -STORE, 47486207971328, 47486207987711, -STORE, 47486207971328, 47486207999999, -ERASE, 47486207946752, 47486207946752, -STORE, 47486207946752, 47486207963135, -STORE, 47486207963136, 47486207971327, -ERASE, 47486206132224, 47486206132224, -STORE, 47486206132224, 47486206136319, -STORE, 47486206136320, 47486206140415, -ERASE, 93980056940544, 93980056940544, -STORE, 93980056940544, 93980056956927, -STORE, 93980056956928, 93980056961023, -ERASE, 140146589130752, 140146589130752, -STORE, 140146589130752, 140146589134847, -STORE, 140146589134848, 140146589138943, -ERASE, 47486206025728, 47486206025728, -STORE, 93980070006784, 93980070141951, -STORE, 140737488347136, 140737488351231, -STORE, 140727334776832, 140737488351231, -ERASE, 140727334776832, 140727334776832, -STORE, 140727334776832, 140727334780927, -STORE, 94049747247104, 94049747959807, -ERASE, 94049747247104, 94049747247104, -STORE, 94049747247104, 94049747296255, -STORE, 94049747296256, 94049747959807, -ERASE, 94049747296256, 94049747296256, -STORE, 94049747296256, 94049747841023, -STORE, 94049747841024, 94049747939327, -STORE, 94049747939328, 94049747959807, -STORE, 140227307216896, 140227307388927, -ERASE, 140227307216896, 140227307216896, -STORE, 140227307216896, 140227307220991, -STORE, 140227307220992, 140227307388927, -ERASE, 140227307220992, 140227307220992, -STORE, 140227307220992, 140227307343871, -STORE, 140227307343872, 140227307376639, -STORE, 140227307376640, 140227307384831, -STORE, 140227307384832, 140227307388927, -STORE, 140727335337984, 140727335342079, -STORE, 140727335325696, 140727335337983, -STORE, 47405487779840, 47405487788031, -STORE, 47405487788032, 47405487796223, -STORE, 47405487796224, 47405487902719, -STORE, 47405487812608, 47405487902719, -STORE, 47405487796224, 47405487812607, -ERASE, 47405487812608, 47405487812608, -STORE, 47405487812608, 47405487886335, -STORE, 47405487886336, 47405487902719, -STORE, 47405487865856, 47405487886335, -STORE, 47405487812608, 47405487865855, -ERASE, 47405487812608, 47405487812608, -STORE, 47405487812608, 47405487865855, -STORE, 47405487882240, 47405487886335, -STORE, 47405487865856, 47405487882239, -ERASE, 47405487865856, 47405487865856, -STORE, 47405487865856, 47405487882239, -STORE, 47405487894528, 47405487902719, -STORE, 47405487886336, 47405487894527, -ERASE, 47405487886336, 47405487886336, -STORE, 47405487886336, 47405487894527, -ERASE, 47405487894528, 47405487894528, -STORE, 47405487894528, 47405487902719, -STORE, 47405487902720, 47405489741823, -STORE, 47405488041984, 47405489741823, -STORE, 47405487902720, 47405488041983, -ERASE, 47405488041984, 47405488041984, -STORE, 47405488041984, 47405489700863, -STORE, 47405489700864, 47405489741823, -STORE, 47405489385472, 47405489700863, -STORE, 47405488041984, 47405489385471, -ERASE, 47405488041984, 47405488041984, -STORE, 47405488041984, 47405489385471, -STORE, 47405489696768, 47405489700863, -STORE, 47405489385472, 47405489696767, -ERASE, 47405489385472, 47405489385472, -STORE, 47405489385472, 47405489696767, -STORE, 47405489725440, 47405489741823, -STORE, 47405489700864, 47405489725439, -ERASE, 47405489700864, 47405489700864, -STORE, 47405489700864, 47405489725439, -ERASE, 47405489725440, 47405489725440, -STORE, 47405489725440, 47405489741823, -STORE, 47405489725440, 47405489754111, -ERASE, 47405489700864, 47405489700864, -STORE, 47405489700864, 47405489717247, -STORE, 47405489717248, 47405489725439, -ERASE, 47405487886336, 47405487886336, -STORE, 47405487886336, 47405487890431, -STORE, 47405487890432, 47405487894527, -ERASE, 94049747939328, 94049747939328, -STORE, 94049747939328, 94049747955711, -STORE, 94049747955712, 94049747959807, -ERASE, 140227307376640, 140227307376640, -STORE, 140227307376640, 140227307380735, -STORE, 140227307380736, 140227307384831, -ERASE, 47405487779840, 47405487779840, -STORE, 94049758810112, 94049758945279, -STORE, 140737488347136, 140737488351231, -STORE, 140727079718912, 140737488351231, -ERASE, 140727079718912, 140727079718912, -STORE, 140727079718912, 140727079723007, -STORE, 94250996527104, 94250997239807, -ERASE, 94250996527104, 94250996527104, -STORE, 94250996527104, 94250996576255, -STORE, 94250996576256, 94250997239807, -ERASE, 94250996576256, 94250996576256, -STORE, 94250996576256, 94250997121023, -STORE, 94250997121024, 94250997219327, -STORE, 94250997219328, 94250997239807, -STORE, 140060022587392, 140060022759423, -ERASE, 140060022587392, 140060022587392, -STORE, 140060022587392, 140060022591487, -STORE, 140060022591488, 140060022759423, -ERASE, 140060022591488, 140060022591488, -STORE, 140060022591488, 140060022714367, -STORE, 140060022714368, 140060022747135, -STORE, 140060022747136, 140060022755327, -STORE, 140060022755328, 140060022759423, -STORE, 140727079788544, 140727079792639, -STORE, 140727079776256, 140727079788543, -STORE, 47572772409344, 47572772417535, -STORE, 47572772417536, 47572772425727, -STORE, 47572772425728, 47572772532223, -STORE, 47572772442112, 47572772532223, -STORE, 47572772425728, 47572772442111, -ERASE, 47572772442112, 47572772442112, -STORE, 47572772442112, 47572772515839, -STORE, 47572772515840, 47572772532223, -STORE, 47572772495360, 47572772515839, -STORE, 47572772442112, 47572772495359, -ERASE, 47572772442112, 47572772442112, -STORE, 47572772442112, 47572772495359, -STORE, 47572772511744, 47572772515839, -STORE, 47572772495360, 47572772511743, -ERASE, 47572772495360, 47572772495360, -STORE, 47572772495360, 47572772511743, -STORE, 47572772524032, 47572772532223, -STORE, 47572772515840, 47572772524031, -ERASE, 47572772515840, 47572772515840, -STORE, 47572772515840, 47572772524031, -ERASE, 47572772524032, 47572772524032, -STORE, 47572772524032, 47572772532223, -STORE, 47572772532224, 47572774371327, -STORE, 47572772671488, 47572774371327, -STORE, 47572772532224, 47572772671487, -ERASE, 47572772671488, 47572772671488, -STORE, 47572772671488, 47572774330367, -STORE, 47572774330368, 47572774371327, -STORE, 47572774014976, 47572774330367, -STORE, 47572772671488, 47572774014975, -ERASE, 47572772671488, 47572772671488, -STORE, 47572772671488, 47572774014975, -STORE, 47572774326272, 47572774330367, -STORE, 47572774014976, 47572774326271, -ERASE, 47572774014976, 47572774014976, -STORE, 47572774014976, 47572774326271, -STORE, 47572774354944, 47572774371327, -STORE, 47572774330368, 47572774354943, -ERASE, 47572774330368, 47572774330368, -STORE, 47572774330368, 47572774354943, -ERASE, 47572774354944, 47572774354944, -STORE, 47572774354944, 47572774371327, -STORE, 47572774354944, 47572774383615, -ERASE, 47572774330368, 47572774330368, -STORE, 47572774330368, 47572774346751, -STORE, 47572774346752, 47572774354943, -ERASE, 47572772515840, 47572772515840, -STORE, 47572772515840, 47572772519935, -STORE, 47572772519936, 47572772524031, -ERASE, 94250997219328, 94250997219328, -STORE, 94250997219328, 94250997235711, -STORE, 94250997235712, 94250997239807, -ERASE, 140060022747136, 140060022747136, -STORE, 140060022747136, 140060022751231, -STORE, 140060022751232, 140060022755327, -ERASE, 47572772409344, 47572772409344, -STORE, 94251018305536, 94251018440703, -STORE, 140737488347136, 140737488351231, -STORE, 140730012389376, 140737488351231, -ERASE, 140730012389376, 140730012389376, -STORE, 140730012389376, 140730012393471, -STORE, 94382607675392, 94382607695871, -ERASE, 94382607675392, 94382607675392, -STORE, 94382607675392, 94382607679487, -STORE, 94382607679488, 94382607695871, -ERASE, 94382607679488, 94382607679488, -STORE, 94382607679488, 94382607683583, -STORE, 94382607683584, 94382607687679, -STORE, 94382607687680, 94382607695871, -STORE, 140252451454976, 140252451627007, -ERASE, 140252451454976, 140252451454976, -STORE, 140252451454976, 140252451459071, -STORE, 140252451459072, 140252451627007, -ERASE, 140252451459072, 140252451459072, -STORE, 140252451459072, 140252451581951, -STORE, 140252451581952, 140252451614719, -STORE, 140252451614720, 140252451622911, -STORE, 140252451622912, 140252451627007, -STORE, 140730013548544, 140730013552639, -STORE, 140730013536256, 140730013548543, -STORE, 47380343541760, 47380343549951, -STORE, 47380343549952, 47380343558143, -STORE, 47380343558144, 47380345397247, -STORE, 47380343697408, 47380345397247, -STORE, 47380343558144, 47380343697407, -ERASE, 47380343697408, 47380343697408, -STORE, 47380343697408, 47380345356287, -STORE, 47380345356288, 47380345397247, -STORE, 47380345040896, 47380345356287, -STORE, 47380343697408, 47380345040895, -ERASE, 47380343697408, 47380343697408, -STORE, 47380343697408, 47380345040895, -STORE, 47380345352192, 47380345356287, -STORE, 47380345040896, 47380345352191, -ERASE, 47380345040896, 47380345040896, -STORE, 47380345040896, 47380345352191, -STORE, 47380345380864, 47380345397247, -STORE, 47380345356288, 47380345380863, -ERASE, 47380345356288, 47380345356288, -STORE, 47380345356288, 47380345380863, -ERASE, 47380345380864, 47380345380864, -STORE, 47380345380864, 47380345397247, -ERASE, 47380345356288, 47380345356288, -STORE, 47380345356288, 47380345372671, -STORE, 47380345372672, 47380345380863, -ERASE, 94382607687680, 94382607687680, -STORE, 94382607687680, 94382607691775, -STORE, 94382607691776, 94382607695871, -ERASE, 140252451614720, 140252451614720, -STORE, 140252451614720, 140252451618815, -STORE, 140252451618816, 140252451622911, -ERASE, 47380343541760, 47380343541760, -STORE, 94382626803712, 94382626938879, -STORE, 140737488347136, 140737488351231, -STORE, 140730900271104, 140737488351231, -ERASE, 140730900271104, 140730900271104, -STORE, 140730900271104, 140730900275199, -STORE, 93855478120448, 93855478337535, -ERASE, 93855478120448, 93855478120448, -STORE, 93855478120448, 93855478198271, -STORE, 93855478198272, 93855478337535, -ERASE, 93855478198272, 93855478198272, -STORE, 93855478198272, 93855478243327, -STORE, 93855478243328, 93855478288383, -STORE, 93855478288384, 93855478337535, -STORE, 140092686573568, 140092686745599, -ERASE, 140092686573568, 140092686573568, -STORE, 140092686573568, 140092686577663, -STORE, 140092686577664, 140092686745599, -ERASE, 140092686577664, 140092686577664, -STORE, 140092686577664, 140092686700543, -STORE, 140092686700544, 140092686733311, -STORE, 140092686733312, 140092686741503, -STORE, 140092686741504, 140092686745599, -STORE, 140730900537344, 140730900541439, -STORE, 140730900525056, 140730900537343, -STORE, 47540108423168, 47540108431359, -STORE, 47540108431360, 47540108439551, -STORE, 47540108439552, 47540110278655, -STORE, 47540108578816, 47540110278655, -STORE, 47540108439552, 47540108578815, -ERASE, 47540108578816, 47540108578816, -STORE, 47540108578816, 47540110237695, -STORE, 47540110237696, 47540110278655, -STORE, 47540109922304, 47540110237695, -STORE, 47540108578816, 47540109922303, -ERASE, 47540108578816, 47540108578816, -STORE, 47540108578816, 47540109922303, -STORE, 47540110233600, 47540110237695, -STORE, 47540109922304, 47540110233599, -ERASE, 47540109922304, 47540109922304, -STORE, 47540109922304, 47540110233599, -STORE, 47540110262272, 47540110278655, -STORE, 47540110237696, 47540110262271, -ERASE, 47540110237696, 47540110237696, -STORE, 47540110237696, 47540110262271, -ERASE, 47540110262272, 47540110262272, -STORE, 47540110262272, 47540110278655, -ERASE, 47540110237696, 47540110237696, -STORE, 47540110237696, 47540110254079, -STORE, 47540110254080, 47540110262271, -ERASE, 93855478288384, 93855478288384, -STORE, 93855478288384, 93855478333439, -STORE, 93855478333440, 93855478337535, -ERASE, 140092686733312, 140092686733312, -STORE, 140092686733312, 140092686737407, -STORE, 140092686737408, 140092686741503, -ERASE, 47540108423168, 47540108423168, -STORE, 93855492222976, 93855492358143, -STORE, 93855492222976, 93855492493311, -STORE, 140737488347136, 140737488351231, -STORE, 140733498146816, 140737488351231, -ERASE, 140733498146816, 140733498146816, -STORE, 140733498146816, 140733498150911, -STORE, 94170739654656, 94170740367359, -ERASE, 94170739654656, 94170739654656, -STORE, 94170739654656, 94170739703807, -STORE, 94170739703808, 94170740367359, -ERASE, 94170739703808, 94170739703808, -STORE, 94170739703808, 94170740248575, -STORE, 94170740248576, 94170740346879, -STORE, 94170740346880, 94170740367359, -STORE, 140024788877312, 140024789049343, -ERASE, 140024788877312, 140024788877312, -STORE, 140024788877312, 140024788881407, -STORE, 140024788881408, 140024789049343, -ERASE, 140024788881408, 140024788881408, -STORE, 140024788881408, 140024789004287, -STORE, 140024789004288, 140024789037055, -STORE, 140024789037056, 140024789045247, -STORE, 140024789045248, 140024789049343, -STORE, 140733499023360, 140733499027455, -STORE, 140733499011072, 140733499023359, -STORE, 47608006119424, 47608006127615, -STORE, 47608006127616, 47608006135807, -STORE, 47608006135808, 47608006242303, -STORE, 47608006152192, 47608006242303, -STORE, 47608006135808, 47608006152191, -ERASE, 47608006152192, 47608006152192, -STORE, 47608006152192, 47608006225919, -STORE, 47608006225920, 47608006242303, -STORE, 47608006205440, 47608006225919, -STORE, 47608006152192, 47608006205439, -ERASE, 47608006152192, 47608006152192, -STORE, 47608006152192, 47608006205439, -STORE, 47608006221824, 47608006225919, -STORE, 47608006205440, 47608006221823, -ERASE, 47608006205440, 47608006205440, -STORE, 47608006205440, 47608006221823, -STORE, 47608006234112, 47608006242303, -STORE, 47608006225920, 47608006234111, -ERASE, 47608006225920, 47608006225920, -STORE, 47608006225920, 47608006234111, -ERASE, 47608006234112, 47608006234112, -STORE, 47608006234112, 47608006242303, -STORE, 47608006242304, 47608008081407, -STORE, 47608006381568, 47608008081407, -STORE, 47608006242304, 47608006381567, -ERASE, 47608006381568, 47608006381568, -STORE, 47608006381568, 47608008040447, -STORE, 47608008040448, 47608008081407, -STORE, 47608007725056, 47608008040447, -STORE, 47608006381568, 47608007725055, -ERASE, 47608006381568, 47608006381568, -STORE, 47608006381568, 47608007725055, -STORE, 47608008036352, 47608008040447, -STORE, 47608007725056, 47608008036351, -ERASE, 47608007725056, 47608007725056, -STORE, 47608007725056, 47608008036351, -STORE, 47608008065024, 47608008081407, -STORE, 47608008040448, 47608008065023, -ERASE, 47608008040448, 47608008040448, -STORE, 47608008040448, 47608008065023, -ERASE, 47608008065024, 47608008065024, -STORE, 47608008065024, 47608008081407, -STORE, 47608008065024, 47608008093695, -ERASE, 47608008040448, 47608008040448, -STORE, 47608008040448, 47608008056831, -STORE, 47608008056832, 47608008065023, -ERASE, 47608006225920, 47608006225920, -STORE, 47608006225920, 47608006230015, -STORE, 47608006230016, 47608006234111, -ERASE, 94170740346880, 94170740346880, -STORE, 94170740346880, 94170740363263, -STORE, 94170740363264, 94170740367359, -ERASE, 140024789037056, 140024789037056, -STORE, 140024789037056, 140024789041151, -STORE, 140024789041152, 140024789045247, -ERASE, 47608006119424, 47608006119424, -STORE, 140737488347136, 140737488351231, -STORE, 140730264326144, 140737488351231, -ERASE, 140730264326144, 140730264326144, -STORE, 140730264326144, 140730264330239, -STORE, 94653216407552, 94653217120255, -ERASE, 94653216407552, 94653216407552, -STORE, 94653216407552, 94653216456703, -STORE, 94653216456704, 94653217120255, -ERASE, 94653216456704, 94653216456704, -STORE, 94653216456704, 94653217001471, -STORE, 94653217001472, 94653217099775, -STORE, 94653217099776, 94653217120255, -STORE, 140103617011712, 140103617183743, -ERASE, 140103617011712, 140103617011712, -STORE, 140103617011712, 140103617015807, -STORE, 140103617015808, 140103617183743, -ERASE, 140103617015808, 140103617015808, -STORE, 140103617015808, 140103617138687, -STORE, 140103617138688, 140103617171455, -STORE, 140103617171456, 140103617179647, -STORE, 140103617179648, 140103617183743, -STORE, 140730265427968, 140730265432063, -STORE, 140730265415680, 140730265427967, -STORE, 47529177985024, 47529177993215, -STORE, 47529177993216, 47529178001407, -STORE, 47529178001408, 47529178107903, -STORE, 47529178017792, 47529178107903, -STORE, 47529178001408, 47529178017791, -ERASE, 47529178017792, 47529178017792, -STORE, 47529178017792, 47529178091519, -STORE, 47529178091520, 47529178107903, -STORE, 47529178071040, 47529178091519, -STORE, 47529178017792, 47529178071039, -ERASE, 47529178017792, 47529178017792, -STORE, 47529178017792, 47529178071039, -STORE, 47529178087424, 47529178091519, -STORE, 47529178071040, 47529178087423, -ERASE, 47529178071040, 47529178071040, -STORE, 47529178071040, 47529178087423, -STORE, 47529178099712, 47529178107903, -STORE, 47529178091520, 47529178099711, -ERASE, 47529178091520, 47529178091520, -STORE, 47529178091520, 47529178099711, -ERASE, 47529178099712, 47529178099712, -STORE, 47529178099712, 47529178107903, -STORE, 47529178107904, 47529179947007, -STORE, 47529178247168, 47529179947007, -STORE, 47529178107904, 47529178247167, -ERASE, 47529178247168, 47529178247168, -STORE, 47529178247168, 47529179906047, -STORE, 47529179906048, 47529179947007, -STORE, 47529179590656, 47529179906047, -STORE, 47529178247168, 47529179590655, -ERASE, 47529178247168, 47529178247168, -STORE, 47529178247168, 47529179590655, -STORE, 47529179901952, 47529179906047, -STORE, 47529179590656, 47529179901951, -ERASE, 47529179590656, 47529179590656, -STORE, 47529179590656, 47529179901951, -STORE, 47529179930624, 47529179947007, -STORE, 47529179906048, 47529179930623, -ERASE, 47529179906048, 47529179906048, -STORE, 47529179906048, 47529179930623, -ERASE, 47529179930624, 47529179930624, -STORE, 47529179930624, 47529179947007, -STORE, 47529179930624, 47529179959295, -ERASE, 47529179906048, 47529179906048, -STORE, 47529179906048, 47529179922431, -STORE, 47529179922432, 47529179930623, -ERASE, 47529178091520, 47529178091520, -STORE, 47529178091520, 47529178095615, -STORE, 47529178095616, 47529178099711, -ERASE, 94653217099776, 94653217099776, -STORE, 94653217099776, 94653217116159, -STORE, 94653217116160, 94653217120255, -ERASE, 140103617171456, 140103617171456, -STORE, 140103617171456, 140103617175551, -STORE, 140103617175552, 140103617179647, -ERASE, 47529177985024, 47529177985024, -STORE, 94653241135104, 94653241270271, -STORE, 140737488347136, 140737488351231, -STORE, 140736284549120, 140737488351231, -ERASE, 140736284549120, 140736284549120, -STORE, 140736284549120, 140736284553215, -STORE, 93963663822848, 93963664506879, -ERASE, 93963663822848, 93963663822848, -STORE, 93963663822848, 93963663884287, -STORE, 93963663884288, 93963664506879, -ERASE, 93963663884288, 93963663884288, -STORE, 93963663884288, 93963664240639, -STORE, 93963664240640, 93963664379903, -STORE, 93963664379904, 93963664506879, -STORE, 140450188439552, 140450188611583, -ERASE, 140450188439552, 140450188439552, -STORE, 140450188439552, 140450188443647, -STORE, 140450188443648, 140450188611583, -ERASE, 140450188443648, 140450188443648, -STORE, 140450188443648, 140450188566527, -STORE, 140450188566528, 140450188599295, -STORE, 140450188599296, 140450188607487, -STORE, 140450188607488, 140450188611583, -STORE, 140736284577792, 140736284581887, -STORE, 140736284565504, 140736284577791, -STORE, 47182606557184, 47182606565375, -STORE, 47182606565376, 47182606573567, -STORE, 47182606573568, 47182608412671, -STORE, 47182606712832, 47182608412671, -STORE, 47182606573568, 47182606712831, -ERASE, 47182606712832, 47182606712832, -STORE, 47182606712832, 47182608371711, -STORE, 47182608371712, 47182608412671, -STORE, 47182608056320, 47182608371711, -STORE, 47182606712832, 47182608056319, -ERASE, 47182606712832, 47182606712832, -STORE, 47182606712832, 47182608056319, -STORE, 47182608367616, 47182608371711, -STORE, 47182608056320, 47182608367615, -ERASE, 47182608056320, 47182608056320, -STORE, 47182608056320, 47182608367615, -STORE, 47182608396288, 47182608412671, -STORE, 47182608371712, 47182608396287, -ERASE, 47182608371712, 47182608371712, -STORE, 47182608371712, 47182608396287, -ERASE, 47182608396288, 47182608396288, -STORE, 47182608396288, 47182608412671, -STORE, 47182608412672, 47182608523263, -STORE, 47182608429056, 47182608523263, -STORE, 47182608412672, 47182608429055, -ERASE, 47182608429056, 47182608429056, -STORE, 47182608429056, 47182608515071, -STORE, 47182608515072, 47182608523263, -STORE, 47182608490496, 47182608515071, -STORE, 47182608429056, 47182608490495, -ERASE, 47182608429056, 47182608429056, -STORE, 47182608429056, 47182608490495, -STORE, 47182608510976, 47182608515071, -STORE, 47182608490496, 47182608510975, -ERASE, 47182608490496, 47182608490496, -STORE, 47182608490496, 47182608510975, -ERASE, 47182608515072, 47182608515072, -STORE, 47182608515072, 47182608523263, -STORE, 47182608523264, 47182608568319, -ERASE, 47182608523264, 47182608523264, -STORE, 47182608523264, 47182608531455, -STORE, 47182608531456, 47182608568319, -STORE, 47182608551936, 47182608568319, -STORE, 47182608531456, 47182608551935, -ERASE, 47182608531456, 47182608531456, -STORE, 47182608531456, 47182608551935, -STORE, 47182608560128, 47182608568319, -STORE, 47182608551936, 47182608560127, -ERASE, 47182608551936, 47182608551936, -STORE, 47182608551936, 47182608568319, -ERASE, 47182608551936, 47182608551936, -STORE, 47182608551936, 47182608560127, -STORE, 47182608560128, 47182608568319, -ERASE, 47182608560128, 47182608560128, -STORE, 47182608560128, 47182608568319, -STORE, 47182608568320, 47182608916479, -STORE, 47182608609280, 47182608916479, -STORE, 47182608568320, 47182608609279, -ERASE, 47182608609280, 47182608609280, -STORE, 47182608609280, 47182608891903, -STORE, 47182608891904, 47182608916479, -STORE, 47182608822272, 47182608891903, -STORE, 47182608609280, 47182608822271, -ERASE, 47182608609280, 47182608609280, -STORE, 47182608609280, 47182608822271, -STORE, 47182608887808, 47182608891903, -STORE, 47182608822272, 47182608887807, -ERASE, 47182608822272, 47182608822272, -STORE, 47182608822272, 47182608887807, -ERASE, 47182608891904, 47182608891904, -STORE, 47182608891904, 47182608916479, -STORE, 47182608916480, 47182611177471, -STORE, 47182609068032, 47182611177471, -STORE, 47182608916480, 47182609068031, -ERASE, 47182609068032, 47182609068032, -STORE, 47182609068032, 47182611161087, -STORE, 47182611161088, 47182611177471, -STORE, 47182611169280, 47182611177471, -STORE, 47182611161088, 47182611169279, -ERASE, 47182611161088, 47182611161088, -STORE, 47182611161088, 47182611169279, -ERASE, 47182611169280, 47182611169280, -STORE, 47182611169280, 47182611177471, -STORE, 47182611177472, 47182611312639, -ERASE, 47182611177472, 47182611177472, -STORE, 47182611177472, 47182611202047, -STORE, 47182611202048, 47182611312639, -STORE, 47182611263488, 47182611312639, -STORE, 47182611202048, 47182611263487, -ERASE, 47182611202048, 47182611202048, -STORE, 47182611202048, 47182611263487, -STORE, 47182611288064, 47182611312639, -STORE, 47182611263488, 47182611288063, -ERASE, 47182611263488, 47182611263488, -STORE, 47182611263488, 47182611312639, -ERASE, 47182611263488, 47182611263488, -STORE, 47182611263488, 47182611288063, -STORE, 47182611288064, 47182611312639, -STORE, 47182611296256, 47182611312639, -STORE, 47182611288064, 47182611296255, -ERASE, 47182611288064, 47182611288064, -STORE, 47182611288064, 47182611296255, -ERASE, 47182611296256, 47182611296256, -STORE, 47182611296256, 47182611312639, -STORE, 47182611296256, 47182611320831, -STORE, 47182611320832, 47182611484671, -ERASE, 47182611320832, 47182611320832, -STORE, 47182611320832, 47182611333119, -STORE, 47182611333120, 47182611484671, -STORE, 47182611431424, 47182611484671, -STORE, 47182611333120, 47182611431423, -ERASE, 47182611333120, 47182611333120, -STORE, 47182611333120, 47182611431423, -STORE, 47182611476480, 47182611484671, -STORE, 47182611431424, 47182611476479, -ERASE, 47182611431424, 47182611431424, -STORE, 47182611431424, 47182611484671, -ERASE, 47182611431424, 47182611431424, -STORE, 47182611431424, 47182611476479, -STORE, 47182611476480, 47182611484671, -ERASE, 47182611476480, 47182611476480, -STORE, 47182611476480, 47182611484671, -STORE, 47182611484672, 47182612082687, -STORE, 47182611603456, 47182612082687, -STORE, 47182611484672, 47182611603455, -ERASE, 47182611603456, 47182611603456, -STORE, 47182611603456, 47182612029439, -STORE, 47182612029440, 47182612082687, -STORE, 47182611918848, 47182612029439, -STORE, 47182611603456, 47182611918847, -ERASE, 47182611603456, 47182611603456, -STORE, 47182611603456, 47182611918847, -STORE, 47182612025344, 47182612029439, -STORE, 47182611918848, 47182612025343, -ERASE, 47182611918848, 47182611918848, -STORE, 47182611918848, 47182612025343, -ERASE, 47182612029440, 47182612029440, -STORE, 47182612029440, 47182612082687, -STORE, 47182612082688, 47182615134207, -STORE, 47182612627456, 47182615134207, -STORE, 47182612082688, 47182612627455, -ERASE, 47182612627456, 47182612627456, -STORE, 47182612627456, 47182614913023, -STORE, 47182614913024, 47182615134207, -STORE, 47182614323200, 47182614913023, -STORE, 47182612627456, 47182614323199, -ERASE, 47182612627456, 47182612627456, -STORE, 47182612627456, 47182614323199, -STORE, 47182614908928, 47182614913023, -STORE, 47182614323200, 47182614908927, -ERASE, 47182614323200, 47182614323200, -STORE, 47182614323200, 47182614908927, -STORE, 47182615117824, 47182615134207, -STORE, 47182614913024, 47182615117823, -ERASE, 47182614913024, 47182614913024, -STORE, 47182614913024, 47182615117823, -ERASE, 47182615117824, 47182615117824, -STORE, 47182615117824, 47182615134207, -STORE, 47182615134208, 47182615166975, -ERASE, 47182615134208, 47182615134208, -STORE, 47182615134208, 47182615142399, -STORE, 47182615142400, 47182615166975, -STORE, 47182615154688, 47182615166975, -STORE, 47182615142400, 47182615154687, -ERASE, 47182615142400, 47182615142400, -STORE, 47182615142400, 47182615154687, -STORE, 47182615158784, 47182615166975, -STORE, 47182615154688, 47182615158783, -ERASE, 47182615154688, 47182615154688, -STORE, 47182615154688, 47182615166975, -ERASE, 47182615154688, 47182615154688, -STORE, 47182615154688, 47182615158783, -STORE, 47182615158784, 47182615166975, -ERASE, 47182615158784, 47182615158784, -STORE, 47182615158784, 47182615166975, -STORE, 47182615166976, 47182615203839, -ERASE, 47182615166976, 47182615166976, -STORE, 47182615166976, 47182615175167, -STORE, 47182615175168, 47182615203839, -STORE, 47182615191552, 47182615203839, -STORE, 47182615175168, 47182615191551, -ERASE, 47182615175168, 47182615175168, -STORE, 47182615175168, 47182615191551, -STORE, 47182615195648, 47182615203839, -STORE, 47182615191552, 47182615195647, -ERASE, 47182615191552, 47182615191552, -STORE, 47182615191552, 47182615203839, -ERASE, 47182615191552, 47182615191552, -STORE, 47182615191552, 47182615195647, -STORE, 47182615195648, 47182615203839, -ERASE, 47182615195648, 47182615195648, -STORE, 47182615195648, 47182615203839, -STORE, 47182615203840, 47182615678975, -ERASE, 47182615203840, 47182615203840, -STORE, 47182615203840, 47182615212031, -STORE, 47182615212032, 47182615678975, -STORE, 47182615547904, 47182615678975, -STORE, 47182615212032, 47182615547903, -ERASE, 47182615212032, 47182615212032, -STORE, 47182615212032, 47182615547903, -STORE, 47182615670784, 47182615678975, -STORE, 47182615547904, 47182615670783, -ERASE, 47182615547904, 47182615547904, -STORE, 47182615547904, 47182615678975, -ERASE, 47182615547904, 47182615547904, -STORE, 47182615547904, 47182615670783, -STORE, 47182615670784, 47182615678975, -ERASE, 47182615670784, 47182615670784, -STORE, 47182615670784, 47182615678975, -STORE, 47182615678976, 47182615687167, -STORE, 47182615687168, 47182615707647, -ERASE, 47182615687168, 47182615687168, -STORE, 47182615687168, 47182615691263, -STORE, 47182615691264, 47182615707647, -STORE, 47182615695360, 47182615707647, -STORE, 47182615691264, 47182615695359, -ERASE, 47182615691264, 47182615691264, -STORE, 47182615691264, 47182615695359, -STORE, 47182615699456, 47182615707647, -STORE, 47182615695360, 47182615699455, -ERASE, 47182615695360, 47182615695360, -STORE, 47182615695360, 47182615707647, -ERASE, 47182615695360, 47182615695360, -STORE, 47182615695360, 47182615699455, -STORE, 47182615699456, 47182615707647, -ERASE, 47182615699456, 47182615699456, -STORE, 47182615699456, 47182615707647, -STORE, 47182615707648, 47182615715839, -ERASE, 47182608371712, 47182608371712, -STORE, 47182608371712, 47182608388095, -STORE, 47182608388096, 47182608396287, -ERASE, 47182615699456, 47182615699456, -STORE, 47182615699456, 47182615703551, -STORE, 47182615703552, 47182615707647, -ERASE, 47182611288064, 47182611288064, -STORE, 47182611288064, 47182611292159, -STORE, 47182611292160, 47182611296255, -ERASE, 47182615670784, 47182615670784, -STORE, 47182615670784, 47182615674879, -STORE, 47182615674880, 47182615678975, -ERASE, 47182615195648, 47182615195648, -STORE, 47182615195648, 47182615199743, -STORE, 47182615199744, 47182615203839, -ERASE, 47182615158784, 47182615158784, -STORE, 47182615158784, 47182615162879, -STORE, 47182615162880, 47182615166975, -ERASE, 47182614913024, 47182614913024, -STORE, 47182614913024, 47182615109631, -STORE, 47182615109632, 47182615117823, -ERASE, 47182612029440, 47182612029440, -STORE, 47182612029440, 47182612066303, -STORE, 47182612066304, 47182612082687, -ERASE, 47182611476480, 47182611476480, -STORE, 47182611476480, 47182611480575, -STORE, 47182611480576, 47182611484671, -ERASE, 47182611161088, 47182611161088, -STORE, 47182611161088, 47182611165183, -STORE, 47182611165184, 47182611169279, -ERASE, 47182608891904, 47182608891904, -STORE, 47182608891904, 47182608912383, -STORE, 47182608912384, 47182608916479, -ERASE, 47182608560128, 47182608560128, -STORE, 47182608560128, 47182608564223, -STORE, 47182608564224, 47182608568319, -ERASE, 47182608515072, 47182608515072, -STORE, 47182608515072, 47182608519167, -STORE, 47182608519168, 47182608523263, -ERASE, 93963664379904, 93963664379904, -STORE, 93963664379904, 93963664502783, -STORE, 93963664502784, 93963664506879, -ERASE, 140450188599296, 140450188599296, -STORE, 140450188599296, 140450188603391, -STORE, 140450188603392, 140450188607487, -ERASE, 47182606557184, 47182606557184, -STORE, 93963694723072, 93963694858239, -STORE, 140737488347136, 140737488351231, -STORE, 140730313261056, 140737488351231, -ERASE, 140730313261056, 140730313261056, -STORE, 140730313261056, 140730313265151, -STORE, 94386579017728, 94386579697663, -ERASE, 94386579017728, 94386579017728, -STORE, 94386579017728, 94386579083263, -STORE, 94386579083264, 94386579697663, -ERASE, 94386579083264, 94386579083264, -STORE, 94386579083264, 94386579431423, -STORE, 94386579431424, 94386579570687, -STORE, 94386579570688, 94386579697663, -STORE, 140124810838016, 140124811010047, -ERASE, 140124810838016, 140124810838016, -STORE, 140124810838016, 140124810842111, -STORE, 140124810842112, 140124811010047, -ERASE, 140124810842112, 140124810842112, -STORE, 140124810842112, 140124810964991, -STORE, 140124810964992, 140124810997759, -STORE, 140124810997760, 140124811005951, -STORE, 140124811005952, 140124811010047, -STORE, 140730313601024, 140730313605119, -STORE, 140730313588736, 140730313601023, -STORE, 47507984158720, 47507984166911, -STORE, 47507984166912, 47507984175103, -STORE, 47507984175104, 47507986014207, -STORE, 47507984314368, 47507986014207, -STORE, 47507984175104, 47507984314367, -ERASE, 47507984314368, 47507984314368, -STORE, 47507984314368, 47507985973247, -STORE, 47507985973248, 47507986014207, -STORE, 47507985657856, 47507985973247, -STORE, 47507984314368, 47507985657855, -ERASE, 47507984314368, 47507984314368, -STORE, 47507984314368, 47507985657855, -STORE, 47507985969152, 47507985973247, -STORE, 47507985657856, 47507985969151, -ERASE, 47507985657856, 47507985657856, -STORE, 47507985657856, 47507985969151, -STORE, 47507985997824, 47507986014207, -STORE, 47507985973248, 47507985997823, -ERASE, 47507985973248, 47507985973248, -STORE, 47507985973248, 47507985997823, -ERASE, 47507985997824, 47507985997824, -STORE, 47507985997824, 47507986014207, -STORE, 47507986014208, 47507986124799, -STORE, 47507986030592, 47507986124799, -STORE, 47507986014208, 47507986030591, -ERASE, 47507986030592, 47507986030592, -STORE, 47507986030592, 47507986116607, -STORE, 47507986116608, 47507986124799, -STORE, 47507986092032, 47507986116607, -STORE, 47507986030592, 47507986092031, -ERASE, 47507986030592, 47507986030592, -STORE, 47507986030592, 47507986092031, -STORE, 47507986112512, 47507986116607, -STORE, 47507986092032, 47507986112511, -ERASE, 47507986092032, 47507986092032, -STORE, 47507986092032, 47507986112511, -ERASE, 47507986116608, 47507986116608, -STORE, 47507986116608, 47507986124799, -STORE, 47507986124800, 47507986169855, -ERASE, 47507986124800, 47507986124800, -STORE, 47507986124800, 47507986132991, -STORE, 47507986132992, 47507986169855, -STORE, 47507986153472, 47507986169855, -STORE, 47507986132992, 47507986153471, -ERASE, 47507986132992, 47507986132992, -STORE, 47507986132992, 47507986153471, -STORE, 47507986161664, 47507986169855, -STORE, 47507986153472, 47507986161663, -ERASE, 47507986153472, 47507986153472, -STORE, 47507986153472, 47507986169855, -ERASE, 47507986153472, 47507986153472, -STORE, 47507986153472, 47507986161663, -STORE, 47507986161664, 47507986169855, -ERASE, 47507986161664, 47507986161664, -STORE, 47507986161664, 47507986169855, -STORE, 47507986169856, 47507986518015, -STORE, 47507986210816, 47507986518015, -STORE, 47507986169856, 47507986210815, -ERASE, 47507986210816, 47507986210816, -STORE, 47507986210816, 47507986493439, -STORE, 47507986493440, 47507986518015, -STORE, 47507986423808, 47507986493439, -STORE, 47507986210816, 47507986423807, -ERASE, 47507986210816, 47507986210816, -STORE, 47507986210816, 47507986423807, -STORE, 47507986489344, 47507986493439, -STORE, 47507986423808, 47507986489343, -ERASE, 47507986423808, 47507986423808, -STORE, 47507986423808, 47507986489343, -ERASE, 47507986493440, 47507986493440, -STORE, 47507986493440, 47507986518015, -STORE, 47507986518016, 47507988779007, -STORE, 47507986669568, 47507988779007, -STORE, 47507986518016, 47507986669567, -ERASE, 47507986669568, 47507986669568, -STORE, 47507986669568, 47507988762623, -STORE, 47507988762624, 47507988779007, -STORE, 47507988770816, 47507988779007, -STORE, 47507988762624, 47507988770815, -ERASE, 47507988762624, 47507988762624, -STORE, 47507988762624, 47507988770815, -ERASE, 47507988770816, 47507988770816, -STORE, 47507988770816, 47507988779007, -STORE, 47507988779008, 47507988914175, -ERASE, 47507988779008, 47507988779008, -STORE, 47507988779008, 47507988803583, -STORE, 47507988803584, 47507988914175, -STORE, 47507988865024, 47507988914175, -STORE, 47507988803584, 47507988865023, -ERASE, 47507988803584, 47507988803584, -STORE, 47507988803584, 47507988865023, -STORE, 47507988889600, 47507988914175, -STORE, 47507988865024, 47507988889599, -ERASE, 47507988865024, 47507988865024, -STORE, 47507988865024, 47507988914175, -ERASE, 47507988865024, 47507988865024, -STORE, 47507988865024, 47507988889599, -STORE, 47507988889600, 47507988914175, -STORE, 47507988897792, 47507988914175, -STORE, 47507988889600, 47507988897791, -ERASE, 47507988889600, 47507988889600, -STORE, 47507988889600, 47507988897791, -ERASE, 47507988897792, 47507988897792, -STORE, 47507988897792, 47507988914175, -STORE, 47507988897792, 47507988922367, -STORE, 47507988922368, 47507989086207, -ERASE, 47507988922368, 47507988922368, -STORE, 47507988922368, 47507988934655, -STORE, 47507988934656, 47507989086207, -STORE, 47507989032960, 47507989086207, -STORE, 47507988934656, 47507989032959, -ERASE, 47507988934656, 47507988934656, -STORE, 47507988934656, 47507989032959, -STORE, 47507989078016, 47507989086207, -STORE, 47507989032960, 47507989078015, -ERASE, 47507989032960, 47507989032960, -STORE, 47507989032960, 47507989086207, -ERASE, 47507989032960, 47507989032960, -STORE, 47507989032960, 47507989078015, -STORE, 47507989078016, 47507989086207, -ERASE, 47507989078016, 47507989078016, -STORE, 47507989078016, 47507989086207, -STORE, 47507989086208, 47507989684223, -STORE, 47507989204992, 47507989684223, -STORE, 47507989086208, 47507989204991, -ERASE, 47507989204992, 47507989204992, -STORE, 47507989204992, 47507989630975, -STORE, 47507989630976, 47507989684223, -STORE, 47507989520384, 47507989630975, -STORE, 47507989204992, 47507989520383, -ERASE, 47507989204992, 47507989204992, -STORE, 47507989204992, 47507989520383, -STORE, 47507989626880, 47507989630975, -STORE, 47507989520384, 47507989626879, -ERASE, 47507989520384, 47507989520384, -STORE, 47507989520384, 47507989626879, -ERASE, 47507989630976, 47507989630976, -STORE, 47507989630976, 47507989684223, -STORE, 47507989684224, 47507992735743, -STORE, 47507990228992, 47507992735743, -STORE, 47507989684224, 47507990228991, -ERASE, 47507990228992, 47507990228992, -STORE, 47507990228992, 47507992514559, -STORE, 47507992514560, 47507992735743, -STORE, 47507991924736, 47507992514559, -STORE, 47507990228992, 47507991924735, -ERASE, 47507990228992, 47507990228992, -STORE, 47507990228992, 47507991924735, -STORE, 47507992510464, 47507992514559, -STORE, 47507991924736, 47507992510463, -ERASE, 47507991924736, 47507991924736, -STORE, 47507991924736, 47507992510463, -STORE, 47507992719360, 47507992735743, -STORE, 47507992514560, 47507992719359, -ERASE, 47507992514560, 47507992514560, -STORE, 47507992514560, 47507992719359, -ERASE, 47507992719360, 47507992719360, -STORE, 47507992719360, 47507992735743, -STORE, 47507992735744, 47507992768511, -ERASE, 47507992735744, 47507992735744, -STORE, 47507992735744, 47507992743935, -STORE, 47507992743936, 47507992768511, -STORE, 47507992756224, 47507992768511, -STORE, 47507992743936, 47507992756223, -ERASE, 47507992743936, 47507992743936, -STORE, 47507992743936, 47507992756223, -STORE, 47507992760320, 47507992768511, -STORE, 47507992756224, 47507992760319, -ERASE, 47507992756224, 47507992756224, -STORE, 47507992756224, 47507992768511, -ERASE, 47507992756224, 47507992756224, -STORE, 47507992756224, 47507992760319, -STORE, 47507992760320, 47507992768511, -ERASE, 47507992760320, 47507992760320, -STORE, 47507992760320, 47507992768511, -STORE, 47507992768512, 47507992805375, -ERASE, 47507992768512, 47507992768512, -STORE, 47507992768512, 47507992776703, -STORE, 47507992776704, 47507992805375, -STORE, 47507992793088, 47507992805375, -STORE, 47507992776704, 47507992793087, -ERASE, 47507992776704, 47507992776704, -STORE, 47507992776704, 47507992793087, -STORE, 47507992797184, 47507992805375, -STORE, 47507992793088, 47507992797183, -ERASE, 47507992793088, 47507992793088, -STORE, 47507992793088, 47507992805375, -ERASE, 47507992793088, 47507992793088, -STORE, 47507992793088, 47507992797183, -STORE, 47507992797184, 47507992805375, -ERASE, 47507992797184, 47507992797184, -STORE, 47507992797184, 47507992805375, -STORE, 47507992805376, 47507993280511, -ERASE, 47507992805376, 47507992805376, -STORE, 47507992805376, 47507992813567, -STORE, 47507992813568, 47507993280511, -STORE, 47507993149440, 47507993280511, -STORE, 47507992813568, 47507993149439, -ERASE, 47507992813568, 47507992813568, -STORE, 47507992813568, 47507993149439, -STORE, 47507993272320, 47507993280511, -STORE, 47507993149440, 47507993272319, -ERASE, 47507993149440, 47507993149440, -STORE, 47507993149440, 47507993280511, -ERASE, 47507993149440, 47507993149440, -STORE, 47507993149440, 47507993272319, -STORE, 47507993272320, 47507993280511, -ERASE, 47507993272320, 47507993272320, -STORE, 47507993272320, 47507993280511, -STORE, 47507993280512, 47507993288703, -STORE, 47507993288704, 47507993309183, -ERASE, 47507993288704, 47507993288704, -STORE, 47507993288704, 47507993292799, -STORE, 47507993292800, 47507993309183, -STORE, 47507993296896, 47507993309183, -STORE, 47507993292800, 47507993296895, -ERASE, 47507993292800, 47507993292800, -STORE, 47507993292800, 47507993296895, -STORE, 47507993300992, 47507993309183, -STORE, 47507993296896, 47507993300991, -ERASE, 47507993296896, 47507993296896, -STORE, 47507993296896, 47507993309183, -ERASE, 47507993296896, 47507993296896, -STORE, 47507993296896, 47507993300991, -STORE, 47507993300992, 47507993309183, -ERASE, 47507993300992, 47507993300992, -STORE, 47507993300992, 47507993309183, -STORE, 47507993309184, 47507993317375, -ERASE, 47507985973248, 47507985973248, -STORE, 47507985973248, 47507985989631, -STORE, 47507985989632, 47507985997823, -ERASE, 47507993300992, 47507993300992, -STORE, 47507993300992, 47507993305087, -STORE, 47507993305088, 47507993309183, -ERASE, 47507988889600, 47507988889600, -STORE, 47507988889600, 47507988893695, -STORE, 47507988893696, 47507988897791, -ERASE, 47507993272320, 47507993272320, -STORE, 47507993272320, 47507993276415, -STORE, 47507993276416, 47507993280511, -ERASE, 47507992797184, 47507992797184, -STORE, 47507992797184, 47507992801279, -STORE, 47507992801280, 47507992805375, -ERASE, 47507992760320, 47507992760320, -STORE, 47507992760320, 47507992764415, -STORE, 47507992764416, 47507992768511, -ERASE, 47507992514560, 47507992514560, -STORE, 47507992514560, 47507992711167, -STORE, 47507992711168, 47507992719359, -ERASE, 47507989630976, 47507989630976, -STORE, 47507989630976, 47507989667839, -STORE, 47507989667840, 47507989684223, -ERASE, 47507989078016, 47507989078016, -STORE, 47507989078016, 47507989082111, -STORE, 47507989082112, 47507989086207, -ERASE, 47507988762624, 47507988762624, -STORE, 47507988762624, 47507988766719, -STORE, 47507988766720, 47507988770815, -ERASE, 47507986493440, 47507986493440, -STORE, 47507986493440, 47507986513919, -STORE, 47507986513920, 47507986518015, -ERASE, 47507986161664, 47507986161664, -STORE, 47507986161664, 47507986165759, -STORE, 47507986165760, 47507986169855, -ERASE, 47507986116608, 47507986116608, -STORE, 47507986116608, 47507986120703, -STORE, 47507986120704, 47507986124799, -ERASE, 94386579570688, 94386579570688, -STORE, 94386579570688, 94386579693567, -STORE, 94386579693568, 94386579697663, -ERASE, 140124810997760, 140124810997760, -STORE, 140124810997760, 140124811001855, -STORE, 140124811001856, 140124811005951, -ERASE, 47507984158720, 47507984158720, -STORE, 94386583982080, 94386584117247, -STORE, 94386583982080, 94386584256511, -ERASE, 94386583982080, 94386583982080, -STORE, 94386583982080, 94386584223743, -STORE, 94386584223744, 94386584256511, -ERASE, 94386584223744, 94386584223744, -STORE, 140737488347136, 140737488351231, -STORE, 140733763395584, 140737488351231, -ERASE, 140733763395584, 140733763395584, -STORE, 140733763395584, 140733763399679, -STORE, 94011546472448, 94011547152383, -ERASE, 94011546472448, 94011546472448, -STORE, 94011546472448, 94011546537983, -STORE, 94011546537984, 94011547152383, -ERASE, 94011546537984, 94011546537984, -STORE, 94011546537984, 94011546886143, -STORE, 94011546886144, 94011547025407, -STORE, 94011547025408, 94011547152383, -STORE, 139757597949952, 139757598121983, -ERASE, 139757597949952, 139757597949952, -STORE, 139757597949952, 139757597954047, -STORE, 139757597954048, 139757598121983, -ERASE, 139757597954048, 139757597954048, -STORE, 139757597954048, 139757598076927, -STORE, 139757598076928, 139757598109695, -STORE, 139757598109696, 139757598117887, -STORE, 139757598117888, 139757598121983, -STORE, 140733763596288, 140733763600383, -STORE, 140733763584000, 140733763596287, -STORE, 47875197046784, 47875197054975, -STORE, 47875197054976, 47875197063167, -STORE, 47875197063168, 47875198902271, -STORE, 47875197202432, 47875198902271, -STORE, 47875197063168, 47875197202431, -ERASE, 47875197202432, 47875197202432, -STORE, 47875197202432, 47875198861311, -STORE, 47875198861312, 47875198902271, -STORE, 47875198545920, 47875198861311, -STORE, 47875197202432, 47875198545919, -ERASE, 47875197202432, 47875197202432, -STORE, 47875197202432, 47875198545919, -STORE, 47875198857216, 47875198861311, -STORE, 47875198545920, 47875198857215, -ERASE, 47875198545920, 47875198545920, -STORE, 47875198545920, 47875198857215, -STORE, 47875198885888, 47875198902271, -STORE, 47875198861312, 47875198885887, -ERASE, 47875198861312, 47875198861312, -STORE, 47875198861312, 47875198885887, -ERASE, 47875198885888, 47875198885888, -STORE, 47875198885888, 47875198902271, -STORE, 47875198902272, 47875199012863, -STORE, 47875198918656, 47875199012863, -STORE, 47875198902272, 47875198918655, -ERASE, 47875198918656, 47875198918656, -STORE, 47875198918656, 47875199004671, -STORE, 47875199004672, 47875199012863, -STORE, 47875198980096, 47875199004671, -STORE, 47875198918656, 47875198980095, -ERASE, 47875198918656, 47875198918656, -STORE, 47875198918656, 47875198980095, -STORE, 47875199000576, 47875199004671, -STORE, 47875198980096, 47875199000575, -ERASE, 47875198980096, 47875198980096, -STORE, 47875198980096, 47875199000575, -ERASE, 47875199004672, 47875199004672, -STORE, 47875199004672, 47875199012863, -STORE, 47875199012864, 47875199057919, -ERASE, 47875199012864, 47875199012864, -STORE, 47875199012864, 47875199021055, -STORE, 47875199021056, 47875199057919, -STORE, 47875199041536, 47875199057919, -STORE, 47875199021056, 47875199041535, -ERASE, 47875199021056, 47875199021056, -STORE, 47875199021056, 47875199041535, -STORE, 47875199049728, 47875199057919, -STORE, 47875199041536, 47875199049727, -ERASE, 47875199041536, 47875199041536, -STORE, 47875199041536, 47875199057919, -ERASE, 47875199041536, 47875199041536, -STORE, 47875199041536, 47875199049727, -STORE, 47875199049728, 47875199057919, -ERASE, 47875199049728, 47875199049728, -STORE, 47875199049728, 47875199057919, -STORE, 47875199057920, 47875199406079, -STORE, 47875199098880, 47875199406079, -STORE, 47875199057920, 47875199098879, -ERASE, 47875199098880, 47875199098880, -STORE, 47875199098880, 47875199381503, -STORE, 47875199381504, 47875199406079, -STORE, 47875199311872, 47875199381503, -STORE, 47875199098880, 47875199311871, -ERASE, 47875199098880, 47875199098880, -STORE, 47875199098880, 47875199311871, -STORE, 47875199377408, 47875199381503, -STORE, 47875199311872, 47875199377407, -ERASE, 47875199311872, 47875199311872, -STORE, 47875199311872, 47875199377407, -ERASE, 47875199381504, 47875199381504, -STORE, 47875199381504, 47875199406079, -STORE, 47875199406080, 47875201667071, -STORE, 47875199557632, 47875201667071, -STORE, 47875199406080, 47875199557631, -ERASE, 47875199557632, 47875199557632, -STORE, 47875199557632, 47875201650687, -STORE, 47875201650688, 47875201667071, -STORE, 47875201658880, 47875201667071, -STORE, 47875201650688, 47875201658879, -ERASE, 47875201650688, 47875201650688, -STORE, 47875201650688, 47875201658879, -ERASE, 47875201658880, 47875201658880, -STORE, 47875201658880, 47875201667071, -STORE, 47875201667072, 47875201802239, -ERASE, 47875201667072, 47875201667072, -STORE, 47875201667072, 47875201691647, -STORE, 47875201691648, 47875201802239, -STORE, 47875201753088, 47875201802239, -STORE, 47875201691648, 47875201753087, -ERASE, 47875201691648, 47875201691648, -STORE, 47875201691648, 47875201753087, -STORE, 47875201777664, 47875201802239, -STORE, 47875201753088, 47875201777663, -ERASE, 47875201753088, 47875201753088, -STORE, 47875201753088, 47875201802239, -ERASE, 47875201753088, 47875201753088, -STORE, 47875201753088, 47875201777663, -STORE, 47875201777664, 47875201802239, -STORE, 47875201785856, 47875201802239, -STORE, 47875201777664, 47875201785855, -ERASE, 47875201777664, 47875201777664, -STORE, 47875201777664, 47875201785855, -ERASE, 47875201785856, 47875201785856, -STORE, 47875201785856, 47875201802239, -STORE, 47875201785856, 47875201810431, -STORE, 47875201810432, 47875201974271, -ERASE, 47875201810432, 47875201810432, -STORE, 47875201810432, 47875201822719, -STORE, 47875201822720, 47875201974271, -STORE, 47875201921024, 47875201974271, -STORE, 47875201822720, 47875201921023, -ERASE, 47875201822720, 47875201822720, -STORE, 47875201822720, 47875201921023, -STORE, 47875201966080, 47875201974271, -STORE, 47875201921024, 47875201966079, -ERASE, 47875201921024, 47875201921024, -STORE, 47875201921024, 47875201974271, -ERASE, 47875201921024, 47875201921024, -STORE, 47875201921024, 47875201966079, -STORE, 47875201966080, 47875201974271, -ERASE, 47875201966080, 47875201966080, -STORE, 47875201966080, 47875201974271, -STORE, 47875201974272, 47875202572287, -STORE, 47875202093056, 47875202572287, -STORE, 47875201974272, 47875202093055, -ERASE, 47875202093056, 47875202093056, -STORE, 47875202093056, 47875202519039, -STORE, 47875202519040, 47875202572287, -STORE, 47875202408448, 47875202519039, -STORE, 47875202093056, 47875202408447, -ERASE, 47875202093056, 47875202093056, -STORE, 47875202093056, 47875202408447, -STORE, 47875202514944, 47875202519039, -STORE, 47875202408448, 47875202514943, -ERASE, 47875202408448, 47875202408448, -STORE, 47875202408448, 47875202514943, -ERASE, 47875202519040, 47875202519040, -STORE, 47875202519040, 47875202572287, -STORE, 47875202572288, 47875205623807, -STORE, 47875203117056, 47875205623807, -STORE, 47875202572288, 47875203117055, -ERASE, 47875203117056, 47875203117056, -STORE, 47875203117056, 47875205402623, -STORE, 47875205402624, 47875205623807, -STORE, 47875204812800, 47875205402623, -STORE, 47875203117056, 47875204812799, -ERASE, 47875203117056, 47875203117056, -STORE, 47875203117056, 47875204812799, -STORE, 47875205398528, 47875205402623, -STORE, 47875204812800, 47875205398527, -ERASE, 47875204812800, 47875204812800, -STORE, 47875204812800, 47875205398527, -STORE, 47875205607424, 47875205623807, -STORE, 47875205402624, 47875205607423, -ERASE, 47875205402624, 47875205402624, -STORE, 47875205402624, 47875205607423, -ERASE, 47875205607424, 47875205607424, -STORE, 47875205607424, 47875205623807, -STORE, 47875205623808, 47875205656575, -ERASE, 47875205623808, 47875205623808, -STORE, 47875205623808, 47875205631999, -STORE, 47875205632000, 47875205656575, -STORE, 47875205644288, 47875205656575, -STORE, 47875205632000, 47875205644287, -ERASE, 47875205632000, 47875205632000, -STORE, 47875205632000, 47875205644287, -STORE, 47875205648384, 47875205656575, -STORE, 47875205644288, 47875205648383, -ERASE, 47875205644288, 47875205644288, -STORE, 47875205644288, 47875205656575, -ERASE, 47875205644288, 47875205644288, -STORE, 47875205644288, 47875205648383, -STORE, 47875205648384, 47875205656575, -ERASE, 47875205648384, 47875205648384, -STORE, 47875205648384, 47875205656575, -STORE, 47875205656576, 47875205693439, -ERASE, 47875205656576, 47875205656576, -STORE, 47875205656576, 47875205664767, -STORE, 47875205664768, 47875205693439, -STORE, 47875205681152, 47875205693439, -STORE, 47875205664768, 47875205681151, -ERASE, 47875205664768, 47875205664768, -STORE, 47875205664768, 47875205681151, -STORE, 47875205685248, 47875205693439, -STORE, 47875205681152, 47875205685247, -ERASE, 47875205681152, 47875205681152, -STORE, 47875205681152, 47875205693439, -ERASE, 47875205681152, 47875205681152, -STORE, 47875205681152, 47875205685247, -STORE, 47875205685248, 47875205693439, -ERASE, 47875205685248, 47875205685248, -STORE, 47875205685248, 47875205693439, -STORE, 47875205693440, 47875206168575, -ERASE, 47875205693440, 47875205693440, -STORE, 47875205693440, 47875205701631, -STORE, 47875205701632, 47875206168575, -STORE, 47875206037504, 47875206168575, -STORE, 47875205701632, 47875206037503, -ERASE, 47875205701632, 47875205701632, -STORE, 47875205701632, 47875206037503, -STORE, 47875206160384, 47875206168575, -STORE, 47875206037504, 47875206160383, -ERASE, 47875206037504, 47875206037504, -STORE, 47875206037504, 47875206168575, -ERASE, 47875206037504, 47875206037504, -STORE, 47875206037504, 47875206160383, -STORE, 47875206160384, 47875206168575, -ERASE, 47875206160384, 47875206160384, -STORE, 47875206160384, 47875206168575, -STORE, 47875206168576, 47875206176767, -STORE, 47875206176768, 47875206197247, -ERASE, 47875206176768, 47875206176768, -STORE, 47875206176768, 47875206180863, -STORE, 47875206180864, 47875206197247, -STORE, 47875206184960, 47875206197247, -STORE, 47875206180864, 47875206184959, -ERASE, 47875206180864, 47875206180864, -STORE, 47875206180864, 47875206184959, -STORE, 47875206189056, 47875206197247, -STORE, 47875206184960, 47875206189055, -ERASE, 47875206184960, 47875206184960, -STORE, 47875206184960, 47875206197247, -ERASE, 47875206184960, 47875206184960, -STORE, 47875206184960, 47875206189055, -STORE, 47875206189056, 47875206197247, -ERASE, 47875206189056, 47875206189056, -STORE, 47875206189056, 47875206197247, -STORE, 47875206197248, 47875206205439, -ERASE, 47875198861312, 47875198861312, -STORE, 47875198861312, 47875198877695, -STORE, 47875198877696, 47875198885887, -ERASE, 47875206189056, 47875206189056, -STORE, 47875206189056, 47875206193151, -STORE, 47875206193152, 47875206197247, -ERASE, 47875201777664, 47875201777664, -STORE, 47875201777664, 47875201781759, -STORE, 47875201781760, 47875201785855, -ERASE, 47875206160384, 47875206160384, -STORE, 47875206160384, 47875206164479, -STORE, 47875206164480, 47875206168575, -ERASE, 47875205685248, 47875205685248, -STORE, 47875205685248, 47875205689343, -STORE, 47875205689344, 47875205693439, -ERASE, 47875205648384, 47875205648384, -STORE, 47875205648384, 47875205652479, -STORE, 47875205652480, 47875205656575, -ERASE, 47875205402624, 47875205402624, -STORE, 47875205402624, 47875205599231, -STORE, 47875205599232, 47875205607423, -ERASE, 47875202519040, 47875202519040, -STORE, 47875202519040, 47875202555903, -STORE, 47875202555904, 47875202572287, -ERASE, 47875201966080, 47875201966080, -STORE, 47875201966080, 47875201970175, -STORE, 47875201970176, 47875201974271, -ERASE, 47875201650688, 47875201650688, -STORE, 47875201650688, 47875201654783, -STORE, 47875201654784, 47875201658879, -ERASE, 47875199381504, 47875199381504, -STORE, 47875199381504, 47875199401983, -STORE, 47875199401984, 47875199406079, -ERASE, 47875199049728, 47875199049728, -STORE, 47875199049728, 47875199053823, -STORE, 47875199053824, 47875199057919, -ERASE, 47875199004672, 47875199004672, -STORE, 47875199004672, 47875199008767, -STORE, 47875199008768, 47875199012863, -ERASE, 94011547025408, 94011547025408, -STORE, 94011547025408, 94011547148287, -STORE, 94011547148288, 94011547152383, -ERASE, 139757598109696, 139757598109696, -STORE, 139757598109696, 139757598113791, -STORE, 139757598113792, 139757598117887, -ERASE, 47875197046784, 47875197046784, -STORE, 94011557584896, 94011557720063, -STORE, 94011557584896, 94011557855231, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557851135, -STORE, 94011557851136, 94011557855231, -ERASE, 94011557851136, 94011557851136, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557847039, -STORE, 94011557847040, 94011557851135, -ERASE, 94011557847040, 94011557847040, -STORE, 94011557584896, 94011557982207, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557978111, -STORE, 94011557978112, 94011557982207, -ERASE, 94011557978112, 94011557978112, -ERASE, 94011557584896, 94011557584896, -STORE, 94011557584896, 94011557974015, -STORE, 94011557974016, 94011557978111, -ERASE, 94011557974016, 94011557974016, -STORE, 140737488347136, 140737488351231, -STORE, 140734130360320, 140737488351231, -ERASE, 140734130360320, 140734130360320, -STORE, 140734130360320, 140734130364415, -STORE, 94641232105472, 94641232785407, -ERASE, 94641232105472, 94641232105472, -STORE, 94641232105472, 94641232171007, -STORE, 94641232171008, 94641232785407, -ERASE, 94641232171008, 94641232171008, -STORE, 94641232171008, 94641232519167, -STORE, 94641232519168, 94641232658431, -STORE, 94641232658432, 94641232785407, -STORE, 139726599516160, 139726599688191, -ERASE, 139726599516160, 139726599516160, -STORE, 139726599516160, 139726599520255, -STORE, 139726599520256, 139726599688191, -ERASE, 139726599520256, 139726599520256, -STORE, 139726599520256, 139726599643135, -STORE, 139726599643136, 139726599675903, -STORE, 139726599675904, 139726599684095, -STORE, 139726599684096, 139726599688191, -STORE, 140734130446336, 140734130450431, -STORE, 140734130434048, 140734130446335, -STORE, 47906195480576, 47906195488767, -STORE, 47906195488768, 47906195496959, -STORE, 47906195496960, 47906197336063, -STORE, 47906195636224, 47906197336063, -STORE, 47906195496960, 47906195636223, -ERASE, 47906195636224, 47906195636224, -STORE, 47906195636224, 47906197295103, -STORE, 47906197295104, 47906197336063, -STORE, 47906196979712, 47906197295103, -STORE, 47906195636224, 47906196979711, -ERASE, 47906195636224, 47906195636224, -STORE, 47906195636224, 47906196979711, -STORE, 47906197291008, 47906197295103, -STORE, 47906196979712, 47906197291007, -ERASE, 47906196979712, 47906196979712, -STORE, 47906196979712, 47906197291007, -STORE, 47906197319680, 47906197336063, -STORE, 47906197295104, 47906197319679, -ERASE, 47906197295104, 47906197295104, -STORE, 47906197295104, 47906197319679, -ERASE, 47906197319680, 47906197319680, -STORE, 47906197319680, 47906197336063, -STORE, 47906197336064, 47906197446655, -STORE, 47906197352448, 47906197446655, -STORE, 47906197336064, 47906197352447, -ERASE, 47906197352448, 47906197352448, -STORE, 47906197352448, 47906197438463, -STORE, 47906197438464, 47906197446655, -STORE, 47906197413888, 47906197438463, -STORE, 47906197352448, 47906197413887, -ERASE, 47906197352448, 47906197352448, -STORE, 47906197352448, 47906197413887, -STORE, 47906197434368, 47906197438463, -STORE, 47906197413888, 47906197434367, -ERASE, 47906197413888, 47906197413888, -STORE, 47906197413888, 47906197434367, -ERASE, 47906197438464, 47906197438464, -STORE, 47906197438464, 47906197446655, -STORE, 47906197446656, 47906197491711, -ERASE, 47906197446656, 47906197446656, -STORE, 47906197446656, 47906197454847, -STORE, 47906197454848, 47906197491711, -STORE, 47906197475328, 47906197491711, -STORE, 47906197454848, 47906197475327, -ERASE, 47906197454848, 47906197454848, -STORE, 47906197454848, 47906197475327, -STORE, 47906197483520, 47906197491711, -STORE, 47906197475328, 47906197483519, -ERASE, 47906197475328, 47906197475328, -STORE, 47906197475328, 47906197491711, -ERASE, 47906197475328, 47906197475328, -STORE, 47906197475328, 47906197483519, -STORE, 47906197483520, 47906197491711, -ERASE, 47906197483520, 47906197483520, -STORE, 47906197483520, 47906197491711, -STORE, 47906197491712, 47906197839871, -STORE, 47906197532672, 47906197839871, -STORE, 47906197491712, 47906197532671, -ERASE, 47906197532672, 47906197532672, -STORE, 47906197532672, 47906197815295, -STORE, 47906197815296, 47906197839871, -STORE, 47906197745664, 47906197815295, -STORE, 47906197532672, 47906197745663, -ERASE, 47906197532672, 47906197532672, -STORE, 47906197532672, 47906197745663, -STORE, 47906197811200, 47906197815295, -STORE, 47906197745664, 47906197811199, -ERASE, 47906197745664, 47906197745664, -STORE, 47906197745664, 47906197811199, -ERASE, 47906197815296, 47906197815296, -STORE, 47906197815296, 47906197839871, -STORE, 47906197839872, 47906200100863, -STORE, 47906197991424, 47906200100863, -STORE, 47906197839872, 47906197991423, -ERASE, 47906197991424, 47906197991424, -STORE, 47906197991424, 47906200084479, -STORE, 47906200084480, 47906200100863, -STORE, 47906200092672, 47906200100863, -STORE, 47906200084480, 47906200092671, -ERASE, 47906200084480, 47906200084480, -STORE, 47906200084480, 47906200092671, -ERASE, 47906200092672, 47906200092672, -STORE, 47906200092672, 47906200100863, -STORE, 47906200100864, 47906200236031, -ERASE, 47906200100864, 47906200100864, -STORE, 47906200100864, 47906200125439, -STORE, 47906200125440, 47906200236031, -STORE, 47906200186880, 47906200236031, -STORE, 47906200125440, 47906200186879, -ERASE, 47906200125440, 47906200125440, -STORE, 47906200125440, 47906200186879, -STORE, 47906200211456, 47906200236031, -STORE, 47906200186880, 47906200211455, -ERASE, 47906200186880, 47906200186880, -STORE, 47906200186880, 47906200236031, -ERASE, 47906200186880, 47906200186880, -STORE, 47906200186880, 47906200211455, -STORE, 47906200211456, 47906200236031, -STORE, 47906200219648, 47906200236031, -STORE, 47906200211456, 47906200219647, -ERASE, 47906200211456, 47906200211456, -STORE, 47906200211456, 47906200219647, -ERASE, 47906200219648, 47906200219648, -STORE, 47906200219648, 47906200236031, -STORE, 47906200219648, 47906200244223, -STORE, 47906200244224, 47906200408063, -ERASE, 47906200244224, 47906200244224, -STORE, 47906200244224, 47906200256511, -STORE, 47906200256512, 47906200408063, -STORE, 47906200354816, 47906200408063, -STORE, 47906200256512, 47906200354815, -ERASE, 47906200256512, 47906200256512, -STORE, 47906200256512, 47906200354815, -STORE, 47906200399872, 47906200408063, -STORE, 47906200354816, 47906200399871, -ERASE, 47906200354816, 47906200354816, -STORE, 47906200354816, 47906200408063, -ERASE, 47906200354816, 47906200354816, -STORE, 47906200354816, 47906200399871, -STORE, 47906200399872, 47906200408063, -ERASE, 47906200399872, 47906200399872, -STORE, 47906200399872, 47906200408063, -STORE, 47906200408064, 47906201006079, -STORE, 47906200526848, 47906201006079, -STORE, 47906200408064, 47906200526847, -ERASE, 47906200526848, 47906200526848, -STORE, 47906200526848, 47906200952831, -STORE, 47906200952832, 47906201006079, -STORE, 47906200842240, 47906200952831, -STORE, 47906200526848, 47906200842239, -ERASE, 47906200526848, 47906200526848, -STORE, 47906200526848, 47906200842239, -STORE, 47906200948736, 47906200952831, -STORE, 47906200842240, 47906200948735, -ERASE, 47906200842240, 47906200842240, -STORE, 47906200842240, 47906200948735, -ERASE, 47906200952832, 47906200952832, -STORE, 47906200952832, 47906201006079, -STORE, 47906201006080, 47906204057599, -STORE, 47906201550848, 47906204057599, -STORE, 47906201006080, 47906201550847, -ERASE, 47906201550848, 47906201550848, -STORE, 47906201550848, 47906203836415, -STORE, 47906203836416, 47906204057599, -STORE, 47906203246592, 47906203836415, -STORE, 47906201550848, 47906203246591, -ERASE, 47906201550848, 47906201550848, -STORE, 47906201550848, 47906203246591, -STORE, 47906203832320, 47906203836415, -STORE, 47906203246592, 47906203832319, -ERASE, 47906203246592, 47906203246592, -STORE, 47906203246592, 47906203832319, -STORE, 47906204041216, 47906204057599, -STORE, 47906203836416, 47906204041215, -ERASE, 47906203836416, 47906203836416, -STORE, 47906203836416, 47906204041215, -ERASE, 47906204041216, 47906204041216, -STORE, 47906204041216, 47906204057599, -STORE, 47906204057600, 47906204090367, -ERASE, 47906204057600, 47906204057600, -STORE, 47906204057600, 47906204065791, -STORE, 47906204065792, 47906204090367, -STORE, 47906204078080, 47906204090367, -STORE, 47906204065792, 47906204078079, -ERASE, 47906204065792, 47906204065792, -STORE, 47906204065792, 47906204078079, -STORE, 47906204082176, 47906204090367, -STORE, 47906204078080, 47906204082175, -ERASE, 47906204078080, 47906204078080, -STORE, 47906204078080, 47906204090367, -ERASE, 47906204078080, 47906204078080, -STORE, 47906204078080, 47906204082175, -STORE, 47906204082176, 47906204090367, -ERASE, 47906204082176, 47906204082176, -STORE, 47906204082176, 47906204090367, -STORE, 47906204090368, 47906204127231, -ERASE, 47906204090368, 47906204090368, -STORE, 47906204090368, 47906204098559, -STORE, 47906204098560, 47906204127231, -STORE, 47906204114944, 47906204127231, -STORE, 47906204098560, 47906204114943, -ERASE, 47906204098560, 47906204098560, -STORE, 47906204098560, 47906204114943, -STORE, 47906204119040, 47906204127231, -STORE, 47906204114944, 47906204119039, -ERASE, 47906204114944, 47906204114944, -STORE, 47906204114944, 47906204127231, -ERASE, 47906204114944, 47906204114944, -STORE, 47906204114944, 47906204119039, -STORE, 47906204119040, 47906204127231, -ERASE, 47906204119040, 47906204119040, -STORE, 47906204119040, 47906204127231, -STORE, 47906204127232, 47906204602367, -ERASE, 47906204127232, 47906204127232, -STORE, 47906204127232, 47906204135423, -STORE, 47906204135424, 47906204602367, -STORE, 47906204471296, 47906204602367, -STORE, 47906204135424, 47906204471295, -ERASE, 47906204135424, 47906204135424, -STORE, 47906204135424, 47906204471295, -STORE, 47906204594176, 47906204602367, -STORE, 47906204471296, 47906204594175, -ERASE, 47906204471296, 47906204471296, -STORE, 47906204471296, 47906204602367, -ERASE, 47906204471296, 47906204471296, -STORE, 47906204471296, 47906204594175, -STORE, 47906204594176, 47906204602367, -ERASE, 47906204594176, 47906204594176, -STORE, 47906204594176, 47906204602367, -STORE, 47906204602368, 47906204610559, -STORE, 47906204610560, 47906204631039, -ERASE, 47906204610560, 47906204610560, -STORE, 47906204610560, 47906204614655, -STORE, 47906204614656, 47906204631039, -STORE, 47906204618752, 47906204631039, -STORE, 47906204614656, 47906204618751, -ERASE, 47906204614656, 47906204614656, -STORE, 47906204614656, 47906204618751, -STORE, 47906204622848, 47906204631039, -STORE, 47906204618752, 47906204622847, -ERASE, 47906204618752, 47906204618752, -STORE, 47906204618752, 47906204631039, -ERASE, 47906204618752, 47906204618752, -STORE, 47906204618752, 47906204622847, -STORE, 47906204622848, 47906204631039, -ERASE, 47906204622848, 47906204622848, -STORE, 47906204622848, 47906204631039, -STORE, 47906204631040, 47906204639231, -ERASE, 47906197295104, 47906197295104, -STORE, 47906197295104, 47906197311487, -STORE, 47906197311488, 47906197319679, -ERASE, 47906204622848, 47906204622848, -STORE, 47906204622848, 47906204626943, -STORE, 47906204626944, 47906204631039, -ERASE, 47906200211456, 47906200211456, -STORE, 47906200211456, 47906200215551, -STORE, 47906200215552, 47906200219647, -ERASE, 47906204594176, 47906204594176, -STORE, 47906204594176, 47906204598271, -STORE, 47906204598272, 47906204602367, -ERASE, 47906204119040, 47906204119040, -STORE, 47906204119040, 47906204123135, -STORE, 47906204123136, 47906204127231, -ERASE, 47906204082176, 47906204082176, -STORE, 47906204082176, 47906204086271, -STORE, 47906204086272, 47906204090367, -ERASE, 47906203836416, 47906203836416, -STORE, 47906203836416, 47906204033023, -STORE, 47906204033024, 47906204041215, -ERASE, 47906200952832, 47906200952832, -STORE, 47906200952832, 47906200989695, -STORE, 47906200989696, 47906201006079, -ERASE, 47906200399872, 47906200399872, -STORE, 47906200399872, 47906200403967, -STORE, 47906200403968, 47906200408063, -ERASE, 47906200084480, 47906200084480, -STORE, 47906200084480, 47906200088575, -STORE, 47906200088576, 47906200092671, -ERASE, 47906197815296, 47906197815296, -STORE, 47906197815296, 47906197835775, -STORE, 47906197835776, 47906197839871, -ERASE, 47906197483520, 47906197483520, -STORE, 47906197483520, 47906197487615, -STORE, 47906197487616, 47906197491711, -ERASE, 47906197438464, 47906197438464, -STORE, 47906197438464, 47906197442559, -STORE, 47906197442560, 47906197446655, -ERASE, 94641232658432, 94641232658432, -STORE, 94641232658432, 94641232781311, -STORE, 94641232781312, 94641232785407, -ERASE, 139726599675904, 139726599675904, -STORE, 139726599675904, 139726599679999, -STORE, 139726599680000, 139726599684095, -ERASE, 47906195480576, 47906195480576, -STORE, 94641242615808, 94641242750975, - }; - unsigned long set11[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140732658499584, 140737488351231, -ERASE, 140732658499584, 140732658499584, -STORE, 140732658499584, 140732658503679, -STORE, 94029856579584, 94029856751615, -ERASE, 94029856579584, 94029856579584, -STORE, 94029856579584, 94029856595967, -STORE, 94029856595968, 94029856751615, -ERASE, 94029856595968, 94029856595968, -STORE, 94029856595968, 94029856698367, -STORE, 94029856698368, 94029856739327, -STORE, 94029856739328, 94029856751615, -STORE, 140014592573440, 140014592745471, -ERASE, 140014592573440, 140014592573440, -STORE, 140014592573440, 140014592577535, -STORE, 140014592577536, 140014592745471, -ERASE, 140014592577536, 140014592577536, -STORE, 140014592577536, 140014592700415, -STORE, 140014592700416, 140014592733183, -STORE, 140014592733184, 140014592741375, -STORE, 140014592741376, 140014592745471, -STORE, 140732658565120, 140732658569215, -STORE, 140732658552832, 140732658565119, - }; - - unsigned long set12[] = { /* contains 12 values. */ -STORE, 140737488347136, 140737488351231, -STORE, 140732658499584, 140737488351231, -ERASE, 140732658499584, 140732658499584, -STORE, 140732658499584, 140732658503679, -STORE, 94029856579584, 94029856751615, -ERASE, 94029856579584, 94029856579584, -STORE, 94029856579584, 94029856595967, -STORE, 94029856595968, 94029856751615, -ERASE, 94029856595968, 94029856595968, -STORE, 94029856595968, 94029856698367, -STORE, 94029856698368, 94029856739327, -STORE, 94029856739328, 94029856751615, -STORE, 140014592573440, 140014592745471, -ERASE, 140014592573440, 140014592573440, -STORE, 140014592573440, 140014592577535, -STORE, 140014592577536, 140014592745471, -ERASE, 140014592577536, 140014592577536, -STORE, 140014592577536, 140014592700415, -STORE, 140014592700416, 140014592733183, -STORE, 140014592733184, 140014592741375, -STORE, 140014592741376, 140014592745471, -STORE, 140732658565120, 140732658569215, -STORE, 140732658552832, 140732658565119, -STORE, 140014592741375, 140014592741375, /* contrived */ -STORE, 140014592733184, 140014592741376, /* creates first entry retry. */ - }; - unsigned long set13[] = { -STORE, 140373516247040, 140373516251135,/*: ffffa2e7b0e10d80 */ -STORE, 140373516251136, 140373516255231,/*: ffffa2e7b1195d80 */ -STORE, 140373516255232, 140373516443647,/*: ffffa2e7b0e109c0 */ -STORE, 140373516443648, 140373516587007,/*: ffffa2e7b05fecc0 */ -STORE, 140373516963840, 140373518647295,/*: ffffa2e7bfbdcc00 */ -STORE, 140373518647296, 140373518663679,/*: ffffa2e7bf5d59c0 */ -STORE, 140373518663680, 140373518684159,/*: deleted (257) */ -STORE, 140373518680064, 140373518684159,/*: ffffa2e7b0e1cb40 */ -STORE, 140373518684160, 140373518688254,/*: ffffa2e7b05fec00 */ -STORE, 140373518688256, 140373518692351,/*: ffffa2e7bfbdcd80 */ -STORE, 140373518692352, 140373518696447,/*: ffffa2e7b0749e40 */ - }; - unsigned long set14[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140731667996672, 140737488351231, -SNULL, 140731668000767, 140737488351231, -STORE, 140731667996672, 140731668000767, -STORE, 140731667865600, 140731668000767, -STORE, 94077521272832, 94077521313791, -SNULL, 94077521301503, 94077521313791, -STORE, 94077521272832, 94077521301503, -STORE, 94077521301504, 94077521313791, -ERASE, 94077521301504, 94077521313791, -STORE, 94077521305600, 94077521313791, -STORE, 139826134630400, 139826136883199, -SNULL, 139826134773759, 139826136883199, -STORE, 139826134630400, 139826134773759, -STORE, 139826134773760, 139826136883199, -ERASE, 139826134773760, 139826136883199, -STORE, 139826136870912, 139826136879103, -STORE, 139826136879104, 139826136883199, -STORE, 140731668013056, 140731668017151, -STORE, 140731668000768, 140731668013055, -STORE, 139826136862720, 139826136870911, -STORE, 139826132406272, 139826134630399, -SNULL, 139826134056959, 139826134630399, -STORE, 139826132406272, 139826134056959, -STORE, 139826134056960, 139826134630399, -SNULL, 139826134056960, 139826134626303, -STORE, 139826134626304, 139826134630399, -STORE, 139826134056960, 139826134626303, -ERASE, 139826134056960, 139826134626303, -STORE, 139826134056960, 139826134626303, -ERASE, 139826134626304, 139826134630399, -STORE, 139826134626304, 139826134630399, -STORE, 139826136842240, 139826136862719, -STORE, 139826130022400, 139826132406271, -SNULL, 139826130022400, 139826130288639, -STORE, 139826130288640, 139826132406271, -STORE, 139826130022400, 139826130288639, -SNULL, 139826132381695, 139826132406271, -STORE, 139826130288640, 139826132381695, -STORE, 139826132381696, 139826132406271, -SNULL, 139826132381696, 139826132402175, -STORE, 139826132402176, 139826132406271, -STORE, 139826132381696, 139826132402175, -ERASE, 139826132381696, 139826132402175, -STORE, 139826132381696, 139826132402175, -ERASE, 139826132402176, 139826132406271, -STORE, 139826132402176, 139826132406271, -STORE, 139826127806464, 139826130022399, -SNULL, 139826127806464, 139826127904767, -STORE, 139826127904768, 139826130022399, -STORE, 139826127806464, 139826127904767, -SNULL, 139826129997823, 139826130022399, -STORE, 139826127904768, 139826129997823, -STORE, 139826129997824, 139826130022399, -SNULL, 139826129997824, 139826130006015, -STORE, 139826130006016, 139826130022399, -STORE, 139826129997824, 139826130006015, -ERASE, 139826129997824, 139826130006015, -STORE, 139826129997824, 139826130006015, -ERASE, 139826130006016, 139826130022399, -STORE, 139826130006016, 139826130022399, -STORE, 139826124009472, 139826127806463, -SNULL, 139826124009472, 139826125668351, -STORE, 139826125668352, 139826127806463, -STORE, 139826124009472, 139826125668351, -SNULL, 139826127765503, 139826127806463, -STORE, 139826125668352, 139826127765503, -STORE, 139826127765504, 139826127806463, -SNULL, 139826127765504, 139826127790079, -STORE, 139826127790080, 139826127806463, -STORE, 139826127765504, 139826127790079, -ERASE, 139826127765504, 139826127790079, -STORE, 139826127765504, 139826127790079, -ERASE, 139826127790080, 139826127806463, -STORE, 139826127790080, 139826127806463, -STORE, 139826121748480, 139826124009471, -SNULL, 139826121748480, 139826121900031, -STORE, 139826121900032, 139826124009471, -STORE, 139826121748480, 139826121900031, -SNULL, 139826123993087, 139826124009471, -STORE, 139826121900032, 139826123993087, -STORE, 139826123993088, 139826124009471, -SNULL, 139826123993088, 139826124001279, -STORE, 139826124001280, 139826124009471, -STORE, 139826123993088, 139826124001279, -ERASE, 139826123993088, 139826124001279, -STORE, 139826123993088, 139826124001279, -ERASE, 139826124001280, 139826124009471, -STORE, 139826124001280, 139826124009471, -STORE, 139826119626752, 139826121748479, -SNULL, 139826119626752, 139826119643135, -STORE, 139826119643136, 139826121748479, -STORE, 139826119626752, 139826119643135, -SNULL, 139826121740287, 139826121748479, -STORE, 139826119643136, 139826121740287, -STORE, 139826121740288, 139826121748479, -ERASE, 139826121740288, 139826121748479, -STORE, 139826121740288, 139826121748479, -STORE, 139826136834048, 139826136842239, -STORE, 139826117496832, 139826119626751, -SNULL, 139826117496832, 139826117525503, -STORE, 139826117525504, 139826119626751, -STORE, 139826117496832, 139826117525503, -SNULL, 139826119618559, 139826119626751, -STORE, 139826117525504, 139826119618559, -STORE, 139826119618560, 139826119626751, -ERASE, 139826119618560, 139826119626751, -STORE, 139826119618560, 139826119626751, -STORE, 139826115244032, 139826117496831, -SNULL, 139826115244032, 139826115395583, -STORE, 139826115395584, 139826117496831, -STORE, 139826115244032, 139826115395583, -SNULL, 139826117488639, 139826117496831, -STORE, 139826115395584, 139826117488639, -STORE, 139826117488640, 139826117496831, -ERASE, 139826117488640, 139826117496831, -STORE, 139826117488640, 139826117496831, -STORE, 139826113073152, 139826115244031, -SNULL, 139826113073152, 139826113142783, -STORE, 139826113142784, 139826115244031, -STORE, 139826113073152, 139826113142783, -SNULL, 139826115235839, 139826115244031, -STORE, 139826113142784, 139826115235839, -STORE, 139826115235840, 139826115244031, -ERASE, 139826115235840, 139826115244031, -STORE, 139826115235840, 139826115244031, -STORE, 139826109861888, 139826113073151, -SNULL, 139826109861888, 139826110939135, -STORE, 139826110939136, 139826113073151, -STORE, 139826109861888, 139826110939135, -SNULL, 139826113036287, 139826113073151, -STORE, 139826110939136, 139826113036287, -STORE, 139826113036288, 139826113073151, -ERASE, 139826113036288, 139826113073151, -STORE, 139826113036288, 139826113073151, -STORE, 139826107727872, 139826109861887, -SNULL, 139826107727872, 139826107756543, -STORE, 139826107756544, 139826109861887, -STORE, 139826107727872, 139826107756543, -SNULL, 139826109853695, 139826109861887, -STORE, 139826107756544, 139826109853695, -STORE, 139826109853696, 139826109861887, -ERASE, 139826109853696, 139826109861887, -STORE, 139826109853696, 139826109861887, -STORE, 139826105417728, 139826107727871, -SNULL, 139826105417728, 139826105622527, -STORE, 139826105622528, 139826107727871, -STORE, 139826105417728, 139826105622527, -SNULL, 139826107719679, 139826107727871, -STORE, 139826105622528, 139826107719679, -STORE, 139826107719680, 139826107727871, -ERASE, 139826107719680, 139826107727871, -STORE, 139826107719680, 139826107727871, -STORE, 139826136825856, 139826136842239, -STORE, 139826103033856, 139826105417727, -SNULL, 139826103033856, 139826103226367, -STORE, 139826103226368, 139826105417727, -STORE, 139826103033856, 139826103226367, -SNULL, 139826105319423, 139826105417727, -STORE, 139826103226368, 139826105319423, -STORE, 139826105319424, 139826105417727, -ERASE, 139826105319424, 139826105417727, -STORE, 139826105319424, 139826105417727, -STORE, 139826100916224, 139826103033855, -SNULL, 139826100916224, 139826100932607, -STORE, 139826100932608, 139826103033855, -STORE, 139826100916224, 139826100932607, -SNULL, 139826103025663, 139826103033855, -STORE, 139826100932608, 139826103025663, -STORE, 139826103025664, 139826103033855, -ERASE, 139826103025664, 139826103033855, -STORE, 139826103025664, 139826103033855, -STORE, 139826098348032, 139826100916223, -SNULL, 139826098348032, 139826098814975, -STORE, 139826098814976, 139826100916223, -STORE, 139826098348032, 139826098814975, -SNULL, 139826100908031, 139826100916223, -STORE, 139826098814976, 139826100908031, -STORE, 139826100908032, 139826100916223, -ERASE, 139826100908032, 139826100916223, -STORE, 139826100908032, 139826100916223, -STORE, 139826096234496, 139826098348031, -SNULL, 139826096234496, 139826096246783, -STORE, 139826096246784, 139826098348031, -STORE, 139826096234496, 139826096246783, -SNULL, 139826098339839, 139826098348031, -STORE, 139826096246784, 139826098339839, -STORE, 139826098339840, 139826098348031, -ERASE, 139826098339840, 139826098348031, -STORE, 139826098339840, 139826098348031, -STORE, 139826094055424, 139826096234495, -SNULL, 139826094055424, 139826094133247, -STORE, 139826094133248, 139826096234495, -STORE, 139826094055424, 139826094133247, -SNULL, 139826096226303, 139826096234495, -STORE, 139826094133248, 139826096226303, -STORE, 139826096226304, 139826096234495, -ERASE, 139826096226304, 139826096234495, -STORE, 139826096226304, 139826096234495, -STORE, 139826136817664, 139826136842239, -STORE, 139826091937792, 139826094055423, -SNULL, 139826091937792, 139826091954175, -STORE, 139826091954176, 139826094055423, -STORE, 139826091937792, 139826091954175, -SNULL, 139826094047231, 139826094055423, -STORE, 139826091954176, 139826094047231, -STORE, 139826094047232, 139826094055423, -ERASE, 139826094047232, 139826094055423, -STORE, 139826094047232, 139826094055423, -STORE, 139826136809472, 139826136842239, -SNULL, 139826127781887, 139826127790079, -STORE, 139826127765504, 139826127781887, -STORE, 139826127781888, 139826127790079, -SNULL, 139826094051327, 139826094055423, -STORE, 139826094047232, 139826094051327, -STORE, 139826094051328, 139826094055423, -SNULL, 139826096230399, 139826096234495, -STORE, 139826096226304, 139826096230399, -STORE, 139826096230400, 139826096234495, -SNULL, 139826098343935, 139826098348031, -STORE, 139826098339840, 139826098343935, -STORE, 139826098343936, 139826098348031, -SNULL, 139826130001919, 139826130006015, -STORE, 139826129997824, 139826130001919, -STORE, 139826130001920, 139826130006015, -SNULL, 139826100912127, 139826100916223, -STORE, 139826100908032, 139826100912127, -STORE, 139826100912128, 139826100916223, -SNULL, 139826103029759, 139826103033855, -STORE, 139826103025664, 139826103029759, -STORE, 139826103029760, 139826103033855, -SNULL, 139826105413631, 139826105417727, -STORE, 139826105319424, 139826105413631, -STORE, 139826105413632, 139826105417727, -SNULL, 139826107723775, 139826107727871, -STORE, 139826107719680, 139826107723775, -STORE, 139826107723776, 139826107727871, -SNULL, 139826109857791, 139826109861887, -STORE, 139826109853696, 139826109857791, -STORE, 139826109857792, 139826109861887, -SNULL, 139826113044479, 139826113073151, -STORE, 139826113036288, 139826113044479, -STORE, 139826113044480, 139826113073151, -SNULL, 139826115239935, 139826115244031, -STORE, 139826115235840, 139826115239935, -STORE, 139826115239936, 139826115244031, -SNULL, 139826117492735, 139826117496831, -STORE, 139826117488640, 139826117492735, -STORE, 139826117492736, 139826117496831, -SNULL, 139826119622655, 139826119626751, -STORE, 139826119618560, 139826119622655, -STORE, 139826119622656, 139826119626751, -SNULL, 139826121744383, 139826121748479, -STORE, 139826121740288, 139826121744383, -STORE, 139826121744384, 139826121748479, -SNULL, 139826123997183, 139826124001279, -STORE, 139826123993088, 139826123997183, -STORE, 139826123997184, 139826124001279, -SNULL, 139826132398079, 139826132402175, -STORE, 139826132381696, 139826132398079, -STORE, 139826132398080, 139826132402175, -SNULL, 139826134622207, 139826134626303, -STORE, 139826134056960, 139826134622207, -STORE, 139826134622208, 139826134626303, -SNULL, 94077521309695, 94077521313791, -STORE, 94077521305600, 94077521309695, -STORE, 94077521309696, 94077521313791, -SNULL, 139826136875007, 139826136879103, -STORE, 139826136870912, 139826136875007, -STORE, 139826136875008, 139826136879103, -ERASE, 139826136842240, 139826136862719, -STORE, 94077554049024, 94077554184191, -STORE, 139826136543232, 139826136842239, -STORE, 139826136276992, 139826136842239, -STORE, 139826136010752, 139826136842239, -STORE, 139826135744512, 139826136842239, -SNULL, 139826136543231, 139826136842239, -STORE, 139826135744512, 139826136543231, -STORE, 139826136543232, 139826136842239, -SNULL, 139826136543232, 139826136809471, -STORE, 139826136809472, 139826136842239, -STORE, 139826136543232, 139826136809471, - }; - unsigned long set15[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140722061451264, 140737488351231, -SNULL, 140722061455359, 140737488351231, -STORE, 140722061451264, 140722061455359, -STORE, 140722061320192, 140722061455359, -STORE, 94728600248320, 94728600289279, -SNULL, 94728600276991, 94728600289279, -STORE, 94728600248320, 94728600276991, -STORE, 94728600276992, 94728600289279, -ERASE, 94728600276992, 94728600289279, -STORE, 94728600281088, 94728600289279, -STORE, 139906806779904, 139906809032703, -SNULL, 139906806923263, 139906809032703, -STORE, 139906806779904, 139906806923263, -STORE, 139906806923264, 139906809032703, -ERASE, 139906806923264, 139906809032703, -STORE, 139906809020416, 139906809028607, -STORE, 139906809028608, 139906809032703, -STORE, 140722061692928, 140722061697023, -STORE, 140722061680640, 140722061692927, -STORE, 139906809012224, 139906809020415, -STORE, 139906804555776, 139906806779903, -SNULL, 139906806206463, 139906806779903, -STORE, 139906804555776, 139906806206463, -STORE, 139906806206464, 139906806779903, -SNULL, 139906806206464, 139906806775807, -STORE, 139906806775808, 139906806779903, -STORE, 139906806206464, 139906806775807, -ERASE, 139906806206464, 139906806775807, -STORE, 139906806206464, 139906806775807, -ERASE, 139906806775808, 139906806779903, -STORE, 139906806775808, 139906806779903, -STORE, 139906808991744, 139906809012223, -STORE, 139906802171904, 139906804555775, -SNULL, 139906802171904, 139906802438143, -STORE, 139906802438144, 139906804555775, -STORE, 139906802171904, 139906802438143, -SNULL, 139906804531199, 139906804555775, -STORE, 139906802438144, 139906804531199, -STORE, 139906804531200, 139906804555775, -SNULL, 139906804531200, 139906804551679, -STORE, 139906804551680, 139906804555775, -STORE, 139906804531200, 139906804551679, -ERASE, 139906804531200, 139906804551679, -STORE, 139906804531200, 139906804551679, -ERASE, 139906804551680, 139906804555775, -STORE, 139906804551680, 139906804555775, -STORE, 139906799955968, 139906802171903, -SNULL, 139906799955968, 139906800054271, -STORE, 139906800054272, 139906802171903, -STORE, 139906799955968, 139906800054271, -SNULL, 139906802147327, 139906802171903, -STORE, 139906800054272, 139906802147327, -STORE, 139906802147328, 139906802171903, -SNULL, 139906802147328, 139906802155519, -STORE, 139906802155520, 139906802171903, -STORE, 139906802147328, 139906802155519, -ERASE, 139906802147328, 139906802155519, -STORE, 139906802147328, 139906802155519, -ERASE, 139906802155520, 139906802171903, -STORE, 139906802155520, 139906802171903, -STORE, 139906796158976, 139906799955967, -SNULL, 139906796158976, 139906797817855, -STORE, 139906797817856, 139906799955967, -STORE, 139906796158976, 139906797817855, -SNULL, 139906799915007, 139906799955967, -STORE, 139906797817856, 139906799915007, -STORE, 139906799915008, 139906799955967, -SNULL, 139906799915008, 139906799939583, -STORE, 139906799939584, 139906799955967, -STORE, 139906799915008, 139906799939583, -ERASE, 139906799915008, 139906799939583, -STORE, 139906799915008, 139906799939583, -ERASE, 139906799939584, 139906799955967, -STORE, 139906799939584, 139906799955967, -STORE, 139906793897984, 139906796158975, -SNULL, 139906793897984, 139906794049535, -STORE, 139906794049536, 139906796158975, -STORE, 139906793897984, 139906794049535, -SNULL, 139906796142591, 139906796158975, -STORE, 139906794049536, 139906796142591, -STORE, 139906796142592, 139906796158975, -SNULL, 139906796142592, 139906796150783, -STORE, 139906796150784, 139906796158975, -STORE, 139906796142592, 139906796150783, -ERASE, 139906796142592, 139906796150783, -STORE, 139906796142592, 139906796150783, -ERASE, 139906796150784, 139906796158975, -STORE, 139906796150784, 139906796158975, -STORE, 139906791776256, 139906793897983, -SNULL, 139906791776256, 139906791792639, -STORE, 139906791792640, 139906793897983, -STORE, 139906791776256, 139906791792639, -SNULL, 139906793889791, 139906793897983, -STORE, 139906791792640, 139906793889791, -STORE, 139906793889792, 139906793897983, -ERASE, 139906793889792, 139906793897983, -STORE, 139906793889792, 139906793897983, -STORE, 139906808983552, 139906808991743, -STORE, 139906789646336, 139906791776255, -SNULL, 139906789646336, 139906789675007, -STORE, 139906789675008, 139906791776255, -STORE, 139906789646336, 139906789675007, -SNULL, 139906791768063, 139906791776255, -STORE, 139906789675008, 139906791768063, -STORE, 139906791768064, 139906791776255, -ERASE, 139906791768064, 139906791776255, -STORE, 139906791768064, 139906791776255, -STORE, 139906787393536, 139906789646335, -SNULL, 139906787393536, 139906787545087, -STORE, 139906787545088, 139906789646335, -STORE, 139906787393536, 139906787545087, -SNULL, 139906789638143, 139906789646335, -STORE, 139906787545088, 139906789638143, -STORE, 139906789638144, 139906789646335, -ERASE, 139906789638144, 139906789646335, -STORE, 139906789638144, 139906789646335, -STORE, 139906785222656, 139906787393535, -SNULL, 139906785222656, 139906785292287, -STORE, 139906785292288, 139906787393535, -STORE, 139906785222656, 139906785292287, -SNULL, 139906787385343, 139906787393535, -STORE, 139906785292288, 139906787385343, -STORE, 139906787385344, 139906787393535, -ERASE, 139906787385344, 139906787393535, -STORE, 139906787385344, 139906787393535, -STORE, 139906782011392, 139906785222655, -SNULL, 139906782011392, 139906783088639, -STORE, 139906783088640, 139906785222655, -STORE, 139906782011392, 139906783088639, -SNULL, 139906785185791, 139906785222655, -STORE, 139906783088640, 139906785185791, -STORE, 139906785185792, 139906785222655, -ERASE, 139906785185792, 139906785222655, -STORE, 139906785185792, 139906785222655, -STORE, 139906779877376, 139906782011391, -SNULL, 139906779877376, 139906779906047, -STORE, 139906779906048, 139906782011391, -STORE, 139906779877376, 139906779906047, -SNULL, 139906782003199, 139906782011391, -STORE, 139906779906048, 139906782003199, -STORE, 139906782003200, 139906782011391, -ERASE, 139906782003200, 139906782011391, -STORE, 139906782003200, 139906782011391, -STORE, 139906777567232, 139906779877375, -SNULL, 139906777567232, 139906777772031, -STORE, 139906777772032, 139906779877375, -STORE, 139906777567232, 139906777772031, -SNULL, 139906779869183, 139906779877375, -STORE, 139906777772032, 139906779869183, -STORE, 139906779869184, 139906779877375, -ERASE, 139906779869184, 139906779877375, -STORE, 139906779869184, 139906779877375, -STORE, 139906808975360, 139906808991743, -STORE, 139906775183360, 139906777567231, -SNULL, 139906775183360, 139906775375871, -STORE, 139906775375872, 139906777567231, -STORE, 139906775183360, 139906775375871, -SNULL, 139906777468927, 139906777567231, -STORE, 139906775375872, 139906777468927, -STORE, 139906777468928, 139906777567231, -ERASE, 139906777468928, 139906777567231, -STORE, 139906777468928, 139906777567231, -STORE, 139906773065728, 139906775183359, -SNULL, 139906773065728, 139906773082111, -STORE, 139906773082112, 139906775183359, -STORE, 139906773065728, 139906773082111, -SNULL, 139906775175167, 139906775183359, -STORE, 139906773082112, 139906775175167, -STORE, 139906775175168, 139906775183359, -ERASE, 139906775175168, 139906775183359, -STORE, 139906775175168, 139906775183359, -STORE, 139906770497536, 139906773065727, -SNULL, 139906770497536, 139906770964479, -STORE, 139906770964480, 139906773065727, -STORE, 139906770497536, 139906770964479, -SNULL, 139906773057535, 139906773065727, -STORE, 139906770964480, 139906773057535, -STORE, 139906773057536, 139906773065727, -ERASE, 139906773057536, 139906773065727, -STORE, 139906773057536, 139906773065727, -STORE, 139906768384000, 139906770497535, -SNULL, 139906768384000, 139906768396287, -STORE, 139906768396288, 139906770497535, -STORE, 139906768384000, 139906768396287, -SNULL, 139906770489343, 139906770497535, -STORE, 139906768396288, 139906770489343, -STORE, 139906770489344, 139906770497535, -ERASE, 139906770489344, 139906770497535, -STORE, 139906770489344, 139906770497535, -STORE, 139906766204928, 139906768383999, -SNULL, 139906766204928, 139906766282751, -STORE, 139906766282752, 139906768383999, -STORE, 139906766204928, 139906766282751, -SNULL, 139906768375807, 139906768383999, -STORE, 139906766282752, 139906768375807, -STORE, 139906768375808, 139906768383999, -ERASE, 139906768375808, 139906768383999, -STORE, 139906768375808, 139906768383999, -STORE, 139906808967168, 139906808991743, -STORE, 139906764087296, 139906766204927, -SNULL, 139906764087296, 139906764103679, -STORE, 139906764103680, 139906766204927, -STORE, 139906764087296, 139906764103679, -SNULL, 139906766196735, 139906766204927, -STORE, 139906764103680, 139906766196735, -STORE, 139906766196736, 139906766204927, -ERASE, 139906766196736, 139906766204927, -STORE, 139906766196736, 139906766204927, -STORE, 139906808958976, 139906808991743, -SNULL, 139906799931391, 139906799939583, -STORE, 139906799915008, 139906799931391, -STORE, 139906799931392, 139906799939583, -SNULL, 139906766200831, 139906766204927, -STORE, 139906766196736, 139906766200831, -STORE, 139906766200832, 139906766204927, -SNULL, 139906768379903, 139906768383999, -STORE, 139906768375808, 139906768379903, -STORE, 139906768379904, 139906768383999, -SNULL, 139906770493439, 139906770497535, -STORE, 139906770489344, 139906770493439, -STORE, 139906770493440, 139906770497535, -SNULL, 139906802151423, 139906802155519, -STORE, 139906802147328, 139906802151423, -STORE, 139906802151424, 139906802155519, -SNULL, 139906773061631, 139906773065727, -STORE, 139906773057536, 139906773061631, -STORE, 139906773061632, 139906773065727, -SNULL, 139906775179263, 139906775183359, -STORE, 139906775175168, 139906775179263, -STORE, 139906775179264, 139906775183359, -SNULL, 139906777563135, 139906777567231, -STORE, 139906777468928, 139906777563135, -STORE, 139906777563136, 139906777567231, -SNULL, 139906779873279, 139906779877375, -STORE, 139906779869184, 139906779873279, -STORE, 139906779873280, 139906779877375, -SNULL, 139906782007295, 139906782011391, -STORE, 139906782003200, 139906782007295, -STORE, 139906782007296, 139906782011391, -SNULL, 139906785193983, 139906785222655, -STORE, 139906785185792, 139906785193983, -STORE, 139906785193984, 139906785222655, -SNULL, 139906787389439, 139906787393535, -STORE, 139906787385344, 139906787389439, -STORE, 139906787389440, 139906787393535, -SNULL, 139906789642239, 139906789646335, -STORE, 139906789638144, 139906789642239, -STORE, 139906789642240, 139906789646335, -SNULL, 139906791772159, 139906791776255, -STORE, 139906791768064, 139906791772159, -STORE, 139906791772160, 139906791776255, -SNULL, 139906793893887, 139906793897983, -STORE, 139906793889792, 139906793893887, -STORE, 139906793893888, 139906793897983, -SNULL, 139906796146687, 139906796150783, -STORE, 139906796142592, 139906796146687, -STORE, 139906796146688, 139906796150783, -SNULL, 139906804547583, 139906804551679, -STORE, 139906804531200, 139906804547583, -STORE, 139906804547584, 139906804551679, -SNULL, 139906806771711, 139906806775807, -STORE, 139906806206464, 139906806771711, -STORE, 139906806771712, 139906806775807, -SNULL, 94728600285183, 94728600289279, -STORE, 94728600281088, 94728600285183, -STORE, 94728600285184, 94728600289279, -SNULL, 139906809024511, 139906809028607, -STORE, 139906809020416, 139906809024511, -STORE, 139906809024512, 139906809028607, -ERASE, 139906808991744, 139906809012223, -STORE, 94728620138496, 94728620273663, -STORE, 139906808692736, 139906808991743, -STORE, 139906808426496, 139906808991743, -STORE, 139906808160256, 139906808991743, -STORE, 139906807894016, 139906808991743, -SNULL, 139906808692735, 139906808991743, -STORE, 139906807894016, 139906808692735, -STORE, 139906808692736, 139906808991743, -SNULL, 139906808692736, 139906808958975, -STORE, 139906808958976, 139906808991743, -STORE, 139906808692736, 139906808958975, - }; - - unsigned long set16[] = { -STORE, 94174808662016, 94174809321471, -STORE, 94174811414528, 94174811426815, -STORE, 94174811426816, 94174811430911, -STORE, 94174811430912, 94174811443199, -STORE, 94174841700352, 94174841835519, -STORE, 140173257838592, 140173259497471, -STORE, 140173259497472, 140173261594623, -STORE, 140173261594624, 140173261611007, -STORE, 140173261611008, 140173261619199, -STORE, 140173261619200, 140173261635583, -STORE, 140173261635584, 140173261778943, -STORE, 140173263863808, 140173263871999, -STORE, 140173263876096, 140173263880191, -STORE, 140173263880192, 140173263884287, -STORE, 140173263884288, 140173263888383, -STORE, 140729801007104, 140729801142271, -STORE, 140729801617408, 140729801629695, -STORE, 140729801629696, 140729801633791, -STORE, 140737488347136, 140737488351231, -STORE, 140728166858752, 140737488351231, -SNULL, 140728166862847, 140737488351231, -STORE, 140728166858752, 140728166862847, -STORE, 140728166727680, 140728166862847, -STORE, 93912949866496, 93912950337535, -SNULL, 93912950288383, 93912950337535, -STORE, 93912949866496, 93912950288383, -STORE, 93912950288384, 93912950337535, -ERASE, 93912950288384, 93912950337535, -STORE, 93912950292480, 93912950337535, -STORE, 139921863385088, 139921865637887, -SNULL, 139921863528447, 139921865637887, -STORE, 139921863385088, 139921863528447, -STORE, 139921863528448, 139921865637887, -ERASE, 139921863528448, 139921865637887, -STORE, 139921865625600, 139921865633791, -STORE, 139921865633792, 139921865637887, -STORE, 140728167899136, 140728167903231, -STORE, 140728167886848, 140728167899135, -STORE, 139921865601024, 139921865625599, -STORE, 139921865592832, 139921865601023, -STORE, 139921861251072, 139921863385087, -SNULL, 139921861251072, 139921861279743, -STORE, 139921861279744, 139921863385087, -STORE, 139921861251072, 139921861279743, -SNULL, 139921863376895, 139921863385087, -STORE, 139921861279744, 139921863376895, -STORE, 139921863376896, 139921863385087, -ERASE, 139921863376896, 139921863385087, -STORE, 139921863376896, 139921863385087, -STORE, 139921858867200, 139921861251071, -SNULL, 139921858867200, 139921859133439, -STORE, 139921859133440, 139921861251071, -STORE, 139921858867200, 139921859133439, -SNULL, 139921861226495, 139921861251071, -STORE, 139921859133440, 139921861226495, -STORE, 139921861226496, 139921861251071, -SNULL, 139921861226496, 139921861246975, -STORE, 139921861246976, 139921861251071, -STORE, 139921861226496, 139921861246975, -ERASE, 139921861226496, 139921861246975, -STORE, 139921861226496, 139921861246975, -ERASE, 139921861246976, 139921861251071, -STORE, 139921861246976, 139921861251071, -STORE, 139921856675840, 139921858867199, -SNULL, 139921856675840, 139921856765951, -STORE, 139921856765952, 139921858867199, -STORE, 139921856675840, 139921856765951, -SNULL, 139921858859007, 139921858867199, -STORE, 139921856765952, 139921858859007, -STORE, 139921858859008, 139921858867199, -ERASE, 139921858859008, 139921858867199, -STORE, 139921858859008, 139921858867199, -STORE, 139921854414848, 139921856675839, -SNULL, 139921854414848, 139921854566399, -STORE, 139921854566400, 139921856675839, -STORE, 139921854414848, 139921854566399, -SNULL, 139921856659455, 139921856675839, -STORE, 139921854566400, 139921856659455, -STORE, 139921856659456, 139921856675839, -SNULL, 139921856659456, 139921856667647, -STORE, 139921856667648, 139921856675839, -STORE, 139921856659456, 139921856667647, -ERASE, 139921856659456, 139921856667647, -STORE, 139921856659456, 139921856667647, -ERASE, 139921856667648, 139921856675839, -STORE, 139921856667648, 139921856675839, -STORE, 139921852284928, 139921854414847, -SNULL, 139921852284928, 139921852313599, -STORE, 139921852313600, 139921854414847, -STORE, 139921852284928, 139921852313599, -SNULL, 139921854406655, 139921854414847, -STORE, 139921852313600, 139921854406655, -STORE, 139921854406656, 139921854414847, -ERASE, 139921854406656, 139921854414847, -STORE, 139921854406656, 139921854414847, -STORE, 139921850068992, 139921852284927, -SNULL, 139921850068992, 139921850167295, -STORE, 139921850167296, 139921852284927, -STORE, 139921850068992, 139921850167295, -SNULL, 139921852260351, 139921852284927, -STORE, 139921850167296, 139921852260351, -STORE, 139921852260352, 139921852284927, -SNULL, 139921852260352, 139921852268543, -STORE, 139921852268544, 139921852284927, -STORE, 139921852260352, 139921852268543, -ERASE, 139921852260352, 139921852268543, -STORE, 139921852260352, 139921852268543, -ERASE, 139921852268544, 139921852284927, -STORE, 139921852268544, 139921852284927, -STORE, 139921865584640, 139921865601023, -STORE, 139921846272000, 139921850068991, -SNULL, 139921846272000, 139921847930879, -STORE, 139921847930880, 139921850068991, -STORE, 139921846272000, 139921847930879, -SNULL, 139921850028031, 139921850068991, -STORE, 139921847930880, 139921850028031, -STORE, 139921850028032, 139921850068991, -SNULL, 139921850028032, 139921850052607, -STORE, 139921850052608, 139921850068991, -STORE, 139921850028032, 139921850052607, -ERASE, 139921850028032, 139921850052607, -STORE, 139921850028032, 139921850052607, -ERASE, 139921850052608, 139921850068991, -STORE, 139921850052608, 139921850068991, -STORE, 139921844154368, 139921846271999, -SNULL, 139921844154368, 139921844170751, -STORE, 139921844170752, 139921846271999, -STORE, 139921844154368, 139921844170751, -SNULL, 139921846263807, 139921846271999, -STORE, 139921844170752, 139921846263807, -STORE, 139921846263808, 139921846271999, -ERASE, 139921846263808, 139921846271999, -STORE, 139921846263808, 139921846271999, -STORE, 139921842036736, 139921844154367, -SNULL, 139921842036736, 139921842053119, -STORE, 139921842053120, 139921844154367, -STORE, 139921842036736, 139921842053119, -SNULL, 139921844146175, 139921844154367, -STORE, 139921842053120, 139921844146175, -STORE, 139921844146176, 139921844154367, -ERASE, 139921844146176, 139921844154367, -STORE, 139921844146176, 139921844154367, -STORE, 139921839468544, 139921842036735, -SNULL, 139921839468544, 139921839935487, -STORE, 139921839935488, 139921842036735, -STORE, 139921839468544, 139921839935487, -SNULL, 139921842028543, 139921842036735, -STORE, 139921839935488, 139921842028543, -STORE, 139921842028544, 139921842036735, -ERASE, 139921842028544, 139921842036735, -STORE, 139921842028544, 139921842036735, -STORE, 139921837355008, 139921839468543, -SNULL, 139921837355008, 139921837367295, -STORE, 139921837367296, 139921839468543, -STORE, 139921837355008, 139921837367295, -SNULL, 139921839460351, 139921839468543, -STORE, 139921837367296, 139921839460351, -STORE, 139921839460352, 139921839468543, -ERASE, 139921839460352, 139921839468543, -STORE, 139921839460352, 139921839468543, -STORE, 139921865576448, 139921865601023, -STORE, 139921865564160, 139921865601023, -SNULL, 139921850044415, 139921850052607, -STORE, 139921850028032, 139921850044415, -STORE, 139921850044416, 139921850052607, -SNULL, 139921839464447, 139921839468543, -STORE, 139921839460352, 139921839464447, -STORE, 139921839464448, 139921839468543, -SNULL, 139921852264447, 139921852268543, -STORE, 139921852260352, 139921852264447, -STORE, 139921852264448, 139921852268543, -SNULL, 139921842032639, 139921842036735, -STORE, 139921842028544, 139921842032639, -STORE, 139921842032640, 139921842036735, -SNULL, 139921844150271, 139921844154367, -STORE, 139921844146176, 139921844150271, -STORE, 139921844150272, 139921844154367, -SNULL, 139921846267903, 139921846271999, -STORE, 139921846263808, 139921846267903, -STORE, 139921846267904, 139921846271999, -SNULL, 139921854410751, 139921854414847, -STORE, 139921854406656, 139921854410751, -STORE, 139921854410752, 139921854414847, -SNULL, 139921856663551, 139921856667647, -STORE, 139921856659456, 139921856663551, -STORE, 139921856663552, 139921856667647, -SNULL, 139921858863103, 139921858867199, -STORE, 139921858859008, 139921858863103, -STORE, 139921858863104, 139921858867199, -SNULL, 139921861242879, 139921861246975, -STORE, 139921861226496, 139921861242879, -STORE, 139921861242880, 139921861246975, -SNULL, 139921863380991, 139921863385087, -STORE, 139921863376896, 139921863380991, -STORE, 139921863380992, 139921863385087, -SNULL, 93912950333439, 93912950337535, -STORE, 93912950292480, 93912950333439, -STORE, 93912950333440, 93912950337535, -SNULL, 139921865629695, 139921865633791, -STORE, 139921865625600, 139921865629695, -STORE, 139921865629696, 139921865633791, -ERASE, 139921865601024, 139921865625599, -STORE, 93912968110080, 93912968245247, -STORE, 139921828913152, 139921837355007, -STORE, 139921865621504, 139921865625599, -STORE, 139921865617408, 139921865621503, -STORE, 139921865613312, 139921865617407, -STORE, 139921865547776, 139921865564159, - }; - - unsigned long set17[] = { -STORE, 94397057224704, 94397057646591, -STORE, 94397057650688, 94397057691647, -STORE, 94397057691648, 94397057695743, -STORE, 94397075271680, 94397075406847, -STORE, 139953169051648, 139953169063935, -STORE, 139953169063936, 139953171156991, -STORE, 139953171156992, 139953171161087, -STORE, 139953171161088, 139953171165183, -STORE, 139953171165184, 139953171632127, -STORE, 139953171632128, 139953173725183, -STORE, 139953173725184, 139953173729279, -STORE, 139953173729280, 139953173733375, -STORE, 139953173733376, 139953173749759, -STORE, 139953173749760, 139953175842815, -STORE, 139953175842816, 139953175846911, -STORE, 139953175846912, 139953175851007, -STORE, 139953175851008, 139953175867391, -STORE, 139953175867392, 139953177960447, -STORE, 139953177960448, 139953177964543, -STORE, 139953177964544, 139953177968639, -STORE, 139953177968640, 139953179627519, -STORE, 139953179627520, 139953181724671, -STORE, 139953181724672, 139953181741055, -STORE, 139953181741056, 139953181749247, -STORE, 139953181749248, 139953181765631, -STORE, 139953181765632, 139953181863935, -STORE, 139953181863936, 139953183956991, -STORE, 139953183956992, 139953183961087, -STORE, 139953183961088, 139953183965183, -STORE, 139953183965184, 139953183981567, -STORE, 139953183981568, 139953184010239, -STORE, 139953184010240, 139953186103295, -STORE, 139953186103296, 139953186107391, -STORE, 139953186107392, 139953186111487, -STORE, 139953186111488, 139953186263039, -STORE, 139953186263040, 139953188356095, -STORE, 139953188356096, 139953188360191, -STORE, 139953188360192, 139953188364287, -STORE, 139953188364288, 139953188372479, -STORE, 139953188372480, 139953188462591, -STORE, 139953188462592, 139953190555647, -STORE, 139953190555648, 139953190559743, -STORE, 139953190559744, 139953190563839, -STORE, 139953190563840, 139953190830079, -STORE, 139953190830080, 139953192923135, -STORE, 139953192923136, 139953192939519, -STORE, 139953192939520, 139953192943615, -STORE, 139953192943616, 139953192947711, -STORE, 139953192947712, 139953192976383, -STORE, 139953192976384, 139953195073535, -STORE, 139953195073536, 139953195077631, -STORE, 139953195077632, 139953195081727, -STORE, 139953195081728, 139953195225087, -STORE, 139953197281280, 139953197318143, -STORE, 139953197322240, 139953197326335, -STORE, 139953197326336, 139953197330431, -STORE, 139953197330432, 139953197334527, -STORE, 140720477511680, 140720477646847, -STORE, 140720478302208, 140720478314495, -STORE, 140720478314496, 140720478318591, - }; - unsigned long set18[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140724953673728, 140737488351231, -SNULL, 140724953677823, 140737488351231, -STORE, 140724953673728, 140724953677823, -STORE, 140724953542656, 140724953677823, -STORE, 94675199266816, 94675199311871, -SNULL, 94675199303679, 94675199311871, -STORE, 94675199266816, 94675199303679, -STORE, 94675199303680, 94675199311871, -ERASE, 94675199303680, 94675199311871, -STORE, 94675199303680, 94675199311871, -STORE, 140222970605568, 140222972858367, -SNULL, 140222970748927, 140222972858367, -STORE, 140222970605568, 140222970748927, -STORE, 140222970748928, 140222972858367, -ERASE, 140222970748928, 140222972858367, -STORE, 140222972846080, 140222972854271, -STORE, 140222972854272, 140222972858367, -STORE, 140724954365952, 140724954370047, -STORE, 140724954353664, 140724954365951, -STORE, 140222972841984, 140222972846079, -STORE, 140222972833792, 140222972841983, -STORE, 140222968475648, 140222970605567, -SNULL, 140222968475648, 140222968504319, -STORE, 140222968504320, 140222970605567, -STORE, 140222968475648, 140222968504319, -SNULL, 140222970597375, 140222970605567, -STORE, 140222968504320, 140222970597375, -STORE, 140222970597376, 140222970605567, -ERASE, 140222970597376, 140222970605567, -STORE, 140222970597376, 140222970605567, - }; - unsigned long set19[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140725182459904, 140737488351231, -SNULL, 140725182463999, 140737488351231, -STORE, 140725182459904, 140725182463999, -STORE, 140725182328832, 140725182463999, -STORE, 94730166636544, 94730166763519, -SNULL, 94730166747135, 94730166763519, -STORE, 94730166636544, 94730166747135, -STORE, 94730166747136, 94730166763519, -ERASE, 94730166747136, 94730166763519, -STORE, 94730166751232, 94730166763519, -STORE, 140656834555904, 140656836808703, -SNULL, 140656834699263, 140656836808703, -STORE, 140656834555904, 140656834699263, -STORE, 140656834699264, 140656836808703, -ERASE, 140656834699264, 140656836808703, -STORE, 140656836796416, 140656836804607, -STORE, 140656836804608, 140656836808703, -STORE, 140725183389696, 140725183393791, -STORE, 140725183377408, 140725183389695, -STORE, 140656836788224, 140656836796415, -STORE, 140656832331776, 140656834555903, -SNULL, 140656833982463, 140656834555903, -STORE, 140656832331776, 140656833982463, -STORE, 140656833982464, 140656834555903, -SNULL, 140656833982464, 140656834551807, -STORE, 140656834551808, 140656834555903, -STORE, 140656833982464, 140656834551807, -ERASE, 140656833982464, 140656834551807, -STORE, 140656833982464, 140656834551807, -ERASE, 140656834551808, 140656834555903, -STORE, 140656834551808, 140656834555903, -STORE, 140656836763648, 140656836788223, -STORE, 140656830070784, 140656832331775, -SNULL, 140656830070784, 140656830222335, -STORE, 140656830222336, 140656832331775, -STORE, 140656830070784, 140656830222335, -SNULL, 140656832315391, 140656832331775, -STORE, 140656830222336, 140656832315391, -STORE, 140656832315392, 140656832331775, -SNULL, 140656832315392, 140656832323583, -STORE, 140656832323584, 140656832331775, -STORE, 140656832315392, 140656832323583, -ERASE, 140656832315392, 140656832323583, -STORE, 140656832315392, 140656832323583, -ERASE, 140656832323584, 140656832331775, -STORE, 140656832323584, 140656832331775, -STORE, 140656827940864, 140656830070783, -SNULL, 140656827940864, 140656827969535, -STORE, 140656827969536, 140656830070783, -STORE, 140656827940864, 140656827969535, -SNULL, 140656830062591, 140656830070783, -STORE, 140656827969536, 140656830062591, -STORE, 140656830062592, 140656830070783, -ERASE, 140656830062592, 140656830070783, -STORE, 140656830062592, 140656830070783, -STORE, 140656825724928, 140656827940863, -SNULL, 140656825724928, 140656825823231, -STORE, 140656825823232, 140656827940863, -STORE, 140656825724928, 140656825823231, -SNULL, 140656827916287, 140656827940863, -STORE, 140656825823232, 140656827916287, -STORE, 140656827916288, 140656827940863, -SNULL, 140656827916288, 140656827924479, -STORE, 140656827924480, 140656827940863, -STORE, 140656827916288, 140656827924479, -ERASE, 140656827916288, 140656827924479, -STORE, 140656827916288, 140656827924479, -ERASE, 140656827924480, 140656827940863, -STORE, 140656827924480, 140656827940863, -STORE, 140656821927936, 140656825724927, -SNULL, 140656821927936, 140656823586815, -STORE, 140656823586816, 140656825724927, -STORE, 140656821927936, 140656823586815, -SNULL, 140656825683967, 140656825724927, -STORE, 140656823586816, 140656825683967, -STORE, 140656825683968, 140656825724927, -SNULL, 140656825683968, 140656825708543, -STORE, 140656825708544, 140656825724927, -STORE, 140656825683968, 140656825708543, -ERASE, 140656825683968, 140656825708543, -STORE, 140656825683968, 140656825708543, -ERASE, 140656825708544, 140656825724927, -STORE, 140656825708544, 140656825724927, -STORE, 140656819806208, 140656821927935, -SNULL, 140656819806208, 140656819822591, -STORE, 140656819822592, 140656821927935, -STORE, 140656819806208, 140656819822591, -SNULL, 140656821919743, 140656821927935, -STORE, 140656819822592, 140656821919743, -STORE, 140656821919744, 140656821927935, -ERASE, 140656821919744, 140656821927935, -STORE, 140656821919744, 140656821927935, -STORE, 140656836755456, 140656836763647, -STORE, 140656817553408, 140656819806207, -SNULL, 140656817553408, 140656817704959, -STORE, 140656817704960, 140656819806207, -STORE, 140656817553408, 140656817704959, -SNULL, 140656819798015, 140656819806207, -STORE, 140656817704960, 140656819798015, -STORE, 140656819798016, 140656819806207, -ERASE, 140656819798016, 140656819806207, -STORE, 140656819798016, 140656819806207, -STORE, 140656815382528, 140656817553407, -SNULL, 140656815382528, 140656815452159, -STORE, 140656815452160, 140656817553407, -STORE, 140656815382528, 140656815452159, -SNULL, 140656817545215, 140656817553407, -STORE, 140656815452160, 140656817545215, -STORE, 140656817545216, 140656817553407, -ERASE, 140656817545216, 140656817553407, -STORE, 140656817545216, 140656817553407, -STORE, 140656812171264, 140656815382527, -SNULL, 140656812171264, 140656813248511, -STORE, 140656813248512, 140656815382527, -STORE, 140656812171264, 140656813248511, -SNULL, 140656815345663, 140656815382527, -STORE, 140656813248512, 140656815345663, -STORE, 140656815345664, 140656815382527, -ERASE, 140656815345664, 140656815382527, -STORE, 140656815345664, 140656815382527, -STORE, 140656810037248, 140656812171263, -SNULL, 140656810037248, 140656810065919, -STORE, 140656810065920, 140656812171263, -STORE, 140656810037248, 140656810065919, -SNULL, 140656812163071, 140656812171263, -STORE, 140656810065920, 140656812163071, -STORE, 140656812163072, 140656812171263, -ERASE, 140656812163072, 140656812171263, -STORE, 140656812163072, 140656812171263, -STORE, 140656807727104, 140656810037247, -SNULL, 140656807727104, 140656807931903, -STORE, 140656807931904, 140656810037247, -STORE, 140656807727104, 140656807931903, -SNULL, 140656810029055, 140656810037247, -STORE, 140656807931904, 140656810029055, -STORE, 140656810029056, 140656810037247, -ERASE, 140656810029056, 140656810037247, -STORE, 140656810029056, 140656810037247, -STORE, 140656805343232, 140656807727103, -SNULL, 140656805343232, 140656805535743, -STORE, 140656805535744, 140656807727103, -STORE, 140656805343232, 140656805535743, -SNULL, 140656807628799, 140656807727103, -STORE, 140656805535744, 140656807628799, -STORE, 140656807628800, 140656807727103, -ERASE, 140656807628800, 140656807727103, -STORE, 140656807628800, 140656807727103, -STORE, 140656836747264, 140656836763647, -STORE, 140656802775040, 140656805343231, -SNULL, 140656802775040, 140656803241983, -STORE, 140656803241984, 140656805343231, -STORE, 140656802775040, 140656803241983, -SNULL, 140656805335039, 140656805343231, -STORE, 140656803241984, 140656805335039, -STORE, 140656805335040, 140656805343231, -ERASE, 140656805335040, 140656805343231, -STORE, 140656805335040, 140656805343231, -STORE, 140656800661504, 140656802775039, -SNULL, 140656800661504, 140656800673791, -STORE, 140656800673792, 140656802775039, -STORE, 140656800661504, 140656800673791, -SNULL, 140656802766847, 140656802775039, -STORE, 140656800673792, 140656802766847, -STORE, 140656802766848, 140656802775039, -ERASE, 140656802766848, 140656802775039, -STORE, 140656802766848, 140656802775039, -STORE, 140656798482432, 140656800661503, -SNULL, 140656798482432, 140656798560255, -STORE, 140656798560256, 140656800661503, -STORE, 140656798482432, 140656798560255, -SNULL, 140656800653311, 140656800661503, -STORE, 140656798560256, 140656800653311, -STORE, 140656800653312, 140656800661503, -ERASE, 140656800653312, 140656800661503, -STORE, 140656800653312, 140656800661503, -STORE, 140656796364800, 140656798482431, -SNULL, 140656796364800, 140656796381183, -STORE, 140656796381184, 140656798482431, -STORE, 140656796364800, 140656796381183, -SNULL, 140656798474239, 140656798482431, -STORE, 140656796381184, 140656798474239, -STORE, 140656798474240, 140656798482431, -ERASE, 140656798474240, 140656798482431, -STORE, 140656798474240, 140656798482431, -STORE, 140656836739072, 140656836763647, -STORE, 140656836726784, 140656836763647, -SNULL, 140656825700351, 140656825708543, -STORE, 140656825683968, 140656825700351, -STORE, 140656825700352, 140656825708543, -SNULL, 140656798478335, 140656798482431, -STORE, 140656798474240, 140656798478335, -STORE, 140656798478336, 140656798482431, -SNULL, 140656800657407, 140656800661503, -STORE, 140656800653312, 140656800657407, -STORE, 140656800657408, 140656800661503, -SNULL, 140656802770943, 140656802775039, -STORE, 140656802766848, 140656802770943, -STORE, 140656802770944, 140656802775039, -SNULL, 140656827920383, 140656827924479, -STORE, 140656827916288, 140656827920383, -STORE, 140656827920384, 140656827924479, -SNULL, 140656805339135, 140656805343231, -STORE, 140656805335040, 140656805339135, -STORE, 140656805339136, 140656805343231, -SNULL, 140656807723007, 140656807727103, -STORE, 140656807628800, 140656807723007, -STORE, 140656807723008, 140656807727103, -SNULL, 140656810033151, 140656810037247, -STORE, 140656810029056, 140656810033151, -STORE, 140656810033152, 140656810037247, -SNULL, 140656812167167, 140656812171263, -STORE, 140656812163072, 140656812167167, -STORE, 140656812167168, 140656812171263, -SNULL, 140656815353855, 140656815382527, -STORE, 140656815345664, 140656815353855, -STORE, 140656815353856, 140656815382527, -SNULL, 140656817549311, 140656817553407, -STORE, 140656817545216, 140656817549311, -STORE, 140656817549312, 140656817553407, -SNULL, 140656819802111, 140656819806207, -STORE, 140656819798016, 140656819802111, -STORE, 140656819802112, 140656819806207, -SNULL, 140656821923839, 140656821927935, -STORE, 140656821919744, 140656821923839, -STORE, 140656821923840, 140656821927935, -SNULL, 140656830066687, 140656830070783, -STORE, 140656830062592, 140656830066687, -STORE, 140656830066688, 140656830070783, -SNULL, 140656832319487, 140656832323583, -STORE, 140656832315392, 140656832319487, -STORE, 140656832319488, 140656832323583, -SNULL, 140656834547711, 140656834551807, -STORE, 140656833982464, 140656834547711, -STORE, 140656834547712, 140656834551807, -SNULL, 94730166759423, 94730166763519, -STORE, 94730166751232, 94730166759423, -STORE, 94730166759424, 94730166763519, -SNULL, 140656836800511, 140656836804607, -STORE, 140656836796416, 140656836800511, -STORE, 140656836800512, 140656836804607, -ERASE, 140656836763648, 140656836788223, -STORE, 94730171318272, 94730171453439, -STORE, 140656836784128, 140656836788223, -STORE, 140656836780032, 140656836784127, -STORE, 140656791920640, 140656796364799, -STORE, 140656836775936, 140656836780031, -STORE, 140656787476480, 140656791920639, -STORE, 140656779083776, 140656787476479, -SNULL, 140656779087871, 140656787476479, -STORE, 140656779083776, 140656779087871, -STORE, 140656779087872, 140656787476479, -STORE, 140656836771840, 140656836775935, -STORE, 140656774639616, 140656779083775, -STORE, 140656766246912, 140656774639615, -SNULL, 140656766251007, 140656774639615, -STORE, 140656766246912, 140656766251007, -STORE, 140656766251008, 140656774639615, -ERASE, 140656791920640, 140656796364799, -ERASE, 140656836780032, 140656836784127, -ERASE, 140656787476480, 140656791920639, -ERASE, 140656836775936, 140656836780031, -STORE, 140656836780032, 140656836784127, -STORE, 140656791920640, 140656796364799, -STORE, 140656836775936, 140656836780031, -STORE, 140656787476480, 140656791920639, -ERASE, 140656774639616, 140656779083775, - }; - unsigned long set20[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140735952392192, 140737488351231, -SNULL, 140735952396287, 140737488351231, -STORE, 140735952392192, 140735952396287, -STORE, 140735952261120, 140735952396287, -STORE, 94849008947200, 94849009414143, -SNULL, 94849009364991, 94849009414143, -STORE, 94849008947200, 94849009364991, -STORE, 94849009364992, 94849009414143, -ERASE, 94849009364992, 94849009414143, -STORE, 94849009364992, 94849009414143, -STORE, 140590397943808, 140590400196607, -SNULL, 140590398087167, 140590400196607, -STORE, 140590397943808, 140590398087167, -STORE, 140590398087168, 140590400196607, -ERASE, 140590398087168, 140590400196607, -STORE, 140590400184320, 140590400192511, -STORE, 140590400192512, 140590400196607, -STORE, 140735952850944, 140735952855039, -STORE, 140735952838656, 140735952850943, -STORE, 140590400180224, 140590400184319, -STORE, 140590400172032, 140590400180223, -STORE, 140590395809792, 140590397943807, -SNULL, 140590395809792, 140590395838463, -STORE, 140590395838464, 140590397943807, -STORE, 140590395809792, 140590395838463, -SNULL, 140590397935615, 140590397943807, -STORE, 140590395838464, 140590397935615, -STORE, 140590397935616, 140590397943807, -ERASE, 140590397935616, 140590397943807, -STORE, 140590397935616, 140590397943807, -STORE, 140590393425920, 140590395809791, -SNULL, 140590393425920, 140590393692159, -STORE, 140590393692160, 140590395809791, -STORE, 140590393425920, 140590393692159, -SNULL, 140590395785215, 140590395809791, -STORE, 140590393692160, 140590395785215, -STORE, 140590395785216, 140590395809791, -SNULL, 140590395785216, 140590395805695, -STORE, 140590395805696, 140590395809791, -STORE, 140590395785216, 140590395805695, -ERASE, 140590395785216, 140590395805695, -STORE, 140590395785216, 140590395805695, -ERASE, 140590395805696, 140590395809791, -STORE, 140590395805696, 140590395809791, -STORE, 140590391234560, 140590393425919, -SNULL, 140590391234560, 140590391324671, -STORE, 140590391324672, 140590393425919, -STORE, 140590391234560, 140590391324671, -SNULL, 140590393417727, 140590393425919, -STORE, 140590391324672, 140590393417727, -STORE, 140590393417728, 140590393425919, -ERASE, 140590393417728, 140590393425919, -STORE, 140590393417728, 140590393425919, -STORE, 140590388973568, 140590391234559, -SNULL, 140590388973568, 140590389125119, -STORE, 140590389125120, 140590391234559, -STORE, 140590388973568, 140590389125119, -SNULL, 140590391218175, 140590391234559, -STORE, 140590389125120, 140590391218175, -STORE, 140590391218176, 140590391234559, -SNULL, 140590391218176, 140590391226367, -STORE, 140590391226368, 140590391234559, -STORE, 140590391218176, 140590391226367, -ERASE, 140590391218176, 140590391226367, -STORE, 140590391218176, 140590391226367, -ERASE, 140590391226368, 140590391234559, -STORE, 140590391226368, 140590391234559, -STORE, 140590386843648, 140590388973567, -SNULL, 140590386843648, 140590386872319, -STORE, 140590386872320, 140590388973567, -STORE, 140590386843648, 140590386872319, -SNULL, 140590388965375, 140590388973567, -STORE, 140590386872320, 140590388965375, -STORE, 140590388965376, 140590388973567, -ERASE, 140590388965376, 140590388973567, -STORE, 140590388965376, 140590388973567, -STORE, 140590384627712, 140590386843647, -SNULL, 140590384627712, 140590384726015, -STORE, 140590384726016, 140590386843647, -STORE, 140590384627712, 140590384726015, -SNULL, 140590386819071, 140590386843647, -STORE, 140590384726016, 140590386819071, -STORE, 140590386819072, 140590386843647, -SNULL, 140590386819072, 140590386827263, -STORE, 140590386827264, 140590386843647, -STORE, 140590386819072, 140590386827263, -ERASE, 140590386819072, 140590386827263, -STORE, 140590386819072, 140590386827263, -ERASE, 140590386827264, 140590386843647, -STORE, 140590386827264, 140590386843647, -STORE, 140590400163840, 140590400180223, -STORE, 140590380830720, 140590384627711, -SNULL, 140590380830720, 140590382489599, -STORE, 140590382489600, 140590384627711, -STORE, 140590380830720, 140590382489599, -SNULL, 140590384586751, 140590384627711, -STORE, 140590382489600, 140590384586751, -STORE, 140590384586752, 140590384627711, -SNULL, 140590384586752, 140590384611327, -STORE, 140590384611328, 140590384627711, -STORE, 140590384586752, 140590384611327, -ERASE, 140590384586752, 140590384611327, -STORE, 140590384586752, 140590384611327, -ERASE, 140590384611328, 140590384627711, -STORE, 140590384611328, 140590384627711, -STORE, 140590378713088, 140590380830719, -SNULL, 140590378713088, 140590378729471, -STORE, 140590378729472, 140590380830719, -STORE, 140590378713088, 140590378729471, -SNULL, 140590380822527, 140590380830719, -STORE, 140590378729472, 140590380822527, -STORE, 140590380822528, 140590380830719, -ERASE, 140590380822528, 140590380830719, -STORE, 140590380822528, 140590380830719, -STORE, 140590376595456, 140590378713087, -SNULL, 140590376595456, 140590376611839, -STORE, 140590376611840, 140590378713087, -STORE, 140590376595456, 140590376611839, -SNULL, 140590378704895, 140590378713087, -STORE, 140590376611840, 140590378704895, -STORE, 140590378704896, 140590378713087, -ERASE, 140590378704896, 140590378713087, -STORE, 140590378704896, 140590378713087, -STORE, 140590374027264, 140590376595455, -SNULL, 140590374027264, 140590374494207, -STORE, 140590374494208, 140590376595455, -STORE, 140590374027264, 140590374494207, -SNULL, 140590376587263, 140590376595455, -STORE, 140590374494208, 140590376587263, -STORE, 140590376587264, 140590376595455, -ERASE, 140590376587264, 140590376595455, -STORE, 140590376587264, 140590376595455, -STORE, 140590371913728, 140590374027263, -SNULL, 140590371913728, 140590371926015, -STORE, 140590371926016, 140590374027263, -STORE, 140590371913728, 140590371926015, -SNULL, 140590374019071, 140590374027263, -STORE, 140590371926016, 140590374019071, -STORE, 140590374019072, 140590374027263, -ERASE, 140590374019072, 140590374027263, -STORE, 140590374019072, 140590374027263, -STORE, 140590400155648, 140590400180223, -STORE, 140590400143360, 140590400180223, -SNULL, 140590384603135, 140590384611327, -STORE, 140590384586752, 140590384603135, -STORE, 140590384603136, 140590384611327, -SNULL, 140590374023167, 140590374027263, -STORE, 140590374019072, 140590374023167, -STORE, 140590374023168, 140590374027263, -SNULL, 140590386823167, 140590386827263, -STORE, 140590386819072, 140590386823167, -STORE, 140590386823168, 140590386827263, -SNULL, 140590376591359, 140590376595455, - }; - unsigned long set21[] = { -STORE, 93874710941696, 93874711363583, -STORE, 93874711367680, 93874711408639, -STORE, 93874711408640, 93874711412735, -STORE, 93874720989184, 93874721124351, -STORE, 140708365086720, 140708365099007, -STORE, 140708365099008, 140708367192063, -STORE, 140708367192064, 140708367196159, -STORE, 140708367196160, 140708367200255, -STORE, 140708367200256, 140708367667199, -STORE, 140708367667200, 140708369760255, -STORE, 140708369760256, 140708369764351, -STORE, 140708369764352, 140708369768447, -STORE, 140708369768448, 140708369784831, -STORE, 140708369784832, 140708371877887, -STORE, 140708371877888, 140708371881983, -STORE, 140708371881984, 140708371886079, -STORE, 140708371886080, 140708371902463, -STORE, 140708371902464, 140708373995519, -STORE, 140708373995520, 140708373999615, -STORE, 140708373999616, 140708374003711, -STORE, 140708374003712, 140708375662591, -STORE, 140708375662592, 140708377759743, -STORE, 140708377759744, 140708377776127, -STORE, 140708377776128, 140708377784319, -STORE, 140708377784320, 140708377800703, -STORE, 140708377800704, 140708377899007, -STORE, 140708377899008, 140708379992063, -STORE, 140708379992064, 140708379996159, -STORE, 140708379996160, 140708380000255, -STORE, 140708380000256, 140708380016639, -STORE, 140708380016640, 140708380045311, -STORE, 140708380045312, 140708382138367, -STORE, 140708382138368, 140708382142463, -STORE, 140708382142464, 140708382146559, -STORE, 140708382146560, 140708382298111, -STORE, 140708382298112, 140708384391167, -STORE, 140708384391168, 140708384395263, -STORE, 140708384395264, 140708384399359, -STORE, 140708384399360, 140708384407551, -STORE, 140708384407552, 140708384497663, -STORE, 140708384497664, 140708386590719, -STORE, 140708386590720, 140708386594815, -STORE, 140708386594816, 140708386598911, -STORE, 140708386598912, 140708386865151, -STORE, 140708386865152, 140708388958207, -STORE, 140708388958208, 140708388974591, -STORE, 140708388974592, 140708388978687, -STORE, 140708388978688, 140708388982783, -STORE, 140708388982784, 140708389011455, -STORE, 140708389011456, 140708391108607, -STORE, 140708391108608, 140708391112703, -STORE, 140708391112704, 140708391116799, -STORE, 140708391116800, 140708391260159, -STORE, 140708393291776, 140708393308159, -STORE, 140708393308160, 140708393312255, -STORE, 140708393312256, 140708393316351, -STORE, 140708393316352, 140708393353215, -STORE, 140708393353216, 140708393357311, -STORE, 140708393357312, 140708393361407, -STORE, 140708393361408, 140708393365503, -STORE, 140708393365504, 140708393369599, -STORE, 140730557042688, 140730557177855, -STORE, 140730557235200, 140730557247487, -STORE, 140730557247488, 140730557251583, -ERASE, 140708393353216, 140708393357311, -ERASE, 140708393312256, 140708393316351, -ERASE, 140708393308160, 140708393312255, -ERASE, 140708393291776, 140708393308159, - }; - unsigned long set22[] = { -STORE, 93951397134336, 93951397183487, -STORE, 93951397183488, 93951397728255, -STORE, 93951397728256, 93951397826559, -STORE, 93951397826560, 93951397842943, -STORE, 93951397842944, 93951397847039, -STORE, 93951425974272, 93951426109439, -STORE, 140685152665600, 140685152677887, -STORE, 140685152677888, 140685152829439, -STORE, 140685152829440, 140685154181119, -STORE, 140685154181120, 140685154484223, -STORE, 140685154484224, 140685154496511, -STORE, 140685154496512, 140685154508799, -STORE, 140685154508800, 140685154525183, -STORE, 140685154525184, 140685154541567, -STORE, 140685154541568, 140685154590719, -STORE, 140685154590720, 140685154603007, -STORE, 140685154603008, 140685154607103, -STORE, 140685154607104, 140685154611199, -STORE, 140685154611200, 140685154615295, -STORE, 140685154615296, 140685154631679, -STORE, 140685154639872, 140685154643967, -STORE, 140685154643968, 140685154766847, -STORE, 140685154766848, 140685154799615, -STORE, 140685154803712, 140685154807807, -STORE, 140685154807808, 140685154811903, -STORE, 140685154811904, 140685154815999, -STORE, 140722188902400, 140722189037567, -STORE, 140722189512704, 140722189524991, -STORE, 140722189524992, 140722189529087, -STORE, 140737488347136, 140737488351231, -STORE, 140733429354496, 140737488351231, -SNULL, 140733429358591, 140737488351231, -STORE, 140733429354496, 140733429358591, -STORE, 140733429223424, 140733429358591, -STORE, 94526683537408, 94526683660287, -SNULL, 94526683553791, 94526683660287, -STORE, 94526683537408, 94526683553791, -STORE, 94526683553792, 94526683660287, -ERASE, 94526683553792, 94526683660287, -STORE, 94526683553792, 94526683623423, -STORE, 94526683623424, 94526683647999, -STORE, 94526683652096, 94526683660287, -STORE, 140551363747840, 140551363923967, -SNULL, 140551363751935, 140551363923967, -STORE, 140551363747840, 140551363751935, -STORE, 140551363751936, 140551363923967, -ERASE, 140551363751936, 140551363923967, -STORE, 140551363751936, 140551363874815, -STORE, 140551363874816, 140551363907583, -STORE, 140551363911680, 140551363919871, -STORE, 140551363919872, 140551363923967, -STORE, 140733429690368, 140733429694463, -STORE, 140733429678080, 140733429690367, -STORE, 140551363739648, 140551363747839, -STORE, 140551363731456, 140551363739647, -STORE, 140551363379200, 140551363731455, -SNULL, 140551363379200, 140551363420159, -STORE, 140551363420160, 140551363731455, -STORE, 140551363379200, 140551363420159, -SNULL, 140551363706879, 140551363731455, -STORE, 140551363420160, 140551363706879, -STORE, 140551363706880, 140551363731455, -SNULL, 140551363420160, 140551363637247, -STORE, 140551363637248, 140551363706879, -STORE, 140551363420160, 140551363637247, -ERASE, 140551363420160, 140551363637247, -STORE, 140551363420160, 140551363637247, -SNULL, 140551363637248, 140551363702783, -STORE, 140551363702784, 140551363706879, -STORE, 140551363637248, 140551363702783, -ERASE, 140551363637248, 140551363702783, -STORE, 140551363637248, 140551363702783, -ERASE, 140551363706880, 140551363731455, -STORE, 140551363706880, 140551363731455, -STORE, 140551361531904, 140551363379199, -SNULL, 140551361683455, 140551363379199, -STORE, 140551361531904, 140551361683455, -STORE, 140551361683456, 140551363379199, -SNULL, 140551361683456, 140551363035135, -STORE, 140551363035136, 140551363379199, -STORE, 140551361683456, 140551363035135, -ERASE, 140551361683456, 140551363035135, -STORE, 140551361683456, 140551363035135, -SNULL, 140551363035136, 140551363338239, -STORE, 140551363338240, 140551363379199, -STORE, 140551363035136, 140551363338239, -ERASE, 140551363035136, 140551363338239, -STORE, 140551363035136, 140551363379199, -SNULL, 140551363338239, 140551363379199, -STORE, 140551363035136, 140551363338239, -STORE, 140551363338240, 140551363379199, -SNULL, 140551363338240, 140551363362815, -STORE, 140551363362816, 140551363379199, -STORE, 140551363338240, 140551363362815, -ERASE, 140551363338240, 140551363362815, -STORE, 140551363338240, 140551363362815, -ERASE, 140551363362816, 140551363379199, -STORE, 140551363362816, 140551363379199, -STORE, 140551361519616, 140551361531903, -SNULL, 140551363350527, 140551363362815, -STORE, 140551363338240, 140551363350527, -STORE, 140551363350528, 140551363362815, -SNULL, 140551363727359, 140551363731455, -STORE, 140551363706880, 140551363727359, -STORE, 140551363727360, 140551363731455, -SNULL, 94526683656191, 94526683660287, -STORE, 94526683652096, 94526683656191, -STORE, 94526683656192, 94526683660287, -SNULL, 140551363915775, 140551363919871, -STORE, 140551363911680, 140551363915775, -STORE, 140551363915776, 140551363919871, -ERASE, 140551363739648, 140551363747839, -STORE, 94526715490304, 94526715625471, -STORE, 140551361253376, 140551361531903, -STORE, 140551360987136, 140551361531903, -STORE, 140551360720896, 140551361531903, -STORE, 140551360454656, 140551361531903, -SNULL, 140551361253375, 140551361531903, -STORE, 140551360454656, 140551361253375, -STORE, 140551361253376, 140551361531903, -SNULL, 140551361253376, 140551361519615, -STORE, 140551361519616, 140551361531903, -STORE, 140551361253376, 140551361519615, -ERASE, 140551361253376, 140551361519615, - }; - - unsigned long set23[] = { -STORE, 94014447943680, 94014448156671, -STORE, 94014450253824, 94014450257919, -STORE, 94014450257920, 94014450266111, -STORE, 94014450266112, 94014450278399, -STORE, 94014464225280, 94014464630783, -STORE, 139761764306944, 139761765965823, -STORE, 139761765965824, 139761768062975, -STORE, 139761768062976, 139761768079359, -STORE, 139761768079360, 139761768087551, -STORE, 139761768087552, 139761768103935, -STORE, 139761768103936, 139761768116223, -STORE, 139761768116224, 139761770209279, -STORE, 139761770209280, 139761770213375, -STORE, 139761770213376, 139761770217471, -STORE, 139761770217472, 139761770360831, -STORE, 139761770729472, 139761772412927, -STORE, 139761772412928, 139761772429311, -STORE, 139761772457984, 139761772462079, -STORE, 139761772462080, 139761772466175, -STORE, 139761772466176, 139761772470271, -STORE, 140724336517120, 140724336652287, -STORE, 140724336955392, 140724336967679, -STORE, 140724336967680, 140724336971775, -STORE, 140737488347136, 140737488351231, -STORE, 140721840295936, 140737488351231, -SNULL, 140721840300031, 140737488351231, -STORE, 140721840295936, 140721840300031, -STORE, 140721840164864, 140721840300031, -STORE, 93937913667584, 93937915830271, -SNULL, 93937913729023, 93937915830271, -STORE, 93937913667584, 93937913729023, -STORE, 93937913729024, 93937915830271, -ERASE, 93937913729024, 93937915830271, -STORE, 93937915822080, 93937915830271, -STORE, 140598835335168, 140598837587967, -SNULL, 140598835478527, 140598837587967, -STORE, 140598835335168, 140598835478527, -STORE, 140598835478528, 140598837587967, -ERASE, 140598835478528, 140598837587967, -STORE, 140598837575680, 140598837583871, -STORE, 140598837583872, 140598837587967, -STORE, 140721841086464, 140721841090559, -STORE, 140721841074176, 140721841086463, -STORE, 140598837547008, 140598837575679, -STORE, 140598837538816, 140598837547007, -STORE, 140598831538176, 140598835335167, -SNULL, 140598831538176, 140598833197055, -STORE, 140598833197056, 140598835335167, -STORE, 140598831538176, 140598833197055, -SNULL, 140598835294207, 140598835335167, -STORE, 140598833197056, 140598835294207, -STORE, 140598835294208, 140598835335167, -SNULL, 140598835294208, 140598835318783, -STORE, 140598835318784, 140598835335167, -STORE, 140598835294208, 140598835318783, -ERASE, 140598835294208, 140598835318783, -STORE, 140598835294208, 140598835318783, -ERASE, 140598835318784, 140598835335167, -STORE, 140598835318784, 140598835335167, -SNULL, 140598835310591, 140598835318783, -STORE, 140598835294208, 140598835310591, -STORE, 140598835310592, 140598835318783, -SNULL, 93937915826175, 93937915830271, -STORE, 93937915822080, 93937915826175, -STORE, 93937915826176, 93937915830271, -SNULL, 140598837579775, 140598837583871, -STORE, 140598837575680, 140598837579775, -STORE, 140598837579776, 140598837583871, -ERASE, 140598837547008, 140598837575679, -STORE, 93937929179136, 93937929314303, -STORE, 140598835855360, 140598837538815, -STORE, 140737488347136, 140737488351231, -STORE, 140728187723776, 140737488351231, -SNULL, 140728187727871, 140737488351231, -STORE, 140728187723776, 140728187727871, -STORE, 140728187592704, 140728187727871, -STORE, 4194304, 5128191, -STORE, 7221248, 7241727, -STORE, 7241728, 7249919, -STORE, 140583951437824, 140583953690623, -SNULL, 140583951581183, 140583953690623, -STORE, 140583951437824, 140583951581183, -STORE, 140583951581184, 140583953690623, -ERASE, 140583951581184, 140583953690623, -STORE, 140583953678336, 140583953686527, -STORE, 140583953686528, 140583953690623, -STORE, 140728189116416, 140728189120511, -STORE, 140728189104128, 140728189116415, -STORE, 140583953649664, 140583953678335, -STORE, 140583953641472, 140583953649663, -STORE, 140583948275712, 140583951437823, -SNULL, 140583948275712, 140583949336575, -STORE, 140583949336576, 140583951437823, -STORE, 140583948275712, 140583949336575, -SNULL, 140583951429631, 140583951437823, -STORE, 140583949336576, 140583951429631, -STORE, 140583951429632, 140583951437823, -ERASE, 140583951429632, 140583951437823, -STORE, 140583951429632, 140583951437823, -STORE, 140583944478720, 140583948275711, -SNULL, 140583944478720, 140583946137599, -STORE, 140583946137600, 140583948275711, -STORE, 140583944478720, 140583946137599, -SNULL, 140583948234751, 140583948275711, -STORE, 140583946137600, 140583948234751, -STORE, 140583948234752, 140583948275711, -SNULL, 140583948234752, 140583948259327, -STORE, 140583948259328, 140583948275711, -STORE, 140583948234752, 140583948259327, -ERASE, 140583948234752, 140583948259327, -STORE, 140583948234752, 140583948259327, -ERASE, 140583948259328, 140583948275711, -STORE, 140583948259328, 140583948275711, -STORE, 140583953629184, 140583953649663, -SNULL, 140583948251135, 140583948259327, -STORE, 140583948234752, 140583948251135, -STORE, 140583948251136, 140583948259327, -SNULL, 140583951433727, 140583951437823, -STORE, 140583951429632, 140583951433727, -STORE, 140583951433728, 140583951437823, -SNULL, 7233535, 7241727, -STORE, 7221248, 7233535, -STORE, 7233536, 7241727, -SNULL, 140583953682431, 140583953686527, -STORE, 140583953678336, 140583953682431, -STORE, 140583953682432, 140583953686527, -ERASE, 140583953649664, 140583953678335, -STORE, 17821696, 17956863, -STORE, 17821696, 18104319, -STORE, 140583951945728, 140583953629183, -STORE, 94014447943680, 94014448156671, -STORE, 94014450253824, 94014450257919, -STORE, 94014450257920, 94014450266111, -STORE, 94014450266112, 94014450278399, -STORE, 94014464225280, 94014465196031, -STORE, 139761764306944, 139761765965823, -STORE, 139761765965824, 139761768062975, -STORE, 139761768062976, 139761768079359, -STORE, 139761768079360, 139761768087551, -STORE, 139761768087552, 139761768103935, -STORE, 139761768103936, 139761768116223, -STORE, 139761768116224, 139761770209279, -STORE, 139761770209280, 139761770213375, -STORE, 139761770213376, 139761770217471, -STORE, 139761770217472, 139761770360831, -STORE, 139761770729472, 139761772412927, -STORE, 139761772412928, 139761772429311, -STORE, 139761772457984, 139761772462079, -STORE, 139761772462080, 139761772466175, -STORE, 139761772466176, 139761772470271, -STORE, 140724336517120, 140724336652287, -STORE, 140724336955392, 140724336967679, -STORE, 140724336967680, 140724336971775, -STORE, 140737488347136, 140737488351231, -STORE, 140726063296512, 140737488351231, -SNULL, 140726063300607, 140737488351231, -STORE, 140726063296512, 140726063300607, -STORE, 140726063165440, 140726063300607, -STORE, 94016795934720, 94016798158847, -SNULL, 94016796045311, 94016798158847, -STORE, 94016795934720, 94016796045311, -STORE, 94016796045312, 94016798158847, -ERASE, 94016796045312, 94016798158847, -STORE, 94016798138368, 94016798150655, -STORE, 94016798150656, 94016798158847, -STORE, 139975915966464, 139975918219263, -SNULL, 139975916109823, 139975918219263, -STORE, 139975915966464, 139975916109823, -STORE, 139975916109824, 139975918219263, -ERASE, 139975916109824, 139975918219263, -STORE, 139975918206976, 139975918215167, -STORE, 139975918215168, 139975918219263, -STORE, 140726064541696, 140726064545791, -STORE, 140726064529408, 140726064541695, -STORE, 139975918178304, 139975918206975, -STORE, 139975918170112, 139975918178303, -STORE, 139975912169472, 139975915966463, -SNULL, 139975912169472, 139975913828351, -STORE, 139975913828352, 139975915966463, -STORE, 139975912169472, 139975913828351, -SNULL, 139975915925503, 139975915966463, -STORE, 139975913828352, 139975915925503, -STORE, 139975915925504, 139975915966463, -SNULL, 139975915925504, 139975915950079, -STORE, 139975915950080, 139975915966463, -STORE, 139975915925504, 139975915950079, -ERASE, 139975915925504, 139975915950079, -STORE, 139975915925504, 139975915950079, -ERASE, 139975915950080, 139975915966463, -STORE, 139975915950080, 139975915966463, -SNULL, 139975915941887, 139975915950079, -STORE, 139975915925504, 139975915941887, -STORE, 139975915941888, 139975915950079, -SNULL, 94016798146559, 94016798150655, -STORE, 94016798138368, 94016798146559, -STORE, 94016798146560, 94016798150655, -SNULL, 139975918211071, 139975918215167, -STORE, 139975918206976, 139975918211071, -STORE, 139975918211072, 139975918215167, -ERASE, 139975918178304, 139975918206975, -STORE, 94016804925440, 94016805060607, -STORE, 94596177661952, 94596177772543, -STORE, 94596179865600, 94596179873791, -STORE, 94596179873792, 94596179877887, -STORE, 94596179877888, 94596179886079, -STORE, 94596211597312, 94596211863551, -STORE, 140127351840768, 140127353499647, -STORE, 140127353499648, 140127355596799, -STORE, 140127355596800, 140127355613183, -STORE, 140127355613184, 140127355621375, -STORE, 140127355621376, 140127355637759, -STORE, 140127355637760, 140127355781119, -STORE, 140127357841408, 140127357849599, -STORE, 140127357878272, 140127357882367, -STORE, 140127357882368, 140127357886463, -STORE, 140127357886464, 140127357890559, -STORE, 140726167252992, 140726167392255, -STORE, 140726167838720, 140726167851007, -STORE, 140726167851008, 140726167855103, -STORE, 140737488347136, 140737488351231, -STORE, 140731874017280, 140737488351231, -SNULL, 140731874021375, 140737488351231, -STORE, 140731874017280, 140731874021375, -STORE, 140731873886208, 140731874021375, -STORE, 94178682265600, 94178684489727, -SNULL, 94178682376191, 94178684489727, -STORE, 94178682265600, 94178682376191, -STORE, 94178682376192, 94178684489727, -ERASE, 94178682376192, 94178684489727, -STORE, 94178684469248, 94178684481535, -STORE, 94178684481536, 94178684489727, -STORE, 140460853403648, 140460855656447, -SNULL, 140460853547007, 140460855656447, -STORE, 140460853403648, 140460853547007, -STORE, 140460853547008, 140460855656447, -ERASE, 140460853547008, 140460855656447, -STORE, 140460855644160, 140460855652351, -STORE, 140460855652352, 140460855656447, -STORE, 140731874103296, 140731874107391, -STORE, 140731874091008, 140731874103295, -STORE, 140460855615488, 140460855644159, -STORE, 140460855607296, 140460855615487, -STORE, 140460849606656, 140460853403647, -SNULL, 140460849606656, 140460851265535, -STORE, 140460851265536, 140460853403647, -STORE, 140460849606656, 140460851265535, -SNULL, 140460853362687, 140460853403647, -STORE, 140460851265536, 140460853362687, -STORE, 140460853362688, 140460853403647, -SNULL, 140460853362688, 140460853387263, -STORE, 140460853387264, 140460853403647, -STORE, 140460853362688, 140460853387263, -ERASE, 140460853362688, 140460853387263, -STORE, 140460853362688, 140460853387263, -ERASE, 140460853387264, 140460853403647, -STORE, 140460853387264, 140460853403647, -SNULL, 140460853379071, 140460853387263, -STORE, 140460853362688, 140460853379071, -STORE, 140460853379072, 140460853387263, -SNULL, 94178684477439, 94178684481535, -STORE, 94178684469248, 94178684477439, -STORE, 94178684477440, 94178684481535, -SNULL, 140460855648255, 140460855652351, -STORE, 140460855644160, 140460855648255, -STORE, 140460855648256, 140460855652351, -ERASE, 140460855615488, 140460855644159, -STORE, 94178692063232, 94178692198399, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733096603648, 140737488351231, -SNULL, 140733096611839, 140737488351231, -STORE, 140733096603648, 140733096611839, -STORE, 140733096472576, 140733096611839, -STORE, 94796716122112, 94796718325759, -SNULL, 94796716224511, 94796718325759, -STORE, 94796716122112, 94796716224511, -STORE, 94796716224512, 94796718325759, -ERASE, 94796716224512, 94796718325759, -STORE, 94796718317568, 94796718325759, -STORE, 139667892793344, 139667895046143, -SNULL, 139667892936703, 139667895046143, -STORE, 139667892793344, 139667892936703, -STORE, 139667892936704, 139667895046143, -ERASE, 139667892936704, 139667895046143, -STORE, 139667895033856, 139667895042047, -STORE, 139667895042048, 139667895046143, -STORE, 140733096857600, 140733096861695, -STORE, 140733096845312, 140733096857599, -STORE, 139667895005184, 139667895033855, -STORE, 139667894996992, 139667895005183, -STORE, 139667890532352, 139667892793343, -SNULL, 139667890532352, 139667890683903, -STORE, 139667890683904, 139667892793343, -STORE, 139667890532352, 139667890683903, -SNULL, 139667892776959, 139667892793343, -STORE, 139667890683904, 139667892776959, -STORE, 139667892776960, 139667892793343, -SNULL, 139667892776960, 139667892785151, -STORE, 139667892785152, 139667892793343, -STORE, 139667892776960, 139667892785151, -ERASE, 139667892776960, 139667892785151, -STORE, 139667892776960, 139667892785151, -ERASE, 139667892785152, 139667892793343, -STORE, 139667892785152, 139667892793343, -STORE, 139667886735360, 139667890532351, -SNULL, 139667886735360, 139667888394239, -STORE, 139667888394240, 139667890532351, -STORE, 139667886735360, 139667888394239, -SNULL, 139667890491391, 139667890532351, -STORE, 139667888394240, 139667890491391, -STORE, 139667890491392, 139667890532351, -SNULL, 139667890491392, 139667890515967, -STORE, 139667890515968, 139667890532351, -STORE, 139667890491392, 139667890515967, -ERASE, 139667890491392, 139667890515967, -STORE, 139667890491392, 139667890515967, -ERASE, 139667890515968, 139667890532351, -STORE, 139667890515968, 139667890532351, -STORE, 139667884167168, 139667886735359, -SNULL, 139667884167168, 139667884634111, -STORE, 139667884634112, 139667886735359, -STORE, 139667884167168, 139667884634111, -SNULL, 139667886727167, 139667886735359, -STORE, 139667884634112, 139667886727167, -STORE, 139667886727168, 139667886735359, -ERASE, 139667886727168, 139667886735359, -STORE, 139667886727168, 139667886735359, -STORE, 139667882053632, 139667884167167, -SNULL, 139667882053632, 139667882065919, -STORE, 139667882065920, 139667884167167, -STORE, 139667882053632, 139667882065919, -SNULL, 139667884158975, 139667884167167, -STORE, 139667882065920, 139667884158975, -STORE, 139667884158976, 139667884167167, -ERASE, 139667884158976, 139667884167167, -STORE, 139667884158976, 139667884167167, -STORE, 139667879837696, 139667882053631, -SNULL, 139667879837696, 139667879935999, -STORE, 139667879936000, 139667882053631, -STORE, 139667879837696, 139667879935999, -SNULL, 139667882029055, 139667882053631, -STORE, 139667879936000, 139667882029055, -STORE, 139667882029056, 139667882053631, -SNULL, 139667882029056, 139667882037247, -STORE, 139667882037248, 139667882053631, -STORE, 139667882029056, 139667882037247, -ERASE, 139667882029056, 139667882037247, -STORE, 139667882029056, 139667882037247, -ERASE, 139667882037248, 139667882053631, -STORE, 139667882037248, 139667882053631, -STORE, 139667894988800, 139667895005183, -SNULL, 139667890507775, 139667890515967, -STORE, 139667890491392, 139667890507775, -STORE, 139667890507776, 139667890515967, -SNULL, 139667882033151, 139667882037247, -STORE, 139667882029056, 139667882033151, -STORE, 139667882033152, 139667882037247, -SNULL, 139667884163071, 139667884167167, -STORE, 139667884158976, 139667884163071, -STORE, 139667884163072, 139667884167167, -SNULL, 139667886731263, 139667886735359, -STORE, 139667886727168, 139667886731263, -STORE, 139667886731264, 139667886735359, -SNULL, 139667892781055, 139667892785151, -STORE, 139667892776960, 139667892781055, -STORE, 139667892781056, 139667892785151, -SNULL, 94796718321663, 94796718325759, -STORE, 94796718317568, 94796718321663, -STORE, 94796718321664, 94796718325759, -SNULL, 139667895037951, 139667895042047, -STORE, 139667895033856, 139667895037951, -STORE, 139667895037952, 139667895042047, -ERASE, 139667895005184, 139667895033855, -STORE, 94796726063104, 94796726198271, -STORE, 139667893305344, 139667894988799, -STORE, 139667895005184, 139667895033855, -STORE, 94796726063104, 94796726333439, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722489507840, 140737488351231, -SNULL, 140722489516031, 140737488351231, -STORE, 140722489507840, 140722489516031, -STORE, 140722489376768, 140722489516031, -STORE, 93980993265664, 93980995489791, -SNULL, 93980993376255, 93980995489791, -STORE, 93980993265664, 93980993376255, -STORE, 93980993376256, 93980995489791, -ERASE, 93980993376256, 93980995489791, -STORE, 93980995469312, 93980995481599, -STORE, 93980995481600, 93980995489791, -STORE, 140261313593344, 140261315846143, -SNULL, 140261313736703, 140261315846143, -STORE, 140261313593344, 140261313736703, -STORE, 140261313736704, 140261315846143, -ERASE, 140261313736704, 140261315846143, -STORE, 140261315833856, 140261315842047, -STORE, 140261315842048, 140261315846143, -STORE, 140722489675776, 140722489679871, -STORE, 140722489663488, 140722489675775, -STORE, 140261315805184, 140261315833855, -STORE, 140261315796992, 140261315805183, -STORE, 140261309796352, 140261313593343, -SNULL, 140261309796352, 140261311455231, -STORE, 140261311455232, 140261313593343, -STORE, 140261309796352, 140261311455231, -SNULL, 140261313552383, 140261313593343, -STORE, 140261311455232, 140261313552383, -STORE, 140261313552384, 140261313593343, -SNULL, 140261313552384, 140261313576959, -STORE, 140261313576960, 140261313593343, -STORE, 140261313552384, 140261313576959, -ERASE, 140261313552384, 140261313576959, -STORE, 140261313552384, 140261313576959, -ERASE, 140261313576960, 140261313593343, -STORE, 140261313576960, 140261313593343, -SNULL, 140261313568767, 140261313576959, -STORE, 140261313552384, 140261313568767, -STORE, 140261313568768, 140261313576959, -SNULL, 93980995477503, 93980995481599, -STORE, 93980995469312, 93980995477503, -STORE, 93980995477504, 93980995481599, -SNULL, 140261315837951, 140261315842047, -STORE, 140261315833856, 140261315837951, -STORE, 140261315837952, 140261315842047, -ERASE, 140261315805184, 140261315833855, -STORE, 93980997443584, 93980997578751, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140737488338944, 140737488351231, -STORE, 140734059450368, 140737488351231, -SNULL, 140734059462655, 140737488351231, -STORE, 140734059450368, 140734059462655, -STORE, 140734059319296, 140734059462655, -STORE, 4194304, 5128191, -STORE, 7221248, 7241727, -STORE, 7241728, 7249919, -STORE, 140307554983936, 140307557236735, -SNULL, 140307555127295, 140307557236735, -STORE, 140307554983936, 140307555127295, -STORE, 140307555127296, 140307557236735, -ERASE, 140307555127296, 140307557236735, -STORE, 140307557224448, 140307557232639, -STORE, 140307557232640, 140307557236735, -STORE, 140734059483136, 140734059487231, -STORE, 140734059470848, 140734059483135, -STORE, 140307557195776, 140307557224447, -STORE, 140307557187584, 140307557195775, -STORE, 140307551821824, 140307554983935, -SNULL, 140307551821824, 140307552882687, -STORE, 140307552882688, 140307554983935, -STORE, 140307551821824, 140307552882687, -SNULL, 140307554975743, 140307554983935, -STORE, 140307552882688, 140307554975743, -STORE, 140307554975744, 140307554983935, -ERASE, 140307554975744, 140307554983935, -STORE, 140307554975744, 140307554983935, -STORE, 140307548024832, 140307551821823, -SNULL, 140307548024832, 140307549683711, -STORE, 140307549683712, 140307551821823, -STORE, 140307548024832, 140307549683711, -SNULL, 140307551780863, 140307551821823, -STORE, 140307549683712, 140307551780863, -STORE, 140307551780864, 140307551821823, -SNULL, 140307551780864, 140307551805439, -STORE, 140307551805440, 140307551821823, -STORE, 140307551780864, 140307551805439, -ERASE, 140307551780864, 140307551805439, -STORE, 140307551780864, 140307551805439, -ERASE, 140307551805440, 140307551821823, -STORE, 140307551805440, 140307551821823, -STORE, 140307557175296, 140307557195775, -SNULL, 140307551797247, 140307551805439, -STORE, 140307551780864, 140307551797247, -STORE, 140307551797248, 140307551805439, -SNULL, 140307554979839, 140307554983935, -STORE, 140307554975744, 140307554979839, -STORE, 140307554979840, 140307554983935, -SNULL, 7233535, 7241727, -STORE, 7221248, 7233535, -STORE, 7233536, 7241727, -SNULL, 140307557228543, 140307557232639, -STORE, 140307557224448, 140307557228543, -STORE, 140307557228544, 140307557232639, -ERASE, 140307557195776, 140307557224447, -STORE, 39698432, 39833599, -STORE, 39698432, 39981055, -STORE, 94306485321728, 94306485432319, -STORE, 94306487525376, 94306487533567, -STORE, 94306487533568, 94306487537663, -STORE, 94306487537664, 94306487545855, -STORE, 94306488868864, 94306489004031, -STORE, 140497673998336, 140497675657215, -STORE, 140497675657216, 140497677754367, -STORE, 140497677754368, 140497677770751, -STORE, 140497677770752, 140497677778943, -STORE, 140497677778944, 140497677795327, -STORE, 140497677795328, 140497677938687, -STORE, 140497679998976, 140497680007167, -STORE, 140497680035840, 140497680039935, -STORE, 140497680039936, 140497680044031, -STORE, 140497680044032, 140497680048127, -STORE, 140732780462080, 140732780601343, -STORE, 140732782239744, 140732782252031, -STORE, 140732782252032, 140732782256127, -STORE, 94236915900416, 94236916011007, -STORE, 94236918104064, 94236918112255, -STORE, 94236918112256, 94236918116351, -STORE, 94236918116352, 94236918124543, -STORE, 94236939489280, 94236939624447, -STORE, 140046091743232, 140046093402111, -STORE, 140046093402112, 140046095499263, -STORE, 140046095499264, 140046095515647, -STORE, 140046095515648, 140046095523839, -STORE, 140046095523840, 140046095540223, -STORE, 140046095540224, 140046095683583, -STORE, 140046097743872, 140046097752063, -STORE, 140046097780736, 140046097784831, -STORE, 140046097784832, 140046097788927, -STORE, 140046097788928, 140046097793023, -STORE, 140726694449152, 140726694588415, -STORE, 140726695313408, 140726695325695, -STORE, 140726695325696, 140726695329791, -STORE, 94894582779904, 94894582992895, -STORE, 94894585090048, 94894585094143, -STORE, 94894585094144, 94894585102335, -STORE, 94894585102336, 94894585114623, -STORE, 94894592868352, 94894594293759, -STORE, 139733563842560, 139733565501439, -STORE, 139733565501440, 139733567598591, -STORE, 139733567598592, 139733567614975, -STORE, 139733567614976, 139733567623167, -STORE, 139733567623168, 139733567639551, -STORE, 139733567639552, 139733567651839, -STORE, 139733567651840, 139733569744895, -STORE, 139733569744896, 139733569748991, -STORE, 139733569748992, 139733569753087, -STORE, 139733569753088, 139733569896447, -STORE, 139733570265088, 139733571948543, -STORE, 139733571948544, 139733571964927, -STORE, 139733571993600, 139733571997695, -STORE, 139733571997696, 139733572001791, -STORE, 139733572001792, 139733572005887, -STORE, 140726369255424, 140726369394687, -STORE, 140726370402304, 140726370414591, -STORE, 140726370414592, 140726370418687, -STORE, 94899236483072, 94899236696063, -STORE, 94899238793216, 94899238797311, -STORE, 94899238797312, 94899238805503, -STORE, 94899238805504, 94899238817791, -STORE, 94899263045632, 94899263979519, -STORE, 140040959893504, 140040961552383, -STORE, 140040961552384, 140040963649535, -STORE, 140040963649536, 140040963665919, -STORE, 140040963665920, 140040963674111, -STORE, 140040963674112, 140040963690495, -STORE, 140040963690496, 140040963702783, -STORE, 140040963702784, 140040965795839, -STORE, 140040965795840, 140040965799935, -STORE, 140040965799936, 140040965804031, -STORE, 140040965804032, 140040965947391, -STORE, 140040966316032, 140040967999487, -STORE, 140040967999488, 140040968015871, -STORE, 140040968044544, 140040968048639, -STORE, 140040968048640, 140040968052735, -STORE, 140040968052736, 140040968056831, -STORE, 140729921359872, 140729921499135, -STORE, 140729921613824, 140729921626111, -STORE, 140729921626112, 140729921630207, -STORE, 94818265190400, 94818265403391, -STORE, 94818267500544, 94818267504639, -STORE, 94818267504640, 94818267512831, -STORE, 94818267512832, 94818267525119, -STORE, 94818283372544, 94818285858815, -STORE, 139818425675776, 139818427334655, -STORE, 139818427334656, 139818429431807, -STORE, 139818429431808, 139818429448191, -STORE, 139818429448192, 139818429456383, -STORE, 139818429456384, 139818429472767, -STORE, 139818429472768, 139818429485055, -STORE, 139818429485056, 139818431578111, -STORE, 139818431578112, 139818431582207, -STORE, 139818431582208, 139818431586303, -STORE, 139818431586304, 139818431729663, -STORE, 139818432098304, 139818433781759, -STORE, 139818433781760, 139818433798143, -STORE, 139818433826816, 139818433830911, -STORE, 139818433830912, 139818433835007, -STORE, 139818433835008, 139818433839103, -STORE, 140726170509312, 140726170648575, -STORE, 140726171824128, 140726171836415, -STORE, 140726171836416, 140726171840511, -STORE, 94611513188352, 94611513401343, -STORE, 94611515498496, 94611515502591, -STORE, 94611515502592, 94611515510783, -STORE, 94611515510784, 94611515523071, -STORE, 94611516502016, 94611516907519, -STORE, 140596246388736, 140596248047615, -STORE, 140596248047616, 140596250144767, -STORE, 140596250144768, 140596250161151, -STORE, 140596250161152, 140596250169343, -STORE, 140596250169344, 140596250185727, -STORE, 140596250185728, 140596250198015, -STORE, 140596250198016, 140596252291071, -STORE, 140596252291072, 140596252295167, -STORE, 140596252295168, 140596252299263, -STORE, 140596252299264, 140596252442623, -STORE, 140596252811264, 140596254494719, -STORE, 140596254494720, 140596254511103, -STORE, 140596254539776, 140596254543871, -STORE, 140596254543872, 140596254547967, -STORE, 140596254547968, 140596254552063, -STORE, 140731551338496, 140731551477759, -STORE, 140731551780864, 140731551793151, -STORE, 140731551793152, 140731551797247, -STORE, 94313835851776, 94313836064767, -STORE, 94313838161920, 94313838166015, -STORE, 94313838166016, 94313838174207, -STORE, 94313838174208, 94313838186495, -STORE, 94313858416640, 94313861906431, -STORE, 140693503918080, 140693505576959, -STORE, 140693505576960, 140693507674111, -STORE, 140693507674112, 140693507690495, -STORE, 140693507690496, 140693507698687, -STORE, 140693507698688, 140693507715071, -STORE, 140693507715072, 140693507727359, -STORE, 140693507727360, 140693509820415, -STORE, 140693509820416, 140693509824511, -STORE, 140693509824512, 140693509828607, -STORE, 140693509828608, 140693509971967, -STORE, 140693510340608, 140693512024063, -STORE, 140693512024064, 140693512040447, -STORE, 140693512069120, 140693512073215, -STORE, 140693512073216, 140693512077311, -STORE, 140693512077312, 140693512081407, -STORE, 140721116065792, 140721116205055, -STORE, 140721117831168, 140721117843455, -STORE, 140721117843456, 140721117847551, -STORE, 94843650150400, 94843650363391, -STORE, 94843652460544, 94843652464639, -STORE, 94843652464640, 94843652472831, -STORE, 94843652472832, 94843652485119, -STORE, 94843685388288, 94843686281215, -STORE, 140484193681408, 140484195340287, -STORE, 140484195340288, 140484197437439, -STORE, 140484197437440, 140484197453823, -STORE, 140484197453824, 140484197462015, -STORE, 140484197462016, 140484197478399, -STORE, 140484197478400, 140484197490687, -STORE, 140484197490688, 140484199583743, -STORE, 140484199583744, 140484199587839, -STORE, 140484199587840, 140484199591935, -STORE, 140484199591936, 140484199735295, -STORE, 140484200103936, 140484201787391, -STORE, 140484201787392, 140484201803775, -STORE, 140484201832448, 140484201836543, -STORE, 140484201836544, 140484201840639, -STORE, 140484201840640, 140484201844735, -STORE, 140726294315008, 140726294454271, -STORE, 140726295646208, 140726295658495, -STORE, 140726295658496, 140726295662591, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140720422371328, 140737488351231, -SNULL, 140720422379519, 140737488351231, -STORE, 140720422371328, 140720422379519, -STORE, 140720422240256, 140720422379519, -STORE, 94417967845376, 94417970180095, -SNULL, 94417968058367, 94417970180095, -STORE, 94417967845376, 94417968058367, -STORE, 94417968058368, 94417970180095, -ERASE, 94417968058368, 94417970180095, -STORE, 94417970155520, 94417970167807, -STORE, 94417970167808, 94417970180095, -STORE, 140252450045952, 140252452298751, -SNULL, 140252450189311, 140252452298751, -STORE, 140252450045952, 140252450189311, -STORE, 140252450189312, 140252452298751, -ERASE, 140252450189312, 140252452298751, -STORE, 140252452286464, 140252452294655, -STORE, 140252452294656, 140252452298751, -STORE, 140720422416384, 140720422420479, -STORE, 140720422404096, 140720422416383, -STORE, 140252452257792, 140252452286463, -STORE, 140252452249600, 140252452257791, -STORE, 140252447932416, 140252450045951, -SNULL, 140252447932416, 140252447944703, -STORE, 140252447944704, 140252450045951, -STORE, 140252447932416, 140252447944703, -SNULL, 140252450037759, 140252450045951, -STORE, 140252447944704, 140252450037759, -STORE, 140252450037760, 140252450045951, -ERASE, 140252450037760, 140252450045951, -STORE, 140252450037760, 140252450045951, -STORE, 140252444135424, 140252447932415, -SNULL, 140252444135424, 140252445794303, -STORE, 140252445794304, 140252447932415, -STORE, 140252444135424, 140252445794303, -SNULL, 140252447891455, 140252447932415, -STORE, 140252445794304, 140252447891455, -STORE, 140252447891456, 140252447932415, -SNULL, 140252447891456, 140252447916031, -STORE, 140252447916032, 140252447932415, -STORE, 140252447891456, 140252447916031, -ERASE, 140252447891456, 140252447916031, -STORE, 140252447891456, 140252447916031, -ERASE, 140252447916032, 140252447932415, -STORE, 140252447916032, 140252447932415, -STORE, 140252452241408, 140252452257791, -SNULL, 140252447907839, 140252447916031, -STORE, 140252447891456, 140252447907839, -STORE, 140252447907840, 140252447916031, -SNULL, 140252450041855, 140252450045951, -STORE, 140252450037760, 140252450041855, -STORE, 140252450041856, 140252450045951, -SNULL, 94417970159615, 94417970167807, -STORE, 94417970155520, 94417970159615, -STORE, 94417970159616, 94417970167807, -SNULL, 140252452290559, 140252452294655, -STORE, 140252452286464, 140252452290559, -STORE, 140252452290560, 140252452294655, -ERASE, 140252452257792, 140252452286463, -STORE, 94417996333056, 94417996468223, -STORE, 140252450557952, 140252452241407, -STORE, 94417996333056, 94417996603391, -STORE, 94417996333056, 94417996738559, -STORE, 94417996333056, 94417996910591, -SNULL, 94417996881919, 94417996910591, -STORE, 94417996333056, 94417996881919, -STORE, 94417996881920, 94417996910591, -ERASE, 94417996881920, 94417996910591, -STORE, 94417996333056, 94417997017087, -STORE, 94417996333056, 94417997152255, -SNULL, 94417997135871, 94417997152255, -STORE, 94417996333056, 94417997135871, -STORE, 94417997135872, 94417997152255, -ERASE, 94417997135872, 94417997152255, -STORE, 94417996333056, 94417997291519, -SNULL, 94417997271039, 94417997291519, -STORE, 94417996333056, 94417997271039, -STORE, 94417997271040, 94417997291519, -ERASE, 94417997271040, 94417997291519, -STORE, 94417996333056, 94417997406207, -SNULL, 94417997381631, 94417997406207, -STORE, 94417996333056, 94417997381631, -STORE, 94417997381632, 94417997406207, -ERASE, 94417997381632, 94417997406207, -STORE, 94417996333056, 94417997516799, -SNULL, 94417997488127, 94417997516799, -STORE, 94417996333056, 94417997488127, -STORE, 94417997488128, 94417997516799, -ERASE, 94417997488128, 94417997516799, -STORE, 94417996333056, 94417997643775, -SNULL, 94417997631487, 94417997643775, -STORE, 94417996333056, 94417997631487, -STORE, 94417997631488, 94417997643775, -ERASE, 94417997631488, 94417997643775, -SNULL, 94417997590527, 94417997631487, -STORE, 94417996333056, 94417997590527, -STORE, 94417997590528, 94417997631487, -ERASE, 94417997590528, 94417997631487, -STORE, 94417996333056, 94417997733887, -STORE, 94417996333056, 94417997869055, -STORE, 94417996333056, 94417998004223, -SNULL, 94417998000127, 94417998004223, -STORE, 94417996333056, 94417998000127, -STORE, 94417998000128, 94417998004223, -ERASE, 94417998000128, 94417998004223, -STORE, 94049170993152, 94049171206143, -STORE, 94049173303296, 94049173307391, -STORE, 94049173307392, 94049173315583, -STORE, 94049173315584, 94049173327871, -STORE, 94049176236032, 94049183645695, -STORE, 139807795544064, 139807797202943, -STORE, 139807797202944, 139807799300095, -STORE, 139807799300096, 139807799316479, -STORE, 139807799316480, 139807799324671, -STORE, 139807799324672, 139807799341055, -STORE, 139807799341056, 139807799353343, -STORE, 139807799353344, 139807801446399, -STORE, 139807801446400, 139807801450495, -STORE, 139807801450496, 139807801454591, -STORE, 139807801454592, 139807801597951, -STORE, 139807801966592, 139807803650047, -STORE, 139807803650048, 139807803666431, -STORE, 139807803695104, 139807803699199, -STORE, 139807803699200, 139807803703295, -STORE, 139807803703296, 139807803707391, -STORE, 140727555538944, 140727555678207, -STORE, 140727555940352, 140727555952639, -STORE, 140727555952640, 140727555956735, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722483441664, 140737488351231, -SNULL, 140722483449855, 140737488351231, -STORE, 140722483441664, 140722483449855, -STORE, 140722483310592, 140722483449855, -STORE, 94416704921600, 94416707145727, -SNULL, 94416705032191, 94416707145727, -STORE, 94416704921600, 94416705032191, -STORE, 94416705032192, 94416707145727, -ERASE, 94416705032192, 94416707145727, -STORE, 94416707125248, 94416707137535, -STORE, 94416707137536, 94416707145727, -STORE, 140555439296512, 140555441549311, -SNULL, 140555439439871, 140555441549311, -STORE, 140555439296512, 140555439439871, -STORE, 140555439439872, 140555441549311, -ERASE, 140555439439872, 140555441549311, -STORE, 140555441537024, 140555441545215, -STORE, 140555441545216, 140555441549311, -STORE, 140722484781056, 140722484785151, -STORE, 140722484768768, 140722484781055, -STORE, 140555441508352, 140555441537023, -STORE, 140555441500160, 140555441508351, -STORE, 140555435499520, 140555439296511, -SNULL, 140555435499520, 140555437158399, -STORE, 140555437158400, 140555439296511, -STORE, 140555435499520, 140555437158399, -SNULL, 140555439255551, 140555439296511, -STORE, 140555437158400, 140555439255551, -STORE, 140555439255552, 140555439296511, -SNULL, 140555439255552, 140555439280127, -STORE, 140555439280128, 140555439296511, -STORE, 140555439255552, 140555439280127, -ERASE, 140555439255552, 140555439280127, -STORE, 140555439255552, 140555439280127, -ERASE, 140555439280128, 140555439296511, -STORE, 140555439280128, 140555439296511, -SNULL, 140555439271935, 140555439280127, -STORE, 140555439255552, 140555439271935, -STORE, 140555439271936, 140555439280127, -SNULL, 94416707133439, 94416707137535, -STORE, 94416707125248, 94416707133439, -STORE, 94416707133440, 94416707137535, -SNULL, 140555441541119, 140555441545215, -STORE, 140555441537024, 140555441541119, -STORE, 140555441541120, 140555441545215, -ERASE, 140555441508352, 140555441537023, -STORE, 94416724672512, 94416724807679, -STORE, 94686636953600, 94686637166591, -STORE, 94686639263744, 94686639267839, -STORE, 94686639267840, 94686639276031, -STORE, 94686639276032, 94686639288319, -STORE, 94686662193152, 94686663163903, -STORE, 140312944431104, 140312946089983, -STORE, 140312946089984, 140312948187135, -STORE, 140312948187136, 140312948203519, -STORE, 140312948203520, 140312948211711, -STORE, 140312948211712, 140312948228095, -STORE, 140312948228096, 140312948240383, -STORE, 140312948240384, 140312950333439, -STORE, 140312950333440, 140312950337535, -STORE, 140312950337536, 140312950341631, -STORE, 140312950341632, 140312950484991, -STORE, 140312950853632, 140312952537087, -STORE, 140312952537088, 140312952553471, -STORE, 140312952582144, 140312952586239, -STORE, 140312952586240, 140312952590335, -STORE, 140312952590336, 140312952594431, -STORE, 140730598920192, 140730599059455, -STORE, 140730599108608, 140730599120895, -STORE, 140730599120896, 140730599124991, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140726234079232, 140737488351231, -SNULL, 140726234087423, 140737488351231, -STORE, 140726234079232, 140726234087423, -STORE, 140726233948160, 140726234087423, -STORE, 94589467578368, 94589469802495, -SNULL, 94589467688959, 94589469802495, -STORE, 94589467578368, 94589467688959, -STORE, 94589467688960, 94589469802495, -ERASE, 94589467688960, 94589469802495, -STORE, 94589469782016, 94589469794303, -STORE, 94589469794304, 94589469802495, -STORE, 140587082842112, 140587085094911, -SNULL, 140587082985471, 140587085094911, -STORE, 140587082842112, 140587082985471, -STORE, 140587082985472, 140587085094911, -ERASE, 140587082985472, 140587085094911, -STORE, 140587085082624, 140587085090815, -STORE, 140587085090816, 140587085094911, -STORE, 140726234103808, 140726234107903, -STORE, 140726234091520, 140726234103807, -STORE, 140587085053952, 140587085082623, -STORE, 140587085045760, 140587085053951, -STORE, 140587079045120, 140587082842111, -SNULL, 140587079045120, 140587080703999, -STORE, 140587080704000, 140587082842111, -STORE, 140587079045120, 140587080703999, -SNULL, 140587082801151, 140587082842111, -STORE, 140587080704000, 140587082801151, -STORE, 140587082801152, 140587082842111, -SNULL, 140587082801152, 140587082825727, -STORE, 140587082825728, 140587082842111, -STORE, 140587082801152, 140587082825727, -ERASE, 140587082801152, 140587082825727, -STORE, 140587082801152, 140587082825727, -ERASE, 140587082825728, 140587082842111, -STORE, 140587082825728, 140587082842111, -SNULL, 140587082817535, 140587082825727, -STORE, 140587082801152, 140587082817535, -STORE, 140587082817536, 140587082825727, -SNULL, 94589469790207, 94589469794303, -STORE, 94589469782016, 94589469790207, -STORE, 94589469790208, 94589469794303, -SNULL, 140587085086719, 140587085090815, -STORE, 140587085082624, 140587085086719, -STORE, 140587085086720, 140587085090815, -ERASE, 140587085053952, 140587085082623, -STORE, 94589477507072, 94589477642239, -STORE, 94225448325120, 94225448538111, -STORE, 94225450635264, 94225450639359, -STORE, 94225450639360, 94225450647551, -STORE, 94225450647552, 94225450659839, -STORE, 94225470246912, 94225473548287, -STORE, 140199245496320, 140199247155199, -STORE, 140199247155200, 140199249252351, -STORE, 140199249252352, 140199249268735, -STORE, 140199249268736, 140199249276927, -STORE, 140199249276928, 140199249293311, -STORE, 140199249293312, 140199249305599, -STORE, 140199249305600, 140199251398655, -STORE, 140199251398656, 140199251402751, -STORE, 140199251402752, 140199251406847, -STORE, 140199251406848, 140199251550207, -STORE, 140199251918848, 140199253602303, -STORE, 140199253602304, 140199253618687, -STORE, 140199253647360, 140199253651455, -STORE, 140199253651456, 140199253655551, -STORE, 140199253655552, 140199253659647, -STORE, 140726264414208, 140726264553471, -STORE, 140726265843712, 140726265855999, -STORE, 140726265856000, 140726265860095, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733508358144, 140737488351231, -SNULL, 140733508366335, 140737488351231, -STORE, 140733508358144, 140733508366335, -STORE, 140733508227072, 140733508366335, -STORE, 94766263947264, 94766266171391, -SNULL, 94766264057855, 94766266171391, -STORE, 94766263947264, 94766264057855, -STORE, 94766264057856, 94766266171391, -ERASE, 94766264057856, 94766266171391, -STORE, 94766266150912, 94766266163199, -STORE, 94766266163200, 94766266171391, -STORE, 140693985132544, 140693987385343, -SNULL, 140693985275903, 140693987385343, -STORE, 140693985132544, 140693985275903, -STORE, 140693985275904, 140693987385343, -ERASE, 140693985275904, 140693987385343, -STORE, 140693987373056, 140693987381247, -STORE, 140693987381248, 140693987385343, -STORE, 140733509939200, 140733509943295, -STORE, 140733509926912, 140733509939199, -STORE, 140693987344384, 140693987373055, -STORE, 140693987336192, 140693987344383, -STORE, 140693981335552, 140693985132543, -SNULL, 140693981335552, 140693982994431, -STORE, 140693982994432, 140693985132543, -STORE, 140693981335552, 140693982994431, -SNULL, 140693985091583, 140693985132543, -STORE, 140693982994432, 140693985091583, -STORE, 140693985091584, 140693985132543, -SNULL, 140693985091584, 140693985116159, -STORE, 140693985116160, 140693985132543, -STORE, 140693985091584, 140693985116159, -ERASE, 140693985091584, 140693985116159, -STORE, 140693985091584, 140693985116159, -ERASE, 140693985116160, 140693985132543, -STORE, 140693985116160, 140693985132543, -SNULL, 140693985107967, 140693985116159, -STORE, 140693985091584, 140693985107967, -STORE, 140693985107968, 140693985116159, -SNULL, 94766266159103, 94766266163199, -STORE, 94766266150912, 94766266159103, -STORE, 94766266159104, 94766266163199, -SNULL, 140693987377151, 140693987381247, -STORE, 140693987373056, 140693987377151, -STORE, 140693987377152, 140693987381247, -ERASE, 140693987344384, 140693987373055, -STORE, 94766282035200, 94766282170367, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140724769353728, 140737488351231, -SNULL, 140724769361919, 140737488351231, -STORE, 140724769353728, 140724769361919, -STORE, 140724769222656, 140724769361919, -STORE, 94710460526592, 94710462750719, -SNULL, 94710460637183, 94710462750719, -STORE, 94710460526592, 94710460637183, -STORE, 94710460637184, 94710462750719, -ERASE, 94710460637184, 94710462750719, -STORE, 94710462730240, 94710462742527, -STORE, 94710462742528, 94710462750719, -STORE, 140469764395008, 140469766647807, -SNULL, 140469764538367, 140469766647807, -STORE, 140469764395008, 140469764538367, -STORE, 140469764538368, 140469766647807, -ERASE, 140469764538368, 140469766647807, -STORE, 140469766635520, 140469766643711, -STORE, 140469766643712, 140469766647807, -STORE, 140724770877440, 140724770881535, -STORE, 140724770865152, 140724770877439, -STORE, 140469766606848, 140469766635519, -STORE, 140469766598656, 140469766606847, -STORE, 140469760598016, 140469764395007, -SNULL, 140469760598016, 140469762256895, -STORE, 140469762256896, 140469764395007, -STORE, 140469760598016, 140469762256895, -SNULL, 140469764354047, 140469764395007, -STORE, 140469762256896, 140469764354047, -STORE, 140469764354048, 140469764395007, -SNULL, 140469764354048, 140469764378623, -STORE, 140469764378624, 140469764395007, -STORE, 140469764354048, 140469764378623, -ERASE, 140469764354048, 140469764378623, -STORE, 140469764354048, 140469764378623, -ERASE, 140469764378624, 140469764395007, -STORE, 140469764378624, 140469764395007, -SNULL, 140469764370431, 140469764378623, -STORE, 140469764354048, 140469764370431, -STORE, 140469764370432, 140469764378623, -SNULL, 94710462738431, 94710462742527, -STORE, 94710462730240, 94710462738431, -STORE, 94710462738432, 94710462742527, -SNULL, 140469766639615, 140469766643711, -STORE, 140469766635520, 140469766639615, -STORE, 140469766639616, 140469766643711, -ERASE, 140469766606848, 140469766635519, -STORE, 94710485581824, 94710485716991, -STORE, 94105755795456, 94105756008447, -STORE, 94105758105600, 94105758109695, -STORE, 94105758109696, 94105758117887, -STORE, 94105758117888, 94105758130175, -STORE, 94105788981248, 94105794871295, -STORE, 140641190031360, 140641191690239, -STORE, 140641191690240, 140641193787391, -STORE, 140641193787392, 140641193803775, -STORE, 140641193803776, 140641193811967, -STORE, 140641193811968, 140641193828351, -STORE, 140641193828352, 140641193840639, -STORE, 140641193840640, 140641195933695, -STORE, 140641195933696, 140641195937791, -STORE, 140641195937792, 140641195941887, -STORE, 140641195941888, 140641196085247, -STORE, 140641196453888, 140641198137343, -STORE, 140641198137344, 140641198153727, -STORE, 140641198182400, 140641198186495, -STORE, 140641198186496, 140641198190591, -STORE, 140641198190592, 140641198194687, -STORE, 140731980034048, 140731980173311, -STORE, 140731981078528, 140731981090815, -STORE, 140731981090816, 140731981094911, -STORE, 93828086431744, 93828086644735, -STORE, 93828088741888, 93828088745983, -STORE, 93828088745984, 93828088754175, -STORE, 93828088754176, 93828088766463, -STORE, 93828094193664, 93828096831487, -STORE, 139844717334528, 139844718993407, -STORE, 139844718993408, 139844721090559, -STORE, 139844721090560, 139844721106943, -STORE, 139844721106944, 139844721115135, -STORE, 139844721115136, 139844721131519, -STORE, 139844721131520, 139844721143807, -STORE, 139844721143808, 139844723236863, -STORE, 139844723236864, 139844723240959, -STORE, 139844723240960, 139844723245055, -STORE, 139844723245056, 139844723388415, -STORE, 139844723757056, 139844725440511, -STORE, 139844725440512, 139844725456895, -STORE, 139844725485568, 139844725489663, -STORE, 139844725489664, 139844725493759, -STORE, 139844725493760, 139844725497855, -STORE, 140729996185600, 140729996324863, -STORE, 140729996828672, 140729996840959, -STORE, 140729996840960, 140729996845055, -STORE, 140737488347136, 140737488351231, -STORE, 140722494771200, 140737488351231, -SNULL, 140722494775295, 140737488351231, -STORE, 140722494771200, 140722494775295, -STORE, 140722494640128, 140722494775295, -STORE, 94324011311104, 94324013535231, -SNULL, 94324011421695, 94324013535231, -STORE, 94324011311104, 94324011421695, -STORE, 94324011421696, 94324013535231, -ERASE, 94324011421696, 94324013535231, -STORE, 94324013514752, 94324013527039, -STORE, 94324013527040, 94324013535231, -STORE, 140151462309888, 140151464562687, -SNULL, 140151462453247, 140151464562687, -STORE, 140151462309888, 140151462453247, -STORE, 140151462453248, 140151464562687, -ERASE, 140151462453248, 140151464562687, -STORE, 140151464550400, 140151464558591, -STORE, 140151464558592, 140151464562687, -STORE, 140722495467520, 140722495471615, -STORE, 140722495455232, 140722495467519, -STORE, 140151464521728, 140151464550399, -STORE, 140151464513536, 140151464521727, -STORE, 140151458512896, 140151462309887, -SNULL, 140151458512896, 140151460171775, -STORE, 140151460171776, 140151462309887, -STORE, 140151458512896, 140151460171775, -SNULL, 140151462268927, 140151462309887, -STORE, 140151460171776, 140151462268927, -STORE, 140151462268928, 140151462309887, -SNULL, 140151462268928, 140151462293503, -STORE, 140151462293504, 140151462309887, -STORE, 140151462268928, 140151462293503, -ERASE, 140151462268928, 140151462293503, -STORE, 140151462268928, 140151462293503, -ERASE, 140151462293504, 140151462309887, -STORE, 140151462293504, 140151462309887, -SNULL, 140151462285311, 140151462293503, -STORE, 140151462268928, 140151462285311, -STORE, 140151462285312, 140151462293503, -SNULL, 94324013522943, 94324013527039, -STORE, 94324013514752, 94324013522943, -STORE, 94324013522944, 94324013527039, -SNULL, 140151464554495, 140151464558591, -STORE, 140151464550400, 140151464554495, -STORE, 140151464554496, 140151464558591, -ERASE, 140151464521728, 140151464550399, -STORE, 94324024778752, 94324024913919, -STORE, 94899262967808, 94899263180799, -STORE, 94899265277952, 94899265282047, -STORE, 94899265282048, 94899265290239, -STORE, 94899265290240, 94899265302527, -STORE, 94899295469568, 94899298689023, -STORE, 140434388418560, 140434390077439, -STORE, 140434390077440, 140434392174591, -STORE, 140434392174592, 140434392190975, -STORE, 140434392190976, 140434392199167, -STORE, 140434392199168, 140434392215551, -STORE, 140434392215552, 140434392227839, -STORE, 140434392227840, 140434394320895, -STORE, 140434394320896, 140434394324991, -STORE, 140434394324992, 140434394329087, -STORE, 140434394329088, 140434394472447, -STORE, 140434394841088, 140434396524543, -STORE, 140434396524544, 140434396540927, -STORE, 140434396569600, 140434396573695, -STORE, 140434396573696, 140434396577791, -STORE, 140434396577792, 140434396581887, -STORE, 140720618135552, 140720618274815, -STORE, 140720618418176, 140720618430463, -STORE, 140720618430464, 140720618434559, -STORE, 94425529798656, 94425530011647, -STORE, 94425532108800, 94425532112895, -STORE, 94425532112896, 94425532121087, -STORE, 94425532121088, 94425532133375, -STORE, 94425557753856, 94425566576639, -STORE, 140600528470016, 140600530128895, -STORE, 140600530128896, 140600532226047, -STORE, 140600532226048, 140600532242431, -STORE, 140600532242432, 140600532250623, -STORE, 140600532250624, 140600532267007, -STORE, 140600532267008, 140600532279295, -STORE, 140600532279296, 140600534372351, -STORE, 140600534372352, 140600534376447, -STORE, 140600534376448, 140600534380543, -STORE, 140600534380544, 140600534523903, -STORE, 140600534892544, 140600536575999, -STORE, 140600536576000, 140600536592383, -STORE, 140600536621056, 140600536625151, -STORE, 140600536625152, 140600536629247, -STORE, 140600536629248, 140600536633343, -STORE, 140721857785856, 140721857925119, -STORE, 140721858068480, 140721858080767, -STORE, 140721858080768, 140721858084863, -STORE, 94425529798656, 94425530011647, -STORE, 94425532108800, 94425532112895, -STORE, 94425532112896, 94425532121087, -STORE, 94425532121088, 94425532133375, -STORE, 94425557753856, 94425568772095, -STORE, 140600528470016, 140600530128895, -STORE, 140600530128896, 140600532226047, -STORE, 140600532226048, 140600532242431, -STORE, 140600532242432, 140600532250623, -STORE, 140600532250624, 140600532267007, -STORE, 140600532267008, 140600532279295, -STORE, 140600532279296, 140600534372351, -STORE, 140600534372352, 140600534376447, -STORE, 140600534376448, 140600534380543, -STORE, 140600534380544, 140600534523903, -STORE, 140600534892544, 140600536575999, -STORE, 140600536576000, 140600536592383, -STORE, 140600536621056, 140600536625151, -STORE, 140600536625152, 140600536629247, -STORE, 140600536629248, 140600536633343, -STORE, 140721857785856, 140721857925119, -STORE, 140721858068480, 140721858080767, -STORE, 140721858080768, 140721858084863, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735611645952, 140737488351231, -SNULL, 140735611654143, 140737488351231, -STORE, 140735611645952, 140735611654143, -STORE, 140735611514880, 140735611654143, -STORE, 94592137641984, 94592139866111, -SNULL, 94592137752575, 94592139866111, -STORE, 94592137641984, 94592137752575, -STORE, 94592137752576, 94592139866111, -ERASE, 94592137752576, 94592139866111, -STORE, 94592139845632, 94592139857919, -STORE, 94592139857920, 94592139866111, -STORE, 140350425030656, 140350427283455, -SNULL, 140350425174015, 140350427283455, -STORE, 140350425030656, 140350425174015, -STORE, 140350425174016, 140350427283455, -ERASE, 140350425174016, 140350427283455, -STORE, 140350427271168, 140350427279359, -STORE, 140350427279360, 140350427283455, -STORE, 140735612043264, 140735612047359, -STORE, 140735612030976, 140735612043263, -STORE, 140350427242496, 140350427271167, -STORE, 140350427234304, 140350427242495, -STORE, 140350421233664, 140350425030655, -SNULL, 140350421233664, 140350422892543, -STORE, 140350422892544, 140350425030655, -STORE, 140350421233664, 140350422892543, -SNULL, 140350424989695, 140350425030655, -STORE, 140350422892544, 140350424989695, -STORE, 140350424989696, 140350425030655, -SNULL, 140350424989696, 140350425014271, -STORE, 140350425014272, 140350425030655, -STORE, 140350424989696, 140350425014271, -ERASE, 140350424989696, 140350425014271, -STORE, 140350424989696, 140350425014271, -ERASE, 140350425014272, 140350425030655, -STORE, 140350425014272, 140350425030655, -SNULL, 140350425006079, 140350425014271, -STORE, 140350424989696, 140350425006079, -STORE, 140350425006080, 140350425014271, -SNULL, 94592139853823, 94592139857919, -STORE, 94592139845632, 94592139853823, -STORE, 94592139853824, 94592139857919, -SNULL, 140350427275263, 140350427279359, -STORE, 140350427271168, 140350427275263, -STORE, 140350427275264, 140350427279359, -ERASE, 140350427242496, 140350427271167, -STORE, 94592164823040, 94592164958207, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140723500535808, 140737488351231, -SNULL, 140723500543999, 140737488351231, -STORE, 140723500535808, 140723500543999, -STORE, 140723500404736, 140723500543999, -STORE, 94458379010048, 94458381234175, -SNULL, 94458379120639, 94458381234175, -STORE, 94458379010048, 94458379120639, -STORE, 94458379120640, 94458381234175, -ERASE, 94458379120640, 94458381234175, -STORE, 94458381213696, 94458381225983, -STORE, 94458381225984, 94458381234175, -STORE, 139771674230784, 139771676483583, -SNULL, 139771674374143, 139771676483583, -STORE, 139771674230784, 139771674374143, -STORE, 139771674374144, 139771676483583, -ERASE, 139771674374144, 139771676483583, -STORE, 139771676471296, 139771676479487, -STORE, 139771676479488, 139771676483583, -STORE, 140723500769280, 140723500773375, -STORE, 140723500756992, 140723500769279, -STORE, 139771676442624, 139771676471295, -STORE, 139771676434432, 139771676442623, -STORE, 139771670433792, 139771674230783, -SNULL, 139771670433792, 139771672092671, -STORE, 139771672092672, 139771674230783, -STORE, 139771670433792, 139771672092671, -SNULL, 139771674189823, 139771674230783, -STORE, 139771672092672, 139771674189823, -STORE, 139771674189824, 139771674230783, -SNULL, 139771674189824, 139771674214399, -STORE, 139771674214400, 139771674230783, -STORE, 139771674189824, 139771674214399, -ERASE, 139771674189824, 139771674214399, -STORE, 139771674189824, 139771674214399, -ERASE, 139771674214400, 139771674230783, -STORE, 139771674214400, 139771674230783, -SNULL, 139771674206207, 139771674214399, -STORE, 139771674189824, 139771674206207, -STORE, 139771674206208, 139771674214399, -SNULL, 94458381221887, 94458381225983, -STORE, 94458381213696, 94458381221887, -STORE, 94458381221888, 94458381225983, -SNULL, 139771676475391, 139771676479487, -STORE, 139771676471296, 139771676475391, -STORE, 139771676475392, 139771676479487, -ERASE, 139771676442624, 139771676471295, -STORE, 94458401873920, 94458402009087, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140731316264960, 140737488351231, -SNULL, 140731316273151, 140737488351231, -STORE, 140731316264960, 140731316273151, -STORE, 140731316133888, 140731316273151, -STORE, 94437830881280, 94437833215999, -SNULL, 94437831094271, 94437833215999, -STORE, 94437830881280, 94437831094271, -STORE, 94437831094272, 94437833215999, -ERASE, 94437831094272, 94437833215999, -STORE, 94437833191424, 94437833203711, -STORE, 94437833203712, 94437833215999, -STORE, 140265986031616, 140265988284415, -SNULL, 140265986174975, 140265988284415, -STORE, 140265986031616, 140265986174975, -STORE, 140265986174976, 140265988284415, -ERASE, 140265986174976, 140265988284415, -STORE, 140265988272128, 140265988280319, -STORE, 140265988280320, 140265988284415, -STORE, 140731316318208, 140731316322303, -STORE, 140731316305920, 140731316318207, -STORE, 140265988243456, 140265988272127, -STORE, 140265988235264, 140265988243455, -STORE, 140265983918080, 140265986031615, -SNULL, 140265983918080, 140265983930367, -STORE, 140265983930368, 140265986031615, -STORE, 140265983918080, 140265983930367, -SNULL, 140265986023423, 140265986031615, -STORE, 140265983930368, 140265986023423, -STORE, 140265986023424, 140265986031615, -ERASE, 140265986023424, 140265986031615, -STORE, 140265986023424, 140265986031615, -STORE, 140265980121088, 140265983918079, -SNULL, 140265980121088, 140265981779967, -STORE, 140265981779968, 140265983918079, -STORE, 140265980121088, 140265981779967, -SNULL, 140265983877119, 140265983918079, -STORE, 140265981779968, 140265983877119, -STORE, 140265983877120, 140265983918079, -SNULL, 140265983877120, 140265983901695, -STORE, 140265983901696, 140265983918079, -STORE, 140265983877120, 140265983901695, -ERASE, 140265983877120, 140265983901695, -STORE, 140265983877120, 140265983901695, -ERASE, 140265983901696, 140265983918079, -STORE, 140265983901696, 140265983918079, -STORE, 140265988227072, 140265988243455, -SNULL, 140265983893503, 140265983901695, -STORE, 140265983877120, 140265983893503, -STORE, 140265983893504, 140265983901695, -SNULL, 140265986027519, 140265986031615, -STORE, 140265986023424, 140265986027519, -STORE, 140265986027520, 140265986031615, -SNULL, 94437833195519, 94437833203711, -STORE, 94437833191424, 94437833195519, -STORE, 94437833195520, 94437833203711, -SNULL, 140265988276223, 140265988280319, -STORE, 140265988272128, 140265988276223, -STORE, 140265988276224, 140265988280319, -ERASE, 140265988243456, 140265988272127, -STORE, 94437847638016, 94437847773183, -STORE, 140265986543616, 140265988227071, -STORE, 94437847638016, 94437847908351, -STORE, 94437847638016, 94437848043519, -STORE, 94437847638016, 94437848190975, -SNULL, 94437848178687, 94437848190975, -STORE, 94437847638016, 94437848178687, -STORE, 94437848178688, 94437848190975, -ERASE, 94437848178688, 94437848190975, -STORE, 94437847638016, 94437848330239, -STORE, 94437847638016, 94437848465407, -SNULL, 94437848444927, 94437848465407, -STORE, 94437847638016, 94437848444927, -STORE, 94437848444928, 94437848465407, -ERASE, 94437848444928, 94437848465407, -STORE, 94437847638016, 94437848584191, -STORE, 94437847638016, 94437848719359, -SNULL, 94437848678399, 94437848719359, -STORE, 94437847638016, 94437848678399, -STORE, 94437848678400, 94437848719359, -ERASE, 94437848678400, 94437848719359, -STORE, 94437847638016, 94437848842239, -SNULL, 94437848825855, 94437848842239, -STORE, 94437847638016, 94437848825855, -STORE, 94437848825856, 94437848842239, -ERASE, 94437848825856, 94437848842239, -STORE, 94437847638016, 94437848961023, -STORE, 94437847638016, 94437849096191, -STORE, 94661814710272, 94661814923263, -STORE, 94661817020416, 94661817024511, -STORE, 94661817024512, 94661817032703, -STORE, 94661817032704, 94661817044991, -STORE, 94661840424960, 94661841240063, -STORE, 140582259814400, 140582261473279, -STORE, 140582261473280, 140582263570431, -STORE, 140582263570432, 140582263586815, -STORE, 140582263586816, 140582263595007, -STORE, 140582263595008, 140582263611391, -STORE, 140582263611392, 140582263623679, -STORE, 140582263623680, 140582265716735, -STORE, 140582265716736, 140582265720831, -STORE, 140582265720832, 140582265724927, -STORE, 140582265724928, 140582265868287, -STORE, 140582266236928, 140582267920383, -STORE, 140582267920384, 140582267936767, -STORE, 140582267965440, 140582267969535, -STORE, 140582267969536, 140582267973631, -STORE, 140582267973632, 140582267977727, -STORE, 140735472508928, 140735472648191, -STORE, 140735472672768, 140735472685055, -STORE, 140735472685056, 140735472689151, -STORE, 94440069140480, 94440069353471, -STORE, 94440071450624, 94440071454719, -STORE, 94440071454720, 94440071462911, -STORE, 94440071462912, 94440071475199, -STORE, 94440072122368, 94440079048703, -STORE, 140112218095616, 140112219754495, -STORE, 140112219754496, 140112221851647, -STORE, 140112221851648, 140112221868031, -STORE, 140112221868032, 140112221876223, -STORE, 140112221876224, 140112221892607, -STORE, 140112221892608, 140112221904895, -STORE, 140112221904896, 140112223997951, -STORE, 140112223997952, 140112224002047, -STORE, 140112224002048, 140112224006143, -STORE, 140112224006144, 140112224149503, -STORE, 140112224518144, 140112226201599, -STORE, 140112226201600, 140112226217983, -STORE, 140112226246656, 140112226250751, -STORE, 140112226250752, 140112226254847, -STORE, 140112226254848, 140112226258943, -STORE, 140737460969472, 140737461108735, -STORE, 140737462083584, 140737462095871, -STORE, 140737462095872, 140737462099967, -STORE, 94257654345728, 94257654390783, -STORE, 94257656483840, 94257656487935, -STORE, 94257656487936, 94257656492031, -STORE, 94257656492032, 94257656496127, -STORE, 94257665859584, 94257665994751, -STORE, 140507070345216, 140507070386175, -STORE, 140507070386176, 140507072483327, -STORE, 140507072483328, 140507072487423, -STORE, 140507072487424, 140507072491519, -STORE, 140507072491520, 140507072516095, -STORE, 140507072516096, 140507072561151, -STORE, 140507072561152, 140507074654207, -STORE, 140507074654208, 140507074658303, -STORE, 140507074658304, 140507074662399, -STORE, 140507074662400, 140507074744319, -STORE, 140507074744320, 140507076841471, -STORE, 140507076841472, 140507076845567, -STORE, 140507076845568, 140507076849663, -STORE, 140507076849664, 140507076857855, -STORE, 140507076857856, 140507076886527, -STORE, 140507076886528, 140507078979583, -STORE, 140507078979584, 140507078983679, -STORE, 140507078983680, 140507078987775, -STORE, 140507078987776, 140507079086079, -STORE, 140507079086080, 140507081179135, -STORE, 140507081179136, 140507081183231, -STORE, 140507081183232, 140507081187327, -STORE, 140507081187328, 140507081203711, -STORE, 140507081203712, 140507081220095, -STORE, 140507081220096, 140507083317247, -STORE, 140507083317248, 140507083321343, -STORE, 140507083321344, 140507083325439, -STORE, 140507083325440, 140507083792383, -STORE, 140507083792384, 140507085885439, -STORE, 140507085885440, 140507085889535, -STORE, 140507085889536, 140507085893631, -STORE, 140507085893632, 140507085905919, -STORE, 140507085905920, 140507087998975, -STORE, 140507087998976, 140507088003071, -STORE, 140507088003072, 140507088007167, -STORE, 140507088007168, 140507088125951, -STORE, 140507088125952, 140507090219007, -STORE, 140507090219008, 140507090223103, -STORE, 140507090223104, 140507090227199, -STORE, 140507090227200, 140507090268159, -STORE, 140507090268160, 140507091927039, -STORE, 140507091927040, 140507094024191, -STORE, 140507094024192, 140507094040575, -STORE, 140507094040576, 140507094048767, -STORE, 140507094048768, 140507094065151, -STORE, 140507094065152, 140507094216703, -STORE, 140507094216704, 140507096309759, -STORE, 140507096309760, 140507096313855, -STORE, 140507096313856, 140507096317951, -STORE, 140507096317952, 140507096326143, -STORE, 140507096326144, 140507096379391, -STORE, 140507096379392, 140507098472447, -STORE, 140507098472448, 140507098476543, -STORE, 140507098476544, 140507098480639, -STORE, 140507098480640, 140507098623999, -STORE, 140507098980352, 140507100663807, -STORE, 140507100663808, 140507100692479, -STORE, 140507100721152, 140507100725247, -STORE, 140507100725248, 140507100729343, -STORE, 140507100729344, 140507100733439, -STORE, 140728152780800, 140728152915967, -STORE, 140728153698304, 140728153710591, -STORE, 140728153710592, 140728153714687, -STORE, 140507068137472, 140507070345215, -SNULL, 140507068137472, 140507068190719, -STORE, 140507068190720, 140507070345215, -STORE, 140507068137472, 140507068190719, -SNULL, 140507070287871, 140507070345215, -STORE, 140507068190720, 140507070287871, -STORE, 140507070287872, 140507070345215, -SNULL, 140507070287872, 140507070296063, -STORE, 140507070296064, 140507070345215, -STORE, 140507070287872, 140507070296063, -ERASE, 140507070287872, 140507070296063, -STORE, 140507070287872, 140507070296063, -ERASE, 140507070296064, 140507070345215, -STORE, 140507070296064, 140507070345215, -STORE, 140507100692480, 140507100721151, -STORE, 140507065810944, 140507068137471, -SNULL, 140507065810944, 140507065843711, -STORE, 140507065843712, 140507068137471, -STORE, 140507065810944, 140507065843711, -SNULL, 140507067940863, 140507068137471, -STORE, 140507065843712, 140507067940863, -STORE, 140507067940864, 140507068137471, -SNULL, 140507067940864, 140507067949055, -STORE, 140507067949056, 140507068137471, -STORE, 140507067940864, 140507067949055, -ERASE, 140507067940864, 140507067949055, -STORE, 140507067940864, 140507067949055, -ERASE, 140507067949056, 140507068137471, -STORE, 140507067949056, 140507068137471, -SNULL, 140507067944959, 140507067949055, -STORE, 140507067940864, 140507067944959, -STORE, 140507067944960, 140507067949055, -SNULL, 140507070291967, 140507070296063, -STORE, 140507070287872, 140507070291967, -STORE, 140507070291968, 140507070296063, -ERASE, 140507100692480, 140507100721151, -STORE, 140507063705600, 140507065810943, -SNULL, 140507063705600, 140507063709695, -STORE, 140507063709696, 140507065810943, -STORE, 140507063705600, 140507063709695, -SNULL, 140507065802751, 140507065810943, -STORE, 140507063709696, 140507065802751, -STORE, 140507065802752, 140507065810943, -ERASE, 140507065802752, 140507065810943, -STORE, 140507065802752, 140507065810943, -SNULL, 140507065806847, 140507065810943, -STORE, 140507065802752, 140507065806847, -STORE, 140507065806848, 140507065810943, -STORE, 140507061600256, 140507063705599, -SNULL, 140507061600256, 140507061604351, -STORE, 140507061604352, 140507063705599, -STORE, 140507061600256, 140507061604351, -SNULL, 140507063697407, 140507063705599, -STORE, 140507061604352, 140507063697407, -STORE, 140507063697408, 140507063705599, -ERASE, 140507063697408, 140507063705599, -STORE, 140507063697408, 140507063705599, -SNULL, 140507063701503, 140507063705599, -STORE, 140507063697408, 140507063701503, -STORE, 140507063701504, 140507063705599, -STORE, 140507059490816, 140507061600255, -SNULL, 140507059490816, 140507059499007, -STORE, 140507059499008, 140507061600255, -STORE, 140507059490816, 140507059499007, -SNULL, 140507061592063, 140507061600255, -STORE, 140507059499008, 140507061592063, -STORE, 140507061592064, 140507061600255, -ERASE, 140507061592064, 140507061600255, -STORE, 140507061592064, 140507061600255, -SNULL, 140507061596159, 140507061600255, -STORE, 140507061592064, 140507061596159, -STORE, 140507061596160, 140507061600255, -STORE, 140507057377280, 140507059490815, -SNULL, 140507057377280, 140507057389567, -STORE, 140507057389568, 140507059490815, -STORE, 140507057377280, 140507057389567, -SNULL, 140507059482623, 140507059490815, -STORE, 140507057389568, 140507059482623, -STORE, 140507059482624, 140507059490815, -ERASE, 140507059482624, 140507059490815, -STORE, 140507059482624, 140507059490815, -SNULL, 140507059486719, 140507059490815, -STORE, 140507059482624, 140507059486719, -STORE, 140507059486720, 140507059490815, -STORE, 140507055255552, 140507057377279, -SNULL, 140507055255552, 140507055276031, -STORE, 140507055276032, 140507057377279, -STORE, 140507055255552, 140507055276031, -SNULL, 140507057369087, 140507057377279, -STORE, 140507055276032, 140507057369087, -STORE, 140507057369088, 140507057377279, -ERASE, 140507057369088, 140507057377279, -STORE, 140507057369088, 140507057377279, -SNULL, 140507057373183, 140507057377279, -STORE, 140507057369088, 140507057373183, -STORE, 140507057373184, 140507057377279, -STORE, 140507098693632, 140507098980351, -SNULL, 140507098959871, 140507098980351, -STORE, 140507098693632, 140507098959871, -STORE, 140507098959872, 140507098980351, -SNULL, 140507098959872, 140507098976255, -STORE, 140507098976256, 140507098980351, -STORE, 140507098959872, 140507098976255, -ERASE, 140507098959872, 140507098976255, -STORE, 140507098959872, 140507098976255, -ERASE, 140507098976256, 140507098980351, -STORE, 140507098976256, 140507098980351, -STORE, 140507100692480, 140507100721151, -STORE, 140507053125632, 140507055255551, -SNULL, 140507053125632, 140507053154303, -STORE, 140507053154304, 140507055255551, -STORE, 140507053125632, 140507053154303, -SNULL, 140507055247359, 140507055255551, -STORE, 140507053154304, 140507055247359, -STORE, 140507055247360, 140507055255551, -ERASE, 140507055247360, 140507055255551, -STORE, 140507055247360, 140507055255551, -STORE, 140507051012096, 140507053125631, -SNULL, 140507051012096, 140507051024383, -STORE, 140507051024384, 140507053125631, -STORE, 140507051012096, 140507051024383, -SNULL, 140507053117439, 140507053125631, -STORE, 140507051024384, 140507053117439, -STORE, 140507053117440, 140507053125631, -ERASE, 140507053117440, 140507053125631, -STORE, 140507053117440, 140507053125631, -SNULL, 140507053121535, 140507053125631, -STORE, 140507053117440, 140507053121535, -STORE, 140507053121536, 140507053125631, -SNULL, 140507055251455, 140507055255551, -STORE, 140507055247360, 140507055251455, -STORE, 140507055251456, 140507055255551, -SNULL, 140507098972159, 140507098976255, -STORE, 140507098959872, 140507098972159, -STORE, 140507098972160, 140507098976255, -ERASE, 140507100692480, 140507100721151, -STORE, 140507100717056, 140507100721151, -ERASE, 140507100717056, 140507100721151, -STORE, 140507100717056, 140507100721151, -ERASE, 140507100717056, 140507100721151, -STORE, 140507100717056, 140507100721151, -ERASE, 140507100717056, 140507100721151, -STORE, 140507100717056, 140507100721151, -ERASE, 140507100717056, 140507100721151, -STORE, 140507100692480, 140507100721151, -ERASE, 140507068137472, 140507068190719, -ERASE, 140507068190720, 140507070287871, -ERASE, 140507070287872, 140507070291967, -ERASE, 140507070291968, 140507070296063, -ERASE, 140507070296064, 140507070345215, -ERASE, 140507065810944, 140507065843711, -ERASE, 140507065843712, 140507067940863, -ERASE, 140507067940864, 140507067944959, -ERASE, 140507067944960, 140507067949055, -ERASE, 140507067949056, 140507068137471, -ERASE, 140507063705600, 140507063709695, -ERASE, 140507063709696, 140507065802751, -ERASE, 140507065802752, 140507065806847, -ERASE, 140507065806848, 140507065810943, -ERASE, 140507061600256, 140507061604351, -ERASE, 140507061604352, 140507063697407, -ERASE, 140507063697408, 140507063701503, -ERASE, 140507063701504, 140507063705599, -ERASE, 140507059490816, 140507059499007, -ERASE, 140507059499008, 140507061592063, -ERASE, 140507061592064, 140507061596159, -ERASE, 140507061596160, 140507061600255, -ERASE, 140507057377280, 140507057389567, -ERASE, 140507057389568, 140507059482623, -ERASE, 140507059482624, 140507059486719, -ERASE, 140507059486720, 140507059490815, -ERASE, 140507055255552, 140507055276031, -ERASE, 140507055276032, 140507057369087, -ERASE, 140507057369088, 140507057373183, -ERASE, 140507057373184, 140507057377279, -ERASE, 140507098693632, 140507098959871, -ERASE, 140507098959872, 140507098972159, -ERASE, 140507098972160, 140507098976255, -ERASE, 140507098976256, 140507098980351, -ERASE, 140507051012096, 140507051024383, -ERASE, 140507051024384, 140507053117439, -ERASE, 140507053117440, 140507053121535, -ERASE, 140507053121536, 140507053125631, -STORE, 94036448296960, 94036448509951, -STORE, 94036450607104, 94036450611199, -STORE, 94036450611200, 94036450619391, -STORE, 94036450619392, 94036450631679, -STORE, 94036482445312, 94036502376447, -STORE, 140469487013888, 140469488672767, -STORE, 140469488672768, 140469490769919, -STORE, 140469490769920, 140469490786303, -STORE, 140469490786304, 140469490794495, -STORE, 140469490794496, 140469490810879, -STORE, 140469490810880, 140469490823167, -STORE, 140469490823168, 140469492916223, -STORE, 140469492916224, 140469492920319, -STORE, 140469492920320, 140469492924415, -STORE, 140469492924416, 140469493067775, -STORE, 140469493436416, 140469495119871, -STORE, 140469495119872, 140469495136255, -STORE, 140469495164928, 140469495169023, -STORE, 140469495169024, 140469495173119, -STORE, 140469495173120, 140469495177215, -STORE, 140732281446400, 140732281585663, -STORE, 140732282736640, 140732282748927, -STORE, 140732282748928, 140732282753023, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140723411931136, 140737488351231, -SNULL, 140723411939327, 140737488351231, -STORE, 140723411931136, 140723411939327, -STORE, 140723411800064, 140723411939327, -STORE, 93993768685568, 93993770909695, -SNULL, 93993768796159, 93993770909695, -STORE, 93993768685568, 93993768796159, -STORE, 93993768796160, 93993770909695, -ERASE, 93993768796160, 93993770909695, -STORE, 93993770889216, 93993770901503, -STORE, 93993770901504, 93993770909695, -STORE, 140508681740288, 140508683993087, -SNULL, 140508681883647, 140508683993087, -STORE, 140508681740288, 140508681883647, -STORE, 140508681883648, 140508683993087, -ERASE, 140508681883648, 140508683993087, -STORE, 140508683980800, 140508683988991, -STORE, 140508683988992, 140508683993087, -STORE, 140723412070400, 140723412074495, -STORE, 140723412058112, 140723412070399, -STORE, 140508683952128, 140508683980799, -STORE, 140508683943936, 140508683952127, -STORE, 140508677943296, 140508681740287, -SNULL, 140508677943296, 140508679602175, -STORE, 140508679602176, 140508681740287, -STORE, 140508677943296, 140508679602175, -SNULL, 140508681699327, 140508681740287, -STORE, 140508679602176, 140508681699327, -STORE, 140508681699328, 140508681740287, -SNULL, 140508681699328, 140508681723903, -STORE, 140508681723904, 140508681740287, -STORE, 140508681699328, 140508681723903, -ERASE, 140508681699328, 140508681723903, -STORE, 140508681699328, 140508681723903, -ERASE, 140508681723904, 140508681740287, -STORE, 140508681723904, 140508681740287, -SNULL, 140508681715711, 140508681723903, -STORE, 140508681699328, 140508681715711, -STORE, 140508681715712, 140508681723903, -SNULL, 93993770897407, 93993770901503, -STORE, 93993770889216, 93993770897407, -STORE, 93993770897408, 93993770901503, -SNULL, 140508683984895, 140508683988991, -STORE, 140508683980800, 140508683984895, -STORE, 140508683984896, 140508683988991, -ERASE, 140508683952128, 140508683980799, -STORE, 93993791582208, 93993791717375, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140734685458432, 140737488351231, -SNULL, 140734685466623, 140737488351231, -STORE, 140734685458432, 140734685466623, -STORE, 140734685327360, 140734685466623, -STORE, 93832321548288, 93832323772415, -SNULL, 93832321658879, 93832323772415, -STORE, 93832321548288, 93832321658879, -STORE, 93832321658880, 93832323772415, -ERASE, 93832321658880, 93832323772415, -STORE, 93832323751936, 93832323764223, -STORE, 93832323764224, 93832323772415, -STORE, 140650945118208, 140650947371007, -SNULL, 140650945261567, 140650947371007, -STORE, 140650945118208, 140650945261567, -STORE, 140650945261568, 140650947371007, -ERASE, 140650945261568, 140650947371007, -STORE, 140650947358720, 140650947366911, -STORE, 140650947366912, 140650947371007, -STORE, 140734686081024, 140734686085119, -STORE, 140734686068736, 140734686081023, -STORE, 140650947330048, 140650947358719, -STORE, 140650947321856, 140650947330047, -STORE, 140650941321216, 140650945118207, -SNULL, 140650941321216, 140650942980095, -STORE, 140650942980096, 140650945118207, -STORE, 140650941321216, 140650942980095, -SNULL, 140650945077247, 140650945118207, -STORE, 140650942980096, 140650945077247, -STORE, 140650945077248, 140650945118207, -SNULL, 140650945077248, 140650945101823, -STORE, 140650945101824, 140650945118207, -STORE, 140650945077248, 140650945101823, -ERASE, 140650945077248, 140650945101823, -STORE, 140650945077248, 140650945101823, -ERASE, 140650945101824, 140650945118207, -STORE, 140650945101824, 140650945118207, -SNULL, 140650945093631, 140650945101823, -STORE, 140650945077248, 140650945093631, -STORE, 140650945093632, 140650945101823, -SNULL, 93832323760127, 93832323764223, -STORE, 93832323751936, 93832323760127, -STORE, 93832323760128, 93832323764223, -SNULL, 140650947362815, 140650947366911, -STORE, 140650947358720, 140650947362815, -STORE, 140650947362816, 140650947366911, -ERASE, 140650947330048, 140650947358719, -STORE, 93832331890688, 93832332025855, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140728333520896, 140737488351231, -SNULL, 140728333529087, 140737488351231, -STORE, 140728333520896, 140728333529087, -STORE, 140728333389824, 140728333529087, -STORE, 94872734732288, 94872736956415, -SNULL, 94872734842879, 94872736956415, -STORE, 94872734732288, 94872734842879, -STORE, 94872734842880, 94872736956415, -ERASE, 94872734842880, 94872736956415, -STORE, 94872736935936, 94872736948223, -STORE, 94872736948224, 94872736956415, -STORE, 139755193257984, 139755195510783, -SNULL, 139755193401343, 139755195510783, -STORE, 139755193257984, 139755193401343, -STORE, 139755193401344, 139755195510783, -ERASE, 139755193401344, 139755195510783, -STORE, 139755195498496, 139755195506687, -STORE, 139755195506688, 139755195510783, -STORE, 140728333926400, 140728333930495, -STORE, 140728333914112, 140728333926399, -STORE, 139755195469824, 139755195498495, -STORE, 139755195461632, 139755195469823, -STORE, 139755189460992, 139755193257983, -SNULL, 139755189460992, 139755191119871, -STORE, 139755191119872, 139755193257983, -STORE, 139755189460992, 139755191119871, -SNULL, 139755193217023, 139755193257983, -STORE, 139755191119872, 139755193217023, -STORE, 139755193217024, 139755193257983, -SNULL, 139755193217024, 139755193241599, -STORE, 139755193241600, 139755193257983, -STORE, 139755193217024, 139755193241599, -ERASE, 139755193217024, 139755193241599, -STORE, 139755193217024, 139755193241599, -ERASE, 139755193241600, 139755193257983, -STORE, 139755193241600, 139755193257983, -SNULL, 139755193233407, 139755193241599, -STORE, 139755193217024, 139755193233407, -STORE, 139755193233408, 139755193241599, -SNULL, 94872736944127, 94872736948223, -STORE, 94872736935936, 94872736944127, -STORE, 94872736944128, 94872736948223, -SNULL, 139755195502591, 139755195506687, -STORE, 139755195498496, 139755195502591, -STORE, 139755195502592, 139755195506687, -ERASE, 139755195469824, 139755195498495, -STORE, 94872749744128, 94872749879295, -STORE, 94720243642368, 94720243855359, -STORE, 94720245952512, 94720245956607, -STORE, 94720245956608, 94720245964799, -STORE, 94720245964800, 94720245977087, -STORE, 94720277745664, 94720278151167, -STORE, 140453174497280, 140453176156159, -STORE, 140453176156160, 140453178253311, -STORE, 140453178253312, 140453178269695, -STORE, 140453178269696, 140453178277887, -STORE, 140453178277888, 140453178294271, -STORE, 140453178294272, 140453178306559, -STORE, 140453178306560, 140453180399615, -STORE, 140453180399616, 140453180403711, -STORE, 140453180403712, 140453180407807, -STORE, 140453180407808, 140453180551167, -STORE, 140453180919808, 140453182603263, -STORE, 140453182603264, 140453182619647, -STORE, 140453182648320, 140453182652415, -STORE, 140453182652416, 140453182656511, -STORE, 140453182656512, 140453182660607, -STORE, 140733223923712, 140733224062975, -STORE, 140733224808448, 140733224820735, -STORE, 140733224820736, 140733224824831, -STORE, 94321091141632, 94321091354623, -STORE, 94321093451776, 94321093455871, -STORE, 94321093455872, 94321093464063, -STORE, 94321093464064, 94321093476351, -STORE, 94321115873280, 94321117229055, -STORE, 139695978840064, 139695980498943, -STORE, 139695980498944, 139695982596095, -STORE, 139695982596096, 139695982612479, -STORE, 139695982612480, 139695982620671, -STORE, 139695982620672, 139695982637055, -STORE, 139695982637056, 139695982649343, -STORE, 139695982649344, 139695984742399, -STORE, 139695984742400, 139695984746495, -STORE, 139695984746496, 139695984750591, -STORE, 139695984750592, 139695984893951, -STORE, 139695985262592, 139695986946047, -STORE, 139695986946048, 139695986962431, -STORE, 139695986991104, 139695986995199, -STORE, 139695986995200, 139695986999295, -STORE, 139695986999296, 139695987003391, -STORE, 140734650564608, 140734650703871, -STORE, 140734650785792, 140734650798079, -STORE, 140734650798080, 140734650802175, -STORE, 94523438456832, 94523438669823, -STORE, 94523440766976, 94523440771071, -STORE, 94523440771072, 94523440779263, -STORE, 94523440779264, 94523440791551, -STORE, 94523464544256, 94523465842687, -STORE, 140453231493120, 140453233151999, -STORE, 140453233152000, 140453235249151, -STORE, 140453235249152, 140453235265535, -STORE, 140453235265536, 140453235273727, -STORE, 140453235273728, 140453235290111, -STORE, 140453235290112, 140453235302399, -STORE, 140453235302400, 140453237395455, -STORE, 140453237395456, 140453237399551, -STORE, 140453237399552, 140453237403647, -STORE, 140453237403648, 140453237547007, -STORE, 140453237915648, 140453239599103, -STORE, 140453239599104, 140453239615487, -STORE, 140453239644160, 140453239648255, -STORE, 140453239648256, 140453239652351, -STORE, 140453239652352, 140453239656447, -STORE, 140734679445504, 140734679584767, -STORE, 140734680018944, 140734680031231, -STORE, 140734680031232, 140734680035327, -STORE, 94614776987648, 94614777200639, -STORE, 94614779297792, 94614779301887, -STORE, 94614779301888, 94614779310079, -STORE, 94614779310080, 94614779322367, -STORE, 94614798467072, 94614800699391, -STORE, 139677037182976, 139677038841855, -STORE, 139677038841856, 139677040939007, -STORE, 139677040939008, 139677040955391, -STORE, 139677040955392, 139677040963583, -STORE, 139677040963584, 139677040979967, -STORE, 139677040979968, 139677040992255, -STORE, 139677040992256, 139677043085311, -STORE, 139677043085312, 139677043089407, -STORE, 139677043089408, 139677043093503, -STORE, 139677043093504, 139677043236863, -STORE, 139677043605504, 139677045288959, -STORE, 139677045288960, 139677045305343, -STORE, 139677045334016, 139677045338111, -STORE, 139677045338112, 139677045342207, -STORE, 139677045342208, 139677045346303, -STORE, 140721604411392, 140721604550655, -STORE, 140721606135808, 140721606148095, -STORE, 140721606148096, 140721606152191, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140729280544768, 140737488351231, -SNULL, 140729280552959, 140737488351231, -STORE, 140729280544768, 140729280552959, -STORE, 140729280413696, 140729280552959, -STORE, 94863939334144, 94863941558271, -SNULL, 94863939444735, 94863941558271, -STORE, 94863939334144, 94863939444735, -STORE, 94863939444736, 94863941558271, -ERASE, 94863939444736, 94863941558271, -STORE, 94863941537792, 94863941550079, -STORE, 94863941550080, 94863941558271, -STORE, 139691047276544, 139691049529343, -SNULL, 139691047419903, 139691049529343, -STORE, 139691047276544, 139691047419903, -STORE, 139691047419904, 139691049529343, -ERASE, 139691047419904, 139691049529343, -STORE, 139691049517056, 139691049525247, -STORE, 139691049525248, 139691049529343, -STORE, 140729281679360, 140729281683455, -STORE, 140729281667072, 140729281679359, -STORE, 139691049488384, 139691049517055, -STORE, 139691049480192, 139691049488383, -STORE, 139691043479552, 139691047276543, -SNULL, 139691043479552, 139691045138431, -STORE, 139691045138432, 139691047276543, -STORE, 139691043479552, 139691045138431, -SNULL, 139691047235583, 139691047276543, -STORE, 139691045138432, 139691047235583, -STORE, 139691047235584, 139691047276543, -SNULL, 139691047235584, 139691047260159, -STORE, 139691047260160, 139691047276543, -STORE, 139691047235584, 139691047260159, -ERASE, 139691047235584, 139691047260159, -STORE, 139691047235584, 139691047260159, -ERASE, 139691047260160, 139691047276543, -STORE, 139691047260160, 139691047276543, -SNULL, 139691047251967, 139691047260159, -STORE, 139691047235584, 139691047251967, -STORE, 139691047251968, 139691047260159, -SNULL, 94863941545983, 94863941550079, -STORE, 94863941537792, 94863941545983, -STORE, 94863941545984, 94863941550079, -SNULL, 139691049521151, 139691049525247, -STORE, 139691049517056, 139691049521151, -STORE, 139691049521152, 139691049525247, -ERASE, 139691049488384, 139691049517055, -STORE, 94863951294464, 94863951429631, -STORE, 93998209294336, 93998209507327, -STORE, 93998211604480, 93998211608575, -STORE, 93998211608576, 93998211616767, -STORE, 93998211616768, 93998211629055, -STORE, 93998227210240, 93998227615743, -STORE, 140243029913600, 140243031572479, -STORE, 140243031572480, 140243033669631, -STORE, 140243033669632, 140243033686015, -STORE, 140243033686016, 140243033694207, -STORE, 140243033694208, 140243033710591, -STORE, 140243033710592, 140243033722879, -STORE, 140243033722880, 140243035815935, -STORE, 140243035815936, 140243035820031, -STORE, 140243035820032, 140243035824127, -STORE, 140243035824128, 140243035967487, -STORE, 140243036336128, 140243038019583, -STORE, 140243038019584, 140243038035967, -STORE, 140243038064640, 140243038068735, -STORE, 140243038068736, 140243038072831, -STORE, 140243038072832, 140243038076927, -STORE, 140734976479232, 140734976618495, -STORE, 140734977978368, 140734977990655, -STORE, 140734977990656, 140734977994751, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722742775808, 140737488351231, -SNULL, 140722742783999, 140737488351231, -STORE, 140722742775808, 140722742783999, -STORE, 140722742644736, 140722742783999, -STORE, 93857673662464, 93857675997183, -SNULL, 93857673875455, 93857675997183, -STORE, 93857673662464, 93857673875455, -STORE, 93857673875456, 93857675997183, -ERASE, 93857673875456, 93857675997183, -STORE, 93857675972608, 93857675984895, -STORE, 93857675984896, 93857675997183, -STORE, 140629677498368, 140629679751167, -SNULL, 140629677641727, 140629679751167, -STORE, 140629677498368, 140629677641727, -STORE, 140629677641728, 140629679751167, -ERASE, 140629677641728, 140629679751167, -STORE, 140629679738880, 140629679747071, -STORE, 140629679747072, 140629679751167, -STORE, 140722743222272, 140722743226367, -STORE, 140722743209984, 140722743222271, -STORE, 140629679710208, 140629679738879, -STORE, 140629679702016, 140629679710207, -STORE, 140629675384832, 140629677498367, -SNULL, 140629675384832, 140629675397119, -STORE, 140629675397120, 140629677498367, -STORE, 140629675384832, 140629675397119, -SNULL, 140629677490175, 140629677498367, -STORE, 140629675397120, 140629677490175, -STORE, 140629677490176, 140629677498367, -ERASE, 140629677490176, 140629677498367, -STORE, 140629677490176, 140629677498367, -STORE, 140629671587840, 140629675384831, -SNULL, 140629671587840, 140629673246719, -STORE, 140629673246720, 140629675384831, -STORE, 140629671587840, 140629673246719, -SNULL, 140629675343871, 140629675384831, -STORE, 140629673246720, 140629675343871, -STORE, 140629675343872, 140629675384831, -SNULL, 140629675343872, 140629675368447, -STORE, 140629675368448, 140629675384831, -STORE, 140629675343872, 140629675368447, -ERASE, 140629675343872, 140629675368447, -STORE, 140629675343872, 140629675368447, -ERASE, 140629675368448, 140629675384831, -STORE, 140629675368448, 140629675384831, -STORE, 140629679693824, 140629679710207, -SNULL, 140629675360255, 140629675368447, -STORE, 140629675343872, 140629675360255, -STORE, 140629675360256, 140629675368447, -SNULL, 140629677494271, 140629677498367, -STORE, 140629677490176, 140629677494271, -STORE, 140629677494272, 140629677498367, -SNULL, 93857675976703, 93857675984895, -STORE, 93857675972608, 93857675976703, -STORE, 93857675976704, 93857675984895, -SNULL, 140629679742975, 140629679747071, -STORE, 140629679738880, 140629679742975, -STORE, 140629679742976, 140629679747071, -ERASE, 140629679710208, 140629679738879, -STORE, 93857705832448, 93857705967615, -STORE, 140629678010368, 140629679693823, -STORE, 93857705832448, 93857706102783, -STORE, 93857705832448, 93857706237951, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735922421760, 140737488351231, -SNULL, 140735922429951, 140737488351231, -STORE, 140735922421760, 140735922429951, -STORE, 140735922290688, 140735922429951, -STORE, 94651136139264, 94651138363391, -SNULL, 94651136249855, 94651138363391, -STORE, 94651136139264, 94651136249855, -STORE, 94651136249856, 94651138363391, -ERASE, 94651136249856, 94651138363391, -STORE, 94651138342912, 94651138355199, -STORE, 94651138355200, 94651138363391, -STORE, 140325788266496, 140325790519295, -SNULL, 140325788409855, 140325790519295, -STORE, 140325788266496, 140325788409855, -STORE, 140325788409856, 140325790519295, -ERASE, 140325788409856, 140325790519295, -STORE, 140325790507008, 140325790515199, -STORE, 140325790515200, 140325790519295, -STORE, 140735923572736, 140735923576831, -STORE, 140735923560448, 140735923572735, -STORE, 140325790478336, 140325790507007, -STORE, 140325790470144, 140325790478335, -STORE, 140325784469504, 140325788266495, -SNULL, 140325784469504, 140325786128383, -STORE, 140325786128384, 140325788266495, -STORE, 140325784469504, 140325786128383, -SNULL, 140325788225535, 140325788266495, -STORE, 140325786128384, 140325788225535, -STORE, 140325788225536, 140325788266495, -SNULL, 140325788225536, 140325788250111, -STORE, 140325788250112, 140325788266495, -STORE, 140325788225536, 140325788250111, -ERASE, 140325788225536, 140325788250111, -STORE, 140325788225536, 140325788250111, -ERASE, 140325788250112, 140325788266495, -STORE, 140325788250112, 140325788266495, -SNULL, 140325788241919, 140325788250111, -STORE, 140325788225536, 140325788241919, -STORE, 140325788241920, 140325788250111, -SNULL, 94651138351103, 94651138355199, -STORE, 94651138342912, 94651138351103, -STORE, 94651138351104, 94651138355199, -SNULL, 140325790511103, 140325790515199, -STORE, 140325790507008, 140325790511103, -STORE, 140325790511104, 140325790515199, -ERASE, 140325790478336, 140325790507007, -STORE, 94651146297344, 94651146432511, -STORE, 94212330168320, 94212330381311, -STORE, 94212332478464, 94212332482559, -STORE, 94212332482560, 94212332490751, -STORE, 94212332490752, 94212332503039, -STORE, 94212348891136, 94212349825023, -STORE, 140611630604288, 140611632263167, -STORE, 140611632263168, 140611634360319, -STORE, 140611634360320, 140611634376703, -STORE, 140611634376704, 140611634384895, -STORE, 140611634384896, 140611634401279, -STORE, 140611634401280, 140611634413567, -STORE, 140611634413568, 140611636506623, -STORE, 140611636506624, 140611636510719, -STORE, 140611636510720, 140611636514815, -STORE, 140611636514816, 140611636658175, -STORE, 140611637026816, 140611638710271, -STORE, 140611638710272, 140611638726655, -STORE, 140611638755328, 140611638759423, -STORE, 140611638759424, 140611638763519, -STORE, 140611638763520, 140611638767615, -STORE, 140726974533632, 140726974672895, -STORE, 140726974943232, 140726974955519, -STORE, 140726974955520, 140726974959615, -STORE, 94572463521792, 94572463734783, -STORE, 94572465831936, 94572465836031, -STORE, 94572465836032, 94572465844223, -STORE, 94572465844224, 94572465856511, -STORE, 94572491534336, 94572492865535, -STORE, 140644351492096, 140644353150975, -STORE, 140644353150976, 140644355248127, -STORE, 140644355248128, 140644355264511, -STORE, 140644355264512, 140644355272703, -STORE, 140644355272704, 140644355289087, -STORE, 140644355289088, 140644355301375, -STORE, 140644355301376, 140644357394431, -STORE, 140644357394432, 140644357398527, -STORE, 140644357398528, 140644357402623, -STORE, 140644357402624, 140644357545983, -STORE, 140644357914624, 140644359598079, -STORE, 140644359598080, 140644359614463, -STORE, 140644359643136, 140644359647231, -STORE, 140644359647232, 140644359651327, -STORE, 140644359651328, 140644359655423, -STORE, 140727841824768, 140727841964031, -STORE, 140727843188736, 140727843201023, -STORE, 140727843201024, 140727843205119, -STORE, 94144315457536, 94144315670527, -STORE, 94144317767680, 94144317771775, -STORE, 94144317771776, 94144317779967, -STORE, 94144317779968, 94144317792255, -STORE, 94144318369792, 94144320815103, -STORE, 140316717645824, 140316719304703, -STORE, 140316719304704, 140316721401855, -STORE, 140316721401856, 140316721418239, -STORE, 140316721418240, 140316721426431, -STORE, 140316721426432, 140316721442815, -STORE, 140316721442816, 140316721455103, -STORE, 140316721455104, 140316723548159, -STORE, 140316723548160, 140316723552255, -STORE, 140316723552256, 140316723556351, -STORE, 140316723556352, 140316723699711, -STORE, 140316724068352, 140316725751807, -STORE, 140316725751808, 140316725768191, -STORE, 140316725796864, 140316725800959, -STORE, 140316725800960, 140316725805055, -STORE, 140316725805056, 140316725809151, -STORE, 140725744283648, 140725744422911, -STORE, 140725745852416, 140725745864703, -STORE, 140725745864704, 140725745868799, -STORE, 94646858846208, 94646859059199, -STORE, 94646861156352, 94646861160447, -STORE, 94646861160448, 94646861168639, -STORE, 94646861168640, 94646861180927, -STORE, 94646879805440, 94646881894399, -STORE, 140435449745408, 140435451404287, -STORE, 140435451404288, 140435453501439, -STORE, 140435453501440, 140435453517823, -STORE, 140435453517824, 140435453526015, -STORE, 140435453526016, 140435453542399, -STORE, 140435453542400, 140435453554687, -STORE, 140435453554688, 140435455647743, -STORE, 140435455647744, 140435455651839, -STORE, 140435455651840, 140435455655935, -STORE, 140435455655936, 140435455799295, -STORE, 140435456167936, 140435457851391, -STORE, 140435457851392, 140435457867775, -STORE, 140435457896448, 140435457900543, -STORE, 140435457900544, 140435457904639, -STORE, 140435457904640, 140435457908735, -STORE, 140721033818112, 140721033957375, -STORE, 140721034018816, 140721034031103, -STORE, 140721034031104, 140721034035199, -STORE, 94872903438336, 94872903651327, -STORE, 94872905748480, 94872905752575, -STORE, 94872905752576, 94872905760767, -STORE, 94872905760768, 94872905773055, -STORE, 94872931246080, 94872931651583, -STORE, 139771607810048, 139771609468927, -STORE, 139771609468928, 139771611566079, -STORE, 139771611566080, 139771611582463, -STORE, 139771611582464, 139771611590655, -STORE, 139771611590656, 139771611607039, -STORE, 139771611607040, 139771611619327, -STORE, 139771611619328, 139771613712383, -STORE, 139771613712384, 139771613716479, -STORE, 139771613716480, 139771613720575, -STORE, 139771613720576, 139771613863935, -STORE, 139771614232576, 139771615916031, -STORE, 139771615916032, 139771615932415, -STORE, 139771615961088, 139771615965183, -STORE, 139771615965184, 139771615969279, -STORE, 139771615969280, 139771615973375, -STORE, 140725402931200, 140725403070463, -STORE, 140725403852800, 140725403865087, -STORE, 140725403865088, 140725403869183, -STORE, 94740737736704, 94740737949695, -STORE, 94740740046848, 94740740050943, -STORE, 94740740050944, 94740740059135, -STORE, 94740740059136, 94740740071423, -STORE, 94740743249920, 94740744724479, -STORE, 140640287010816, 140640288669695, -STORE, 140640288669696, 140640290766847, -STORE, 140640290766848, 140640290783231, -STORE, 140640290783232, 140640290791423, -STORE, 140640290791424, 140640290807807, -STORE, 140640290807808, 140640290820095, -STORE, 140640290820096, 140640292913151, -STORE, 140640292913152, 140640292917247, -STORE, 140640292917248, 140640292921343, -STORE, 140640292921344, 140640293064703, -STORE, 140640293433344, 140640295116799, -STORE, 140640295116800, 140640295133183, -STORE, 140640295161856, 140640295165951, -STORE, 140640295165952, 140640295170047, -STORE, 140640295170048, 140640295174143, -STORE, 140725133303808, 140725133443071, -STORE, 140725133684736, 140725133697023, -STORE, 140725133697024, 140725133701119, -STORE, 140737488347136, 140737488351231, -STORE, 140722826371072, 140737488351231, -SNULL, 140722826375167, 140737488351231, -STORE, 140722826371072, 140722826375167, -STORE, 140722826240000, 140722826375167, -STORE, 94113818611712, 94113820835839, -SNULL, 94113818722303, 94113820835839, -STORE, 94113818611712, 94113818722303, -STORE, 94113818722304, 94113820835839, -ERASE, 94113818722304, 94113820835839, -STORE, 94113820815360, 94113820827647, -STORE, 94113820827648, 94113820835839, -STORE, 139628194508800, 139628196761599, -SNULL, 139628194652159, 139628196761599, -STORE, 139628194508800, 139628194652159, -STORE, 139628194652160, 139628196761599, -ERASE, 139628194652160, 139628196761599, -STORE, 139628196749312, 139628196757503, -STORE, 139628196757504, 139628196761599, -STORE, 140722826727424, 140722826731519, -STORE, 140722826715136, 140722826727423, -STORE, 139628196720640, 139628196749311, -STORE, 139628196712448, 139628196720639, -STORE, 139628190711808, 139628194508799, -SNULL, 139628190711808, 139628192370687, -STORE, 139628192370688, 139628194508799, -STORE, 139628190711808, 139628192370687, -SNULL, 139628194467839, 139628194508799, -STORE, 139628192370688, 139628194467839, -STORE, 139628194467840, 139628194508799, -SNULL, 139628194467840, 139628194492415, -STORE, 139628194492416, 139628194508799, -STORE, 139628194467840, 139628194492415, -ERASE, 139628194467840, 139628194492415, -STORE, 139628194467840, 139628194492415, -ERASE, 139628194492416, 139628194508799, -STORE, 139628194492416, 139628194508799, -SNULL, 139628194484223, 139628194492415, -STORE, 139628194467840, 139628194484223, -STORE, 139628194484224, 139628194492415, -SNULL, 94113820823551, 94113820827647, -STORE, 94113820815360, 94113820823551, -STORE, 94113820823552, 94113820827647, -SNULL, 139628196753407, 139628196757503, -STORE, 139628196749312, 139628196753407, -STORE, 139628196753408, 139628196757503, -ERASE, 139628196720640, 139628196749311, -STORE, 94113830850560, 94113830985727, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140731865833472, 140737488351231, -SNULL, 140731865841663, 140737488351231, -STORE, 140731865833472, 140731865841663, -STORE, 140731865702400, 140731865841663, -STORE, 94763339386880, 94763341611007, -SNULL, 94763339497471, 94763341611007, -STORE, 94763339386880, 94763339497471, -STORE, 94763339497472, 94763341611007, -ERASE, 94763339497472, 94763341611007, -STORE, 94763341590528, 94763341602815, -STORE, 94763341602816, 94763341611007, -STORE, 139778398486528, 139778400739327, -SNULL, 139778398629887, 139778400739327, -STORE, 139778398486528, 139778398629887, -STORE, 139778398629888, 139778400739327, -ERASE, 139778398629888, 139778400739327, -STORE, 139778400727040, 139778400735231, -STORE, 139778400735232, 139778400739327, -STORE, 140731865858048, 140731865862143, -STORE, 140731865845760, 140731865858047, -STORE, 139778400698368, 139778400727039, -STORE, 139778400690176, 139778400698367, -STORE, 139778394689536, 139778398486527, -SNULL, 139778394689536, 139778396348415, -STORE, 139778396348416, 139778398486527, -STORE, 139778394689536, 139778396348415, -SNULL, 139778398445567, 139778398486527, -STORE, 139778396348416, 139778398445567, -STORE, 139778398445568, 139778398486527, -SNULL, 139778398445568, 139778398470143, -STORE, 139778398470144, 139778398486527, -STORE, 139778398445568, 139778398470143, -ERASE, 139778398445568, 139778398470143, -STORE, 139778398445568, 139778398470143, -ERASE, 139778398470144, 139778398486527, -STORE, 139778398470144, 139778398486527, -SNULL, 139778398461951, 139778398470143, -STORE, 139778398445568, 139778398461951, -STORE, 139778398461952, 139778398470143, -SNULL, 94763341598719, 94763341602815, -STORE, 94763341590528, 94763341598719, -STORE, 94763341598720, 94763341602815, -SNULL, 139778400731135, 139778400735231, -STORE, 139778400727040, 139778400731135, -STORE, 139778400731136, 139778400735231, -ERASE, 139778400698368, 139778400727039, -STORE, 94763362197504, 94763362332671, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140737488338944, 140737488351231, -STORE, 140732053192704, 140737488351231, -SNULL, 140732053204991, 140737488351231, -STORE, 140732053192704, 140732053204991, -STORE, 140732053061632, 140732053204991, -STORE, 4194304, 26279935, -STORE, 28372992, 28454911, -STORE, 28454912, 29806591, -STORE, 140176018599936, 140176020852735, -SNULL, 140176018743295, 140176020852735, -STORE, 140176018599936, 140176018743295, -STORE, 140176018743296, 140176020852735, -ERASE, 140176018743296, 140176020852735, -STORE, 140176020840448, 140176020848639, -STORE, 140176020848640, 140176020852735, -STORE, 140732053381120, 140732053385215, -STORE, 140732053368832, 140732053381119, -STORE, 140176020811776, 140176020840447, -STORE, 140176020803584, 140176020811775, -STORE, 140176014766080, 140176018599935, -SNULL, 140176014766080, 140176016474111, -STORE, 140176016474112, 140176018599935, -STORE, 140176014766080, 140176016474111, -SNULL, 140176018567167, 140176018599935, -STORE, 140176016474112, 140176018567167, -STORE, 140176018567168, 140176018599935, -ERASE, 140176018567168, 140176018599935, -STORE, 140176018567168, 140176018599935, -STORE, 140176012570624, 140176014766079, -SNULL, 140176012570624, 140176012664831, -STORE, 140176012664832, 140176014766079, -STORE, 140176012570624, 140176012664831, -SNULL, 140176014757887, 140176014766079, -STORE, 140176012664832, 140176014757887, -STORE, 140176014757888, 140176014766079, -ERASE, 140176014757888, 140176014766079, -STORE, 140176014757888, 140176014766079, -STORE, 140176010051584, 140176012570623, -SNULL, 140176010051584, 140176010465279, -STORE, 140176010465280, 140176012570623, -STORE, 140176010051584, 140176010465279, -SNULL, 140176012558335, 140176012570623, -STORE, 140176010465280, 140176012558335, -STORE, 140176012558336, 140176012570623, -ERASE, 140176012558336, 140176012570623, -STORE, 140176012558336, 140176012570623, -STORE, 140176007417856, 140176010051583, -SNULL, 140176007417856, 140176007946239, -STORE, 140176007946240, 140176010051583, -STORE, 140176007417856, 140176007946239, -SNULL, 140176010043391, 140176010051583, -STORE, 140176007946240, 140176010043391, -STORE, 140176010043392, 140176010051583, -ERASE, 140176010043392, 140176010051583, -STORE, 140176010043392, 140176010051583, -STORE, 140176005304320, 140176007417855, -SNULL, 140176005304320, 140176005316607, -STORE, 140176005316608, 140176007417855, -STORE, 140176005304320, 140176005316607, -SNULL, 140176007409663, 140176007417855, -STORE, 140176005316608, 140176007409663, -STORE, 140176007409664, 140176007417855, -ERASE, 140176007409664, 140176007417855, -STORE, 140176007409664, 140176007417855, -STORE, 140176003100672, 140176005304319, -SNULL, 140176003100672, 140176003203071, -STORE, 140176003203072, 140176005304319, -STORE, 140176003100672, 140176003203071, -SNULL, 140176005296127, 140176005304319, -STORE, 140176003203072, 140176005296127, -STORE, 140176005296128, 140176005304319, -ERASE, 140176005296128, 140176005304319, -STORE, 140176005296128, 140176005304319, -STORE, 140176020795392, 140176020811775, -STORE, 140175999938560, 140176003100671, -SNULL, 140175999938560, 140176000999423, -STORE, 140176000999424, 140176003100671, -STORE, 140175999938560, 140176000999423, -SNULL, 140176003092479, 140176003100671, -STORE, 140176000999424, 140176003092479, -STORE, 140176003092480, 140176003100671, -ERASE, 140176003092480, 140176003100671, -STORE, 140176003092480, 140176003100671, -STORE, 140175996141568, 140175999938559, -SNULL, 140175996141568, 140175997800447, -STORE, 140175997800448, 140175999938559, -STORE, 140175996141568, 140175997800447, -SNULL, 140175999897599, 140175999938559, -STORE, 140175997800448, 140175999897599, -STORE, 140175999897600, 140175999938559, -SNULL, 140175999897600, 140175999922175, -STORE, 140175999922176, 140175999938559, -STORE, 140175999897600, 140175999922175, -ERASE, 140175999897600, 140175999922175, -STORE, 140175999897600, 140175999922175, -ERASE, 140175999922176, 140175999938559, -STORE, 140175999922176, 140175999938559, -STORE, 140176020783104, 140176020811775, -SNULL, 140175999913983, 140175999922175, -STORE, 140175999897600, 140175999913983, -STORE, 140175999913984, 140175999922175, -SNULL, 140176003096575, 140176003100671, -STORE, 140176003092480, 140176003096575, -STORE, 140176003096576, 140176003100671, -SNULL, 140176005300223, 140176005304319, -STORE, 140176005296128, 140176005300223, -STORE, 140176005300224, 140176005304319, -SNULL, 140176007413759, 140176007417855, -STORE, 140176007409664, 140176007413759, -STORE, 140176007413760, 140176007417855, -SNULL, 140176010047487, 140176010051583, -STORE, 140176010043392, 140176010047487, -STORE, 140176010047488, 140176010051583, -SNULL, 140176012566527, 140176012570623, -STORE, 140176012558336, 140176012566527, -STORE, 140176012566528, 140176012570623, -SNULL, 140176014761983, 140176014766079, -STORE, 140176014757888, 140176014761983, -STORE, 140176014761984, 140176014766079, -SNULL, 140176018571263, 140176018599935, -STORE, 140176018567168, 140176018571263, -STORE, 140176018571264, 140176018599935, -SNULL, 28405759, 28454911, -STORE, 28372992, 28405759, -STORE, 28405760, 28454911, -SNULL, 140176020844543, 140176020848639, -STORE, 140176020840448, 140176020844543, -STORE, 140176020844544, 140176020848639, -ERASE, 140176020811776, 140176020840447, -STORE, 53080064, 53215231, -STORE, 140176019099648, 140176020783103, -STORE, 140176020836352, 140176020840447, -STORE, 140176018964480, 140176019099647, -STORE, 53080064, 53358591, -STORE, 140175994044416, 140175996141567, -STORE, 140176020828160, 140176020840447, -STORE, 140176020819968, 140176020840447, -STORE, 140176020783104, 140176020819967, -STORE, 140176018948096, 140176019099647, -STORE, 53080064, 53493759, -STORE, 53080064, 53649407, -STORE, 140176018939904, 140176019099647, -STORE, 140176018931712, 140176019099647, -STORE, 53080064, 53784575, -STORE, 53080064, 53919743, -STORE, 140176018915328, 140176019099647, -STORE, 140176018907136, 140176019099647, -STORE, 53080064, 54059007, -STORE, 140175993769984, 140175996141567, -STORE, 140176018747392, 140176019099647, -STORE, 53080064, 54198271, -SNULL, 54190079, 54198271, -STORE, 53080064, 54190079, -STORE, 54190080, 54198271, -ERASE, 54190080, 54198271, -SNULL, 54181887, 54190079, -STORE, 53080064, 54181887, -STORE, 54181888, 54190079, -ERASE, 54181888, 54190079, -SNULL, 54173695, 54181887, -STORE, 53080064, 54173695, -STORE, 54173696, 54181887, -ERASE, 54173696, 54181887, -SNULL, 54165503, 54173695, -STORE, 53080064, 54165503, -STORE, 54165504, 54173695, -ERASE, 54165504, 54173695, -STORE, 140175993753600, 140175996141567, -STORE, 140175993688064, 140175996141567, -STORE, 140175993655296, 140175996141567, -STORE, 140175991558144, 140175996141567, -STORE, 140175991492608, 140175996141567, -STORE, 53080064, 54312959, -STORE, 140175991361536, 140175996141567, -STORE, 140175991099392, 140175996141567, -STORE, 140175991091200, 140175996141567, -STORE, 140175991074816, 140175996141567, -STORE, 140175991066624, 140175996141567, -STORE, 140175991058432, 140175996141567, -STORE, 53080064, 54448127, -SNULL, 54439935, 54448127, -STORE, 53080064, 54439935, -STORE, 54439936, 54448127, -ERASE, 54439936, 54448127, -SNULL, 54431743, 54439935, -STORE, 53080064, 54431743, -STORE, 54431744, 54439935, -ERASE, 54431744, 54439935, -SNULL, 54419455, 54431743, -STORE, 53080064, 54419455, -STORE, 54419456, 54431743, -ERASE, 54419456, 54431743, -SNULL, 54403071, 54419455, -STORE, 53080064, 54403071, -STORE, 54403072, 54419455, -ERASE, 54403072, 54419455, -STORE, 140175991042048, 140175996141567, -STORE, 53080064, 54538239, -SNULL, 54534143, 54538239, -STORE, 53080064, 54534143, -STORE, 54534144, 54538239, -ERASE, 54534144, 54538239, -SNULL, 54530047, 54534143, -STORE, 53080064, 54530047, -STORE, 54530048, 54534143, -ERASE, 54530048, 54534143, -SNULL, 54525951, 54530047, -STORE, 53080064, 54525951, -STORE, 54525952, 54530047, -ERASE, 54525952, 54530047, -SNULL, 54521855, 54525951, -STORE, 53080064, 54521855, -STORE, 54521856, 54525951, -ERASE, 54521856, 54525951, -SNULL, 54517759, 54521855, -STORE, 53080064, 54517759, -STORE, 54517760, 54521855, -ERASE, 54517760, 54521855, -SNULL, 54513663, 54517759, -STORE, 53080064, 54513663, -STORE, 54513664, 54517759, -ERASE, 54513664, 54517759, -SNULL, 54509567, 54513663, -STORE, 53080064, 54509567, -STORE, 54509568, 54513663, -ERASE, 54509568, 54513663, -STORE, 140175991025664, 140175996141567, -STORE, 140175990992896, 140175996141567, -STORE, 53080064, 54644735, -SNULL, 54628351, 54644735, -STORE, 53080064, 54628351, -STORE, 54628352, 54644735, -ERASE, 54628352, 54644735, -SNULL, 54616063, 54628351, -STORE, 53080064, 54616063, -STORE, 54616064, 54628351, -ERASE, 54616064, 54628351, -STORE, 140175988895744, 140175996141567, -STORE, 53080064, 54767615, -STORE, 140175988879360, 140175996141567, -STORE, 140175988617216, 140175996141567, -STORE, 140175988609024, 140175996141567, -STORE, 140175988600832, 140175996141567, -STORE, 53080064, 54906879, -SNULL, 54898687, 54906879, -STORE, 53080064, 54898687, -STORE, 54898688, 54906879, -ERASE, 54898688, 54906879, -SNULL, 54853631, 54898687, -STORE, 53080064, 54853631, -STORE, 54853632, 54898687, -ERASE, 54853632, 54898687, -STORE, 140175986503680, 140175996141567, -STORE, 53080064, 54996991, -STORE, 140175986495488, 140175996141567, -STORE, 140175986487296, 140175996141567, -STORE, 140175985438720, 140175996141567, -STORE, 53080064, 55136255, -STORE, 140175985405952, 140175996141567, -STORE, 140175985139712, 140175996141567, -SNULL, 140176018964479, 140176019099647, -STORE, 140176018747392, 140176018964479, -STORE, 140176018964480, 140176019099647, -ERASE, 140176018964480, 140176019099647, -STORE, 140175983042560, 140175996141567, -STORE, 140175982518272, 140175996141567, -STORE, 140175980421120, 140175996141567, -STORE, 53080064, 55287807, -STORE, 53080064, 55427071, -STORE, 140176019091456, 140176019099647, -STORE, 140176019083264, 140176019099647, -STORE, 140176019075072, 140176019099647, -STORE, 140176019066880, 140176019099647, -STORE, 140176019058688, 140176019099647, -STORE, 140175980158976, 140175996141567, -STORE, 140176019050496, 140176019099647, -STORE, 140176019042304, 140176019099647, -STORE, 140176019034112, 140176019099647, -STORE, 140176019025920, 140176019099647, -STORE, 140176019017728, 140176019099647, -STORE, 140176019009536, 140176019099647, -STORE, 140176019001344, 140176019099647, -STORE, 140176018993152, 140176019099647, -STORE, 140176018984960, 140176019099647, -STORE, 140176018976768, 140176019099647, -STORE, 140176018968576, 140176019099647, -STORE, 140175978061824, 140175996141567, -STORE, 53080064, 55603199, -STORE, 140175978029056, 140175996141567, -STORE, 140175977996288, 140175996141567, -STORE, 53080064, 55738367, -STORE, 53080064, 55881727, -STORE, 140175977963520, 140175996141567, -STORE, 140175977930752, 140175996141567, -STORE, 53080064, 56041471, -STORE, 140175977897984, 140175996141567, -STORE, 140175977865216, 140175996141567, -SNULL, 55881727, 56041471, -STORE, 53080064, 55881727, -STORE, 55881728, 56041471, -ERASE, 55881728, 56041471, -SNULL, 55721983, 55881727, -STORE, 53080064, 55721983, -STORE, 55721984, 55881727, -ERASE, 55721984, 55881727, -SNULL, 55570431, 55721983, -STORE, 53080064, 55570431, -STORE, 55570432, 55721983, -ERASE, 55570432, 55721983, -STORE, 140175977857024, 140175996141567, -STORE, 140175975759872, 140175996141567, -STORE, 53080064, 55754751, -STORE, 53080064, 55943167, -STORE, 140175975751680, 140175996141567, -STORE, 140175975743488, 140175996141567, -STORE, 140175975735296, 140175996141567, -STORE, 140175975727104, 140175996141567, -STORE, 140175975718912, 140175996141567, -STORE, 140175975710720, 140175996141567, -STORE, 140175975702528, 140175996141567, -STORE, 140175975694336, 140175996141567, -STORE, 140175975686144, 140175996141567, -STORE, 140175975677952, 140175996141567, -STORE, 140175975669760, 140175996141567, -STORE, 140175974621184, 140175996141567, -STORE, 140175974612992, 140175996141567, -STORE, 53080064, 56139775, -STORE, 140175972515840, 140175996141567, -STORE, 53080064, 56401919, -STORE, 140175970418688, 140175996141567, -STORE, 140175970410496, 140175996141567, -STORE, 140175970402304, 140175996141567, -STORE, 140175970394112, 140175996141567, -STORE, 53080064, 56569855, -STORE, 140175969865728, 140175996141567, -SNULL, 140175985139711, 140175996141567, -STORE, 140175969865728, 140175985139711, -STORE, 140175985139712, 140175996141567, -SNULL, 140175985139712, 140175985405951, -STORE, 140175985405952, 140175996141567, -STORE, 140175985139712, 140175985405951, -ERASE, 140175985139712, 140175985405951, -STORE, 140175965671424, 140175985139711, -STORE, 140175985397760, 140175996141567, -STORE, 140175985389568, 140175996141567, -STORE, 140175985381376, 140175996141567, -STORE, 140175985373184, 140175996141567, -STORE, 140175985364992, 140175996141567, -STORE, 140175985356800, 140175996141567, -STORE, 140175985348608, 140175996141567, -STORE, 140175985340416, 140175996141567, -STORE, 140175985332224, 140175996141567, -STORE, 140175985324032, 140175996141567, -STORE, 140175985315840, 140175996141567, -STORE, 140175985307648, 140175996141567, -STORE, 140175985299456, 140175996141567, -STORE, 140175985291264, 140175996141567, -STORE, 140175985283072, 140175996141567, -STORE, 140175985274880, 140175996141567, -STORE, 140175963574272, 140175985139711, -STORE, 140175985266688, 140175996141567, -STORE, 140175961477120, 140175985139711, -STORE, 53080064, 56831999, -STORE, 140175959379968, 140175985139711, -STORE, 140175985258496, 140175996141567, -STORE, 140175957282816, 140175985139711, -STORE, 140175985250304, 140175996141567, -STORE, 140175985242112, 140175996141567, -STORE, 140175985233920, 140175996141567, -STORE, 140175985225728, 140175996141567, -STORE, 140175985217536, 140175996141567, -STORE, 140175957151744, 140175985139711, -STORE, 140175956627456, 140175985139711, -SNULL, 140175980158975, 140175985139711, -STORE, 140175956627456, 140175980158975, -STORE, 140175980158976, 140175985139711, -SNULL, 140175980158976, 140175980421119, -STORE, 140175980421120, 140175985139711, -STORE, 140175980158976, 140175980421119, -ERASE, 140175980158976, 140175980421119, -STORE, 140175954530304, 140175980158975, -STORE, 140175985209344, 140175996141567, -STORE, 53080064, 57094143, -STORE, 140175952433152, 140175980158975, -STORE, 140175985192960, 140175996141567, -STORE, 140175985184768, 140175996141567, -STORE, 140175985176576, 140175996141567, -STORE, 140175985168384, 140175996141567, -STORE, 140175985160192, 140175996141567, -STORE, 140175985152000, 140175996141567, -STORE, 140175985143808, 140175996141567, -STORE, 140175980412928, 140175985139711, -STORE, 140175980404736, 140175985139711, -STORE, 140175980396544, 140175985139711, -STORE, 140175980388352, 140175985139711, -STORE, 140175980380160, 140175985139711, -STORE, 140175980371968, 140175985139711, -STORE, 140175980363776, 140175985139711, -STORE, 140175980355584, 140175985139711, -STORE, 140175980347392, 140175985139711, -STORE, 140175980339200, 140175985139711, -STORE, 53080064, 57356287, -SNULL, 140176018747392, 140176018907135, -STORE, 140176018907136, 140176018964479, -STORE, 140176018747392, 140176018907135, -ERASE, 140176018747392, 140176018907135, -STORE, 140175952146432, 140175980158975, -STORE, 140175950049280, 140175980158975, -SNULL, 140175952146431, 140175980158975, -STORE, 140175950049280, 140175952146431, -STORE, 140175952146432, 140175980158975, -SNULL, 140175952146432, 140175952433151, -STORE, 140175952433152, 140175980158975, -STORE, 140175952146432, 140175952433151, -ERASE, 140175952146432, 140175952433151, -STORE, 140176018898944, 140176018964479, -STORE, 53080064, 57749503, -STORE, 140175949520896, 140175952146431, -STORE, 140175947423744, 140175952146431, -SNULL, 140175993769983, 140175996141567, -STORE, 140175985143808, 140175993769983, -STORE, 140175993769984, 140175996141567, -SNULL, 140175993769984, 140175994044415, -STORE, 140175994044416, 140175996141567, -STORE, 140175993769984, 140175994044415, -ERASE, 140175993769984, 140175994044415, -STORE, 140176018890752, 140176018964479, -STORE, 140176018882560, 140176018964479, -STORE, 140176018874368, 140176018964479, -STORE, 140176018866176, 140176018964479, -STORE, 140176018849792, 140176018964479, -STORE, 140176018841600, 140176018964479, -STORE, 140176018825216, 140176018964479, -STORE, 140176018817024, 140176018964479, -STORE, 140176018800640, 140176018964479, -STORE, 140176018792448, 140176018964479, -STORE, 140176018759680, 140176018964479, -STORE, 140176018751488, 140176018964479, -STORE, 140175994028032, 140175996141567, -STORE, 140176018743296, 140176018964479, -STORE, 140175994011648, 140175996141567, -STORE, 140175994003456, 140175996141567, -STORE, 140175993987072, 140175996141567, -STORE, 140175993978880, 140175996141567, -STORE, 140175993946112, 140175996141567, -STORE, 140175993937920, 140175996141567, -STORE, 140175993921536, 140175996141567, -STORE, 140175993913344, 140175996141567, -STORE, 140175993896960, 140175996141567, -STORE, 140175993888768, 140175996141567, -STORE, 140175993872384, 140175996141567, -STORE, 140175993864192, 140175996141567, -STORE, 140175993831424, 140175996141567, -STORE, 140175993823232, 140175996141567, -STORE, 140175993806848, 140175996141567, -STORE, 140175993798656, 140175996141567, -STORE, 140175993782272, 140175996141567, -STORE, 140175993774080, 140175996141567, -STORE, 140175980322816, 140175985139711, -STORE, 140175980314624, 140175985139711, -STORE, 140175980281856, 140175985139711, -STORE, 140175980273664, 140175985139711, -STORE, 140175980257280, 140175985139711, -STORE, 140175945326592, 140175952146431, -STORE, 140175980249088, 140175985139711, -STORE, 140175980232704, 140175985139711, -STORE, 140175980224512, 140175985139711, -STORE, 140175980208128, 140175985139711, -STORE, 140175980199936, 140175985139711, -STORE, 140175980167168, 140175985139711, -STORE, 140175952433152, 140175985139711, -STORE, 140175952416768, 140175985139711, -STORE, 140175952408576, 140175985139711, -STORE, 140175952392192, 140175985139711, -STORE, 140175952384000, 140175985139711, -STORE, 140175952367616, 140175985139711, -STORE, 140175943229440, 140175952146431, -STORE, 140175952359424, 140175985139711, -STORE, 140175952326656, 140175985139711, -STORE, 140175952318464, 140175985139711, -STORE, 140175952302080, 140175985139711, -STORE, 140175952293888, 140175985139711, -STORE, 140175952277504, 140175985139711, -STORE, 140175952269312, 140175985139711, -STORE, 140175952252928, 140175985139711, -STORE, 140175952244736, 140175985139711, -STORE, 140175952211968, 140175985139711, -STORE, 140175952203776, 140175985139711, -STORE, 140175952187392, 140175985139711, -STORE, 140175952179200, 140175985139711, -STORE, 140175952162816, 140175985139711, -STORE, 140175952154624, 140175985139711, -STORE, 140175943213056, 140175952146431, -STORE, 140175943213056, 140175985139711, -STORE, 140175943180288, 140175985139711, -STORE, 140175943172096, 140175985139711, -STORE, 140175943155712, 140175985139711, -STORE, 140175943147520, 140175985139711, -STORE, 140175943131136, 140175985139711, -STORE, 140175943122944, 140175985139711, -STORE, 140175943106560, 140175985139711, -STORE, 140175943098368, 140175985139711, -STORE, 140175943065600, 140175985139711, -STORE, 140175943057408, 140175985139711, -STORE, 140175943041024, 140175985139711, -STORE, 140175943032832, 140175985139711, -STORE, 140175943016448, 140175985139711, -STORE, 140175943008256, 140175985139711, -STORE, 140175942991872, 140175985139711, -STORE, 140175942983680, 140175985139711, -STORE, 140175942950912, 140175985139711, -STORE, 140175942942720, 140175985139711, -STORE, 140175942926336, 140175985139711, -STORE, 140175942918144, 140175985139711, -STORE, 140175942901760, 140175985139711, -STORE, 140175942893568, 140175985139711, -STORE, 140175942877184, 140175985139711, -STORE, 140175942868992, 140175985139711, -STORE, 140175942836224, 140175985139711, -STORE, 140175942828032, 140175985139711, -STORE, 140175942811648, 140175985139711, -STORE, 140175942803456, 140175985139711, -STORE, 140175942787072, 140175985139711, -STORE, 140175942778880, 140175985139711, -STORE, 140175942762496, 140175985139711, -STORE, 140175942754304, 140175985139711, -STORE, 140175942721536, 140175985139711, -STORE, 140175942713344, 140175985139711, -STORE, 140175942696960, 140175985139711, -STORE, 140175942688768, 140175985139711, -STORE, 140175942672384, 140175985139711, -STORE, 140175942664192, 140175985139711, -STORE, 140175942647808, 140175985139711, -STORE, 140175942639616, 140175985139711, -STORE, 140175942606848, 140175985139711, -STORE, 140175942598656, 140175985139711, -STORE, 140175942582272, 140175985139711, -STORE, 140175942574080, 140175985139711, -STORE, 140175942557696, 140175985139711, -STORE, 140175942549504, 140175985139711, -STORE, 140175942533120, 140175985139711, -STORE, 140175942524928, 140175985139711, -STORE, 140175942492160, 140175985139711, -STORE, 140175942483968, 140175985139711, -STORE, 140175942467584, 140175985139711, -STORE, 140175942459392, 140175985139711, -STORE, 140175942443008, 140175985139711, -STORE, 140175942434816, 140175985139711, -STORE, 140175942418432, 140175985139711, -STORE, 140175942410240, 140175985139711, -STORE, 140175942377472, 140175985139711, -STORE, 140175942369280, 140175985139711, -STORE, 140175942352896, 140175985139711, -STORE, 140175942344704, 140175985139711, -STORE, 140175942328320, 140175985139711, -STORE, 140175942320128, 140175985139711, -STORE, 140175942303744, 140175985139711, -STORE, 140175942295552, 140175985139711, -STORE, 140175942262784, 140175985139711, -STORE, 140175942254592, 140175985139711, -STORE, 140175942238208, 140175985139711, -STORE, 140175942230016, 140175985139711, -STORE, 140175942213632, 140175985139711, -STORE, 140175942205440, 140175985139711, -STORE, 140175942189056, 140175985139711, -STORE, 140175942180864, 140175985139711, -STORE, 140175942148096, 140175985139711, -STORE, 140175942139904, 140175985139711, -STORE, 140175942123520, 140175985139711, -STORE, 140175942115328, 140175985139711, -STORE, 140175942098944, 140175985139711, -STORE, 140175942090752, 140175985139711, -STORE, 140175942074368, 140175985139711, -STORE, 140175942066176, 140175985139711, -STORE, 140175942033408, 140175985139711, -STORE, 140175942025216, 140175985139711, -STORE, 140175942008832, 140175985139711, -STORE, 140175942000640, 140175985139711, -STORE, 140175941984256, 140175985139711, -STORE, 140175941976064, 140175985139711, -STORE, 140175941959680, 140175985139711, -STORE, 140175939862528, 140175985139711, -STORE, 140175939854336, 140175985139711, -STORE, 140175939821568, 140175985139711, -STORE, 140175939813376, 140175985139711, -STORE, 140175939796992, 140175985139711, -STORE, 140175939788800, 140175985139711, -STORE, 140175939772416, 140175985139711, -STORE, 140175939764224, 140175985139711, -STORE, 140175939747840, 140175985139711, -STORE, 140175939739648, 140175985139711, -STORE, 140175939706880, 140175985139711, -STORE, 140175939698688, 140175985139711, -STORE, 140175939682304, 140175985139711, -STORE, 140175939674112, 140175985139711, -STORE, 140175939657728, 140175985139711, -STORE, 140175939649536, 140175985139711, -STORE, 140175939633152, 140175985139711, -STORE, 140175939624960, 140175985139711, -STORE, 140175939592192, 140175985139711, -STORE, 140175939584000, 140175985139711, -STORE, 140175939567616, 140175985139711, -STORE, 140175939559424, 140175985139711, -STORE, 140175939543040, 140175985139711, -STORE, 140175939534848, 140175985139711, -STORE, 140175939518464, 140175985139711, -STORE, 140175939510272, 140175985139711, -STORE, 140175939477504, 140175985139711, -STORE, 140175939469312, 140175985139711, -STORE, 140175939452928, 140175985139711, -STORE, 140175939444736, 140175985139711, -STORE, 140175939428352, 140175985139711, -STORE, 140175939420160, 140175985139711, -STORE, 140175939403776, 140175985139711, -STORE, 140175939395584, 140175985139711, -STORE, 140175939362816, 140175985139711, -STORE, 140175939354624, 140175985139711, -STORE, 140175939338240, 140175985139711, -STORE, 140175939330048, 140175985139711, -STORE, 140175939313664, 140175985139711, -STORE, 140175939305472, 140175985139711, -STORE, 140175939289088, 140175985139711, -STORE, 140175939280896, 140175985139711, -STORE, 140175939248128, 140175985139711, -STORE, 140175939239936, 140175985139711, -STORE, 140175939223552, 140175985139711, -STORE, 140175939215360, 140175985139711, -STORE, 140175939198976, 140175985139711, -STORE, 140175939190784, 140175985139711, -STORE, 140175939174400, 140175985139711, -STORE, 140175939166208, 140175985139711, -STORE, 140175939133440, 140175985139711, -STORE, 140175939125248, 140175985139711, -STORE, 140175939108864, 140175985139711, -STORE, 140175939100672, 140175985139711, -STORE, 140175939084288, 140175985139711, -STORE, 140175939076096, 140175985139711, -STORE, 140175939059712, 140175985139711, -STORE, 140175939051520, 140175985139711, -STORE, 140175939018752, 140175985139711, -STORE, 140175939010560, 140175985139711, -STORE, 140175938994176, 140175985139711, -STORE, 140175938985984, 140175985139711, -STORE, 140175938969600, 140175985139711, -STORE, 140175938961408, 140175985139711, -STORE, 140175938945024, 140175985139711, -STORE, 140175938936832, 140175985139711, -STORE, 140175938904064, 140175985139711, -STORE, 140175938895872, 140175985139711, -STORE, 140175938879488, 140175985139711, -STORE, 140175938871296, 140175985139711, -STORE, 140175938854912, 140175985139711, -STORE, 140175938846720, 140175985139711, -STORE, 140175938830336, 140175985139711, -STORE, 140175938822144, 140175985139711, -STORE, 140175938789376, 140175985139711, -STORE, 140175938781184, 140175985139711, -STORE, 140175938764800, 140175985139711, -STORE, 140175938756608, 140175985139711, -STORE, 140175938740224, 140175985139711, -STORE, 140175938732032, 140175985139711, -STORE, 140175938715648, 140175985139711, -STORE, 140175938707456, 140175985139711, -STORE, 140175938674688, 140175985139711, -STORE, 140175938666496, 140175985139711, -STORE, 140175938650112, 140175985139711, -STORE, 140175938641920, 140175985139711, -STORE, 140175938625536, 140175985139711, -STORE, 140175938617344, 140175985139711, -STORE, 140175938600960, 140175985139711, -STORE, 140175938592768, 140175985139711, -STORE, 140175938560000, 140175985139711, -STORE, 140175938551808, 140175985139711, -STORE, 140175938535424, 140175985139711, -STORE, 140175938527232, 140175985139711, -STORE, 140175938510848, 140175985139711, -STORE, 140175938502656, 140175985139711, -STORE, 140175938486272, 140175985139711, -STORE, 140175938478080, 140175985139711, -STORE, 140175938445312, 140175985139711, -STORE, 140175938437120, 140175985139711, -STORE, 140175938420736, 140175985139711, -STORE, 140175938412544, 140175985139711, -STORE, 140175938396160, 140175985139711, -STORE, 140175938387968, 140175985139711, -STORE, 140175938371584, 140175985139711, -STORE, 140175938363392, 140175985139711, -STORE, 140175938330624, 140175985139711, -STORE, 140175938322432, 140175985139711, -STORE, 140175938306048, 140175985139711, -STORE, 140175938297856, 140175985139711, -STORE, 140175938281472, 140175985139711, -STORE, 140175938273280, 140175985139711, -STORE, 140175938256896, 140175985139711, -STORE, 140175938248704, 140175985139711, -STORE, 140175938215936, 140175985139711, -STORE, 140175938207744, 140175985139711, -STORE, 140175938191360, 140175985139711, -STORE, 140175938183168, 140175985139711, -STORE, 140175938166784, 140175985139711, -STORE, 140175938158592, 140175985139711, -STORE, 140175938142208, 140175985139711, -STORE, 140175936045056, 140175985139711, -STORE, 140175936036864, 140175985139711, -STORE, 140175936004096, 140175985139711, -STORE, 140175935995904, 140175985139711, -STORE, 140175935979520, 140175985139711, -STORE, 140175935971328, 140175985139711, -STORE, 140175935954944, 140175985139711, -STORE, 140175935946752, 140175985139711, -STORE, 140175935930368, 140175985139711, -STORE, 140175935922176, 140175985139711, -STORE, 140175935889408, 140175985139711, -STORE, 140175935881216, 140175985139711, -STORE, 140175935864832, 140175985139711, -STORE, 140175935856640, 140175985139711, -STORE, 140175935840256, 140175985139711, -STORE, 140175935832064, 140175985139711, -STORE, 140175935815680, 140175985139711, -STORE, 140175935807488, 140175985139711, -STORE, 140175935774720, 140175985139711, -STORE, 140175935766528, 140175985139711, -STORE, 140175935750144, 140175985139711, -STORE, 140175935741952, 140175985139711, -STORE, 140175935725568, 140175985139711, -STORE, 140175935717376, 140175985139711, -STORE, 140175935700992, 140175985139711, -STORE, 140175935692800, 140175985139711, -STORE, 140175935660032, 140175985139711, -STORE, 140175935651840, 140175985139711, -STORE, 140175935635456, 140175985139711, -STORE, 140175935627264, 140175985139711, -STORE, 140175935610880, 140175985139711, -STORE, 140175935602688, 140175985139711, -STORE, 140175935586304, 140175985139711, -STORE, 140175935578112, 140175985139711, -STORE, 140175935545344, 140175985139711, -STORE, 140175935537152, 140175985139711, -STORE, 140175935520768, 140175985139711, -STORE, 140175935512576, 140175985139711, -STORE, 140175935496192, 140175985139711, -STORE, 140175935488000, 140175985139711, -STORE, 140175935471616, 140175985139711, -STORE, 140175935463424, 140175985139711, -STORE, 140175935430656, 140175985139711, -STORE, 140175935422464, 140175985139711, -STORE, 140175935406080, 140175985139711, -STORE, 140175935397888, 140175985139711, -STORE, 140175935381504, 140175985139711, -STORE, 140175935373312, 140175985139711, -STORE, 140175935356928, 140175985139711, -STORE, 140175935348736, 140175985139711, -STORE, 140175935315968, 140175985139711, -STORE, 140175935307776, 140175985139711, -STORE, 140175935291392, 140175985139711, -STORE, 140175935283200, 140175985139711, -STORE, 140175935266816, 140175985139711, -STORE, 140175935258624, 140175985139711, -STORE, 140175935242240, 140175985139711, -STORE, 140175935234048, 140175985139711, -STORE, 140175935201280, 140175985139711, -STORE, 140175935193088, 140175985139711, -STORE, 140175935176704, 140175985139711, -STORE, 140175935168512, 140175985139711, -STORE, 140175935152128, 140175985139711, -STORE, 140175935143936, 140175985139711, -STORE, 140175935127552, 140175985139711, -STORE, 140175935119360, 140175985139711, -STORE, 140175935086592, 140175985139711, -STORE, 140175935078400, 140175985139711, -STORE, 140175935062016, 140175985139711, -STORE, 140175935053824, 140175985139711, -STORE, 140175935037440, 140175985139711, -STORE, 140175935029248, 140175985139711, -STORE, 140175935012864, 140175985139711, -STORE, 140175935004672, 140175985139711, -STORE, 140175934971904, 140175985139711, -STORE, 140175934963712, 140175985139711, -STORE, 140175934947328, 140175985139711, -STORE, 140175934939136, 140175985139711, -STORE, 140175934922752, 140175985139711, -STORE, 140175934914560, 140175985139711, -STORE, 140175934898176, 140175985139711, -STORE, 140175934889984, 140175985139711, -STORE, 140175934857216, 140175985139711, -STORE, 140175934849024, 140175985139711, -STORE, 140175934832640, 140175985139711, -STORE, 140175934824448, 140175985139711, -STORE, 140175934808064, 140175985139711, -STORE, 140175934799872, 140175985139711, -STORE, 140175934783488, 140175985139711, -STORE, 140175934775296, 140175985139711, -STORE, 140175934742528, 140175985139711, -STORE, 140175934734336, 140175985139711, -STORE, 140175934717952, 140175985139711, -STORE, 140175934709760, 140175985139711, -STORE, 140175934693376, 140175985139711, -STORE, 140175934685184, 140175985139711, -STORE, 140175934668800, 140175985139711, -STORE, 140175934660608, 140175985139711, -STORE, 140175934627840, 140175985139711, -STORE, 140175934619648, 140175985139711, -STORE, 140175934603264, 140175985139711, -STORE, 140175934595072, 140175985139711, -STORE, 140175934578688, 140175985139711, -STORE, 140175934570496, 140175985139711, -STORE, 140175934554112, 140175985139711, -STORE, 140175934545920, 140175985139711, -STORE, 140175934513152, 140175985139711, -STORE, 140175934504960, 140175985139711, -STORE, 140175934488576, 140175985139711, -STORE, 140175934480384, 140175985139711, -STORE, 140175934464000, 140175985139711, -STORE, 140175934455808, 140175985139711, -STORE, 140175934439424, 140175985139711, -STORE, 140175934431232, 140175985139711, -STORE, 140175934398464, 140175985139711, -STORE, 140175934390272, 140175985139711, -STORE, 140175934373888, 140175985139711, -STORE, 140175934365696, 140175985139711, -STORE, 140175934349312, 140175985139711, -STORE, 140175934341120, 140175985139711, -STORE, 140175934324736, 140175985139711, -STORE, 140175932227584, 140175985139711, -STORE, 140175932219392, 140175985139711, -STORE, 140175932186624, 140175985139711, -STORE, 140175932178432, 140175985139711, -STORE, 140175932162048, 140175985139711, -STORE, 140175932153856, 140175985139711, -STORE, 140175932137472, 140175985139711, -STORE, 53080064, 57884671, -STORE, 140175932129280, 140175985139711, -STORE, 140175932112896, 140175985139711, -STORE, 140175932104704, 140175985139711, -STORE, 140175932071936, 140175985139711, -STORE, 140175932063744, 140175985139711, -STORE, 140175932047360, 140175985139711, -STORE, 140175932039168, 140175985139711, -STORE, 140175932022784, 140175985139711, -STORE, 140175932014592, 140175985139711, -STORE, 140175931998208, 140175985139711, -STORE, 140175931990016, 140175985139711, -STORE, 140175931957248, 140175985139711, -STORE, 140175931949056, 140175985139711, -STORE, 140175931932672, 140175985139711, -STORE, 140175931924480, 140175985139711, -STORE, 140175931908096, 140175985139711, -STORE, 140175931899904, 140175985139711, -STORE, 140175931883520, 140175985139711, -STORE, 140175931875328, 140175985139711, -STORE, 140175931842560, 140175985139711, -STORE, 140175931834368, 140175985139711, -STORE, 140175931817984, 140175985139711, -STORE, 140175931809792, 140175985139711, -STORE, 140175931793408, 140175985139711, -STORE, 140175931785216, 140175985139711, -STORE, 140175931768832, 140175985139711, -STORE, 140175931760640, 140175985139711, -STORE, 140175931727872, 140175985139711, -STORE, 140175931719680, 140175985139711, -STORE, 140175931703296, 140175985139711, -STORE, 140175931695104, 140175985139711, -STORE, 140175931678720, 140175985139711, -STORE, 140175931670528, 140175985139711, -STORE, 140175931654144, 140175985139711, -STORE, 140175931645952, 140175985139711, -STORE, 140175931613184, 140175985139711, -STORE, 140175931604992, 140175985139711, -STORE, 140175931588608, 140175985139711, -STORE, 140175931580416, 140175985139711, -STORE, 140175931564032, 140175985139711, -STORE, 140175931555840, 140175985139711, -STORE, 140175931539456, 140175985139711, -STORE, 140175931531264, 140175985139711, -STORE, 140175931498496, 140175985139711, -STORE, 140175931490304, 140175985139711, -STORE, 140175931473920, 140175985139711, -STORE, 140175931465728, 140175985139711, -STORE, 140175931449344, 140175985139711, -STORE, 140175931441152, 140175985139711, -STORE, 140175931424768, 140175985139711, -STORE, 140175931416576, 140175985139711, -STORE, 140175931383808, 140175985139711, -STORE, 140175931375616, 140175985139711, -STORE, 140175931359232, 140175985139711, -STORE, 140175931351040, 140175985139711, -STORE, 140175931334656, 140175985139711, -STORE, 140175931326464, 140175985139711, -STORE, 140175931310080, 140175985139711, -STORE, 140175931301888, 140175985139711, -STORE, 140175931269120, 140175985139711, -STORE, 140175931260928, 140175985139711, -STORE, 140175931244544, 140175985139711, -STORE, 140175931236352, 140175985139711, -STORE, 140175931219968, 140175985139711, -STORE, 140175931211776, 140175985139711, -STORE, 140175931195392, 140175985139711, -STORE, 140175931187200, 140175985139711, -STORE, 140175931154432, 140175985139711, -STORE, 140175931146240, 140175985139711, -STORE, 140175931129856, 140175985139711, -STORE, 140175931121664, 140175985139711, -STORE, 140175931105280, 140175985139711, -STORE, 140175931097088, 140175985139711, -STORE, 140175931080704, 140175985139711, -STORE, 140175931072512, 140175985139711, -STORE, 140175931039744, 140175985139711, -STORE, 140175931031552, 140175985139711, -STORE, 140175931015168, 140175985139711, -STORE, 140175931006976, 140175985139711, -STORE, 140175930990592, 140175985139711, -STORE, 140175930982400, 140175985139711, -STORE, 140175930966016, 140175985139711, -STORE, 140175930957824, 140175985139711, -STORE, 140175930925056, 140175985139711, -STORE, 140175930916864, 140175985139711, -STORE, 140175930900480, 140175985139711, -STORE, 140175930892288, 140175985139711, -STORE, 140175930875904, 140175985139711, -STORE, 140175930867712, 140175985139711, -STORE, 140175930851328, 140175985139711, -STORE, 140175930843136, 140175985139711, -STORE, 140175930810368, 140175985139711, -STORE, 140175930802176, 140175985139711, -STORE, 140175930785792, 140175985139711, -STORE, 140175930777600, 140175985139711, -STORE, 140175930761216, 140175985139711, -STORE, 140175930753024, 140175985139711, -STORE, 140175930736640, 140175985139711, -STORE, 140175930728448, 140175985139711, -STORE, 140175930695680, 140175985139711, -STORE, 140175930687488, 140175985139711, -STORE, 140175930671104, 140175985139711, -STORE, 140175930662912, 140175985139711, -STORE, 140175930646528, 140175985139711, -STORE, 140175930638336, 140175985139711, -STORE, 140175930621952, 140175985139711, -STORE, 140175930613760, 140175985139711, -STORE, 140175930580992, 140175985139711, -STORE, 140175930572800, 140175985139711, -STORE, 140175930556416, 140175985139711, -STORE, 140175930548224, 140175985139711, -STORE, 140175930531840, 140175985139711, -STORE, 140175930523648, 140175985139711, -STORE, 140175930507264, 140175985139711, -STORE, 140175928410112, 140175985139711, -STORE, 140175928401920, 140175985139711, -STORE, 140175928369152, 140175985139711, -STORE, 140175928360960, 140175985139711, -STORE, 140175928344576, 140175985139711, -STORE, 140175928336384, 140175985139711, -STORE, 140175928320000, 140175985139711, -STORE, 140175928311808, 140175985139711, -STORE, 140175928295424, 140175985139711, -STORE, 140175927242752, 140175985139711, -SNULL, 140175956627455, 140175985139711, -STORE, 140175927242752, 140175956627455, -STORE, 140175956627456, 140175985139711, - }; - unsigned long set24[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140735281639424, 140737488351231, -SNULL, 140735281643519, 140737488351231, -STORE, 140735281639424, 140735281643519, -STORE, 140735281508352, 140735281643519, -STORE, 94717834911744, 94717834928127, -SNULL, 94717834915839, 94717834928127, -STORE, 94717834911744, 94717834915839, -STORE, 94717834915840, 94717834928127, -ERASE, 94717834915840, 94717834928127, -STORE, 94717834919936, 94717834928127, -STORE, 140428246065152, 140428248317951, -SNULL, 140428246208511, 140428248317951, -STORE, 140428246065152, 140428246208511, -STORE, 140428246208512, 140428248317951, -ERASE, 140428246208512, 140428248317951, -STORE, 140428248305664, 140428248313855, -STORE, 140428248313856, 140428248317951, -STORE, 140735281811456, 140735281815551, -STORE, 140735281799168, 140735281811455, -STORE, 140428248297472, 140428248305663, -STORE, 140428243841024, 140428246065151, -SNULL, 140428245491711, 140428246065151, -STORE, 140428243841024, 140428245491711, -STORE, 140428245491712, 140428246065151, -SNULL, 140428245491712, 140428246061055, -STORE, 140428246061056, 140428246065151, -STORE, 140428245491712, 140428246061055, -ERASE, 140428245491712, 140428246061055, -STORE, 140428245491712, 140428246061055, -ERASE, 140428246061056, 140428246065151, -STORE, 140428246061056, 140428246065151, -STORE, 140428248268800, 140428248297471, -STORE, 140428241625088, 140428243841023, -SNULL, 140428241625088, 140428241723391, -STORE, 140428241723392, 140428243841023, -STORE, 140428241625088, 140428241723391, -SNULL, 140428243816447, 140428243841023, -STORE, 140428241723392, 140428243816447, -STORE, 140428243816448, 140428243841023, -SNULL, 140428243816448, 140428243824639, -STORE, 140428243824640, 140428243841023, -STORE, 140428243816448, 140428243824639, -ERASE, 140428243816448, 140428243824639, -STORE, 140428243816448, 140428243824639, -ERASE, 140428243824640, 140428243841023, -STORE, 140428243824640, 140428243841023, -STORE, 140428237828096, 140428241625087, -SNULL, 140428237828096, 140428239486975, -STORE, 140428239486976, 140428241625087, -STORE, 140428237828096, 140428239486975, -SNULL, 140428241584127, 140428241625087, -STORE, 140428239486976, 140428241584127, -STORE, 140428241584128, 140428241625087, -SNULL, 140428241584128, 140428241608703, -STORE, 140428241608704, 140428241625087, -STORE, 140428241584128, 140428241608703, -ERASE, 140428241584128, 140428241608703, -STORE, 140428241584128, 140428241608703, -ERASE, 140428241608704, 140428241625087, -STORE, 140428241608704, 140428241625087, -STORE, 140428235567104, 140428237828095, -SNULL, 140428235567104, 140428235718655, -STORE, 140428235718656, 140428237828095, -STORE, 140428235567104, 140428235718655, -SNULL, 140428237811711, 140428237828095, -STORE, 140428235718656, 140428237811711, -STORE, 140428237811712, 140428237828095, -SNULL, 140428237811712, 140428237819903, -STORE, 140428237819904, 140428237828095, -STORE, 140428237811712, 140428237819903, -ERASE, 140428237811712, 140428237819903, -STORE, 140428237811712, 140428237819903, -ERASE, 140428237819904, 140428237828095, -STORE, 140428237819904, 140428237828095, -STORE, 140428233445376, 140428235567103, -SNULL, 140428233445376, 140428233461759, -STORE, 140428233461760, 140428235567103, -STORE, 140428233445376, 140428233461759, -SNULL, 140428235558911, 140428235567103, -STORE, 140428233461760, 140428235558911, -STORE, 140428235558912, 140428235567103, -ERASE, 140428235558912, 140428235567103, -STORE, 140428235558912, 140428235567103, -STORE, 140428231315456, 140428233445375, -SNULL, 140428231315456, 140428231344127, -STORE, 140428231344128, 140428233445375, -STORE, 140428231315456, 140428231344127, -SNULL, 140428233437183, 140428233445375, -STORE, 140428231344128, 140428233437183, -STORE, 140428233437184, 140428233445375, -ERASE, 140428233437184, 140428233445375, -STORE, 140428233437184, 140428233445375, -STORE, 140428248260608, 140428248268799, -STORE, 140428229062656, 140428231315455, -SNULL, 140428229062656, 140428229214207, -STORE, 140428229214208, 140428231315455, -STORE, 140428229062656, 140428229214207, -SNULL, 140428231307263, 140428231315455, -STORE, 140428229214208, 140428231307263, -STORE, 140428231307264, 140428231315455, -ERASE, 140428231307264, 140428231315455, -STORE, 140428231307264, 140428231315455, -STORE, 140428226891776, 140428229062655, -SNULL, 140428226891776, 140428226961407, -STORE, 140428226961408, 140428229062655, -STORE, 140428226891776, 140428226961407, -SNULL, 140428229054463, 140428229062655, -STORE, 140428226961408, 140428229054463, -STORE, 140428229054464, 140428229062655, -ERASE, 140428229054464, 140428229062655, -STORE, 140428229054464, 140428229062655, -STORE, 140428223680512, 140428226891775, -SNULL, 140428223680512, 140428224757759, -STORE, 140428224757760, 140428226891775, -STORE, 140428223680512, 140428224757759, -SNULL, 140428226854911, 140428226891775, -STORE, 140428224757760, 140428226854911, -STORE, 140428226854912, 140428226891775, -ERASE, 140428226854912, 140428226891775, -STORE, 140428226854912, 140428226891775, -STORE, 140428221546496, 140428223680511, -SNULL, 140428221546496, 140428221575167, -STORE, 140428221575168, 140428223680511, -STORE, 140428221546496, 140428221575167, -SNULL, 140428223672319, 140428223680511, -STORE, 140428221575168, 140428223672319, -STORE, 140428223672320, 140428223680511, -ERASE, 140428223672320, 140428223680511, -STORE, 140428223672320, 140428223680511, -STORE, 140428219236352, 140428221546495, -SNULL, 140428219236352, 140428219441151, -STORE, 140428219441152, 140428221546495, -STORE, 140428219236352, 140428219441151, -SNULL, 140428221538303, 140428221546495, -STORE, 140428219441152, 140428221538303, -STORE, 140428221538304, 140428221546495, -ERASE, 140428221538304, 140428221546495, -STORE, 140428221538304, 140428221546495, -STORE, 140428216852480, 140428219236351, -SNULL, 140428216852480, 140428217044991, -STORE, 140428217044992, 140428219236351, -STORE, 140428216852480, 140428217044991, -SNULL, 140428219138047, 140428219236351, -STORE, 140428217044992, 140428219138047, -STORE, 140428219138048, 140428219236351, -ERASE, 140428219138048, 140428219236351, -STORE, 140428219138048, 140428219236351, -STORE, 140428248252416, 140428248268799, -STORE, 140428214284288, 140428216852479, -SNULL, 140428214284288, 140428214751231, -STORE, 140428214751232, 140428216852479, -STORE, 140428214284288, 140428214751231, -SNULL, 140428216844287, 140428216852479, -STORE, 140428214751232, 140428216844287, -STORE, 140428216844288, 140428216852479, -ERASE, 140428216844288, 140428216852479, -STORE, 140428216844288, 140428216852479, -STORE, 140428212170752, 140428214284287, -SNULL, 140428212170752, 140428212183039, -STORE, 140428212183040, 140428214284287, -STORE, 140428212170752, 140428212183039, -SNULL, 140428214276095, 140428214284287, -STORE, 140428212183040, 140428214276095, -STORE, 140428214276096, 140428214284287, -ERASE, 140428214276096, 140428214284287, -STORE, 140428214276096, 140428214284287, -STORE, 140428209991680, 140428212170751, -SNULL, 140428209991680, 140428210069503, -STORE, 140428210069504, 140428212170751, -STORE, 140428209991680, 140428210069503, -SNULL, 140428212162559, 140428212170751, -STORE, 140428210069504, 140428212162559, -STORE, 140428212162560, 140428212170751, -ERASE, 140428212162560, 140428212170751, -STORE, 140428212162560, 140428212170751, -STORE, 140428207874048, 140428209991679, -SNULL, 140428207874048, 140428207890431, -STORE, 140428207890432, 140428209991679, -STORE, 140428207874048, 140428207890431, -SNULL, 140428209983487, 140428209991679, -STORE, 140428207890432, 140428209983487, -STORE, 140428209983488, 140428209991679, -ERASE, 140428209983488, 140428209991679, -STORE, 140428209983488, 140428209991679, -STORE, 140428248244224, 140428248268799, -STORE, 140428248231936, 140428248268799, -SNULL, 140428241600511, 140428241608703, -STORE, 140428241584128, 140428241600511, -STORE, 140428241600512, 140428241608703, -SNULL, 140428209987583, 140428209991679, -STORE, 140428209983488, 140428209987583, -STORE, 140428209987584, 140428209991679, -SNULL, 140428212166655, 140428212170751, -STORE, 140428212162560, 140428212166655, -STORE, 140428212166656, 140428212170751, -SNULL, 140428214280191, 140428214284287, -STORE, 140428214276096, 140428214280191, -STORE, 140428214280192, 140428214284287, -SNULL, 140428243820543, 140428243824639, -STORE, 140428243816448, 140428243820543, -STORE, 140428243820544, 140428243824639, -SNULL, 140428216848383, 140428216852479, -STORE, 140428216844288, 140428216848383, -STORE, 140428216848384, 140428216852479, -SNULL, 140428219232255, 140428219236351, -STORE, 140428219138048, 140428219232255, -STORE, 140428219232256, 140428219236351, -SNULL, 140428221542399, 140428221546495, -STORE, 140428221538304, 140428221542399, -STORE, 140428221542400, 140428221546495, -SNULL, 140428223676415, 140428223680511, -STORE, 140428223672320, 140428223676415, -STORE, 140428223676416, 140428223680511, -SNULL, 140428226863103, 140428226891775, -STORE, 140428226854912, 140428226863103, -STORE, 140428226863104, 140428226891775, -SNULL, 140428229058559, 140428229062655, -STORE, 140428229054464, 140428229058559, -STORE, 140428229058560, 140428229062655, -SNULL, 140428231311359, 140428231315455, -STORE, 140428231307264, 140428231311359, -STORE, 140428231311360, 140428231315455, -SNULL, 140428233441279, 140428233445375, -STORE, 140428233437184, 140428233441279, -STORE, 140428233441280, 140428233445375, -SNULL, 140428235563007, 140428235567103, -STORE, 140428235558912, 140428235563007, -STORE, 140428235563008, 140428235567103, -SNULL, 140428237815807, 140428237819903, -STORE, 140428237811712, 140428237815807, -STORE, 140428237815808, 140428237819903, -SNULL, 140428246056959, 140428246061055, -STORE, 140428245491712, 140428246056959, -STORE, 140428246056960, 140428246061055, -SNULL, 94717834924031, 94717834928127, -STORE, 94717834919936, 94717834924031, -STORE, 94717834924032, 94717834928127, -SNULL, 140428248309759, 140428248313855, -STORE, 140428248305664, 140428248309759, -STORE, 140428248309760, 140428248313855, -ERASE, 140428248268800, 140428248297471, -STORE, 94717843058688, 94717843193855, -STORE, 94749677137920, 94749677559807, -STORE, 94749677563904, 94749677604863, -STORE, 94749677604864, 94749677608959, -STORE, 94749710970880, 94749711241215, -STORE, 140490884894720, 140490884935679, -STORE, 140490884935680, 140490887032831, -STORE, 140490887032832, 140490887036927, -STORE, 140490887036928, 140490887041023, -STORE, 140490887041024, 140490887065599, -STORE, 140490887065600, 140490887110655, -STORE, 140490887110656, 140490889203711, -STORE, 140490889203712, 140490889207807, -STORE, 140490889207808, 140490889211903, -STORE, 140490889211904, 140490889293823, -STORE, 140490889293824, 140490891390975, -STORE, 140490891390976, 140490891395071, -STORE, 140490891395072, 140490891399167, -STORE, 140490891399168, 140490891407359, -STORE, 140490891407360, 140490891436031, -STORE, 140490891436032, 140490893529087, -STORE, 140490893529088, 140490893533183, -STORE, 140490893533184, 140490893537279, -STORE, 140490893537280, 140490901979135, -STORE, 140490901979136, 140490901991423, -STORE, 140490901991424, 140490904084479, -STORE, 140490904084480, 140490904088575, -STORE, 140490904088576, 140490904092671, -STORE, 140490904092672, 140490904559615, -STORE, 140490904559616, 140490906652671, -STORE, 140490906652672, 140490906656767, -STORE, 140490906656768, 140490906660863, -STORE, 140490906660864, 140490906677247, -STORE, 140490906677248, 140490908770303, -STORE, 140490908770304, 140490908774399, -STORE, 140490908774400, 140490908778495, -STORE, 140490908778496, 140490908794879, -STORE, 140490908794880, 140490910887935, -STORE, 140490910887936, 140490910892031, -STORE, 140490910892032, 140490910896127, -STORE, 140490910896128, 140490912555007, -STORE, 140490912555008, 140490914652159, -STORE, 140490914652160, 140490914668543, -STORE, 140490914668544, 140490914676735, -STORE, 140490914676736, 140490914693119, -STORE, 140490914693120, 140490914791423, -STORE, 140490914791424, 140490916884479, -STORE, 140490916884480, 140490916888575, -STORE, 140490916888576, 140490916892671, -STORE, 140490916892672, 140490916909055, -STORE, 140490916909056, 140490916937727, -STORE, 140490916937728, 140490919030783, -STORE, 140490919030784, 140490919034879, -STORE, 140490919034880, 140490919038975, -STORE, 140490919038976, 140490919190527, -STORE, 140490919190528, 140490921283583, -STORE, 140490921283584, 140490921287679, -STORE, 140490921287680, 140490921291775, -STORE, 140490921291776, 140490921299967, -STORE, 140490921299968, 140490921390079, -STORE, 140490921390080, 140490923483135, -STORE, 140490923483136, 140490923487231, -STORE, 140490923487232, 140490923491327, -STORE, 140490923491328, 140490923757567, -STORE, 140490923757568, 140490925850623, -STORE, 140490925850624, 140490925867007, -STORE, 140490925867008, 140490925871103, -STORE, 140490925871104, 140490925875199, -STORE, 140490925875200, 140490925903871, -STORE, 140490925903872, 140490928001023, -STORE, 140490928001024, 140490928005119, -STORE, 140490928005120, 140490928009215, -STORE, 140490928009216, 140490928152575, -STORE, 140490930184192, 140490930221055, -STORE, 140490930221056, 140490930237439, -STORE, 140490930237440, 140490930241535, -STORE, 140490930241536, 140490930245631, -STORE, 140490930245632, 140490930249727, -STORE, 140490930249728, 140490930253823, -STORE, 140490930253824, 140490930257919, -STORE, 140490930257920, 140490930262015, -STORE, 140724611694592, 140724611829759, -STORE, 140724612427776, 140724612440063, -STORE, 140724612440064, 140724612444159, -STORE, 94103163662336, 94103163772927, -STORE, 94103165865984, 94103165874175, -STORE, 94103165874176, 94103165878271, -STORE, 94103165878272, 94103165886463, -STORE, 94103182548992, 94103182684159, -STORE, 140092694708224, 140092696367103, -STORE, 140092696367104, 140092698464255, -STORE, 140092698464256, 140092698480639, -STORE, 140092698480640, 140092698488831, -STORE, 140092698488832, 140092698505215, -STORE, 140092698505216, 140092698648575, -STORE, 140092700708864, 140092700717055, -STORE, 140092700745728, 140092700749823, -STORE, 140092700749824, 140092700753919, -STORE, 140092700753920, 140092700758015, -STORE, 140736800911360, 140736801046527, -STORE, 140736802308096, 140736802320383, -STORE, 140736802320384, 140736802324479, -STORE, 93948802064384, 93948802174975, -STORE, 93948804268032, 93948804276223, -STORE, 93948804276224, 93948804280319, -STORE, 93948804280320, 93948804288511, -STORE, 93948806266880, 93948806402047, -STORE, 140222999113728, 140223000772607, -STORE, 140223000772608, 140223002869759, -STORE, 140223002869760, 140223002886143, -STORE, 140223002886144, 140223002894335, -STORE, 140223002894336, 140223002910719, -STORE, 140223002910720, 140223003054079, -STORE, 140223005114368, 140223005122559, -STORE, 140223005151232, 140223005155327, -STORE, 140223005155328, 140223005159423, -STORE, 140223005159424, 140223005163519, -STORE, 140720877506560, 140720877641727, -STORE, 140720878231552, 140720878243839, -STORE, 140720878243840, 140720878247935, -STORE, 140737488347136, 140737488351231, -STORE, 140733232087040, 140737488351231, -SNULL, 140733232091135, 140737488351231, -STORE, 140733232087040, 140733232091135, -STORE, 140733231955968, 140733232091135, -STORE, 4194304, 5128191, -STORE, 7221248, 7241727, -STORE, 7241728, 7249919, -STORE, 140161681321984, 140161683574783, -SNULL, 140161681465343, 140161683574783, -STORE, 140161681321984, 140161681465343, -STORE, 140161681465344, 140161683574783, -ERASE, 140161681465344, 140161683574783, -STORE, 140161683562496, 140161683570687, -STORE, 140161683570688, 140161683574783, -STORE, 140733232214016, 140733232218111, -STORE, 140733232201728, 140733232214015, -STORE, 140161683533824, 140161683562495, -STORE, 140161683525632, 140161683533823, -STORE, 140161678159872, 140161681321983, -SNULL, 140161678159872, 140161679220735, -STORE, 140161679220736, 140161681321983, -STORE, 140161678159872, 140161679220735, -SNULL, 140161681313791, 140161681321983, -STORE, 140161679220736, 140161681313791, -STORE, 140161681313792, 140161681321983, -ERASE, 140161681313792, 140161681321983, -STORE, 140161681313792, 140161681321983, -STORE, 140161674362880, 140161678159871, -SNULL, 140161674362880, 140161676021759, -STORE, 140161676021760, 140161678159871, -STORE, 140161674362880, 140161676021759, -SNULL, 140161678118911, 140161678159871, -STORE, 140161676021760, 140161678118911, -STORE, 140161678118912, 140161678159871, -SNULL, 140161678118912, 140161678143487, -STORE, 140161678143488, 140161678159871, -STORE, 140161678118912, 140161678143487, -ERASE, 140161678118912, 140161678143487, -STORE, 140161678118912, 140161678143487, -ERASE, 140161678143488, 140161678159871, -STORE, 140161678143488, 140161678159871, -STORE, 140161683513344, 140161683533823, -SNULL, 140161678135295, 140161678143487, -STORE, 140161678118912, 140161678135295, -STORE, 140161678135296, 140161678143487, -SNULL, 140161681317887, 140161681321983, -STORE, 140161681313792, 140161681317887, -STORE, 140161681317888, 140161681321983, -SNULL, 7233535, 7241727, -STORE, 7221248, 7233535, -STORE, 7233536, 7241727, -SNULL, 140161683566591, 140161683570687, -STORE, 140161683562496, 140161683566591, -STORE, 140161683566592, 140161683570687, -ERASE, 140161683533824, 140161683562495, -STORE, 25477120, 25612287, -STORE, 25477120, 25759743, -STORE, 140161681829888, 140161683513343, -STORE, 25477120, 25915391, -STORE, 25477120, 26054655, -SNULL, 25800703, 26054655, -STORE, 25477120, 25800703, -STORE, 25800704, 26054655, -ERASE, 25800704, 26054655, -STORE, 140737488347136, 140737488351231, -STORE, 140723218452480, 140737488351231, -SNULL, 140723218456575, 140737488351231, -STORE, 140723218452480, 140723218456575, -STORE, 140723218321408, 140723218456575, -STORE, 4194304, 26279935, -STORE, 28372992, 28454911, -STORE, 28454912, 29806591, -STORE, 140398872264704, 140398874517503, -SNULL, 140398872408063, 140398874517503, -STORE, 140398872264704, 140398872408063, -STORE, 140398872408064, 140398874517503, -ERASE, 140398872408064, 140398874517503, -STORE, 140398874505216, 140398874513407, -STORE, 140398874513408, 140398874517503, -STORE, 140723219247104, 140723219251199, -STORE, 140723219234816, 140723219247103, -STORE, 140398874476544, 140398874505215, -STORE, 140398874468352, 140398874476543, -STORE, 140398868430848, 140398872264703, -SNULL, 140398868430848, 140398870138879, -STORE, 140398870138880, 140398872264703, -STORE, 140398868430848, 140398870138879, -SNULL, 140398872231935, 140398872264703, -STORE, 140398870138880, 140398872231935, -STORE, 140398872231936, 140398872264703, -ERASE, 140398872231936, 140398872264703, -STORE, 140398872231936, 140398872264703, -STORE, 140398866235392, 140398868430847, -SNULL, 140398866235392, 140398866329599, -STORE, 140398866329600, 140398868430847, -STORE, 140398866235392, 140398866329599, -SNULL, 140398868422655, 140398868430847, -STORE, 140398866329600, 140398868422655, -STORE, 140398868422656, 140398868430847, -ERASE, 140398868422656, 140398868430847, -STORE, 140398868422656, 140398868430847, -STORE, 140398863716352, 140398866235391, -SNULL, 140398863716352, 140398864130047, -STORE, 140398864130048, 140398866235391, -STORE, 140398863716352, 140398864130047, -SNULL, 140398866223103, 140398866235391, -STORE, 140398864130048, 140398866223103, -STORE, 140398866223104, 140398866235391, -ERASE, 140398866223104, 140398866235391, -STORE, 140398866223104, 140398866235391, -STORE, 140398861082624, 140398863716351, -SNULL, 140398861082624, 140398861611007, -STORE, 140398861611008, 140398863716351, -STORE, 140398861082624, 140398861611007, -SNULL, 140398863708159, 140398863716351, -STORE, 140398861611008, 140398863708159, -STORE, 140398863708160, 140398863716351, -ERASE, 140398863708160, 140398863716351, -STORE, 140398863708160, 140398863716351, -STORE, 140398858969088, 140398861082623, -SNULL, 140398858969088, 140398858981375, -STORE, 140398858981376, 140398861082623, -STORE, 140398858969088, 140398858981375, -SNULL, 140398861074431, 140398861082623, -STORE, 140398858981376, 140398861074431, -STORE, 140398861074432, 140398861082623, -ERASE, 140398861074432, 140398861082623, -STORE, 140398861074432, 140398861082623, -STORE, 140398856765440, 140398858969087, -SNULL, 140398856765440, 140398856867839, -STORE, 140398856867840, 140398858969087, -STORE, 140398856765440, 140398856867839, -SNULL, 140398858960895, 140398858969087, -STORE, 140398856867840, 140398858960895, -STORE, 140398858960896, 140398858969087, -ERASE, 140398858960896, 140398858969087, -STORE, 140398858960896, 140398858969087, -STORE, 140398874460160, 140398874476543, -STORE, 140398853603328, 140398856765439, -SNULL, 140398853603328, 140398854664191, -STORE, 140398854664192, 140398856765439, -STORE, 140398853603328, 140398854664191, -SNULL, 140398856757247, 140398856765439, -STORE, 140398854664192, 140398856757247, -STORE, 140398856757248, 140398856765439, -ERASE, 140398856757248, 140398856765439, -STORE, 140398856757248, 140398856765439, -STORE, 140398849806336, 140398853603327, -SNULL, 140398849806336, 140398851465215, -STORE, 140398851465216, 140398853603327, -STORE, 140398849806336, 140398851465215, -SNULL, 140398853562367, 140398853603327, -STORE, 140398851465216, 140398853562367, -STORE, 140398853562368, 140398853603327, -SNULL, 140398853562368, 140398853586943, -STORE, 140398853586944, 140398853603327, -STORE, 140398853562368, 140398853586943, -ERASE, 140398853562368, 140398853586943, -STORE, 140398853562368, 140398853586943, -ERASE, 140398853586944, 140398853603327, -STORE, 140398853586944, 140398853603327, -STORE, 140398874447872, 140398874476543, -SNULL, 140398853578751, 140398853586943, -STORE, 140398853562368, 140398853578751, -STORE, 140398853578752, 140398853586943, -SNULL, 140398856761343, 140398856765439, -STORE, 140398856757248, 140398856761343, -STORE, 140398856761344, 140398856765439, -SNULL, 140398858964991, 140398858969087, -STORE, 140398858960896, 140398858964991, -STORE, 140398858964992, 140398858969087, -SNULL, 140398861078527, 140398861082623, -STORE, 140398861074432, 140398861078527, -STORE, 140398861078528, 140398861082623, -SNULL, 140398863712255, 140398863716351, -STORE, 140398863708160, 140398863712255, -STORE, 140398863712256, 140398863716351, -SNULL, 140398866231295, 140398866235391, -STORE, 140398866223104, 140398866231295, -STORE, 140398866231296, 140398866235391, -SNULL, 140398868426751, 140398868430847, -STORE, 140398868422656, 140398868426751, -STORE, 140398868426752, 140398868430847, -SNULL, 140398872236031, 140398872264703, -STORE, 140398872231936, 140398872236031, -STORE, 140398872236032, 140398872264703, -SNULL, 28405759, 28454911, -STORE, 28372992, 28405759, -STORE, 28405760, 28454911, -SNULL, 140398874509311, 140398874513407, -STORE, 140398874505216, 140398874509311, -STORE, 140398874509312, 140398874513407, -ERASE, 140398874476544, 140398874505215, -STORE, 43278336, 43413503, -STORE, 140398872764416, 140398874447871, -STORE, 140398874501120, 140398874505215, -STORE, 140398872629248, 140398872764415, -STORE, 43278336, 43556863, -STORE, 140398847709184, 140398849806335, -STORE, 140398874492928, 140398874505215, -STORE, 140398874484736, 140398874505215, -STORE, 140398874447872, 140398874484735, -STORE, 140398872612864, 140398872764415, -STORE, 43278336, 43692031, -STORE, 43278336, 43880447, -STORE, 140398872604672, 140398872764415, -STORE, 140398872596480, 140398872764415, -STORE, 43278336, 44044287, -STORE, 140398872580096, 140398872764415, -STORE, 140737488347136, 140737488351231, -STORE, 140734403092480, 140737488351231, -SNULL, 140734403096575, 140737488351231, -STORE, 140734403092480, 140734403096575, -STORE, 140734402961408, 140734403096575, -STORE, 4194304, 5128191, -STORE, 7221248, 7241727, -STORE, 7241728, 7249919, -STORE, 140240662380544, 140240664633343, -SNULL, 140240662523903, 140240664633343, -STORE, 140240662380544, 140240662523903, -STORE, 140240662523904, 140240664633343, -ERASE, 140240662523904, 140240664633343, -STORE, 140240664621056, 140240664629247, -STORE, 140240664629248, 140240664633343, -STORE, 140734403145728, 140734403149823, -STORE, 140734403133440, 140734403145727, -STORE, 140240664592384, 140240664621055, -STORE, 140240664584192, 140240664592383, -STORE, 140240659218432, 140240662380543, -SNULL, 140240659218432, 140240660279295, -STORE, 140240660279296, 140240662380543, -STORE, 140240659218432, 140240660279295, -SNULL, 140240662372351, 140240662380543, -STORE, 140240660279296, 140240662372351, -STORE, 140240662372352, 140240662380543, -ERASE, 140240662372352, 140240662380543, -STORE, 140240662372352, 140240662380543, -STORE, 140240655421440, 140240659218431, -SNULL, 140240655421440, 140240657080319, -STORE, 140240657080320, 140240659218431, -STORE, 140240655421440, 140240657080319, -SNULL, 140240659177471, 140240659218431, -STORE, 140240657080320, 140240659177471, -STORE, 140240659177472, 140240659218431, -SNULL, 140240659177472, 140240659202047, -STORE, 140240659202048, 140240659218431, -STORE, 140240659177472, 140240659202047, -ERASE, 140240659177472, 140240659202047, -STORE, 140240659177472, 140240659202047, -ERASE, 140240659202048, 140240659218431, -STORE, 140240659202048, 140240659218431, -STORE, 140240664571904, 140240664592383, -SNULL, 140240659193855, 140240659202047, -STORE, 140240659177472, 140240659193855, -STORE, 140240659193856, 140240659202047, -SNULL, 140240662376447, 140240662380543, -STORE, 140240662372352, 140240662376447, -STORE, 140240662376448, 140240662380543, -SNULL, 7233535, 7241727, -STORE, 7221248, 7233535, -STORE, 7233536, 7241727, -SNULL, 140240664625151, 140240664629247, -STORE, 140240664621056, 140240664625151, -STORE, 140240664625152, 140240664629247, -ERASE, 140240664592384, 140240664621055, -STORE, 30646272, 30781439, -STORE, 30646272, 30928895, -STORE, 140240662888448, 140240664571903, -STORE, 94256659468288, 94256659578879, -STORE, 94256661671936, 94256661680127, -STORE, 94256661680128, 94256661684223, -STORE, 94256661684224, 94256661692415, -STORE, 94256687980544, 94256688115711, -STORE, 139801712504832, 139801714163711, -STORE, 139801714163712, 139801716260863, -STORE, 139801716260864, 139801716277247, -STORE, 139801716277248, 139801716285439, -STORE, 139801716285440, 139801716301823, -STORE, 139801716301824, 139801716445183, -STORE, 139801718505472, 139801718513663, -STORE, 139801718542336, 139801718546431, -STORE, 139801718546432, 139801718550527, -STORE, 139801718550528, 139801718554623, -STORE, 140721575538688, 140721575673855, -STORE, 140721577013248, 140721577025535, -STORE, 140721577025536, 140721577029631, -STORE, 140737488347136, 140737488351231, -STORE, 140729259393024, 140737488351231, -SNULL, 140729259397119, 140737488351231, -STORE, 140729259393024, 140729259397119, -STORE, 140729259261952, 140729259397119, -STORE, 4194304, 5128191, -STORE, 7221248, 7241727, -STORE, 7241728, 7249919, -STORE, 139682376638464, 139682378891263, -SNULL, 139682376781823, 139682378891263, -STORE, 139682376638464, 139682376781823, -STORE, 139682376781824, 139682378891263, -ERASE, 139682376781824, 139682378891263, -STORE, 139682378878976, 139682378887167, -STORE, 139682378887168, 139682378891263, -STORE, 140729260462080, 140729260466175, -STORE, 140729260449792, 140729260462079, -STORE, 139682378850304, 139682378878975, -STORE, 139682378842112, 139682378850303, -STORE, 139682373476352, 139682376638463, -SNULL, 139682373476352, 139682374537215, -STORE, 139682374537216, 139682376638463, -STORE, 139682373476352, 139682374537215, -SNULL, 139682376630271, 139682376638463, -STORE, 139682374537216, 139682376630271, -STORE, 139682376630272, 139682376638463, -ERASE, 139682376630272, 139682376638463, -STORE, 139682376630272, 139682376638463, -STORE, 139682369679360, 139682373476351, -SNULL, 139682369679360, 139682371338239, -STORE, 139682371338240, 139682373476351, -STORE, 139682369679360, 139682371338239, -SNULL, 139682373435391, 139682373476351, -STORE, 139682371338240, 139682373435391, -STORE, 139682373435392, 139682373476351, -SNULL, 139682373435392, 139682373459967, -STORE, 139682373459968, 139682373476351, -STORE, 139682373435392, 139682373459967, -ERASE, 139682373435392, 139682373459967, -STORE, 139682373435392, 139682373459967, -ERASE, 139682373459968, 139682373476351, -STORE, 139682373459968, 139682373476351, -STORE, 139682378829824, 139682378850303, -SNULL, 139682373451775, 139682373459967, -STORE, 139682373435392, 139682373451775, -STORE, 139682373451776, 139682373459967, -SNULL, 139682376634367, 139682376638463, -STORE, 139682376630272, 139682376634367, -STORE, 139682376634368, 139682376638463, -SNULL, 7233535, 7241727, -STORE, 7221248, 7233535, -STORE, 7233536, 7241727, -SNULL, 139682378883071, 139682378887167, -STORE, 139682378878976, 139682378883071, -STORE, 139682378883072, 139682378887167, -ERASE, 139682378850304, 139682378878975, -STORE, 10022912, 10158079, -STORE, 10022912, 10305535, -STORE, 139682377146368, 139682378829823, -STORE, 140737488347136, 140737488351231, -STORE, 140731831926784, 140737488351231, -SNULL, 140731831930879, 140737488351231, -STORE, 140731831926784, 140731831930879, -STORE, 140731831795712, 140731831930879, -STORE, 94615305261056, 94615307485183, -SNULL, 94615305371647, 94615307485183, -STORE, 94615305261056, 94615305371647, -STORE, 94615305371648, 94615307485183, -ERASE, 94615305371648, 94615307485183, -STORE, 94615307464704, 94615307476991, -STORE, 94615307476992, 94615307485183, -STORE, 140163912994816, 140163915247615, -SNULL, 140163913138175, 140163915247615, -STORE, 140163912994816, 140163913138175, -STORE, 140163913138176, 140163915247615, -ERASE, 140163913138176, 140163915247615, -STORE, 140163915235328, 140163915243519, -STORE, 140163915243520, 140163915247615, -STORE, 140731832217600, 140731832221695, -STORE, 140731832205312, 140731832217599, -STORE, 140163915206656, 140163915235327, -STORE, 140163915198464, 140163915206655, -STORE, 140163909197824, 140163912994815, -SNULL, 140163909197824, 140163910856703, -STORE, 140163910856704, 140163912994815, -STORE, 140163909197824, 140163910856703, -SNULL, 140163912953855, 140163912994815, -STORE, 140163910856704, 140163912953855, -STORE, 140163912953856, 140163912994815, -SNULL, 140163912953856, 140163912978431, -STORE, 140163912978432, 140163912994815, -STORE, 140163912953856, 140163912978431, -ERASE, 140163912953856, 140163912978431, -STORE, 140163912953856, 140163912978431, -ERASE, 140163912978432, 140163912994815, -STORE, 140163912978432, 140163912994815, -SNULL, 140163912970239, 140163912978431, -STORE, 140163912953856, 140163912970239, -STORE, 140163912970240, 140163912978431, -SNULL, 94615307472895, 94615307476991, -STORE, 94615307464704, 94615307472895, -STORE, 94615307472896, 94615307476991, -SNULL, 140163915239423, 140163915243519, -STORE, 140163915235328, 140163915239423, -STORE, 140163915239424, 140163915243519, -ERASE, 140163915206656, 140163915235327, -STORE, 94615330672640, 94615330807807, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140725254479872, 140737488351231, -SNULL, 140725254488063, 140737488351231, -STORE, 140725254479872, 140725254488063, -STORE, 140725254348800, 140725254488063, -STORE, 94572781277184, 94572785741823, -SNULL, 94572783312895, 94572785741823, -STORE, 94572781277184, 94572783312895, -STORE, 94572783312896, 94572785741823, -ERASE, 94572783312896, 94572785741823, -STORE, 94572785405952, 94572785455103, -STORE, 94572785455104, 94572785741823, -STORE, 139636001341440, 139636003594239, -SNULL, 139636001484799, 139636003594239, -STORE, 139636001341440, 139636001484799, -STORE, 139636001484800, 139636003594239, -ERASE, 139636001484800, 139636003594239, -STORE, 139636003581952, 139636003590143, -STORE, 139636003590144, 139636003594239, -STORE, 140725255557120, 140725255561215, -STORE, 140725255544832, 140725255557119, -STORE, 139636003553280, 139636003581951, -STORE, 139636003545088, 139636003553279, -STORE, 139635998773248, 139636001341439, -SNULL, 139635998773248, 139635999240191, -STORE, 139635999240192, 139636001341439, -STORE, 139635998773248, 139635999240191, -SNULL, 139636001333247, 139636001341439, -STORE, 139635999240192, 139636001333247, -STORE, 139636001333248, 139636001341439, -ERASE, 139636001333248, 139636001341439, -STORE, 139636001333248, 139636001341439, -STORE, 139635996569600, 139635998773247, -SNULL, 139635996569600, 139635996671999, -STORE, 139635996672000, 139635998773247, -STORE, 139635996569600, 139635996671999, -SNULL, 139635998765055, 139635998773247, -STORE, 139635996672000, 139635998765055, -STORE, 139635998765056, 139635998773247, -ERASE, 139635998765056, 139635998773247, -STORE, 139635998765056, 139635998773247, -STORE, 139635994353664, 139635996569599, -SNULL, 139635994353664, 139635994451967, -STORE, 139635994451968, 139635996569599, -STORE, 139635994353664, 139635994451967, -SNULL, 139635996545023, 139635996569599, -STORE, 139635994451968, 139635996545023, -STORE, 139635996545024, 139635996569599, -SNULL, 139635996545024, 139635996553215, -STORE, 139635996553216, 139635996569599, -STORE, 139635996545024, 139635996553215, -ERASE, 139635996545024, 139635996553215, -STORE, 139635996545024, 139635996553215, -ERASE, 139635996553216, 139635996569599, -STORE, 139635996553216, 139635996569599, -STORE, 139635992223744, 139635994353663, -SNULL, 139635992223744, 139635992252415, -STORE, 139635992252416, 139635994353663, -STORE, 139635992223744, 139635992252415, -SNULL, 139635994345471, 139635994353663, -STORE, 139635992252416, 139635994345471, -STORE, 139635994345472, 139635994353663, -ERASE, 139635994345472, 139635994353663, -STORE, 139635994345472, 139635994353663, -STORE, 139635988426752, 139635992223743, -SNULL, 139635988426752, 139635990085631, -STORE, 139635990085632, 139635992223743, -STORE, 139635988426752, 139635990085631, -SNULL, 139635992182783, 139635992223743, -STORE, 139635990085632, 139635992182783, -STORE, 139635992182784, 139635992223743, -SNULL, 139635992182784, 139635992207359, -STORE, 139635992207360, 139635992223743, -STORE, 139635992182784, 139635992207359, -ERASE, 139635992182784, 139635992207359, -STORE, 139635992182784, 139635992207359, -ERASE, 139635992207360, 139635992223743, -STORE, 139635992207360, 139635992223743, -STORE, 139636003536896, 139636003553279, -SNULL, 139635992199167, 139635992207359, -STORE, 139635992182784, 139635992199167, -STORE, 139635992199168, 139635992207359, -SNULL, 139635996549119, 139635996553215, -STORE, 139635996545024, 139635996549119, -STORE, 139635996549120, 139635996553215, -SNULL, 139635994349567, 139635994353663, -STORE, 139635994345472, 139635994349567, -STORE, 139635994349568, 139635994353663, -SNULL, 139635998769151, 139635998773247, -STORE, 139635998765056, 139635998769151, -STORE, 139635998769152, 139635998773247, -SNULL, 139636001337343, 139636001341439, -STORE, 139636001333248, 139636001337343, -STORE, 139636001337344, 139636001341439, -SNULL, 94572785418239, 94572785455103, -STORE, 94572785405952, 94572785418239, -STORE, 94572785418240, 94572785455103, -SNULL, 139636003586047, 139636003590143, -STORE, 139636003581952, 139636003586047, -STORE, 139636003586048, 139636003590143, -ERASE, 139636003553280, 139636003581951, -STORE, 94572798435328, 94572798570495, -STORE, 139636001853440, 139636003536895, -STORE, 139635981426688, 139635988426751, -STORE, 139635980615680, 139635981426687, -STORE, 94572798435328, 94572798705663, -STORE, 94572798435328, 94572798840831, -STORE, 94572798435328, 94572798975999, -STORE, 94572798435328, 94572799111167, -STORE, 94572798435328, 94572799246335, -STORE, 94572798435328, 94572799381503, -STORE, 94572798435328, 94572799516671, -STORE, 94572798435328, 94572799651839, -STORE, 94572798435328, 94572799787007, -STORE, 94572798435328, 94572799922175, -STORE, 94572798435328, 94572800057343, -STORE, 94572798435328, 94572800192511, -STORE, 94572798435328, 94572800327679, -STORE, 94572798435328, 94572800462847, -STORE, 94572798435328, 94572800598015, -STORE, 94572798435328, 94572800733183, -STORE, 94572798435328, 94572800868351, -STORE, 94572798435328, 94572801003519, -STORE, 94572798435328, 94572801138687, -STORE, 94572798435328, 94572801273855, -STORE, 94572798435328, 94572801409023, -STORE, 94572798435328, 94572801544191, -STORE, 94572798435328, 94572801679359, -STORE, 94572798435328, 94572801814527, -STORE, 94572798435328, 94572801949695, -STORE, 94572798435328, 94572802084863, -STORE, 94572798435328, 94572802220031, -STORE, 94572798435328, 94572802355199, -STORE, 94572798435328, 94572802490367, -STORE, 94572798435328, 94572802625535, -STORE, 94572798435328, 94572802760703, -STORE, 94572798435328, 94572802895871, -STORE, 94572798435328, 94572803031039, -STORE, 94572798435328, 94572803166207, -STORE, 94572798435328, 94572803301375, -STORE, 94572798435328, 94572803436543, -STORE, 94572798435328, 94572803571711, -STORE, 94572798435328, 94572803706879, -STORE, 94572798435328, 94572803842047, -STORE, 94572798435328, 94572803977215, -STORE, 94572798435328, 94572804112383, -STORE, 94572798435328, 94572804247551, -STORE, 94572798435328, 94572804382719, -STORE, 94572798435328, 94572804517887, -STORE, 94572798435328, 94572804653055, -STORE, 94572798435328, 94572804788223, -STORE, 94572798435328, 94572804923391, -STORE, 94572798435328, 94572805058559, -STORE, 94572798435328, 94572805193727, -STORE, 94572798435328, 94572805328895, -STORE, 94572798435328, 94572805464063, -STORE, 94572798435328, 94572805599231, -STORE, 94572798435328, 94572805734399, -STORE, 94572798435328, 94572805869567, -STORE, 94572798435328, 94572806004735, -STORE, 94572798435328, 94572806139903, -STORE, 94572798435328, 94572806275071, -STORE, 94572798435328, 94572806410239, -STORE, 94572798435328, 94572806545407, -STORE, 94572798435328, 94572806680575, -STORE, 94572798435328, 94572806815743, -STORE, 94572798435328, 94572806950911, -STORE, 94572798435328, 94572807086079, -STORE, 94572798435328, 94572807221247, -STORE, 94572798435328, 94572807356415, -STORE, 94572798435328, 94572807491583, -STORE, 94572798435328, 94572807626751, -STORE, 94572798435328, 94572807761919, -STORE, 94572798435328, 94572807897087, -STORE, 94572798435328, 94572808032255, -STORE, 94572798435328, 94572808167423, -STORE, 94572798435328, 94572808302591, -STORE, 94572798435328, 94572808437759, -STORE, 94572798435328, 94572808572927, -ERASE, 139635981426688, 139635988426751, -STORE, 139635985088512, 139635988426751, -STORE, 139635778273280, 139635980615679, -STORE, 139635567632384, 139635778273279, -STORE, 94572798435328, 94572808716287, -STORE, 139635984564224, 139635985088511, -STORE, 139635559239680, 139635567632383, -SNULL, 139635559243775, 139635567632383, -STORE, 139635559239680, 139635559243775, -STORE, 139635559243776, 139635567632383, -STORE, 139635550846976, 139635559239679, -SNULL, 139635550851071, 139635559239679, -STORE, 139635550846976, 139635550851071, -STORE, 139635550851072, 139635559239679, -STORE, 139635542454272, 139635550846975, -STORE, 139635408236544, 139635542454271, -SNULL, 139635408236544, 139635426590719, -STORE, 139635426590720, 139635542454271, -STORE, 139635408236544, 139635426590719, -ERASE, 139635408236544, 139635426590719, -STORE, 139635292372992, 139635542454271, -SNULL, 139635359481855, 139635542454271, -STORE, 139635292372992, 139635359481855, -STORE, 139635359481856, 139635542454271, -SNULL, 139635359481856, 139635426590719, -STORE, 139635426590720, 139635542454271, -STORE, 139635359481856, 139635426590719, -ERASE, 139635359481856, 139635426590719, -SNULL, 139635542458367, 139635550846975, -STORE, 139635542454272, 139635542458367, -STORE, 139635542458368, 139635550846975, -STORE, 139635418198016, 139635426590719, -SNULL, 139635493699583, 139635542454271, -STORE, 139635426590720, 139635493699583, -STORE, 139635493699584, 139635542454271, -ERASE, 139635493699584, 139635542454271, -SNULL, 139635426725887, 139635493699583, -STORE, 139635426590720, 139635426725887, -STORE, 139635426725888, 139635493699583, -SNULL, 139635292508159, 139635359481855, -STORE, 139635292372992, 139635292508159, -STORE, 139635292508160, 139635359481855, -SNULL, 139635418202111, 139635426590719, -STORE, 139635418198016, 139635418202111, -STORE, 139635418202112, 139635426590719, -STORE, 139635225264128, 139635292372991, -STORE, 139635534061568, 139635542454271, -SNULL, 139635534065663, 139635542454271, -STORE, 139635534061568, 139635534065663, -STORE, 139635534065664, 139635542454271, -STORE, 139635525668864, 139635534061567, -SNULL, 139635525672959, 139635534061567, -STORE, 139635525668864, 139635525672959, -STORE, 139635525672960, 139635534061567, -SNULL, 139635225399295, 139635292372991, -STORE, 139635225264128, 139635225399295, -STORE, 139635225399296, 139635292372991, -STORE, 139635091046400, 139635225264127, -SNULL, 139635158155263, 139635225264127, -STORE, 139635091046400, 139635158155263, -STORE, 139635158155264, 139635225264127, -ERASE, 139635158155264, 139635225264127, -STORE, 139634956828672, 139635158155263, -STORE, 139635517276160, 139635525668863, -SNULL, 139635517280255, 139635525668863, -STORE, 139635517276160, 139635517280255, -STORE, 139635517280256, 139635525668863, -SNULL, 139634956828672, 139635091046399, -STORE, 139635091046400, 139635158155263, -STORE, 139634956828672, 139635091046399, -SNULL, 139635091181567, 139635158155263, -STORE, 139635091046400, 139635091181567, -STORE, 139635091181568, 139635158155263, -SNULL, 139635023937535, 139635091046399, -STORE, 139634956828672, 139635023937535, -STORE, 139635023937536, 139635091046399, -ERASE, 139635023937536, 139635091046399, -STORE, 139634956828672, 139635091046399, -SNULL, 139634956828672, 139635023937535, -STORE, 139635023937536, 139635091046399, -STORE, 139634956828672, 139635023937535, -SNULL, 139635024072703, 139635091046399, -STORE, 139635023937536, 139635024072703, -STORE, 139635024072704, 139635091046399, -STORE, 139635508883456, 139635517276159, -SNULL, 139635508887551, 139635517276159, -STORE, 139635508883456, 139635508887551, -STORE, 139635508887552, 139635517276159, -STORE, 139634822610944, 139635023937535, -SNULL, 139634822610944, 139634956828671, -STORE, 139634956828672, 139635023937535, -STORE, 139634822610944, 139634956828671, -SNULL, 139634956963839, 139635023937535, -STORE, 139634956828672, 139634956963839, -STORE, 139634956963840, 139635023937535, -STORE, 139635500490752, 139635508883455, -SNULL, 139634889719807, 139634956828671, -STORE, 139634822610944, 139634889719807, -STORE, 139634889719808, 139634956828671, -ERASE, 139634889719808, 139634956828671, -SNULL, 139635500494847, 139635508883455, -STORE, 139635500490752, 139635500494847, -STORE, 139635500494848, 139635508883455, -SNULL, 139634822746111, 139634889719807, -STORE, 139634822610944, 139634822746111, -STORE, 139634822746112, 139634889719807, -STORE, 139635409805312, 139635418198015, -STORE, 139634822746112, 139634956828671, -SNULL, 139634822746112, 139634889719807, -STORE, 139634889719808, 139634956828671, -STORE, 139634822746112, 139634889719807, -SNULL, 139634889854975, 139634956828671, -STORE, 139634889719808, 139634889854975, -STORE, 139634889854976, 139634956828671, -SNULL, 139635409809407, 139635418198015, -STORE, 139635409805312, 139635409809407, -STORE, 139635409809408, 139635418198015, -STORE, 139635401412608, 139635409805311, -STORE, 139634688393216, 139634822610943, -SNULL, 139634755502079, 139634822610943, -STORE, 139634688393216, 139634755502079, -STORE, 139634755502080, 139634822610943, -ERASE, 139634755502080, 139634822610943, -SNULL, 139635401416703, 139635409805311, -STORE, 139635401412608, 139635401416703, -STORE, 139635401416704, 139635409805311, -STORE, 139634554175488, 139634755502079, -SNULL, 139634554175488, 139634688393215, -STORE, 139634688393216, 139634755502079, -STORE, 139634554175488, 139634688393215, -SNULL, 139634688528383, 139634755502079, -STORE, 139634688393216, 139634688528383, -STORE, 139634688528384, 139634755502079, -STORE, 139635393019904, 139635401412607, -SNULL, 139634621284351, 139634688393215, -STORE, 139634554175488, 139634621284351, -STORE, 139634621284352, 139634688393215, -ERASE, 139634621284352, 139634688393215, -SNULL, 139634554310655, 139634621284351, -STORE, 139634554175488, 139634554310655, -STORE, 139634554310656, 139634621284351, -STORE, 139634554310656, 139634688393215, -SNULL, 139635393023999, 139635401412607, -STORE, 139635393019904, 139635393023999, -STORE, 139635393024000, 139635401412607, -SNULL, 139634554310656, 139634621284351, -STORE, 139634621284352, 139634688393215, -STORE, 139634554310656, 139634621284351, -SNULL, 139634621419519, 139634688393215, -STORE, 139634621284352, 139634621419519, -STORE, 139634621419520, 139634688393215, -STORE, 139635384627200, 139635393019903, -SNULL, 139635384631295, 139635393019903, -STORE, 139635384627200, 139635384631295, -STORE, 139635384631296, 139635393019903, -STORE, 139635376234496, 139635384627199, -SNULL, 139635376238591, 139635384627199, -STORE, 139635376234496, 139635376238591, -STORE, 139635376238592, 139635384627199, -STORE, 139635367841792, 139635376234495, -SNULL, 139635367845887, 139635376234495, -STORE, 139635367841792, 139635367845887, -STORE, 139635367845888, 139635376234495, -STORE, 139634419957760, 139634554175487, -SNULL, 139634487066623, 139634554175487, -STORE, 139634419957760, 139634487066623, -STORE, 139634487066624, 139634554175487, -ERASE, 139634487066624, 139634554175487, -STORE, 139635216871424, 139635225264127, -SNULL, 139635216875519, 139635225264127, -STORE, 139635216871424, 139635216875519, -STORE, 139635216875520, 139635225264127, -SNULL, 139634420092927, 139634487066623, -STORE, 139634419957760, 139634420092927, -STORE, 139634420092928, 139634487066623, -STORE, 139635208478720, 139635216871423, -SNULL, 139635208482815, 139635216871423, -STORE, 139635208478720, 139635208482815, -STORE, 139635208482816, 139635216871423, -STORE, 139635200086016, 139635208478719, -SNULL, 139635200090111, 139635208478719, -STORE, 139635200086016, 139635200090111, -STORE, 139635200090112, 139635208478719, -STORE, 139635191693312, 139635200086015, -SNULL, 139635191697407, 139635200086015, -STORE, 139635191693312, 139635191697407, -STORE, 139635191697408, 139635200086015, -STORE, 139635183300608, 139635191693311, -SNULL, 139635183304703, 139635191693311, -STORE, 139635183300608, 139635183304703, -STORE, 139635183304704, 139635191693311, -STORE, 139634420092928, 139634554175487, -SNULL, 139634420092928, 139634487066623, -STORE, 139634487066624, 139634554175487, -STORE, 139634420092928, 139634487066623, -SNULL, 139634487201791, 139634554175487, -STORE, 139634487066624, 139634487201791, -STORE, 139634487201792, 139634554175487, -ERASE, 139635559239680, 139635559243775, -ERASE, 139635559243776, 139635567632383, -ERASE, 139635550846976, 139635550851071, -ERASE, 139635550851072, 139635559239679, -ERASE, 139635542454272, 139635542458367, -ERASE, 139635542458368, 139635550846975, -ERASE, 139635418198016, 139635418202111, -ERASE, 139635418202112, 139635426590719, -ERASE, 139635534061568, 139635534065663, -ERASE, 139635534065664, 139635542454271, -ERASE, 139635525668864, 139635525672959, -ERASE, 139635525672960, 139635534061567, -ERASE, 139635517276160, 139635517280255, -ERASE, 139635517280256, 139635525668863, -ERASE, 139635508883456, 139635508887551, -ERASE, 139635508887552, 139635517276159, -ERASE, 139635500490752, 139635500494847, -ERASE, 139635500494848, 139635508883455, -ERASE, 139635409805312, 139635409809407, -ERASE, 139635409809408, 139635418198015, -ERASE, 139635401412608, 139635401416703, -ERASE, 139635401416704, 139635409805311, -ERASE, 139635393019904, 139635393023999, -ERASE, 139635393024000, 139635401412607, -ERASE, 139635384627200, 139635384631295, -ERASE, 139635384631296, 139635393019903, - }; - unsigned long set25[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722547441664, 140737488351231, -SNULL, 140722547449855, 140737488351231, -STORE, 140722547441664, 140722547449855, -STORE, 140722547310592, 140722547449855, -STORE, 94827521732608, 94827523956735, -SNULL, 94827521843199, 94827523956735, -STORE, 94827521732608, 94827521843199, -STORE, 94827521843200, 94827523956735, -ERASE, 94827521843200, 94827523956735, -STORE, 94827523936256, 94827523948543, -STORE, 94827523948544, 94827523956735, -STORE, 139816136847360, 139816139100159, -SNULL, 139816136990719, 139816139100159, -STORE, 139816136847360, 139816136990719, -STORE, 139816136990720, 139816139100159, -ERASE, 139816136990720, 139816139100159, -STORE, 139816139087872, 139816139096063, -STORE, 139816139096064, 139816139100159, -STORE, 140722548142080, 140722548146175, -STORE, 140722548129792, 140722548142079, -STORE, 139816139059200, 139816139087871, -STORE, 139816139051008, 139816139059199, -STORE, 139816133050368, 139816136847359, -SNULL, 139816133050368, 139816134709247, -STORE, 139816134709248, 139816136847359, -STORE, 139816133050368, 139816134709247, -SNULL, 139816136806399, 139816136847359, -STORE, 139816134709248, 139816136806399, -STORE, 139816136806400, 139816136847359, -SNULL, 139816136806400, 139816136830975, -STORE, 139816136830976, 139816136847359, -STORE, 139816136806400, 139816136830975, -ERASE, 139816136806400, 139816136830975, -STORE, 139816136806400, 139816136830975, -ERASE, 139816136830976, 139816136847359, -STORE, 139816136830976, 139816136847359, -SNULL, 139816136822783, 139816136830975, -STORE, 139816136806400, 139816136822783, -STORE, 139816136822784, 139816136830975, -SNULL, 94827523944447, 94827523948543, -STORE, 94827523936256, 94827523944447, -STORE, 94827523944448, 94827523948543, -SNULL, 139816139091967, 139816139096063, -STORE, 139816139087872, 139816139091967, -STORE, 139816139091968, 139816139096063, -ERASE, 139816139059200, 139816139087871, -STORE, 94827534970880, 94827535106047, -STORE, 94114394132480, 94114394345471, -STORE, 94114396442624, 94114396446719, -STORE, 94114396446720, 94114396454911, -STORE, 94114396454912, 94114396467199, -STORE, 94114421575680, 94114427715583, -STORE, 139934313955328, 139934315614207, -STORE, 139934315614208, 139934317711359, -STORE, 139934317711360, 139934317727743, -STORE, 139934317727744, 139934317735935, -STORE, 139934317735936, 139934317752319, -STORE, 139934317752320, 139934317764607, -STORE, 139934317764608, 139934319857663, -STORE, 139934319857664, 139934319861759, -STORE, 139934319861760, 139934319865855, -STORE, 139934319865856, 139934320009215, -STORE, 139934320377856, 139934322061311, -STORE, 139934322061312, 139934322077695, -STORE, 139934322106368, 139934322110463, -STORE, 139934322110464, 139934322114559, -STORE, 139934322114560, 139934322118655, -STORE, 140731200376832, 140731200516095, -STORE, 140731200929792, 140731200942079, -STORE, 140731200942080, 140731200946175, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140734133174272, 140737488351231, -SNULL, 140734133182463, 140737488351231, -STORE, 140734133174272, 140734133182463, -STORE, 140734133043200, 140734133182463, -STORE, 94412675600384, 94412677824511, -SNULL, 94412675710975, 94412677824511, -STORE, 94412675600384, 94412675710975, -STORE, 94412675710976, 94412677824511, -ERASE, 94412675710976, 94412677824511, -STORE, 94412677804032, 94412677816319, -STORE, 94412677816320, 94412677824511, -STORE, 140320087945216, 140320090198015, -SNULL, 140320088088575, 140320090198015, -STORE, 140320087945216, 140320088088575, -STORE, 140320088088576, 140320090198015, -ERASE, 140320088088576, 140320090198015, -STORE, 140320090185728, 140320090193919, -STORE, 140320090193920, 140320090198015, -STORE, 140734134591488, 140734134595583, -STORE, 140734134579200, 140734134591487, -STORE, 140320090157056, 140320090185727, -STORE, 140320090148864, 140320090157055, -STORE, 140320084148224, 140320087945215, -SNULL, 140320084148224, 140320085807103, -STORE, 140320085807104, 140320087945215, -STORE, 140320084148224, 140320085807103, -SNULL, 140320087904255, 140320087945215, -STORE, 140320085807104, 140320087904255, -STORE, 140320087904256, 140320087945215, -SNULL, 140320087904256, 140320087928831, -STORE, 140320087928832, 140320087945215, -STORE, 140320087904256, 140320087928831, -ERASE, 140320087904256, 140320087928831, -STORE, 140320087904256, 140320087928831, -ERASE, 140320087928832, 140320087945215, -STORE, 140320087928832, 140320087945215, -SNULL, 140320087920639, 140320087928831, -STORE, 140320087904256, 140320087920639, -STORE, 140320087920640, 140320087928831, -SNULL, 94412677812223, 94412677816319, -STORE, 94412677804032, 94412677812223, -STORE, 94412677812224, 94412677816319, -SNULL, 140320090189823, 140320090193919, -STORE, 140320090185728, 140320090189823, -STORE, 140320090189824, 140320090193919, -ERASE, 140320090157056, 140320090185727, -STORE, 94412684546048, 94412684681215, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140723005485056, 140737488351231, -SNULL, 140723005493247, 140737488351231, -STORE, 140723005485056, 140723005493247, -STORE, 140723005353984, 140723005493247, -STORE, 94387431936000, 94387434160127, -SNULL, 94387432046591, 94387434160127, -STORE, 94387431936000, 94387432046591, -STORE, 94387432046592, 94387434160127, -ERASE, 94387432046592, 94387434160127, -STORE, 94387434139648, 94387434151935, -STORE, 94387434151936, 94387434160127, -STORE, 140151675392000, 140151677644799, -SNULL, 140151675535359, 140151677644799, -STORE, 140151675392000, 140151675535359, -STORE, 140151675535360, 140151677644799, -ERASE, 140151675535360, 140151677644799, -STORE, 140151677632512, 140151677640703, -STORE, 140151677640704, 140151677644799, -STORE, 140723005784064, 140723005788159, -STORE, 140723005771776, 140723005784063, -STORE, 140151677603840, 140151677632511, -STORE, 140151677595648, 140151677603839, -STORE, 140151671595008, 140151675391999, -SNULL, 140151671595008, 140151673253887, -STORE, 140151673253888, 140151675391999, -STORE, 140151671595008, 140151673253887, -SNULL, 140151675351039, 140151675391999, -STORE, 140151673253888, 140151675351039, -STORE, 140151675351040, 140151675391999, -SNULL, 140151675351040, 140151675375615, -STORE, 140151675375616, 140151675391999, -STORE, 140151675351040, 140151675375615, -ERASE, 140151675351040, 140151675375615, -STORE, 140151675351040, 140151675375615, -ERASE, 140151675375616, 140151675391999, -STORE, 140151675375616, 140151675391999, -SNULL, 140151675367423, 140151675375615, -STORE, 140151675351040, 140151675367423, -STORE, 140151675367424, 140151675375615, -SNULL, 94387434147839, 94387434151935, -STORE, 94387434139648, 94387434147839, -STORE, 94387434147840, 94387434151935, -SNULL, 140151677636607, 140151677640703, -STORE, 140151677632512, 140151677636607, -STORE, 140151677636608, 140151677640703, -ERASE, 140151677603840, 140151677632511, -STORE, 94387458818048, 94387458953215, -STORE, 94909010997248, 94909011210239, -STORE, 94909013307392, 94909013311487, -STORE, 94909013311488, 94909013319679, -STORE, 94909013319680, 94909013331967, -STORE, 94909014827008, 94909023371263, -STORE, 140712411975680, 140712413634559, -STORE, 140712413634560, 140712415731711, -STORE, 140712415731712, 140712415748095, -STORE, 140712415748096, 140712415756287, -STORE, 140712415756288, 140712415772671, -STORE, 140712415772672, 140712415784959, -STORE, 140712415784960, 140712417878015, -STORE, 140712417878016, 140712417882111, -STORE, 140712417882112, 140712417886207, -STORE, 140712417886208, 140712418029567, -STORE, 140712418398208, 140712420081663, -STORE, 140712420081664, 140712420098047, -STORE, 140712420126720, 140712420130815, -STORE, 140712420130816, 140712420134911, -STORE, 140712420134912, 140712420139007, -STORE, 140729293111296, 140729293250559, -STORE, 140729293307904, 140729293320191, -STORE, 140729293320192, 140729293324287, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140720541691904, 140737488351231, -SNULL, 140720541700095, 140737488351231, -STORE, 140720541691904, 140720541700095, -STORE, 140720541560832, 140720541700095, -STORE, 94203603419136, 94203605643263, -SNULL, 94203603529727, 94203605643263, -STORE, 94203603419136, 94203603529727, -STORE, 94203603529728, 94203605643263, -ERASE, 94203603529728, 94203605643263, -STORE, 94203605622784, 94203605635071, -STORE, 94203605635072, 94203605643263, -STORE, 139847623081984, 139847625334783, -SNULL, 139847623225343, 139847625334783, -STORE, 139847623081984, 139847623225343, -STORE, 139847623225344, 139847625334783, -ERASE, 139847623225344, 139847625334783, -STORE, 139847625322496, 139847625330687, -STORE, 139847625330688, 139847625334783, -STORE, 140720542547968, 140720542552063, -STORE, 140720542535680, 140720542547967, -STORE, 139847625293824, 139847625322495, -STORE, 139847625285632, 139847625293823, -STORE, 139847619284992, 139847623081983, -SNULL, 139847619284992, 139847620943871, -STORE, 139847620943872, 139847623081983, -STORE, 139847619284992, 139847620943871, -SNULL, 139847623041023, 139847623081983, -STORE, 139847620943872, 139847623041023, -STORE, 139847623041024, 139847623081983, -SNULL, 139847623041024, 139847623065599, -STORE, 139847623065600, 139847623081983, -STORE, 139847623041024, 139847623065599, -ERASE, 139847623041024, 139847623065599, -STORE, 139847623041024, 139847623065599, -ERASE, 139847623065600, 139847623081983, -STORE, 139847623065600, 139847623081983, -SNULL, 139847623057407, 139847623065599, -STORE, 139847623041024, 139847623057407, -STORE, 139847623057408, 139847623065599, -SNULL, 94203605630975, 94203605635071, -STORE, 94203605622784, 94203605630975, -STORE, 94203605630976, 94203605635071, -SNULL, 139847625326591, 139847625330687, -STORE, 139847625322496, 139847625326591, -STORE, 139847625326592, 139847625330687, -ERASE, 139847625293824, 139847625322495, -STORE, 94203634880512, 94203635015679, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140721428738048, 140737488351231, -SNULL, 140721428746239, 140737488351231, -STORE, 140721428738048, 140721428746239, -STORE, 140721428606976, 140721428746239, -STORE, 93968808378368, 93968810602495, -SNULL, 93968808488959, 93968810602495, -STORE, 93968808378368, 93968808488959, -STORE, 93968808488960, 93968810602495, -ERASE, 93968808488960, 93968810602495, -STORE, 93968810582016, 93968810594303, -STORE, 93968810594304, 93968810602495, -STORE, 140397757026304, 140397759279103, -SNULL, 140397757169663, 140397759279103, -STORE, 140397757026304, 140397757169663, -STORE, 140397757169664, 140397759279103, -ERASE, 140397757169664, 140397759279103, -STORE, 140397759266816, 140397759275007, -STORE, 140397759275008, 140397759279103, -STORE, 140721430368256, 140721430372351, -STORE, 140721430355968, 140721430368255, -STORE, 140397759238144, 140397759266815, -STORE, 140397759229952, 140397759238143, -STORE, 140397753229312, 140397757026303, -SNULL, 140397753229312, 140397754888191, -STORE, 140397754888192, 140397757026303, -STORE, 140397753229312, 140397754888191, -SNULL, 140397756985343, 140397757026303, -STORE, 140397754888192, 140397756985343, -STORE, 140397756985344, 140397757026303, -SNULL, 140397756985344, 140397757009919, -STORE, 140397757009920, 140397757026303, -STORE, 140397756985344, 140397757009919, -ERASE, 140397756985344, 140397757009919, -STORE, 140397756985344, 140397757009919, -ERASE, 140397757009920, 140397757026303, -STORE, 140397757009920, 140397757026303, -SNULL, 140397757001727, 140397757009919, -STORE, 140397756985344, 140397757001727, -STORE, 140397757001728, 140397757009919, -SNULL, 93968810590207, 93968810594303, -STORE, 93968810582016, 93968810590207, -STORE, 93968810590208, 93968810594303, -SNULL, 140397759270911, 140397759275007, -STORE, 140397759266816, 140397759270911, -STORE, 140397759270912, 140397759275007, -ERASE, 140397759238144, 140397759266815, -STORE, 93968837025792, 93968837160959, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140721751044096, 140737488351231, -SNULL, 140721751052287, 140737488351231, -STORE, 140721751044096, 140721751052287, -STORE, 140721750913024, 140721751052287, -STORE, 94426051657728, 94426053881855, -SNULL, 94426051768319, 94426053881855, -STORE, 94426051657728, 94426051768319, -STORE, 94426051768320, 94426053881855, -ERASE, 94426051768320, 94426053881855, -STORE, 94426053861376, 94426053873663, -STORE, 94426053873664, 94426053881855, -STORE, 140228456181760, 140228458434559, -SNULL, 140228456325119, 140228458434559, -STORE, 140228456181760, 140228456325119, -STORE, 140228456325120, 140228458434559, -ERASE, 140228456325120, 140228458434559, -STORE, 140228458422272, 140228458430463, -STORE, 140228458430464, 140228458434559, -STORE, 140721751117824, 140721751121919, -STORE, 140721751105536, 140721751117823, -STORE, 140228458393600, 140228458422271, -STORE, 140228458385408, 140228458393599, -STORE, 140228452384768, 140228456181759, -SNULL, 140228452384768, 140228454043647, -STORE, 140228454043648, 140228456181759, -STORE, 140228452384768, 140228454043647, -SNULL, 140228456140799, 140228456181759, -STORE, 140228454043648, 140228456140799, -STORE, 140228456140800, 140228456181759, -SNULL, 140228456140800, 140228456165375, -STORE, 140228456165376, 140228456181759, -STORE, 140228456140800, 140228456165375, -ERASE, 140228456140800, 140228456165375, -STORE, 140228456140800, 140228456165375, -ERASE, 140228456165376, 140228456181759, -STORE, 140228456165376, 140228456181759, -SNULL, 140228456157183, 140228456165375, -STORE, 140228456140800, 140228456157183, -STORE, 140228456157184, 140228456165375, -SNULL, 94426053869567, 94426053873663, -STORE, 94426053861376, 94426053869567, -STORE, 94426053869568, 94426053873663, -SNULL, 140228458426367, 140228458430463, -STORE, 140228458422272, 140228458426367, -STORE, 140228458426368, 140228458430463, -ERASE, 140228458393600, 140228458422271, -STORE, 94426073681920, 94426073817087, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140732727623680, 140737488351231, -SNULL, 140732727631871, 140737488351231, -STORE, 140732727623680, 140732727631871, -STORE, 140732727492608, 140732727631871, -STORE, 94537485996032, 94537488220159, -SNULL, 94537486106623, 94537488220159, -STORE, 94537485996032, 94537486106623, -STORE, 94537486106624, 94537488220159, -ERASE, 94537486106624, 94537488220159, -STORE, 94537488199680, 94537488211967, -STORE, 94537488211968, 94537488220159, -STORE, 140446578036736, 140446580289535, -SNULL, 140446578180095, 140446580289535, -STORE, 140446578036736, 140446578180095, -STORE, 140446578180096, 140446580289535, -ERASE, 140446578180096, 140446580289535, -STORE, 140446580277248, 140446580285439, -STORE, 140446580285440, 140446580289535, -STORE, 140732727758848, 140732727762943, -STORE, 140732727746560, 140732727758847, -STORE, 140446580248576, 140446580277247, -STORE, 140446580240384, 140446580248575, -STORE, 140446574239744, 140446578036735, -SNULL, 140446574239744, 140446575898623, -STORE, 140446575898624, 140446578036735, -STORE, 140446574239744, 140446575898623, -SNULL, 140446577995775, 140446578036735, -STORE, 140446575898624, 140446577995775, -STORE, 140446577995776, 140446578036735, -SNULL, 140446577995776, 140446578020351, -STORE, 140446578020352, 140446578036735, -STORE, 140446577995776, 140446578020351, -ERASE, 140446577995776, 140446578020351, -STORE, 140446577995776, 140446578020351, -ERASE, 140446578020352, 140446578036735, -STORE, 140446578020352, 140446578036735, -SNULL, 140446578012159, 140446578020351, -STORE, 140446577995776, 140446578012159, -STORE, 140446578012160, 140446578020351, -SNULL, 94537488207871, 94537488211967, -STORE, 94537488199680, 94537488207871, -STORE, 94537488207872, 94537488211967, -SNULL, 140446580281343, 140446580285439, -STORE, 140446580277248, 140446580281343, -STORE, 140446580281344, 140446580285439, -ERASE, 140446580248576, 140446580277247, -STORE, 94537489014784, 94537489149951, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140728766808064, 140737488351231, -SNULL, 140728766816255, 140737488351231, -STORE, 140728766808064, 140728766816255, -STORE, 140728766676992, 140728766816255, -STORE, 94418513866752, 94418516090879, -SNULL, 94418513977343, 94418516090879, -STORE, 94418513866752, 94418513977343, -STORE, 94418513977344, 94418516090879, -ERASE, 94418513977344, 94418516090879, -STORE, 94418516070400, 94418516082687, -STORE, 94418516082688, 94418516090879, -STORE, 140556479520768, 140556481773567, -SNULL, 140556479664127, 140556481773567, -STORE, 140556479520768, 140556479664127, -STORE, 140556479664128, 140556481773567, -ERASE, 140556479664128, 140556481773567, -STORE, 140556481761280, 140556481769471, -STORE, 140556481769472, 140556481773567, -STORE, 140728767148032, 140728767152127, -STORE, 140728767135744, 140728767148031, -STORE, 140556481732608, 140556481761279, -STORE, 140556481724416, 140556481732607, -STORE, 140556475723776, 140556479520767, -SNULL, 140556475723776, 140556477382655, -STORE, 140556477382656, 140556479520767, -STORE, 140556475723776, 140556477382655, -SNULL, 140556479479807, 140556479520767, -STORE, 140556477382656, 140556479479807, -STORE, 140556479479808, 140556479520767, -SNULL, 140556479479808, 140556479504383, -STORE, 140556479504384, 140556479520767, -STORE, 140556479479808, 140556479504383, -ERASE, 140556479479808, 140556479504383, -STORE, 140556479479808, 140556479504383, -ERASE, 140556479504384, 140556479520767, -STORE, 140556479504384, 140556479520767, -SNULL, 140556479496191, 140556479504383, -STORE, 140556479479808, 140556479496191, -STORE, 140556479496192, 140556479504383, -SNULL, 94418516078591, 94418516082687, -STORE, 94418516070400, 94418516078591, -STORE, 94418516078592, 94418516082687, -SNULL, 140556481765375, 140556481769471, -STORE, 140556481761280, 140556481765375, -STORE, 140556481765376, 140556481769471, -ERASE, 140556481732608, 140556481761279, -STORE, 94418541113344, 94418541248511, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140723945873408, 140737488351231, -SNULL, 140723945881599, 140737488351231, -STORE, 140723945873408, 140723945881599, -STORE, 140723945742336, 140723945881599, -STORE, 94543169773568, 94543171997695, -SNULL, 94543169884159, 94543171997695, -STORE, 94543169773568, 94543169884159, -STORE, 94543169884160, 94543171997695, -ERASE, 94543169884160, 94543171997695, -STORE, 94543171977216, 94543171989503, -STORE, 94543171989504, 94543171997695, -STORE, 139890420883456, 139890423136255, -SNULL, 139890421026815, 139890423136255, -STORE, 139890420883456, 139890421026815, -STORE, 139890421026816, 139890423136255, -ERASE, 139890421026816, 139890423136255, -STORE, 139890423123968, 139890423132159, -STORE, 139890423132160, 139890423136255, -STORE, 140723946102784, 140723946106879, -STORE, 140723946090496, 140723946102783, -STORE, 139890423095296, 139890423123967, -STORE, 139890423087104, 139890423095295, -STORE, 139890417086464, 139890420883455, -SNULL, 139890417086464, 139890418745343, -STORE, 139890418745344, 139890420883455, -STORE, 139890417086464, 139890418745343, -SNULL, 139890420842495, 139890420883455, -STORE, 139890418745344, 139890420842495, -STORE, 139890420842496, 139890420883455, -SNULL, 139890420842496, 139890420867071, -STORE, 139890420867072, 139890420883455, -STORE, 139890420842496, 139890420867071, -ERASE, 139890420842496, 139890420867071, -STORE, 139890420842496, 139890420867071, -ERASE, 139890420867072, 139890420883455, -STORE, 139890420867072, 139890420883455, -SNULL, 139890420858879, 139890420867071, -STORE, 139890420842496, 139890420858879, -STORE, 139890420858880, 139890420867071, -SNULL, 94543171985407, 94543171989503, -STORE, 94543171977216, 94543171985407, -STORE, 94543171985408, 94543171989503, -SNULL, 139890423128063, 139890423132159, -STORE, 139890423123968, 139890423128063, -STORE, 139890423128064, 139890423132159, -ERASE, 139890423095296, 139890423123967, -STORE, 94543197097984, 94543197233151, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140736205979648, 140737488351231, -SNULL, 140736205987839, 140737488351231, -STORE, 140736205979648, 140736205987839, -STORE, 140736205848576, 140736205987839, -STORE, 94913209913344, 94913212137471, -SNULL, 94913210023935, 94913212137471, -STORE, 94913209913344, 94913210023935, -STORE, 94913210023936, 94913212137471, -ERASE, 94913210023936, 94913212137471, -STORE, 94913212116992, 94913212129279, -STORE, 94913212129280, 94913212137471, -STORE, 140006323052544, 140006325305343, -SNULL, 140006323195903, 140006325305343, -STORE, 140006323052544, 140006323195903, -STORE, 140006323195904, 140006325305343, -ERASE, 140006323195904, 140006325305343, -STORE, 140006325293056, 140006325301247, -STORE, 140006325301248, 140006325305343, -STORE, 140736206716928, 140736206721023, -STORE, 140736206704640, 140736206716927, -STORE, 140006325264384, 140006325293055, -STORE, 140006325256192, 140006325264383, -STORE, 140006319255552, 140006323052543, -SNULL, 140006319255552, 140006320914431, -STORE, 140006320914432, 140006323052543, -STORE, 140006319255552, 140006320914431, -SNULL, 140006323011583, 140006323052543, -STORE, 140006320914432, 140006323011583, -STORE, 140006323011584, 140006323052543, -SNULL, 140006323011584, 140006323036159, -STORE, 140006323036160, 140006323052543, -STORE, 140006323011584, 140006323036159, -ERASE, 140006323011584, 140006323036159, -STORE, 140006323011584, 140006323036159, -ERASE, 140006323036160, 140006323052543, -STORE, 140006323036160, 140006323052543, -SNULL, 140006323027967, 140006323036159, -STORE, 140006323011584, 140006323027967, -STORE, 140006323027968, 140006323036159, -SNULL, 94913212125183, 94913212129279, -STORE, 94913212116992, 94913212125183, -STORE, 94913212125184, 94913212129279, -SNULL, 140006325297151, 140006325301247, -STORE, 140006325293056, 140006325297151, -STORE, 140006325297152, 140006325301247, -ERASE, 140006325264384, 140006325293055, -STORE, 94913239932928, 94913240068095, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140726926897152, 140737488351231, -SNULL, 140726926905343, 140737488351231, -STORE, 140726926897152, 140726926905343, -STORE, 140726926766080, 140726926905343, -STORE, 94213246820352, 94213249044479, -SNULL, 94213246930943, 94213249044479, -STORE, 94213246820352, 94213246930943, -STORE, 94213246930944, 94213249044479, -ERASE, 94213246930944, 94213249044479, -STORE, 94213249024000, 94213249036287, -STORE, 94213249036288, 94213249044479, -STORE, 140368830242816, 140368832495615, -SNULL, 140368830386175, 140368832495615, -STORE, 140368830242816, 140368830386175, -STORE, 140368830386176, 140368832495615, -ERASE, 140368830386176, 140368832495615, -STORE, 140368832483328, 140368832491519, -STORE, 140368832491520, 140368832495615, -STORE, 140726926999552, 140726927003647, -STORE, 140726926987264, 140726926999551, -STORE, 140368832454656, 140368832483327, -STORE, 140368832446464, 140368832454655, -STORE, 140368826445824, 140368830242815, -SNULL, 140368826445824, 140368828104703, -STORE, 140368828104704, 140368830242815, -STORE, 140368826445824, 140368828104703, -SNULL, 140368830201855, 140368830242815, -STORE, 140368828104704, 140368830201855, -STORE, 140368830201856, 140368830242815, -SNULL, 140368830201856, 140368830226431, -STORE, 140368830226432, 140368830242815, -STORE, 140368830201856, 140368830226431, -ERASE, 140368830201856, 140368830226431, -STORE, 140368830201856, 140368830226431, -ERASE, 140368830226432, 140368830242815, -STORE, 140368830226432, 140368830242815, -SNULL, 140368830218239, 140368830226431, -STORE, 140368830201856, 140368830218239, -STORE, 140368830218240, 140368830226431, -SNULL, 94213249032191, 94213249036287, -STORE, 94213249024000, 94213249032191, -STORE, 94213249032192, 94213249036287, -SNULL, 140368832487423, 140368832491519, -STORE, 140368832483328, 140368832487423, -STORE, 140368832487424, 140368832491519, -ERASE, 140368832454656, 140368832483327, -STORE, 94213267435520, 94213267570687, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140728954130432, 140737488351231, -SNULL, 140728954138623, 140737488351231, -STORE, 140728954130432, 140728954138623, -STORE, 140728953999360, 140728954138623, -STORE, 94672570966016, 94672573190143, -SNULL, 94672571076607, 94672573190143, -STORE, 94672570966016, 94672571076607, -STORE, 94672571076608, 94672573190143, -ERASE, 94672571076608, 94672573190143, -STORE, 94672573169664, 94672573181951, -STORE, 94672573181952, 94672573190143, -STORE, 140201696735232, 140201698988031, -SNULL, 140201696878591, 140201698988031, -STORE, 140201696735232, 140201696878591, -STORE, 140201696878592, 140201698988031, -ERASE, 140201696878592, 140201698988031, -STORE, 140201698975744, 140201698983935, -STORE, 140201698983936, 140201698988031, -STORE, 140728954163200, 140728954167295, -STORE, 140728954150912, 140728954163199, -STORE, 140201698947072, 140201698975743, -STORE, 140201698938880, 140201698947071, -STORE, 140201692938240, 140201696735231, -SNULL, 140201692938240, 140201694597119, -STORE, 140201694597120, 140201696735231, -STORE, 140201692938240, 140201694597119, -SNULL, 140201696694271, 140201696735231, -STORE, 140201694597120, 140201696694271, -STORE, 140201696694272, 140201696735231, -SNULL, 140201696694272, 140201696718847, -STORE, 140201696718848, 140201696735231, -STORE, 140201696694272, 140201696718847, -ERASE, 140201696694272, 140201696718847, -STORE, 140201696694272, 140201696718847, -ERASE, 140201696718848, 140201696735231, -STORE, 140201696718848, 140201696735231, -SNULL, 140201696710655, 140201696718847, -STORE, 140201696694272, 140201696710655, -STORE, 140201696710656, 140201696718847, -SNULL, 94672573177855, 94672573181951, -STORE, 94672573169664, 94672573177855, -STORE, 94672573177856, 94672573181951, -SNULL, 140201698979839, 140201698983935, -STORE, 140201698975744, 140201698979839, -STORE, 140201698979840, 140201698983935, -ERASE, 140201698947072, 140201698975743, -STORE, 94672595689472, 94672595824639, -STORE, 94114394132480, 94114394345471, -STORE, 94114396442624, 94114396446719, -STORE, 94114396446720, 94114396454911, -STORE, 94114396454912, 94114396467199, -STORE, 94114421575680, 94114428256255, -STORE, 139934313955328, 139934315614207, -STORE, 139934315614208, 139934317711359, -STORE, 139934317711360, 139934317727743, -STORE, 139934317727744, 139934317735935, -STORE, 139934317735936, 139934317752319, -STORE, 139934317752320, 139934317764607, -STORE, 139934317764608, 139934319857663, -STORE, 139934319857664, 139934319861759, -STORE, 139934319861760, 139934319865855, -STORE, 139934319865856, 139934320009215, -STORE, 139934320377856, 139934322061311, -STORE, 139934322061312, 139934322077695, -STORE, 139934322106368, 139934322110463, -STORE, 139934322110464, 139934322114559, -STORE, 139934322114560, 139934322118655, -STORE, 140731200376832, 140731200516095, -STORE, 140731200929792, 140731200942079, -STORE, 140731200942080, 140731200946175, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140721532362752, 140737488351231, -SNULL, 140721532370943, 140737488351231, -STORE, 140721532362752, 140721532370943, -STORE, 140721532231680, 140721532370943, -STORE, 94467222597632, 94467224821759, -SNULL, 94467222708223, 94467224821759, -STORE, 94467222597632, 94467222708223, -STORE, 94467222708224, 94467224821759, -ERASE, 94467222708224, 94467224821759, -STORE, 94467224801280, 94467224813567, -STORE, 94467224813568, 94467224821759, -STORE, 140191433543680, 140191435796479, -SNULL, 140191433687039, 140191435796479, -STORE, 140191433543680, 140191433687039, -STORE, 140191433687040, 140191435796479, -ERASE, 140191433687040, 140191435796479, -STORE, 140191435784192, 140191435792383, -STORE, 140191435792384, 140191435796479, -STORE, 140721533034496, 140721533038591, -STORE, 140721533022208, 140721533034495, -STORE, 140191435755520, 140191435784191, -STORE, 140191435747328, 140191435755519, -STORE, 140191429746688, 140191433543679, -SNULL, 140191429746688, 140191431405567, -STORE, 140191431405568, 140191433543679, -STORE, 140191429746688, 140191431405567, -SNULL, 140191433502719, 140191433543679, -STORE, 140191431405568, 140191433502719, -STORE, 140191433502720, 140191433543679, -SNULL, 140191433502720, 140191433527295, -STORE, 140191433527296, 140191433543679, -STORE, 140191433502720, 140191433527295, -ERASE, 140191433502720, 140191433527295, -STORE, 140191433502720, 140191433527295, -ERASE, 140191433527296, 140191433543679, -STORE, 140191433527296, 140191433543679, -SNULL, 140191433519103, 140191433527295, -STORE, 140191433502720, 140191433519103, -STORE, 140191433519104, 140191433527295, -SNULL, 94467224809471, 94467224813567, -STORE, 94467224801280, 94467224809471, -STORE, 94467224809472, 94467224813567, -SNULL, 140191435788287, 140191435792383, -STORE, 140191435784192, 140191435788287, -STORE, 140191435788288, 140191435792383, -ERASE, 140191435755520, 140191435784191, -STORE, 94467251847168, 94467251982335, -STORE, 94367895400448, 94367895613439, -STORE, 94367897710592, 94367897714687, -STORE, 94367897714688, 94367897722879, -STORE, 94367897722880, 94367897735167, -STORE, 94367925264384, 94367926861823, -STORE, 139801317548032, 139801319206911, -STORE, 139801319206912, 139801321304063, -STORE, 139801321304064, 139801321320447, -STORE, 139801321320448, 139801321328639, -STORE, 139801321328640, 139801321345023, -STORE, 139801321345024, 139801321357311, -STORE, 139801321357312, 139801323450367, -STORE, 139801323450368, 139801323454463, -STORE, 139801323454464, 139801323458559, -STORE, 139801323458560, 139801323601919, -STORE, 139801323970560, 139801325654015, -STORE, 139801325654016, 139801325670399, -STORE, 139801325699072, 139801325703167, -STORE, 139801325703168, 139801325707263, -STORE, 139801325707264, 139801325711359, -STORE, 140724442861568, 140724443000831, -STORE, 140724443611136, 140724443623423, -STORE, 140724443623424, 140724443627519, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140731353149440, 140737488351231, -SNULL, 140731353157631, 140737488351231, -STORE, 140731353149440, 140731353157631, -STORE, 140731353018368, 140731353157631, -STORE, 94310379503616, 94310381838335, -SNULL, 94310379716607, 94310381838335, -STORE, 94310379503616, 94310379716607, -STORE, 94310379716608, 94310381838335, -ERASE, 94310379716608, 94310381838335, -STORE, 94310381813760, 94310381826047, -STORE, 94310381826048, 94310381838335, -STORE, 140515434659840, 140515436912639, -SNULL, 140515434803199, 140515436912639, -STORE, 140515434659840, 140515434803199, -STORE, 140515434803200, 140515436912639, -ERASE, 140515434803200, 140515436912639, -STORE, 140515436900352, 140515436908543, -STORE, 140515436908544, 140515436912639, -STORE, 140731353886720, 140731353890815, -STORE, 140731353874432, 140731353886719, -STORE, 140515436871680, 140515436900351, -STORE, 140515436863488, 140515436871679, -STORE, 140515432546304, 140515434659839, -SNULL, 140515432546304, 140515432558591, -STORE, 140515432558592, 140515434659839, -STORE, 140515432546304, 140515432558591, -SNULL, 140515434651647, 140515434659839, -STORE, 140515432558592, 140515434651647, -STORE, 140515434651648, 140515434659839, -ERASE, 140515434651648, 140515434659839, -STORE, 140515434651648, 140515434659839, -STORE, 140515428749312, 140515432546303, -SNULL, 140515428749312, 140515430408191, -STORE, 140515430408192, 140515432546303, -STORE, 140515428749312, 140515430408191, -SNULL, 140515432505343, 140515432546303, -STORE, 140515430408192, 140515432505343, -STORE, 140515432505344, 140515432546303, -SNULL, 140515432505344, 140515432529919, -STORE, 140515432529920, 140515432546303, -STORE, 140515432505344, 140515432529919, -ERASE, 140515432505344, 140515432529919, -STORE, 140515432505344, 140515432529919, -ERASE, 140515432529920, 140515432546303, -STORE, 140515432529920, 140515432546303, -STORE, 140515436855296, 140515436871679, -SNULL, 140515432521727, 140515432529919, -STORE, 140515432505344, 140515432521727, -STORE, 140515432521728, 140515432529919, -SNULL, 140515434655743, 140515434659839, -STORE, 140515434651648, 140515434655743, -STORE, 140515434655744, 140515434659839, -SNULL, 94310381817855, 94310381826047, -STORE, 94310381813760, 94310381817855, -STORE, 94310381817856, 94310381826047, -SNULL, 140515436904447, 140515436908543, -STORE, 140515436900352, 140515436904447, -STORE, 140515436904448, 140515436908543, -ERASE, 140515436871680, 140515436900351, -STORE, 94310395457536, 94310395592703, -STORE, 140515435171840, 140515436855295, -STORE, 94310395457536, 94310395727871, -STORE, 94310395457536, 94310395863039, -STORE, 94310395457536, 94310396047359, -SNULL, 94310396022783, 94310396047359, -STORE, 94310395457536, 94310396022783, -STORE, 94310396022784, 94310396047359, -ERASE, 94310396022784, 94310396047359, -STORE, 94310395457536, 94310396157951, -STORE, 94310395457536, 94310396293119, -SNULL, 94310396276735, 94310396293119, -STORE, 94310395457536, 94310396276735, -STORE, 94310396276736, 94310396293119, -ERASE, 94310396276736, 94310396293119, -STORE, 94310395457536, 94310396411903, -SNULL, 94310396383231, 94310396411903, -STORE, 94310395457536, 94310396383231, -STORE, 94310396383232, 94310396411903, -ERASE, 94310396383232, 94310396411903, -STORE, 94310395457536, 94310396522495, -STORE, 94310395457536, 94310396674047, -SNULL, 94310396657663, 94310396674047, -STORE, 94310395457536, 94310396657663, -STORE, 94310396657664, 94310396674047, -ERASE, 94310396657664, 94310396674047, -SNULL, 94310396624895, 94310396657663, -STORE, 94310395457536, 94310396624895, -STORE, 94310396624896, 94310396657663, -ERASE, 94310396624896, 94310396657663, -STORE, 94310395457536, 94310396776447, -SNULL, 94310396764159, 94310396776447, -STORE, 94310395457536, 94310396764159, -STORE, 94310396764160, 94310396776447, -ERASE, 94310396764160, 94310396776447, -SNULL, 94310396739583, 94310396764159, -STORE, 94310395457536, 94310396739583, -STORE, 94310396739584, 94310396764159, -ERASE, 94310396739584, 94310396764159, -STORE, 94310395457536, 94310396882943, -STORE, 94310395457536, 94310397018111, -STORE, 94310395457536, 94310397161471, -STORE, 94310395457536, 94310397300735, -SNULL, 94310397292543, 94310397300735, -STORE, 94310395457536, 94310397292543, -STORE, 94310397292544, 94310397300735, -ERASE, 94310397292544, 94310397300735, -STORE, 94359222210560, 94359222423551, -STORE, 94359224520704, 94359224524799, -STORE, 94359224524800, 94359224532991, -STORE, 94359224532992, 94359224545279, -STORE, 94359238348800, 94359239385087, -STORE, 140675699838976, 140675701497855, -STORE, 140675701497856, 140675703595007, -STORE, 140675703595008, 140675703611391, -STORE, 140675703611392, 140675703619583, -STORE, 140675703619584, 140675703635967, -STORE, 140675703635968, 140675703648255, -STORE, 140675703648256, 140675705741311, -STORE, 140675705741312, 140675705745407, -STORE, 140675705745408, 140675705749503, -STORE, 140675705749504, 140675705892863, -STORE, 140675706261504, 140675707944959, -STORE, 140675707944960, 140675707961343, -STORE, 140675707990016, 140675707994111, -STORE, 140675707994112, 140675707998207, -STORE, 140675707998208, 140675708002303, -STORE, 140721324634112, 140721324773375, -STORE, 140721324810240, 140721324822527, -STORE, 140721324822528, 140721324826623, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140724099678208, 140737488351231, -SNULL, 140724099686399, 140737488351231, -STORE, 140724099678208, 140724099686399, -STORE, 140724099547136, 140724099686399, -STORE, 94586638516224, 94586640850943, -SNULL, 94586638729215, 94586640850943, -STORE, 94586638516224, 94586638729215, -STORE, 94586638729216, 94586640850943, -ERASE, 94586638729216, 94586640850943, -STORE, 94586640826368, 94586640838655, -STORE, 94586640838656, 94586640850943, -STORE, 140371033796608, 140371036049407, -SNULL, 140371033939967, 140371036049407, -STORE, 140371033796608, 140371033939967, -STORE, 140371033939968, 140371036049407, -ERASE, 140371033939968, 140371036049407, -STORE, 140371036037120, 140371036045311, -STORE, 140371036045312, 140371036049407, -STORE, 140724100001792, 140724100005887, -STORE, 140724099989504, 140724100001791, -STORE, 140371036008448, 140371036037119, -STORE, 140371036000256, 140371036008447, -STORE, 140371031683072, 140371033796607, -SNULL, 140371031683072, 140371031695359, -STORE, 140371031695360, 140371033796607, -STORE, 140371031683072, 140371031695359, -SNULL, 140371033788415, 140371033796607, -STORE, 140371031695360, 140371033788415, -STORE, 140371033788416, 140371033796607, -ERASE, 140371033788416, 140371033796607, -STORE, 140371033788416, 140371033796607, -STORE, 140371027886080, 140371031683071, -SNULL, 140371027886080, 140371029544959, -STORE, 140371029544960, 140371031683071, -STORE, 140371027886080, 140371029544959, -SNULL, 140371031642111, 140371031683071, -STORE, 140371029544960, 140371031642111, -STORE, 140371031642112, 140371031683071, -SNULL, 140371031642112, 140371031666687, -STORE, 140371031666688, 140371031683071, -STORE, 140371031642112, 140371031666687, -ERASE, 140371031642112, 140371031666687, -STORE, 140371031642112, 140371031666687, -ERASE, 140371031666688, 140371031683071, -STORE, 140371031666688, 140371031683071, -STORE, 140371035992064, 140371036008447, -SNULL, 140371031658495, 140371031666687, -STORE, 140371031642112, 140371031658495, -STORE, 140371031658496, 140371031666687, -SNULL, 140371033792511, 140371033796607, -STORE, 140371033788416, 140371033792511, -STORE, 140371033792512, 140371033796607, -SNULL, 94586640830463, 94586640838655, -STORE, 94586640826368, 94586640830463, -STORE, 94586640830464, 94586640838655, -SNULL, 140371036041215, 140371036045311, -STORE, 140371036037120, 140371036041215, -STORE, 140371036041216, 140371036045311, -ERASE, 140371036008448, 140371036037119, -STORE, 94586663849984, 94586663985151, -STORE, 140371034308608, 140371035992063, -STORE, 94586663849984, 94586664120319, -STORE, 94586663849984, 94586664255487, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140727532937216, 140737488351231, -SNULL, 140727532945407, 140737488351231, -STORE, 140727532937216, 140727532945407, -STORE, 140727532806144, 140727532945407, -STORE, 94849780191232, 94849782525951, -SNULL, 94849780404223, 94849782525951, -STORE, 94849780191232, 94849780404223, -STORE, 94849780404224, 94849782525951, -ERASE, 94849780404224, 94849782525951, -STORE, 94849782501376, 94849782513663, -STORE, 94849782513664, 94849782525951, -STORE, 140382070218752, 140382072471551, -SNULL, 140382070362111, 140382072471551, -STORE, 140382070218752, 140382070362111, -STORE, 140382070362112, 140382072471551, -ERASE, 140382070362112, 140382072471551, -STORE, 140382072459264, 140382072467455, -STORE, 140382072467456, 140382072471551, -STORE, 140727533092864, 140727533096959, -STORE, 140727533080576, 140727533092863, -STORE, 140382072430592, 140382072459263, -STORE, 140382072422400, 140382072430591, -STORE, 140382068105216, 140382070218751, -SNULL, 140382068105216, 140382068117503, -STORE, 140382068117504, 140382070218751, -STORE, 140382068105216, 140382068117503, -SNULL, 140382070210559, 140382070218751, -STORE, 140382068117504, 140382070210559, -STORE, 140382070210560, 140382070218751, -ERASE, 140382070210560, 140382070218751, -STORE, 140382070210560, 140382070218751, -STORE, 140382064308224, 140382068105215, -SNULL, 140382064308224, 140382065967103, -STORE, 140382065967104, 140382068105215, -STORE, 140382064308224, 140382065967103, -SNULL, 140382068064255, 140382068105215, -STORE, 140382065967104, 140382068064255, -STORE, 140382068064256, 140382068105215, -SNULL, 140382068064256, 140382068088831, -STORE, 140382068088832, 140382068105215, -STORE, 140382068064256, 140382068088831, -ERASE, 140382068064256, 140382068088831, -STORE, 140382068064256, 140382068088831, -ERASE, 140382068088832, 140382068105215, -STORE, 140382068088832, 140382068105215, -STORE, 140382072414208, 140382072430591, -SNULL, 140382068080639, 140382068088831, -STORE, 140382068064256, 140382068080639, -STORE, 140382068080640, 140382068088831, -SNULL, 140382070214655, 140382070218751, -STORE, 140382070210560, 140382070214655, -STORE, 140382070214656, 140382070218751, -SNULL, 94849782505471, 94849782513663, -STORE, 94849782501376, 94849782505471, -STORE, 94849782505472, 94849782513663, -SNULL, 140382072463359, 140382072467455, -STORE, 140382072459264, 140382072463359, -STORE, 140382072463360, 140382072467455, -ERASE, 140382072430592, 140382072459263, -STORE, 94849782845440, 94849782980607, -STORE, 140382070730752, 140382072414207, -STORE, 94849782845440, 94849783115775, -STORE, 94849782845440, 94849783250943, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722594377728, 140737488351231, -SNULL, 140722594385919, 140737488351231, -STORE, 140722594377728, 140722594385919, -STORE, 140722594246656, 140722594385919, -STORE, 94421466353664, 94421468577791, -SNULL, 94421466464255, 94421468577791, -STORE, 94421466353664, 94421466464255, -STORE, 94421466464256, 94421468577791, -ERASE, 94421466464256, 94421468577791, -STORE, 94421468557312, 94421468569599, -STORE, 94421468569600, 94421468577791, -STORE, 140345458057216, 140345460310015, -SNULL, 140345458200575, 140345460310015, -STORE, 140345458057216, 140345458200575, -STORE, 140345458200576, 140345460310015, -ERASE, 140345458200576, 140345460310015, -STORE, 140345460297728, 140345460305919, -STORE, 140345460305920, 140345460310015, -STORE, 140722595557376, 140722595561471, -STORE, 140722595545088, 140722595557375, -STORE, 140345460269056, 140345460297727, -STORE, 140345460260864, 140345460269055, -STORE, 140345454260224, 140345458057215, -SNULL, 140345454260224, 140345455919103, -STORE, 140345455919104, 140345458057215, -STORE, 140345454260224, 140345455919103, -SNULL, 140345458016255, 140345458057215, -STORE, 140345455919104, 140345458016255, -STORE, 140345458016256, 140345458057215, -SNULL, 140345458016256, 140345458040831, -STORE, 140345458040832, 140345458057215, -STORE, 140345458016256, 140345458040831, -ERASE, 140345458016256, 140345458040831, -STORE, 140345458016256, 140345458040831, -ERASE, 140345458040832, 140345458057215, -STORE, 140345458040832, 140345458057215, -SNULL, 140345458032639, 140345458040831, -STORE, 140345458016256, 140345458032639, -STORE, 140345458032640, 140345458040831, -SNULL, 94421468565503, 94421468569599, -STORE, 94421468557312, 94421468565503, -STORE, 94421468565504, 94421468569599, -SNULL, 140345460301823, 140345460305919, -STORE, 140345460297728, 140345460301823, -STORE, 140345460301824, 140345460305919, -ERASE, 140345460269056, 140345460297727, -STORE, 94421496004608, 94421496139775, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140726096302080, 140737488351231, -SNULL, 140726096310271, 140737488351231, -STORE, 140726096302080, 140726096310271, -STORE, 140726096171008, 140726096310271, -STORE, 94101992124416, 94101994459135, -SNULL, 94101992337407, 94101994459135, -STORE, 94101992124416, 94101992337407, -STORE, 94101992337408, 94101994459135, -ERASE, 94101992337408, 94101994459135, -STORE, 94101994434560, 94101994446847, -STORE, 94101994446848, 94101994459135, -STORE, 140192085594112, 140192087846911, -SNULL, 140192085737471, 140192087846911, -STORE, 140192085594112, 140192085737471, -STORE, 140192085737472, 140192087846911, -ERASE, 140192085737472, 140192087846911, -STORE, 140192087834624, 140192087842815, -STORE, 140192087842816, 140192087846911, -STORE, 140726096375808, 140726096379903, -STORE, 140726096363520, 140726096375807, -STORE, 140192087805952, 140192087834623, -STORE, 140192087797760, 140192087805951, -STORE, 140192083480576, 140192085594111, -SNULL, 140192083480576, 140192083492863, -STORE, 140192083492864, 140192085594111, -STORE, 140192083480576, 140192083492863, -SNULL, 140192085585919, 140192085594111, -STORE, 140192083492864, 140192085585919, -STORE, 140192085585920, 140192085594111, -ERASE, 140192085585920, 140192085594111, -STORE, 140192085585920, 140192085594111, -STORE, 140192079683584, 140192083480575, -SNULL, 140192079683584, 140192081342463, -STORE, 140192081342464, 140192083480575, -STORE, 140192079683584, 140192081342463, -SNULL, 140192083439615, 140192083480575, -STORE, 140192081342464, 140192083439615, -STORE, 140192083439616, 140192083480575, -SNULL, 140192083439616, 140192083464191, -STORE, 140192083464192, 140192083480575, -STORE, 140192083439616, 140192083464191, -ERASE, 140192083439616, 140192083464191, -STORE, 140192083439616, 140192083464191, -ERASE, 140192083464192, 140192083480575, -STORE, 140192083464192, 140192083480575, -STORE, 140192087789568, 140192087805951, -SNULL, 140192083455999, 140192083464191, -STORE, 140192083439616, 140192083455999, -STORE, 140192083456000, 140192083464191, -SNULL, 140192085590015, 140192085594111, -STORE, 140192085585920, 140192085590015, -STORE, 140192085590016, 140192085594111, -SNULL, 94101994438655, 94101994446847, -STORE, 94101994434560, 94101994438655, -STORE, 94101994438656, 94101994446847, -SNULL, 140192087838719, 140192087842815, -STORE, 140192087834624, 140192087838719, -STORE, 140192087838720, 140192087842815, -ERASE, 140192087805952, 140192087834623, -STORE, 94102011887616, 94102012022783, -STORE, 140192086106112, 140192087789567, -STORE, 94102011887616, 94102012157951, -STORE, 94102011887616, 94102012293119, -STORE, 94102011887616, 94102012440575, -SNULL, 94102012428287, 94102012440575, -STORE, 94102011887616, 94102012428287, -STORE, 94102012428288, 94102012440575, -ERASE, 94102012428288, 94102012440575, -STORE, 94102011887616, 94102012579839, -STORE, 94102011887616, 94102012715007, -SNULL, 94102012694527, 94102012715007, -STORE, 94102011887616, 94102012694527, -STORE, 94102012694528, 94102012715007, -ERASE, 94102012694528, 94102012715007, -STORE, 94102011887616, 94102012833791, -STORE, 94102011887616, 94102012968959, -SNULL, 94102012927999, 94102012968959, -STORE, 94102011887616, 94102012927999, -STORE, 94102012928000, 94102012968959, -ERASE, 94102012928000, 94102012968959, -STORE, 94102011887616, 94102013091839, -SNULL, 94102013075455, 94102013091839, -STORE, 94102011887616, 94102013075455, -STORE, 94102013075456, 94102013091839, -ERASE, 94102013075456, 94102013091839, -STORE, 94102011887616, 94102013210623, -STORE, 94102011887616, 94102013345791, -STORE, 93968727965696, 93968728178687, -STORE, 93968730275840, 93968730279935, -STORE, 93968730279936, 93968730288127, -STORE, 93968730288128, 93968730300415, -STORE, 93968731140096, 93968732704767, -STORE, 140588443168768, 140588444827647, -STORE, 140588444827648, 140588446924799, -STORE, 140588446924800, 140588446941183, -STORE, 140588446941184, 140588446949375, -STORE, 140588446949376, 140588446965759, -STORE, 140588446965760, 140588446978047, -STORE, 140588446978048, 140588449071103, -STORE, 140588449071104, 140588449075199, -STORE, 140588449075200, 140588449079295, -STORE, 140588449079296, 140588449222655, -STORE, 140588449591296, 140588451274751, -STORE, 140588451274752, 140588451291135, -STORE, 140588451319808, 140588451323903, -STORE, 140588451323904, 140588451327999, -STORE, 140588451328000, 140588451332095, -STORE, 140733877239808, 140733877379071, -STORE, 140733878702080, 140733878714367, -STORE, 140733878714368, 140733878718463, -STORE, 93968727965696, 93968728178687, -STORE, 93968730275840, 93968730279935, -STORE, 93968730279936, 93968730288127, -STORE, 93968730288128, 93968730300415, -STORE, 93968731140096, 93968732991487, -STORE, 140588443168768, 140588444827647, -STORE, 140588444827648, 140588446924799, -STORE, 140588446924800, 140588446941183, -STORE, 140588446941184, 140588446949375, -STORE, 140588446949376, 140588446965759, -STORE, 140588446965760, 140588446978047, -STORE, 140588446978048, 140588449071103, -STORE, 140588449071104, 140588449075199, -STORE, 140588449075200, 140588449079295, -STORE, 140588449079296, 140588449222655, -STORE, 140588449591296, 140588451274751, -STORE, 140588451274752, 140588451291135, -STORE, 140588451319808, 140588451323903, -STORE, 140588451323904, 140588451327999, -STORE, 140588451328000, 140588451332095, -STORE, 140733877239808, 140733877379071, -STORE, 140733878702080, 140733878714367, -STORE, 140733878714368, 140733878718463, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733054472192, 140737488351231, -SNULL, 140733054480383, 140737488351231, -STORE, 140733054472192, 140733054480383, -STORE, 140733054341120, 140733054480383, -STORE, 93992873623552, 93992875847679, -SNULL, 93992873734143, 93992875847679, -STORE, 93992873623552, 93992873734143, -STORE, 93992873734144, 93992875847679, -ERASE, 93992873734144, 93992875847679, -STORE, 93992875827200, 93992875839487, -STORE, 93992875839488, 93992875847679, -STORE, 139790881488896, 139790883741695, -SNULL, 139790881632255, 139790883741695, -STORE, 139790881488896, 139790881632255, -STORE, 139790881632256, 139790883741695, -ERASE, 139790881632256, 139790883741695, -STORE, 139790883729408, 139790883737599, -STORE, 139790883737600, 139790883741695, -STORE, 140733054754816, 140733054758911, -STORE, 140733054742528, 140733054754815, -STORE, 139790883700736, 139790883729407, -STORE, 139790883692544, 139790883700735, -STORE, 139790877691904, 139790881488895, -SNULL, 139790877691904, 139790879350783, -STORE, 139790879350784, 139790881488895, -STORE, 139790877691904, 139790879350783, -SNULL, 139790881447935, 139790881488895, -STORE, 139790879350784, 139790881447935, -STORE, 139790881447936, 139790881488895, -SNULL, 139790881447936, 139790881472511, -STORE, 139790881472512, 139790881488895, -STORE, 139790881447936, 139790881472511, -ERASE, 139790881447936, 139790881472511, -STORE, 139790881447936, 139790881472511, -ERASE, 139790881472512, 139790881488895, -STORE, 139790881472512, 139790881488895, -SNULL, 139790881464319, 139790881472511, -STORE, 139790881447936, 139790881464319, -STORE, 139790881464320, 139790881472511, -SNULL, 93992875835391, 93992875839487, -STORE, 93992875827200, 93992875835391, -STORE, 93992875835392, 93992875839487, -SNULL, 139790883733503, 139790883737599, -STORE, 139790883729408, 139790883733503, -STORE, 139790883733504, 139790883737599, -ERASE, 139790883700736, 139790883729407, -STORE, 93992877031424, 93992877166591, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140728550887424, 140737488351231, -SNULL, 140728550895615, 140737488351231, -STORE, 140728550887424, 140728550895615, -STORE, 140728550756352, 140728550895615, -STORE, 94707634077696, 94707636301823, -SNULL, 94707634188287, 94707636301823, -STORE, 94707634077696, 94707634188287, -STORE, 94707634188288, 94707636301823, -ERASE, 94707634188288, 94707636301823, -STORE, 94707636281344, 94707636293631, -STORE, 94707636293632, 94707636301823, -STORE, 140553545666560, 140553547919359, -SNULL, 140553545809919, 140553547919359, -STORE, 140553545666560, 140553545809919, -STORE, 140553545809920, 140553547919359, -ERASE, 140553545809920, 140553547919359, -STORE, 140553547907072, 140553547915263, -STORE, 140553547915264, 140553547919359, -STORE, 140728552374272, 140728552378367, -STORE, 140728552361984, 140728552374271, -STORE, 140553547878400, 140553547907071, -STORE, 140553547870208, 140553547878399, -STORE, 140553541869568, 140553545666559, -SNULL, 140553541869568, 140553543528447, -STORE, 140553543528448, 140553545666559, -STORE, 140553541869568, 140553543528447, -SNULL, 140553545625599, 140553545666559, -STORE, 140553543528448, 140553545625599, -STORE, 140553545625600, 140553545666559, -SNULL, 140553545625600, 140553545650175, -STORE, 140553545650176, 140553545666559, -STORE, 140553545625600, 140553545650175, -ERASE, 140553545625600, 140553545650175, -STORE, 140553545625600, 140553545650175, -ERASE, 140553545650176, 140553545666559, -STORE, 140553545650176, 140553545666559, -SNULL, 140553545641983, 140553545650175, -STORE, 140553545625600, 140553545641983, -STORE, 140553545641984, 140553545650175, -SNULL, 94707636289535, 94707636293631, -STORE, 94707636281344, 94707636289535, -STORE, 94707636289536, 94707636293631, -SNULL, 140553547911167, 140553547915263, -STORE, 140553547907072, 140553547911167, -STORE, 140553547911168, 140553547915263, -ERASE, 140553547878400, 140553547907071, -STORE, 94707651411968, 94707651547135, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140732168695808, 140737488351231, -SNULL, 140732168703999, 140737488351231, -STORE, 140732168695808, 140732168703999, -STORE, 140732168564736, 140732168703999, -STORE, 94454287859712, 94454290083839, -SNULL, 94454287970303, 94454290083839, -STORE, 94454287859712, 94454287970303, -STORE, 94454287970304, 94454290083839, -ERASE, 94454287970304, 94454290083839, -STORE, 94454290063360, 94454290075647, -STORE, 94454290075648, 94454290083839, -STORE, 140564947107840, 140564949360639, -SNULL, 140564947251199, 140564949360639, -STORE, 140564947107840, 140564947251199, -STORE, 140564947251200, 140564949360639, -ERASE, 140564947251200, 140564949360639, -STORE, 140564949348352, 140564949356543, -STORE, 140564949356544, 140564949360639, -STORE, 140732168843264, 140732168847359, -STORE, 140732168830976, 140732168843263, -STORE, 140564949319680, 140564949348351, -STORE, 140564949311488, 140564949319679, -STORE, 140564943310848, 140564947107839, -SNULL, 140564943310848, 140564944969727, -STORE, 140564944969728, 140564947107839, -STORE, 140564943310848, 140564944969727, -SNULL, 140564947066879, 140564947107839, -STORE, 140564944969728, 140564947066879, -STORE, 140564947066880, 140564947107839, -SNULL, 140564947066880, 140564947091455, -STORE, 140564947091456, 140564947107839, -STORE, 140564947066880, 140564947091455, -ERASE, 140564947066880, 140564947091455, -STORE, 140564947066880, 140564947091455, -ERASE, 140564947091456, 140564947107839, -STORE, 140564947091456, 140564947107839, -SNULL, 140564947083263, 140564947091455, -STORE, 140564947066880, 140564947083263, -STORE, 140564947083264, 140564947091455, -SNULL, 94454290071551, 94454290075647, -STORE, 94454290063360, 94454290071551, -STORE, 94454290071552, 94454290075647, -SNULL, 140564949352447, 140564949356543, -STORE, 140564949348352, 140564949352447, -STORE, 140564949352448, 140564949356543, -ERASE, 140564949319680, 140564949348351, -STORE, 94454316236800, 94454316371967, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735155617792, 140737488351231, -SNULL, 140735155625983, 140737488351231, -STORE, 140735155617792, 140735155625983, -STORE, 140735155486720, 140735155625983, -STORE, 93915969556480, 93915971780607, -SNULL, 93915969667071, 93915971780607, -STORE, 93915969556480, 93915969667071, -STORE, 93915969667072, 93915971780607, -ERASE, 93915969667072, 93915971780607, -STORE, 93915971760128, 93915971772415, -STORE, 93915971772416, 93915971780607, -STORE, 140141164605440, 140141166858239, -SNULL, 140141164748799, 140141166858239, -STORE, 140141164605440, 140141164748799, -STORE, 140141164748800, 140141166858239, -ERASE, 140141164748800, 140141166858239, -STORE, 140141166845952, 140141166854143, -STORE, 140141166854144, 140141166858239, -STORE, 140735155691520, 140735155695615, -STORE, 140735155679232, 140735155691519, -STORE, 140141166817280, 140141166845951, -STORE, 140141166809088, 140141166817279, -STORE, 140141160808448, 140141164605439, -SNULL, 140141160808448, 140141162467327, -STORE, 140141162467328, 140141164605439, -STORE, 140141160808448, 140141162467327, -SNULL, 140141164564479, 140141164605439, -STORE, 140141162467328, 140141164564479, -STORE, 140141164564480, 140141164605439, -SNULL, 140141164564480, 140141164589055, -STORE, 140141164589056, 140141164605439, -STORE, 140141164564480, 140141164589055, -ERASE, 140141164564480, 140141164589055, -STORE, 140141164564480, 140141164589055, -ERASE, 140141164589056, 140141164605439, -STORE, 140141164589056, 140141164605439, -SNULL, 140141164580863, 140141164589055, -STORE, 140141164564480, 140141164580863, -STORE, 140141164580864, 140141164589055, -SNULL, 93915971768319, 93915971772415, -STORE, 93915971760128, 93915971768319, -STORE, 93915971768320, 93915971772415, -SNULL, 140141166850047, 140141166854143, -STORE, 140141166845952, 140141166850047, -STORE, 140141166850048, 140141166854143, -ERASE, 140141166817280, 140141166845951, -STORE, 93916002775040, 93916002910207, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140728988409856, 140737488351231, -SNULL, 140728988418047, 140737488351231, -STORE, 140728988409856, 140728988418047, -STORE, 140728988278784, 140728988418047, -STORE, 94021634813952, 94021637038079, -SNULL, 94021634924543, 94021637038079, -STORE, 94021634813952, 94021634924543, -STORE, 94021634924544, 94021637038079, -ERASE, 94021634924544, 94021637038079, -STORE, 94021637017600, 94021637029887, -STORE, 94021637029888, 94021637038079, -STORE, 140638014038016, 140638016290815, -SNULL, 140638014181375, 140638016290815, -STORE, 140638014038016, 140638014181375, -STORE, 140638014181376, 140638016290815, -ERASE, 140638014181376, 140638016290815, -STORE, 140638016278528, 140638016286719, -STORE, 140638016286720, 140638016290815, -STORE, 140728988536832, 140728988540927, -STORE, 140728988524544, 140728988536831, -STORE, 140638016249856, 140638016278527, -STORE, 140638016241664, 140638016249855, -STORE, 140638010241024, 140638014038015, -SNULL, 140638010241024, 140638011899903, -STORE, 140638011899904, 140638014038015, -STORE, 140638010241024, 140638011899903, -SNULL, 140638013997055, 140638014038015, -STORE, 140638011899904, 140638013997055, -STORE, 140638013997056, 140638014038015, -SNULL, 140638013997056, 140638014021631, -STORE, 140638014021632, 140638014038015, -STORE, 140638013997056, 140638014021631, -ERASE, 140638013997056, 140638014021631, -STORE, 140638013997056, 140638014021631, -ERASE, 140638014021632, 140638014038015, -STORE, 140638014021632, 140638014038015, -SNULL, 140638014013439, 140638014021631, -STORE, 140638013997056, 140638014013439, -STORE, 140638014013440, 140638014021631, -SNULL, 94021637025791, 94021637029887, -STORE, 94021637017600, 94021637025791, -STORE, 94021637025792, 94021637029887, -SNULL, 140638016282623, 140638016286719, -STORE, 140638016278528, 140638016282623, -STORE, 140638016282624, 140638016286719, -ERASE, 140638016249856, 140638016278527, -STORE, 94021643124736, 94021643259903, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140731219275776, 140737488351231, -SNULL, 140731219283967, 140737488351231, -STORE, 140731219275776, 140731219283967, -STORE, 140731219144704, 140731219283967, -STORE, 93888803647488, 93888805871615, -SNULL, 93888803758079, 93888805871615, -STORE, 93888803647488, 93888803758079, -STORE, 93888803758080, 93888805871615, -ERASE, 93888803758080, 93888805871615, -STORE, 93888805851136, 93888805863423, -STORE, 93888805863424, 93888805871615, -STORE, 139630576934912, 139630579187711, -SNULL, 139630577078271, 139630579187711, -STORE, 139630576934912, 139630577078271, -STORE, 139630577078272, 139630579187711, -ERASE, 139630577078272, 139630579187711, -STORE, 139630579175424, 139630579183615, -STORE, 139630579183616, 139630579187711, -STORE, 140731219718144, 140731219722239, -STORE, 140731219705856, 140731219718143, -STORE, 139630579146752, 139630579175423, -STORE, 139630579138560, 139630579146751, -STORE, 139630573137920, 139630576934911, -SNULL, 139630573137920, 139630574796799, -STORE, 139630574796800, 139630576934911, -STORE, 139630573137920, 139630574796799, -SNULL, 139630576893951, 139630576934911, -STORE, 139630574796800, 139630576893951, -STORE, 139630576893952, 139630576934911, -SNULL, 139630576893952, 139630576918527, -STORE, 139630576918528, 139630576934911, -STORE, 139630576893952, 139630576918527, -ERASE, 139630576893952, 139630576918527, -STORE, 139630576893952, 139630576918527, -ERASE, 139630576918528, 139630576934911, -STORE, 139630576918528, 139630576934911, -SNULL, 139630576910335, 139630576918527, -STORE, 139630576893952, 139630576910335, -STORE, 139630576910336, 139630576918527, -SNULL, 93888805859327, 93888805863423, -STORE, 93888805851136, 93888805859327, -STORE, 93888805859328, 93888805863423, -SNULL, 139630579179519, 139630579183615, -STORE, 139630579175424, 139630579179519, -STORE, 139630579179520, 139630579183615, -ERASE, 139630579146752, 139630579175423, -STORE, 93888822235136, 93888822370303, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733391151104, 140737488351231, -SNULL, 140733391159295, 140737488351231, -STORE, 140733391151104, 140733391159295, -STORE, 140733391020032, 140733391159295, -STORE, 94393875324928, 94393877549055, -SNULL, 94393875435519, 94393877549055, -STORE, 94393875324928, 94393875435519, -STORE, 94393875435520, 94393877549055, -ERASE, 94393875435520, 94393877549055, -STORE, 94393877528576, 94393877540863, -STORE, 94393877540864, 94393877549055, -STORE, 140292111740928, 140292113993727, -SNULL, 140292111884287, 140292113993727, -STORE, 140292111740928, 140292111884287, -STORE, 140292111884288, 140292113993727, -ERASE, 140292111884288, 140292113993727, -STORE, 140292113981440, 140292113989631, -STORE, 140292113989632, 140292113993727, -STORE, 140733391532032, 140733391536127, -STORE, 140733391519744, 140733391532031, -STORE, 140292113952768, 140292113981439, -STORE, 140292113944576, 140292113952767, -STORE, 140292107943936, 140292111740927, -SNULL, 140292107943936, 140292109602815, -STORE, 140292109602816, 140292111740927, -STORE, 140292107943936, 140292109602815, -SNULL, 140292111699967, 140292111740927, -STORE, 140292109602816, 140292111699967, -STORE, 140292111699968, 140292111740927, -SNULL, 140292111699968, 140292111724543, -STORE, 140292111724544, 140292111740927, -STORE, 140292111699968, 140292111724543, -ERASE, 140292111699968, 140292111724543, -STORE, 140292111699968, 140292111724543, -ERASE, 140292111724544, 140292111740927, -STORE, 140292111724544, 140292111740927, -SNULL, 140292111716351, 140292111724543, -STORE, 140292111699968, 140292111716351, -STORE, 140292111716352, 140292111724543, -SNULL, 94393877536767, 94393877540863, -STORE, 94393877528576, 94393877536767, -STORE, 94393877536768, 94393877540863, -SNULL, 140292113985535, 140292113989631, -STORE, 140292113981440, 140292113985535, -STORE, 140292113985536, 140292113989631, -ERASE, 140292113952768, 140292113981439, -STORE, 94393909342208, 94393909477375, -STORE, 94458367512576, 94458367725567, -STORE, 94458369822720, 94458369826815, -STORE, 94458369826816, 94458369835007, -STORE, 94458369835008, 94458369847295, -STORE, 94458393292800, 94458399666175, -STORE, 140619773841408, 140619775500287, -STORE, 140619775500288, 140619777597439, -STORE, 140619777597440, 140619777613823, -STORE, 140619777613824, 140619777622015, -STORE, 140619777622016, 140619777638399, -STORE, 140619777638400, 140619777650687, -STORE, 140619777650688, 140619779743743, -STORE, 140619779743744, 140619779747839, -STORE, 140619779747840, 140619779751935, -STORE, 140619779751936, 140619779895295, -STORE, 140619780263936, 140619781947391, -STORE, 140619781947392, 140619781963775, -STORE, 140619781992448, 140619781996543, -STORE, 140619781996544, 140619782000639, -STORE, 140619782000640, 140619782004735, -STORE, 140725811675136, 140725811814399, -STORE, 140725812813824, 140725812826111, -STORE, 140725812826112, 140725812830207, -STORE, 94458367512576, 94458367725567, -STORE, 94458369822720, 94458369826815, -STORE, 94458369826816, 94458369835007, -STORE, 94458369835008, 94458369847295, -STORE, 94458393292800, 94458400366591, -STORE, 140619773841408, 140619775500287, -STORE, 140619775500288, 140619777597439, -STORE, 140619777597440, 140619777613823, -STORE, 140619777613824, 140619777622015, -STORE, 140619777622016, 140619777638399, -STORE, 140619777638400, 140619777650687, -STORE, 140619777650688, 140619779743743, -STORE, 140619779743744, 140619779747839, -STORE, 140619779747840, 140619779751935, -STORE, 140619779751936, 140619779895295, -STORE, 140619780263936, 140619781947391, -STORE, 140619781947392, 140619781963775, -STORE, 140619781992448, 140619781996543, -STORE, 140619781996544, 140619782000639, -STORE, 140619782000640, 140619782004735, -STORE, 140725811675136, 140725811814399, -STORE, 140725812813824, 140725812826111, -STORE, 140725812826112, 140725812830207, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140728740679680, 140737488351231, -SNULL, 140728740687871, 140737488351231, -STORE, 140728740679680, 140728740687871, -STORE, 140728740548608, 140728740687871, -STORE, 94764075249664, 94764077473791, -SNULL, 94764075360255, 94764077473791, -STORE, 94764075249664, 94764075360255, -STORE, 94764075360256, 94764077473791, -ERASE, 94764075360256, 94764077473791, -STORE, 94764077453312, 94764077465599, -STORE, 94764077465600, 94764077473791, -STORE, 139766406791168, 139766409043967, -SNULL, 139766406934527, 139766409043967, -STORE, 139766406791168, 139766406934527, -STORE, 139766406934528, 139766409043967, -ERASE, 139766406934528, 139766409043967, -STORE, 139766409031680, 139766409039871, -STORE, 139766409039872, 139766409043967, -STORE, 140728740913152, 140728740917247, -STORE, 140728740900864, 140728740913151, -STORE, 139766409003008, 139766409031679, -STORE, 139766408994816, 139766409003007, -STORE, 139766402994176, 139766406791167, -SNULL, 139766402994176, 139766404653055, -STORE, 139766404653056, 139766406791167, -STORE, 139766402994176, 139766404653055, -SNULL, 139766406750207, 139766406791167, -STORE, 139766404653056, 139766406750207, -STORE, 139766406750208, 139766406791167, -SNULL, 139766406750208, 139766406774783, -STORE, 139766406774784, 139766406791167, -STORE, 139766406750208, 139766406774783, -ERASE, 139766406750208, 139766406774783, -STORE, 139766406750208, 139766406774783, -ERASE, 139766406774784, 139766406791167, -STORE, 139766406774784, 139766406791167, -SNULL, 139766406766591, 139766406774783, -STORE, 139766406750208, 139766406766591, -STORE, 139766406766592, 139766406774783, -SNULL, 94764077461503, 94764077465599, -STORE, 94764077453312, 94764077461503, -STORE, 94764077461504, 94764077465599, -SNULL, 139766409035775, 139766409039871, -STORE, 139766409031680, 139766409035775, -STORE, 139766409035776, 139766409039871, -ERASE, 139766409003008, 139766409031679, -STORE, 94764090458112, 94764090593279, -STORE, 94758057480192, 94758057590783, -STORE, 94758059683840, 94758059692031, -STORE, 94758059692032, 94758059696127, -STORE, 94758059696128, 94758059704319, -STORE, 94758083215360, 94758083350527, -STORE, 139951456772096, 139951458430975, -STORE, 139951458430976, 139951460528127, -STORE, 139951460528128, 139951460544511, -STORE, 139951460544512, 139951460552703, -STORE, 139951460552704, 139951460569087, -STORE, 139951460569088, 139951460712447, -STORE, 139951462772736, 139951462780927, -STORE, 139951462809600, 139951462813695, -STORE, 139951462813696, 139951462817791, -STORE, 139951462817792, 139951462821887, -STORE, 140734098313216, 140734098452479, -STORE, 140734098911232, 140734098923519, -STORE, 140734098923520, 140734098927615, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140724904095744, 140737488351231, -SNULL, 140724904103935, 140737488351231, -STORE, 140724904095744, 140724904103935, -STORE, 140724903964672, 140724904103935, -STORE, 4194304, 5128191, -STORE, 7221248, 7241727, -STORE, 7241728, 7249919, -STORE, 140408497864704, 140408500117503, -SNULL, 140408498008063, 140408500117503, -STORE, 140408497864704, 140408498008063, -STORE, 140408498008064, 140408500117503, -ERASE, 140408498008064, 140408500117503, -STORE, 140408500105216, 140408500113407, -STORE, 140408500113408, 140408500117503, -STORE, 140724905369600, 140724905373695, -STORE, 140724905357312, 140724905369599, -STORE, 140408500076544, 140408500105215, -STORE, 140408500068352, 140408500076543, -STORE, 140408494702592, 140408497864703, -SNULL, 140408494702592, 140408495763455, -STORE, 140408495763456, 140408497864703, -STORE, 140408494702592, 140408495763455, -SNULL, 140408497856511, 140408497864703, -STORE, 140408495763456, 140408497856511, -STORE, 140408497856512, 140408497864703, -ERASE, 140408497856512, 140408497864703, -STORE, 140408497856512, 140408497864703, -STORE, 140408490905600, 140408494702591, -SNULL, 140408490905600, 140408492564479, -STORE, 140408492564480, 140408494702591, -STORE, 140408490905600, 140408492564479, -SNULL, 140408494661631, 140408494702591, -STORE, 140408492564480, 140408494661631, -STORE, 140408494661632, 140408494702591, -SNULL, 140408494661632, 140408494686207, -STORE, 140408494686208, 140408494702591, -STORE, 140408494661632, 140408494686207, -ERASE, 140408494661632, 140408494686207, -STORE, 140408494661632, 140408494686207, -ERASE, 140408494686208, 140408494702591, -STORE, 140408494686208, 140408494702591, -STORE, 140408500056064, 140408500076543, -SNULL, 140408494678015, 140408494686207, -STORE, 140408494661632, 140408494678015, -STORE, 140408494678016, 140408494686207, -SNULL, 140408497860607, 140408497864703, -STORE, 140408497856512, 140408497860607, -STORE, 140408497860608, 140408497864703, -SNULL, 7233535, 7241727, -STORE, 7221248, 7233535, -STORE, 7233536, 7241727, -SNULL, 140408500109311, 140408500113407, -STORE, 140408500105216, 140408500109311, -STORE, 140408500109312, 140408500113407, -ERASE, 140408500076544, 140408500105215, -STORE, 25235456, 25370623, -STORE, 25235456, 25518079, -STORE, 140408498372608, 140408500056063, -STORE, 94543937388544, 94543937499135, -STORE, 94543939592192, 94543939600383, -STORE, 94543939600384, 94543939604479, -STORE, 94543939604480, 94543939612671, -STORE, 94543941447680, 94543941582847, -STORE, 140282621947904, 140282623606783, -STORE, 140282623606784, 140282625703935, -STORE, 140282625703936, 140282625720319, -STORE, 140282625720320, 140282625728511, -STORE, 140282625728512, 140282625744895, -STORE, 140282625744896, 140282625888255, -STORE, 140282627948544, 140282627956735, -STORE, 140282627985408, 140282627989503, -STORE, 140282627989504, 140282627993599, -STORE, 140282627993600, 140282627997695, -STORE, 140728295723008, 140728295862271, -STORE, 140728296476672, 140728296488959, -STORE, 140728296488960, 140728296493055, -STORE, 94431504838656, 94431505051647, -STORE, 94431507148800, 94431507152895, -STORE, 94431507152896, 94431507161087, -STORE, 94431507161088, 94431507173375, -STORE, 94431510286336, 94431510691839, -STORE, 139818797948928, 139818799607807, -STORE, 139818799607808, 139818801704959, -STORE, 139818801704960, 139818801721343, -STORE, 139818801721344, 139818801729535, -STORE, 139818801729536, 139818801745919, -STORE, 139818801745920, 139818801758207, -STORE, 139818801758208, 139818803851263, -STORE, 139818803851264, 139818803855359, -STORE, 139818803855360, 139818803859455, -STORE, 139818803859456, 139818804002815, -STORE, 139818804371456, 139818806054911, -STORE, 139818806054912, 139818806071295, -STORE, 139818806099968, 139818806104063, -STORE, 139818806104064, 139818806108159, -STORE, 139818806108160, 139818806112255, -STORE, 140731430457344, 140731430596607, -STORE, 140731431227392, 140731431239679, -STORE, 140731431239680, 140731431243775, -STORE, 94431504838656, 94431505051647, -STORE, 94431507148800, 94431507152895, -STORE, 94431507152896, 94431507161087, -STORE, 94431507161088, 94431507173375, -STORE, 94431510286336, 94431510691839, -STORE, 139818797948928, 139818799607807, -STORE, 139818799607808, 139818801704959, -STORE, 139818801704960, 139818801721343, -STORE, 139818801721344, 139818801729535, -STORE, 139818801729536, 139818801745919, -STORE, 139818801745920, 139818801758207, -STORE, 139818801758208, 139818803851263, -STORE, 139818803851264, 139818803855359, -STORE, 139818803855360, 139818803859455, -STORE, 139818803859456, 139818804002815, -STORE, 139818804371456, 139818806054911, -STORE, 139818806054912, 139818806071295, -STORE, 139818806099968, 139818806104063, -STORE, 139818806104064, 139818806108159, -STORE, 139818806108160, 139818806112255, -STORE, 140731430457344, 140731430596607, -STORE, 140731431227392, 140731431239679, -STORE, 140731431239680, 140731431243775, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140737488338944, 140737488351231, -STORE, 140736944451584, 140737488351231, -SNULL, 140736944463871, 140737488351231, -STORE, 140736944451584, 140736944463871, -STORE, 140736944320512, 140736944463871, -STORE, 4194304, 26279935, -STORE, 28372992, 28454911, -STORE, 28454912, 29806591, -STORE, 139693609893888, 139693612146687, -SNULL, 139693610037247, 139693612146687, -STORE, 139693609893888, 139693610037247, -STORE, 139693610037248, 139693612146687, -ERASE, 139693610037248, 139693612146687, -STORE, 139693612134400, 139693612142591, -STORE, 139693612142592, 139693612146687, -STORE, 140736945152000, 140736945156095, -STORE, 140736945139712, 140736945151999, -STORE, 139693612105728, 139693612134399, -STORE, 139693612097536, 139693612105727, -STORE, 139693606060032, 139693609893887, -SNULL, 139693606060032, 139693607768063, -STORE, 139693607768064, 139693609893887, -STORE, 139693606060032, 139693607768063, -SNULL, 139693609861119, 139693609893887, -STORE, 139693607768064, 139693609861119, -STORE, 139693609861120, 139693609893887, -ERASE, 139693609861120, 139693609893887, -STORE, 139693609861120, 139693609893887, -STORE, 139693603864576, 139693606060031, -SNULL, 139693603864576, 139693603958783, -STORE, 139693603958784, 139693606060031, -STORE, 139693603864576, 139693603958783, -SNULL, 139693606051839, 139693606060031, -STORE, 139693603958784, 139693606051839, -STORE, 139693606051840, 139693606060031, -ERASE, 139693606051840, 139693606060031, -STORE, 139693606051840, 139693606060031, -STORE, 139693601345536, 139693603864575, -SNULL, 139693601345536, 139693601759231, -STORE, 139693601759232, 139693603864575, -STORE, 139693601345536, 139693601759231, -SNULL, 139693603852287, 139693603864575, -STORE, 139693601759232, 139693603852287, -STORE, 139693603852288, 139693603864575, -ERASE, 139693603852288, 139693603864575, -STORE, 139693603852288, 139693603864575, -STORE, 139693598711808, 139693601345535, -SNULL, 139693598711808, 139693599240191, -STORE, 139693599240192, 139693601345535, -STORE, 139693598711808, 139693599240191, -SNULL, 139693601337343, 139693601345535, -STORE, 139693599240192, 139693601337343, -STORE, 139693601337344, 139693601345535, -ERASE, 139693601337344, 139693601345535, -STORE, 139693601337344, 139693601345535, -STORE, 139693596598272, 139693598711807, -SNULL, 139693596598272, 139693596610559, -STORE, 139693596610560, 139693598711807, -STORE, 139693596598272, 139693596610559, -SNULL, 139693598703615, 139693598711807, -STORE, 139693596610560, 139693598703615, -STORE, 139693598703616, 139693598711807, -ERASE, 139693598703616, 139693598711807, -STORE, 139693598703616, 139693598711807, -STORE, 139693594394624, 139693596598271, -SNULL, 139693594394624, 139693594497023, -STORE, 139693594497024, 139693596598271, -STORE, 139693594394624, 139693594497023, -SNULL, 139693596590079, 139693596598271, -STORE, 139693594497024, 139693596590079, -STORE, 139693596590080, 139693596598271, -ERASE, 139693596590080, 139693596598271, -STORE, 139693596590080, 139693596598271, -STORE, 139693612089344, 139693612105727, -STORE, 139693591232512, 139693594394623, -SNULL, 139693591232512, 139693592293375, -STORE, 139693592293376, 139693594394623, -STORE, 139693591232512, 139693592293375, -SNULL, 139693594386431, 139693594394623, -STORE, 139693592293376, 139693594386431, -STORE, 139693594386432, 139693594394623, -ERASE, 139693594386432, 139693594394623, -STORE, 139693594386432, 139693594394623, -STORE, 139693587435520, 139693591232511, -SNULL, 139693587435520, 139693589094399, -STORE, 139693589094400, 139693591232511, -STORE, 139693587435520, 139693589094399, -SNULL, 139693591191551, 139693591232511, -STORE, 139693589094400, 139693591191551, -STORE, 139693591191552, 139693591232511, -SNULL, 139693591191552, 139693591216127, -STORE, 139693591216128, 139693591232511, -STORE, 139693591191552, 139693591216127, -ERASE, 139693591191552, 139693591216127, -STORE, 139693591191552, 139693591216127, -ERASE, 139693591216128, 139693591232511, -STORE, 139693591216128, 139693591232511, -STORE, 139693612077056, 139693612105727, -SNULL, 139693591207935, 139693591216127, -STORE, 139693591191552, 139693591207935, -STORE, 139693591207936, 139693591216127, -SNULL, 139693594390527, 139693594394623, -STORE, 139693594386432, 139693594390527, -STORE, 139693594390528, 139693594394623, -SNULL, 139693596594175, 139693596598271, -STORE, 139693596590080, 139693596594175, -STORE, 139693596594176, 139693596598271, -SNULL, 139693598707711, 139693598711807, -STORE, 139693598703616, 139693598707711, -STORE, 139693598707712, 139693598711807, -SNULL, 139693601341439, 139693601345535, -STORE, 139693601337344, 139693601341439, -STORE, 139693601341440, 139693601345535, -SNULL, 139693603860479, 139693603864575, -STORE, 139693603852288, 139693603860479, -STORE, 139693603860480, 139693603864575, -SNULL, 139693606055935, 139693606060031, -STORE, 139693606051840, 139693606055935, -STORE, 139693606055936, 139693606060031, -SNULL, 139693609865215, 139693609893887, -STORE, 139693609861120, 139693609865215, -STORE, 139693609865216, 139693609893887, -SNULL, 28405759, 28454911, -STORE, 28372992, 28405759, -STORE, 28405760, 28454911, -SNULL, 139693612138495, 139693612142591, -STORE, 139693612134400, 139693612138495, -STORE, 139693612138496, 139693612142591, -ERASE, 139693612105728, 139693612134399, -STORE, 39976960, 40112127, -STORE, 139693610393600, 139693612077055, -STORE, 139693612130304, 139693612134399, -STORE, 139693610258432, 139693610393599, -STORE, 39976960, 40255487, -STORE, 139693585338368, 139693587435519, -STORE, 139693612122112, 139693612134399, -STORE, 139693612113920, 139693612134399, -STORE, 139693612077056, 139693612113919, -STORE, 139693610242048, 139693610393599, -STORE, 39976960, 40390655, -STORE, 39976960, 40546303, -STORE, 139693610233856, 139693610393599, -STORE, 139693610225664, 139693610393599, -STORE, 39976960, 40714239, -STORE, 139693610209280, 139693610393599, -STORE, 39976960, 40861695, -STORE, 94431504838656, 94431505051647, -STORE, 94431507148800, 94431507152895, -STORE, 94431507152896, 94431507161087, -STORE, 94431507161088, 94431507173375, -STORE, 94431510286336, 94431528759295, -STORE, 139818797948928, 139818799607807, -STORE, 139818799607808, 139818801704959, -STORE, 139818801704960, 139818801721343, -STORE, 139818801721344, 139818801729535, -STORE, 139818801729536, 139818801745919, -STORE, 139818801745920, 139818801758207, -STORE, 139818801758208, 139818803851263, -STORE, 139818803851264, 139818803855359, -STORE, 139818803855360, 139818803859455, -STORE, 139818803859456, 139818804002815, -STORE, 139818804371456, 139818806054911, -STORE, 139818806054912, 139818806071295, -STORE, 139818806099968, 139818806104063, -STORE, 139818806104064, 139818806108159, -STORE, 139818806108160, 139818806112255, -STORE, 140731430457344, 140731430596607, -STORE, 140731431227392, 140731431239679, -STORE, 140731431239680, 140731431243775, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140729993904128, 140737488351231, -SNULL, 140729993912319, 140737488351231, -STORE, 140729993904128, 140729993912319, -STORE, 140729993773056, 140729993912319, -STORE, 93926271991808, 93926274215935, -SNULL, 93926272102399, 93926274215935, -STORE, 93926271991808, 93926272102399, -STORE, 93926272102400, 93926274215935, -ERASE, 93926272102400, 93926274215935, -STORE, 93926274195456, 93926274207743, -STORE, 93926274207744, 93926274215935, -STORE, 139962167296000, 139962169548799, -SNULL, 139962167439359, 139962169548799, -STORE, 139962167296000, 139962167439359, -STORE, 139962167439360, 139962169548799, -ERASE, 139962167439360, 139962169548799, -STORE, 139962169536512, 139962169544703, -STORE, 139962169544704, 139962169548799, -STORE, 140729995096064, 140729995100159, -STORE, 140729995083776, 140729995096063, -STORE, 139962169507840, 139962169536511, -STORE, 139962169499648, 139962169507839, -STORE, 139962163499008, 139962167295999, -SNULL, 139962163499008, 139962165157887, -STORE, 139962165157888, 139962167295999, -STORE, 139962163499008, 139962165157887, -SNULL, 139962167255039, 139962167295999, -STORE, 139962165157888, 139962167255039, -STORE, 139962167255040, 139962167295999, -SNULL, 139962167255040, 139962167279615, -STORE, 139962167279616, 139962167295999, -STORE, 139962167255040, 139962167279615, -ERASE, 139962167255040, 139962167279615, -STORE, 139962167255040, 139962167279615, -ERASE, 139962167279616, 139962167295999, -STORE, 139962167279616, 139962167295999, -SNULL, 139962167271423, 139962167279615, -STORE, 139962167255040, 139962167271423, -STORE, 139962167271424, 139962167279615, -SNULL, 93926274203647, 93926274207743, -STORE, 93926274195456, 93926274203647, -STORE, 93926274203648, 93926274207743, -SNULL, 139962169540607, 139962169544703, -STORE, 139962169536512, 139962169540607, -STORE, 139962169540608, 139962169544703, -ERASE, 139962169507840, 139962169536511, -STORE, 93926291120128, 93926291255295, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140724960579584, 140737488351231, -SNULL, 140724960587775, 140737488351231, -STORE, 140724960579584, 140724960587775, -STORE, 140724960448512, 140724960587775, -STORE, 94246489489408, 94246491713535, -SNULL, 94246489599999, 94246491713535, -STORE, 94246489489408, 94246489599999, -STORE, 94246489600000, 94246491713535, -ERASE, 94246489600000, 94246491713535, -STORE, 94246491693056, 94246491705343, -STORE, 94246491705344, 94246491713535, -STORE, 140098174926848, 140098177179647, -SNULL, 140098175070207, 140098177179647, -STORE, 140098174926848, 140098175070207, -STORE, 140098175070208, 140098177179647, -ERASE, 140098175070208, 140098177179647, -STORE, 140098177167360, 140098177175551, -STORE, 140098177175552, 140098177179647, -STORE, 140724961439744, 140724961443839, -STORE, 140724961427456, 140724961439743, -STORE, 140098177138688, 140098177167359, -STORE, 140098177130496, 140098177138687, -STORE, 140098171129856, 140098174926847, -SNULL, 140098171129856, 140098172788735, -STORE, 140098172788736, 140098174926847, -STORE, 140098171129856, 140098172788735, -SNULL, 140098174885887, 140098174926847, -STORE, 140098172788736, 140098174885887, -STORE, 140098174885888, 140098174926847, -SNULL, 140098174885888, 140098174910463, -STORE, 140098174910464, 140098174926847, -STORE, 140098174885888, 140098174910463, -ERASE, 140098174885888, 140098174910463, -STORE, 140098174885888, 140098174910463, -ERASE, 140098174910464, 140098174926847, -STORE, 140098174910464, 140098174926847, -SNULL, 140098174902271, 140098174910463, -STORE, 140098174885888, 140098174902271, -STORE, 140098174902272, 140098174910463, -SNULL, 94246491701247, 94246491705343, -STORE, 94246491693056, 94246491701247, -STORE, 94246491701248, 94246491705343, -SNULL, 140098177171455, 140098177175551, -STORE, 140098177167360, 140098177171455, -STORE, 140098177171456, 140098177175551, -ERASE, 140098177138688, 140098177167359, -STORE, 94246516998144, 94246517133311, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140730522918912, 140737488351231, -SNULL, 140730522927103, 140737488351231, -STORE, 140730522918912, 140730522927103, -STORE, 140730522787840, 140730522927103, -STORE, 94196043120640, 94196045344767, -SNULL, 94196043231231, 94196045344767, -STORE, 94196043120640, 94196043231231, -STORE, 94196043231232, 94196045344767, -ERASE, 94196043231232, 94196045344767, -STORE, 94196045324288, 94196045336575, -STORE, 94196045336576, 94196045344767, -STORE, 139815918940160, 139815921192959, -SNULL, 139815919083519, 139815921192959, -STORE, 139815918940160, 139815919083519, -STORE, 139815919083520, 139815921192959, -ERASE, 139815919083520, 139815921192959, -STORE, 139815921180672, 139815921188863, -STORE, 139815921188864, 139815921192959, -STORE, 140730523344896, 140730523348991, -STORE, 140730523332608, 140730523344895, -STORE, 139815921152000, 139815921180671, -STORE, 139815921143808, 139815921151999, -STORE, 139815915143168, 139815918940159, -SNULL, 139815915143168, 139815916802047, -STORE, 139815916802048, 139815918940159, -STORE, 139815915143168, 139815916802047, -SNULL, 139815918899199, 139815918940159, -STORE, 139815916802048, 139815918899199, -STORE, 139815918899200, 139815918940159, -SNULL, 139815918899200, 139815918923775, -STORE, 139815918923776, 139815918940159, -STORE, 139815918899200, 139815918923775, -ERASE, 139815918899200, 139815918923775, -STORE, 139815918899200, 139815918923775, -ERASE, 139815918923776, 139815918940159, -STORE, 139815918923776, 139815918940159, -SNULL, 139815918915583, 139815918923775, -STORE, 139815918899200, 139815918915583, -STORE, 139815918915584, 139815918923775, -SNULL, 94196045332479, 94196045336575, -STORE, 94196045324288, 94196045332479, -STORE, 94196045332480, 94196045336575, -SNULL, 139815921184767, 139815921188863, -STORE, 139815921180672, 139815921184767, -STORE, 139815921184768, 139815921188863, -ERASE, 139815921152000, 139815921180671, -STORE, 94196076183552, 94196076318719, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722460393472, 140737488351231, -SNULL, 140722460401663, 140737488351231, -STORE, 140722460393472, 140722460401663, -STORE, 140722460262400, 140722460401663, -STORE, 94569810399232, 94569812623359, -SNULL, 94569810509823, 94569812623359, -STORE, 94569810399232, 94569810509823, -STORE, 94569810509824, 94569812623359, -ERASE, 94569810509824, 94569812623359, -STORE, 94569812602880, 94569812615167, -STORE, 94569812615168, 94569812623359, -STORE, 139681565450240, 139681567703039, -SNULL, 139681565593599, 139681567703039, -STORE, 139681565450240, 139681565593599, -STORE, 139681565593600, 139681567703039, -ERASE, 139681565593600, 139681567703039, -STORE, 139681567690752, 139681567698943, -STORE, 139681567698944, 139681567703039, -STORE, 140722460569600, 140722460573695, -STORE, 140722460557312, 140722460569599, -STORE, 139681567662080, 139681567690751, -STORE, 139681567653888, 139681567662079, -STORE, 139681561653248, 139681565450239, -SNULL, 139681561653248, 139681563312127, -STORE, 139681563312128, 139681565450239, -STORE, 139681561653248, 139681563312127, -SNULL, 139681565409279, 139681565450239, -STORE, 139681563312128, 139681565409279, -STORE, 139681565409280, 139681565450239, -SNULL, 139681565409280, 139681565433855, -STORE, 139681565433856, 139681565450239, -STORE, 139681565409280, 139681565433855, -ERASE, 139681565409280, 139681565433855, -STORE, 139681565409280, 139681565433855, -ERASE, 139681565433856, 139681565450239, -STORE, 139681565433856, 139681565450239, -SNULL, 139681565425663, 139681565433855, -STORE, 139681565409280, 139681565425663, -STORE, 139681565425664, 139681565433855, -SNULL, 94569812611071, 94569812615167, -STORE, 94569812602880, 94569812611071, -STORE, 94569812611072, 94569812615167, -SNULL, 139681567694847, 139681567698943, -STORE, 139681567690752, 139681567694847, -STORE, 139681567694848, 139681567698943, -ERASE, 139681567662080, 139681567690751, -STORE, 94569818066944, 94569818202111, -STORE, 94431504838656, 94431505051647, -STORE, 94431507148800, 94431507152895, -STORE, 94431507152896, 94431507161087, -STORE, 94431507161088, 94431507173375, -STORE, 94431510286336, 94431534280703, -STORE, 139818797948928, 139818799607807, -STORE, 139818799607808, 139818801704959, -STORE, 139818801704960, 139818801721343, -STORE, 139818801721344, 139818801729535, -STORE, 139818801729536, 139818801745919, -STORE, 139818801745920, 139818801758207, -STORE, 139818801758208, 139818803851263, -STORE, 139818803851264, 139818803855359, -STORE, 139818803855360, 139818803859455, -STORE, 139818803859456, 139818804002815, -STORE, 139818804371456, 139818806054911, -STORE, 139818806054912, 139818806071295, -STORE, 139818806099968, 139818806104063, -STORE, 139818806104064, 139818806108159, -STORE, 139818806108160, 139818806112255, -STORE, 140731430457344, 140731430596607, -STORE, 140731431227392, 140731431239679, -STORE, 140731431239680, 140731431243775, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140725452365824, 140737488351231, -SNULL, 140725452374015, 140737488351231, -STORE, 140725452365824, 140725452374015, -STORE, 140725452234752, 140725452374015, -STORE, 94395067465728, 94395069689855, -SNULL, 94395067576319, 94395069689855, -STORE, 94395067465728, 94395067576319, -STORE, 94395067576320, 94395069689855, -ERASE, 94395067576320, 94395069689855, -STORE, 94395069669376, 94395069681663, -STORE, 94395069681664, 94395069689855, -STORE, 140269941211136, 140269943463935, -SNULL, 140269941354495, 140269943463935, -STORE, 140269941211136, 140269941354495, -STORE, 140269941354496, 140269943463935, -ERASE, 140269941354496, 140269943463935, -STORE, 140269943451648, 140269943459839, -STORE, 140269943459840, 140269943463935, -STORE, 140725452558336, 140725452562431, -STORE, 140725452546048, 140725452558335, -STORE, 140269943422976, 140269943451647, -STORE, 140269943414784, 140269943422975, -STORE, 140269937414144, 140269941211135, -SNULL, 140269937414144, 140269939073023, -STORE, 140269939073024, 140269941211135, -STORE, 140269937414144, 140269939073023, -SNULL, 140269941170175, 140269941211135, -STORE, 140269939073024, 140269941170175, -STORE, 140269941170176, 140269941211135, -SNULL, 140269941170176, 140269941194751, -STORE, 140269941194752, 140269941211135, -STORE, 140269941170176, 140269941194751, -ERASE, 140269941170176, 140269941194751, -STORE, 140269941170176, 140269941194751, -ERASE, 140269941194752, 140269941211135, -STORE, 140269941194752, 140269941211135, -SNULL, 140269941186559, 140269941194751, -STORE, 140269941170176, 140269941186559, -STORE, 140269941186560, 140269941194751, -SNULL, 94395069677567, 94395069681663, -STORE, 94395069669376, 94395069677567, -STORE, 94395069677568, 94395069681663, -SNULL, 140269943455743, 140269943459839, -STORE, 140269943451648, 140269943455743, -STORE, 140269943455744, 140269943459839, -ERASE, 140269943422976, 140269943451647, -STORE, 94395101691904, 94395101827071, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733860118528, 140737488351231, -SNULL, 140733860126719, 140737488351231, -STORE, 140733860118528, 140733860126719, -STORE, 140733859987456, 140733860126719, -STORE, 94484752990208, 94484755214335, -SNULL, 94484753100799, 94484755214335, -STORE, 94484752990208, 94484753100799, -STORE, 94484753100800, 94484755214335, -ERASE, 94484753100800, 94484755214335, -STORE, 94484755193856, 94484755206143, -STORE, 94484755206144, 94484755214335, -STORE, 139958922309632, 139958924562431, -SNULL, 139958922452991, 139958924562431, -STORE, 139958922309632, 139958922452991, -STORE, 139958922452992, 139958924562431, -ERASE, 139958922452992, 139958924562431, -STORE, 139958924550144, 139958924558335, -STORE, 139958924558336, 139958924562431, -STORE, 140733860253696, 140733860257791, -STORE, 140733860241408, 140733860253695, -STORE, 139958924521472, 139958924550143, -STORE, 139958924513280, 139958924521471, -STORE, 139958918512640, 139958922309631, -SNULL, 139958918512640, 139958920171519, -STORE, 139958920171520, 139958922309631, -STORE, 139958918512640, 139958920171519, -SNULL, 139958922268671, 139958922309631, -STORE, 139958920171520, 139958922268671, -STORE, 139958922268672, 139958922309631, -SNULL, 139958922268672, 139958922293247, -STORE, 139958922293248, 139958922309631, -STORE, 139958922268672, 139958922293247, -ERASE, 139958922268672, 139958922293247, -STORE, 139958922268672, 139958922293247, -ERASE, 139958922293248, 139958922309631, -STORE, 139958922293248, 139958922309631, -SNULL, 139958922285055, 139958922293247, -STORE, 139958922268672, 139958922285055, -STORE, 139958922285056, 139958922293247, -SNULL, 94484755202047, 94484755206143, -STORE, 94484755193856, 94484755202047, -STORE, 94484755202048, 94484755206143, -SNULL, 139958924554239, 139958924558335, -STORE, 139958924550144, 139958924554239, -STORE, 139958924554240, 139958924558335, -ERASE, 139958924521472, 139958924550143, -STORE, 94484777615360, 94484777750527, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140731051036672, 140737488351231, -SNULL, 140731051044863, 140737488351231, -STORE, 140731051036672, 140731051044863, -STORE, 140731050905600, 140731051044863, -STORE, 93945822998528, 93945825222655, -SNULL, 93945823109119, 93945825222655, -STORE, 93945822998528, 93945823109119, -STORE, 93945823109120, 93945825222655, -ERASE, 93945823109120, 93945825222655, -STORE, 93945825202176, 93945825214463, -STORE, 93945825214464, 93945825222655, -STORE, 140153503997952, 140153506250751, -SNULL, 140153504141311, 140153506250751, -STORE, 140153503997952, 140153504141311, -STORE, 140153504141312, 140153506250751, -ERASE, 140153504141312, 140153506250751, -STORE, 140153506238464, 140153506246655, -STORE, 140153506246656, 140153506250751, -STORE, 140731051331584, 140731051335679, -STORE, 140731051319296, 140731051331583, -STORE, 140153506209792, 140153506238463, -STORE, 140153506201600, 140153506209791, -STORE, 140153500200960, 140153503997951, -SNULL, 140153500200960, 140153501859839, -STORE, 140153501859840, 140153503997951, -STORE, 140153500200960, 140153501859839, -SNULL, 140153503956991, 140153503997951, -STORE, 140153501859840, 140153503956991, -STORE, 140153503956992, 140153503997951, -SNULL, 140153503956992, 140153503981567, -STORE, 140153503981568, 140153503997951, -STORE, 140153503956992, 140153503981567, -ERASE, 140153503956992, 140153503981567, -STORE, 140153503956992, 140153503981567, -ERASE, 140153503981568, 140153503997951, -STORE, 140153503981568, 140153503997951, -SNULL, 140153503973375, 140153503981567, -STORE, 140153503956992, 140153503973375, -STORE, 140153503973376, 140153503981567, -SNULL, 93945825210367, 93945825214463, -STORE, 93945825202176, 93945825210367, -STORE, 93945825210368, 93945825214463, -SNULL, 140153506242559, 140153506246655, -STORE, 140153506238464, 140153506242559, -STORE, 140153506242560, 140153506246655, -ERASE, 140153506209792, 140153506238463, -STORE, 93945854537728, 93945854672895, -STORE, 94431504838656, 94431505051647, -STORE, 94431507148800, 94431507152895, -STORE, 94431507152896, 94431507161087, -STORE, 94431507161088, 94431507173375, -STORE, 94431510286336, 94431537885183, -STORE, 139818797948928, 139818799607807, -STORE, 139818799607808, 139818801704959, -STORE, 139818801704960, 139818801721343, -STORE, 139818801721344, 139818801729535, -STORE, 139818801729536, 139818801745919, -STORE, 139818801745920, 139818801758207, -STORE, 139818801758208, 139818803851263, -STORE, 139818803851264, 139818803855359, -STORE, 139818803855360, 139818803859455, -STORE, 139818803859456, 139818804002815, -STORE, 139818804371456, 139818806054911, -STORE, 139818806054912, 139818806071295, -STORE, 139818806099968, 139818806104063, -STORE, 139818806104064, 139818806108159, -STORE, 139818806108160, 139818806112255, -STORE, 140731430457344, 140731430596607, -STORE, 140731431227392, 140731431239679, -STORE, 140731431239680, 140731431243775, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140736025325568, 140737488351231, -SNULL, 140736025333759, 140737488351231, -STORE, 140736025325568, 140736025333759, -STORE, 140736025194496, 140736025333759, -STORE, 94809095172096, 94809097396223, -SNULL, 94809095282687, 94809097396223, -STORE, 94809095172096, 94809095282687, -STORE, 94809095282688, 94809097396223, -ERASE, 94809095282688, 94809097396223, -STORE, 94809097375744, 94809097388031, -STORE, 94809097388032, 94809097396223, -STORE, 140194992517120, 140194994769919, -SNULL, 140194992660479, 140194994769919, -STORE, 140194992517120, 140194992660479, -STORE, 140194992660480, 140194994769919, -ERASE, 140194992660480, 140194994769919, -STORE, 140194994757632, 140194994765823, -STORE, 140194994765824, 140194994769919, -STORE, 140736026173440, 140736026177535, -STORE, 140736026161152, 140736026173439, -STORE, 140194994728960, 140194994757631, -STORE, 140194994720768, 140194994728959, -STORE, 140194988720128, 140194992517119, -SNULL, 140194988720128, 140194990379007, -STORE, 140194990379008, 140194992517119, -STORE, 140194988720128, 140194990379007, -SNULL, 140194992476159, 140194992517119, -STORE, 140194990379008, 140194992476159, -STORE, 140194992476160, 140194992517119, -SNULL, 140194992476160, 140194992500735, -STORE, 140194992500736, 140194992517119, -STORE, 140194992476160, 140194992500735, -ERASE, 140194992476160, 140194992500735, -STORE, 140194992476160, 140194992500735, -ERASE, 140194992500736, 140194992517119, -STORE, 140194992500736, 140194992517119, -SNULL, 140194992492543, 140194992500735, -STORE, 140194992476160, 140194992492543, -STORE, 140194992492544, 140194992500735, -SNULL, 94809097383935, 94809097388031, -STORE, 94809097375744, 94809097383935, -STORE, 94809097383936, 94809097388031, -SNULL, 140194994761727, 140194994765823, -STORE, 140194994757632, 140194994761727, -STORE, 140194994761728, 140194994765823, -ERASE, 140194994728960, 140194994757631, -STORE, 94809124286464, 94809124421631, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140726342660096, 140737488351231, -SNULL, 140726342668287, 140737488351231, -STORE, 140726342660096, 140726342668287, -STORE, 140726342529024, 140726342668287, -STORE, 94140331462656, 94140333686783, -SNULL, 94140331573247, 94140333686783, -STORE, 94140331462656, 94140331573247, -STORE, 94140331573248, 94140333686783, -ERASE, 94140331573248, 94140333686783, -STORE, 94140333666304, 94140333678591, -STORE, 94140333678592, 94140333686783, -STORE, 140714077208576, 140714079461375, -SNULL, 140714077351935, 140714079461375, -STORE, 140714077208576, 140714077351935, -STORE, 140714077351936, 140714079461375, -ERASE, 140714077351936, 140714079461375, -STORE, 140714079449088, 140714079457279, -STORE, 140714079457280, 140714079461375, -STORE, 140726343933952, 140726343938047, -STORE, 140726343921664, 140726343933951, -STORE, 140714079420416, 140714079449087, -STORE, 140714079412224, 140714079420415, -STORE, 140714073411584, 140714077208575, -SNULL, 140714073411584, 140714075070463, -STORE, 140714075070464, 140714077208575, -STORE, 140714073411584, 140714075070463, -SNULL, 140714077167615, 140714077208575, -STORE, 140714075070464, 140714077167615, -STORE, 140714077167616, 140714077208575, -SNULL, 140714077167616, 140714077192191, -STORE, 140714077192192, 140714077208575, -STORE, 140714077167616, 140714077192191, -ERASE, 140714077167616, 140714077192191, -STORE, 140714077167616, 140714077192191, -ERASE, 140714077192192, 140714077208575, -STORE, 140714077192192, 140714077208575, -SNULL, 140714077183999, 140714077192191, -STORE, 140714077167616, 140714077183999, -STORE, 140714077184000, 140714077192191, -SNULL, 94140333674495, 94140333678591, -STORE, 94140333666304, 94140333674495, -STORE, 94140333674496, 94140333678591, -SNULL, 140714079453183, 140714079457279, -STORE, 140714079449088, 140714079453183, -STORE, 140714079453184, 140714079457279, -ERASE, 140714079420416, 140714079449087, -STORE, 94140341432320, 94140341567487, -STORE, 94431504838656, 94431505051647, -STORE, 94431507148800, 94431507152895, -STORE, 94431507152896, 94431507161087, -STORE, 94431507161088, 94431507173375, -STORE, 94431510286336, 94431539601407, -STORE, 139818797948928, 139818799607807, -STORE, 139818799607808, 139818801704959, -STORE, 139818801704960, 139818801721343, -STORE, 139818801721344, 139818801729535, -STORE, 139818801729536, 139818801745919, -STORE, 139818801745920, 139818801758207, -STORE, 139818801758208, 139818803851263, -STORE, 139818803851264, 139818803855359, -STORE, 139818803855360, 139818803859455, -STORE, 139818803859456, 139818804002815, -STORE, 139818804371456, 139818806054911, -STORE, 139818806054912, 139818806071295, -STORE, 139818806099968, 139818806104063, -STORE, 139818806104064, 139818806108159, -STORE, 139818806108160, 139818806112255, -STORE, 140731430457344, 140731430596607, -STORE, 140731431227392, 140731431239679, -STORE, 140731431239680, 140731431243775, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140725843607552, 140737488351231, -SNULL, 140725843615743, 140737488351231, -STORE, 140725843607552, 140725843615743, -STORE, 140725843476480, 140725843615743, -STORE, 94889043505152, 94889045839871, -SNULL, 94889043718143, 94889045839871, -STORE, 94889043505152, 94889043718143, -STORE, 94889043718144, 94889045839871, -ERASE, 94889043718144, 94889045839871, -STORE, 94889045815296, 94889045827583, -STORE, 94889045827584, 94889045839871, -STORE, 140250965946368, 140250968199167, -SNULL, 140250966089727, 140250968199167, -STORE, 140250965946368, 140250966089727, -STORE, 140250966089728, 140250968199167, -ERASE, 140250966089728, 140250968199167, -STORE, 140250968186880, 140250968195071, -STORE, 140250968195072, 140250968199167, -STORE, 140725844500480, 140725844504575, -STORE, 140725844488192, 140725844500479, -STORE, 140250968158208, 140250968186879, -STORE, 140250968150016, 140250968158207, -STORE, 140250963832832, 140250965946367, -SNULL, 140250963832832, 140250963845119, -STORE, 140250963845120, 140250965946367, -STORE, 140250963832832, 140250963845119, -SNULL, 140250965938175, 140250965946367, -STORE, 140250963845120, 140250965938175, -STORE, 140250965938176, 140250965946367, -ERASE, 140250965938176, 140250965946367, -STORE, 140250965938176, 140250965946367, -STORE, 140250960035840, 140250963832831, -SNULL, 140250960035840, 140250961694719, -STORE, 140250961694720, 140250963832831, -STORE, 140250960035840, 140250961694719, -SNULL, 140250963791871, 140250963832831, -STORE, 140250961694720, 140250963791871, -STORE, 140250963791872, 140250963832831, -SNULL, 140250963791872, 140250963816447, -STORE, 140250963816448, 140250963832831, -STORE, 140250963791872, 140250963816447, -ERASE, 140250963791872, 140250963816447, -STORE, 140250963791872, 140250963816447, -ERASE, 140250963816448, 140250963832831, -STORE, 140250963816448, 140250963832831, -STORE, 140250968141824, 140250968158207, -SNULL, 140250963808255, 140250963816447, -STORE, 140250963791872, 140250963808255, -STORE, 140250963808256, 140250963816447, -SNULL, 140250965942271, 140250965946367, -STORE, 140250965938176, 140250965942271, -STORE, 140250965942272, 140250965946367, -SNULL, 94889045819391, 94889045827583, -STORE, 94889045815296, 94889045819391, -STORE, 94889045819392, 94889045827583, -SNULL, 140250968190975, 140250968195071, -STORE, 140250968186880, 140250968190975, -STORE, 140250968190976, 140250968195071, -ERASE, 140250968158208, 140250968186879, -STORE, 94889052213248, 94889052348415, -STORE, 140250966458368, 140250968141823, -STORE, 94889052213248, 94889052483583, -STORE, 94889052213248, 94889052618751, -STORE, 94170851819520, 94170852032511, -STORE, 94170854129664, 94170854133759, -STORE, 94170854133760, 94170854141951, -STORE, 94170854141952, 94170854154239, -STORE, 94170866515968, 94170867740671, -STORE, 140062030422016, 140062032080895, -STORE, 140062032080896, 140062034178047, -STORE, 140062034178048, 140062034194431, -STORE, 140062034194432, 140062034202623, -STORE, 140062034202624, 140062034219007, -STORE, 140062034219008, 140062034231295, -STORE, 140062034231296, 140062036324351, -STORE, 140062036324352, 140062036328447, -STORE, 140062036328448, 140062036332543, -STORE, 140062036332544, 140062036475903, -STORE, 140062036844544, 140062038527999, -STORE, 140062038528000, 140062038544383, -STORE, 140062038573056, 140062038577151, -STORE, 140062038577152, 140062038581247, -STORE, 140062038581248, 140062038585343, -STORE, 140736210550784, 140736210690047, -STORE, 140736210759680, 140736210771967, -STORE, 140736210771968, 140736210776063, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140724272365568, 140737488351231, -SNULL, 140724272373759, 140737488351231, -STORE, 140724272365568, 140724272373759, -STORE, 140724272234496, 140724272373759, -STORE, 94607711965184, 94607714189311, -SNULL, 94607712075775, 94607714189311, -STORE, 94607711965184, 94607712075775, -STORE, 94607712075776, 94607714189311, -ERASE, 94607712075776, 94607714189311, -STORE, 94607714168832, 94607714181119, -STORE, 94607714181120, 94607714189311, -STORE, 140054949253120, 140054951505919, -SNULL, 140054949396479, 140054951505919, -STORE, 140054949253120, 140054949396479, -STORE, 140054949396480, 140054951505919, -ERASE, 140054949396480, 140054951505919, -STORE, 140054951493632, 140054951501823, -STORE, 140054951501824, 140054951505919, -STORE, 140724272992256, 140724272996351, -STORE, 140724272979968, 140724272992255, -STORE, 140054951464960, 140054951493631, -STORE, 140054951456768, 140054951464959, -STORE, 140054945456128, 140054949253119, -SNULL, 140054945456128, 140054947115007, -STORE, 140054947115008, 140054949253119, -STORE, 140054945456128, 140054947115007, -SNULL, 140054949212159, 140054949253119, -STORE, 140054947115008, 140054949212159, -STORE, 140054949212160, 140054949253119, -SNULL, 140054949212160, 140054949236735, -STORE, 140054949236736, 140054949253119, -STORE, 140054949212160, 140054949236735, -ERASE, 140054949212160, 140054949236735, -STORE, 140054949212160, 140054949236735, -ERASE, 140054949236736, 140054949253119, -STORE, 140054949236736, 140054949253119, -SNULL, 140054949228543, 140054949236735, -STORE, 140054949212160, 140054949228543, -STORE, 140054949228544, 140054949236735, -SNULL, 94607714177023, 94607714181119, -STORE, 94607714168832, 94607714177023, -STORE, 94607714177024, 94607714181119, -SNULL, 140054951497727, 140054951501823, -STORE, 140054951493632, 140054951497727, -STORE, 140054951497728, 140054951501823, -ERASE, 140054951464960, 140054951493631, -STORE, 94607733374976, 94607733510143, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733586923520, 140737488351231, -SNULL, 140733586931711, 140737488351231, -STORE, 140733586923520, 140733586931711, -STORE, 140733586792448, 140733586931711, -STORE, 93901634904064, 93901637128191, -SNULL, 93901635014655, 93901637128191, -STORE, 93901634904064, 93901635014655, -STORE, 93901635014656, 93901637128191, -ERASE, 93901635014656, 93901637128191, -STORE, 93901637107712, 93901637119999, -STORE, 93901637120000, 93901637128191, -STORE, 140086104784896, 140086107037695, -SNULL, 140086104928255, 140086107037695, -STORE, 140086104784896, 140086104928255, -STORE, 140086104928256, 140086107037695, -ERASE, 140086104928256, 140086107037695, -STORE, 140086107025408, 140086107033599, -STORE, 140086107033600, 140086107037695, -STORE, 140733587263488, 140733587267583, -STORE, 140733587251200, 140733587263487, -STORE, 140086106996736, 140086107025407, -STORE, 140086106988544, 140086106996735, -STORE, 140086100987904, 140086104784895, -SNULL, 140086100987904, 140086102646783, -STORE, 140086102646784, 140086104784895, -STORE, 140086100987904, 140086102646783, -SNULL, 140086104743935, 140086104784895, -STORE, 140086102646784, 140086104743935, -STORE, 140086104743936, 140086104784895, -SNULL, 140086104743936, 140086104768511, -STORE, 140086104768512, 140086104784895, -STORE, 140086104743936, 140086104768511, -ERASE, 140086104743936, 140086104768511, -STORE, 140086104743936, 140086104768511, -ERASE, 140086104768512, 140086104784895, -STORE, 140086104768512, 140086104784895, -SNULL, 140086104760319, 140086104768511, -STORE, 140086104743936, 140086104760319, -STORE, 140086104760320, 140086104768511, -SNULL, 93901637115903, 93901637119999, -STORE, 93901637107712, 93901637115903, -STORE, 93901637115904, 93901637119999, -SNULL, 140086107029503, 140086107033599, -STORE, 140086107025408, 140086107029503, -STORE, 140086107029504, 140086107033599, -ERASE, 140086106996736, 140086107025407, -STORE, 93901662715904, 93901662851071, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140723365613568, 140737488351231, -SNULL, 140723365621759, 140737488351231, -STORE, 140723365613568, 140723365621759, -STORE, 140723365482496, 140723365621759, -STORE, 94759193546752, 94759195770879, -SNULL, 94759193657343, 94759195770879, -STORE, 94759193546752, 94759193657343, -STORE, 94759193657344, 94759195770879, -ERASE, 94759193657344, 94759195770879, -STORE, 94759195750400, 94759195762687, -STORE, 94759195762688, 94759195770879, -STORE, 140607636246528, 140607638499327, -SNULL, 140607636389887, 140607638499327, -STORE, 140607636246528, 140607636389887, -STORE, 140607636389888, 140607638499327, -ERASE, 140607636389888, 140607638499327, -STORE, 140607638487040, 140607638495231, -STORE, 140607638495232, 140607638499327, -STORE, 140723365900288, 140723365904383, -STORE, 140723365888000, 140723365900287, -STORE, 140607638458368, 140607638487039, -STORE, 140607638450176, 140607638458367, -STORE, 140607632449536, 140607636246527, -SNULL, 140607632449536, 140607634108415, -STORE, 140607634108416, 140607636246527, -STORE, 140607632449536, 140607634108415, -SNULL, 140607636205567, 140607636246527, -STORE, 140607634108416, 140607636205567, -STORE, 140607636205568, 140607636246527, -SNULL, 140607636205568, 140607636230143, -STORE, 140607636230144, 140607636246527, -STORE, 140607636205568, 140607636230143, -ERASE, 140607636205568, 140607636230143, -STORE, 140607636205568, 140607636230143, -ERASE, 140607636230144, 140607636246527, -STORE, 140607636230144, 140607636246527, -SNULL, 140607636221951, 140607636230143, -STORE, 140607636205568, 140607636221951, -STORE, 140607636221952, 140607636230143, -SNULL, 94759195758591, 94759195762687, -STORE, 94759195750400, 94759195758591, -STORE, 94759195758592, 94759195762687, -SNULL, 140607638491135, 140607638495231, -STORE, 140607638487040, 140607638491135, -STORE, 140607638491136, 140607638495231, -ERASE, 140607638458368, 140607638487039, -STORE, 94759204995072, 94759205130239, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140732503789568, 140737488351231, -SNULL, 140732503797759, 140737488351231, -STORE, 140732503789568, 140732503797759, -STORE, 140732503658496, 140732503797759, -STORE, 94077792956416, 94077795180543, -SNULL, 94077793067007, 94077795180543, -STORE, 94077792956416, 94077793067007, -STORE, 94077793067008, 94077795180543, -ERASE, 94077793067008, 94077795180543, -STORE, 94077795160064, 94077795172351, -STORE, 94077795172352, 94077795180543, -STORE, 140359874252800, 140359876505599, -SNULL, 140359874396159, 140359876505599, -STORE, 140359874252800, 140359874396159, -STORE, 140359874396160, 140359876505599, -ERASE, 140359874396160, 140359876505599, -STORE, 140359876493312, 140359876501503, -STORE, 140359876501504, 140359876505599, -STORE, 140732504465408, 140732504469503, -STORE, 140732504453120, 140732504465407, -STORE, 140359876464640, 140359876493311, -STORE, 140359876456448, 140359876464639, -STORE, 140359870455808, 140359874252799, -SNULL, 140359870455808, 140359872114687, -STORE, 140359872114688, 140359874252799, -STORE, 140359870455808, 140359872114687, -SNULL, 140359874211839, 140359874252799, -STORE, 140359872114688, 140359874211839, -STORE, 140359874211840, 140359874252799, -SNULL, 140359874211840, 140359874236415, -STORE, 140359874236416, 140359874252799, -STORE, 140359874211840, 140359874236415, -ERASE, 140359874211840, 140359874236415, -STORE, 140359874211840, 140359874236415, -ERASE, 140359874236416, 140359874252799, -STORE, 140359874236416, 140359874252799, -SNULL, 140359874228223, 140359874236415, -STORE, 140359874211840, 140359874228223, -STORE, 140359874228224, 140359874236415, -SNULL, 94077795168255, 94077795172351, -STORE, 94077795160064, 94077795168255, -STORE, 94077795168256, 94077795172351, -SNULL, 140359876497407, 140359876501503, -STORE, 140359876493312, 140359876497407, -STORE, 140359876497408, 140359876501503, -ERASE, 140359876464640, 140359876493311, -STORE, 94077808717824, 94077808852991, -STORE, 94549486252032, 94549486465023, -STORE, 94549488562176, 94549488566271, -STORE, 94549488566272, 94549488574463, -STORE, 94549488574464, 94549488586751, -STORE, 94549503492096, 94549506121727, -STORE, 140085800894464, 140085802553343, -STORE, 140085802553344, 140085804650495, -STORE, 140085804650496, 140085804666879, -STORE, 140085804666880, 140085804675071, -STORE, 140085804675072, 140085804691455, -STORE, 140085804691456, 140085804703743, -STORE, 140085804703744, 140085806796799, -STORE, 140085806796800, 140085806800895, -STORE, 140085806800896, 140085806804991, -STORE, 140085806804992, 140085806948351, -STORE, 140085807316992, 140085809000447, -STORE, 140085809000448, 140085809016831, -STORE, 140085809045504, 140085809049599, -STORE, 140085809049600, 140085809053695, -STORE, 140085809053696, 140085809057791, -STORE, 140731810545664, 140731810684927, -STORE, 140731810967552, 140731810979839, -STORE, 140731810979840, 140731810983935, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140724752330752, 140737488351231, -SNULL, 140724752338943, 140737488351231, -STORE, 140724752330752, 140724752338943, -STORE, 140724752199680, 140724752338943, -STORE, 94656357539840, 94656359874559, -SNULL, 94656357752831, 94656359874559, -STORE, 94656357539840, 94656357752831, -STORE, 94656357752832, 94656359874559, -ERASE, 94656357752832, 94656359874559, -STORE, 94656359849984, 94656359862271, -STORE, 94656359862272, 94656359874559, -STORE, 139632585203712, 139632587456511, -SNULL, 139632585347071, 139632587456511, -STORE, 139632585203712, 139632585347071, -STORE, 139632585347072, 139632587456511, -ERASE, 139632585347072, 139632587456511, -STORE, 139632587444224, 139632587452415, -STORE, 139632587452416, 139632587456511, -STORE, 139632587440128, 139632587444223, -STORE, 139632587427840, 139632587440127, -STORE, 139632587399168, 139632587427839, -STORE, 139632587390976, 139632587399167, -STORE, 139632583090176, 139632585203711, -SNULL, 139632583090176, 139632583102463, -STORE, 139632583102464, 139632585203711, -STORE, 139632583090176, 139632583102463, -SNULL, 139632585195519, 139632585203711, -STORE, 139632583102464, 139632585195519, -STORE, 139632585195520, 139632585203711, -ERASE, 139632585195520, 139632585203711, -STORE, 139632585195520, 139632585203711, -STORE, 139632579293184, 139632583090175, -SNULL, 139632579293184, 139632580952063, -STORE, 139632580952064, 139632583090175, -STORE, 139632579293184, 139632580952063, -SNULL, 139632583049215, 139632583090175, -STORE, 139632580952064, 139632583049215, -STORE, 139632583049216, 139632583090175, -SNULL, 139632583049216, 139632583073791, -STORE, 139632583073792, 139632583090175, -STORE, 139632583049216, 139632583073791, -ERASE, 139632583049216, 139632583073791, -STORE, 139632583049216, 139632583073791, -ERASE, 139632583073792, 139632583090175, -STORE, 139632583073792, 139632583090175, -STORE, 139632587382784, 139632587399167, -SNULL, 139632583065599, 139632583073791, -STORE, 139632583049216, 139632583065599, -STORE, 139632583065600, 139632583073791, -SNULL, 139632585199615, 139632585203711, -STORE, 139632585195520, 139632585199615, -STORE, 139632585199616, 139632585203711, -SNULL, 94656359854079, 94656359862271, -STORE, 94656359849984, 94656359854079, -STORE, 94656359854080, 94656359862271, -SNULL, 139632587448319, 139632587452415, -STORE, 139632587444224, 139632587448319, -STORE, 139632587448320, 139632587452415, -ERASE, 139632587399168, 139632587427839, -STORE, 94656378912768, 94656379047935, -STORE, 139632585699328, 139632587382783, -STORE, 94656378912768, 94656379183103, -STORE, 94656378912768, 94656379318271, -STORE, 94656378912768, 94656379494399, -SNULL, 94656379469823, 94656379494399, -STORE, 94656378912768, 94656379469823, -STORE, 94656379469824, 94656379494399, -ERASE, 94656379469824, 94656379494399, -STORE, 94656378912768, 94656379621375, -STORE, 94656378912768, 94656379756543, -STORE, 94656378912768, 94656379912191, -STORE, 94656378912768, 94656380055551, -STORE, 94656378912768, 94656380190719, -STORE, 94656378912768, 94656380338175, -SNULL, 94656380313599, 94656380338175, -STORE, 94656378912768, 94656380313599, -STORE, 94656380313600, 94656380338175, -ERASE, 94656380313600, 94656380338175, -STORE, 94656378912768, 94656380448767, -SNULL, 94656380432383, 94656380448767, -STORE, 94656378912768, 94656380432383, -STORE, 94656380432384, 94656380448767, -ERASE, 94656380432384, 94656380448767, -STORE, 94656378912768, 94656380567551, -STORE, 94656378912768, 94656380719103, -STORE, 94656378912768, 94656380858367, -STORE, 94656378912768, 94656380997631, -STORE, 94656378912768, 94656381132799, -SNULL, 94656381124607, 94656381132799, -STORE, 94656378912768, 94656381124607, -STORE, 94656381124608, 94656381132799, -ERASE, 94656381124608, 94656381132799, -STORE, 94656378912768, 94656381276159, -STORE, 94656378912768, 94656381427711, -STORE, 94604087611392, 94604087824383, -STORE, 94604089921536, 94604089925631, -STORE, 94604089925632, 94604089933823, -STORE, 94604089933824, 94604089946111, -STORE, 94604105125888, 94604106424319, -STORE, 140454937694208, 140454939353087, -STORE, 140454939353088, 140454941450239, -STORE, 140454941450240, 140454941466623, -STORE, 140454941466624, 140454941474815, -STORE, 140454941474816, 140454941491199, -STORE, 140454941491200, 140454941503487, -STORE, 140454941503488, 140454943596543, -STORE, 140454943596544, 140454943600639, -STORE, 140454943600640, 140454943604735, -STORE, 140454943604736, 140454943748095, -STORE, 140454944116736, 140454945800191, -STORE, 140454945800192, 140454945816575, -STORE, 140454945845248, 140454945849343, -STORE, 140454945849344, 140454945853439, -STORE, 140454945853440, 140454945857535, -STORE, 140728438214656, 140728438353919, -STORE, 140728439095296, 140728439107583, -STORE, 140728439107584, 140728439111679, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140727821099008, 140737488351231, -SNULL, 140727821107199, 140737488351231, -STORE, 140727821099008, 140727821107199, -STORE, 140727820967936, 140727821107199, -STORE, 94088457240576, 94088459575295, -SNULL, 94088457453567, 94088459575295, -STORE, 94088457240576, 94088457453567, -STORE, 94088457453568, 94088459575295, -ERASE, 94088457453568, 94088459575295, -STORE, 94088459550720, 94088459563007, -STORE, 94088459563008, 94088459575295, -STORE, 140234378989568, 140234381242367, -SNULL, 140234379132927, 140234381242367, -STORE, 140234378989568, 140234379132927, -STORE, 140234379132928, 140234381242367, -ERASE, 140234379132928, 140234381242367, -STORE, 140234381230080, 140234381238271, -STORE, 140234381238272, 140234381242367, -STORE, 140727822077952, 140727822082047, -STORE, 140727822065664, 140727822077951, -STORE, 140234381201408, 140234381230079, -STORE, 140234381193216, 140234381201407, -STORE, 140234376876032, 140234378989567, -SNULL, 140234376876032, 140234376888319, -STORE, 140234376888320, 140234378989567, -STORE, 140234376876032, 140234376888319, -SNULL, 140234378981375, 140234378989567, -STORE, 140234376888320, 140234378981375, -STORE, 140234378981376, 140234378989567, -ERASE, 140234378981376, 140234378989567, -STORE, 140234378981376, 140234378989567, -STORE, 140234373079040, 140234376876031, -SNULL, 140234373079040, 140234374737919, -STORE, 140234374737920, 140234376876031, -STORE, 140234373079040, 140234374737919, -SNULL, 140234376835071, 140234376876031, -STORE, 140234374737920, 140234376835071, -STORE, 140234376835072, 140234376876031, -SNULL, 140234376835072, 140234376859647, -STORE, 140234376859648, 140234376876031, -STORE, 140234376835072, 140234376859647, -ERASE, 140234376835072, 140234376859647, -STORE, 140234376835072, 140234376859647, -ERASE, 140234376859648, 140234376876031, -STORE, 140234376859648, 140234376876031, -STORE, 140234381185024, 140234381201407, -SNULL, 140234376851455, 140234376859647, -STORE, 140234376835072, 140234376851455, -STORE, 140234376851456, 140234376859647, -SNULL, 140234378985471, 140234378989567, -STORE, 140234378981376, 140234378985471, -STORE, 140234378985472, 140234378989567, -SNULL, 94088459554815, 94088459563007, -STORE, 94088459550720, 94088459554815, -STORE, 94088459554816, 94088459563007, -SNULL, 140234381234175, 140234381238271, -STORE, 140234381230080, 140234381234175, -STORE, 140234381234176, 140234381238271, -ERASE, 140234381201408, 140234381230079, -STORE, 94088468852736, 94088468987903, -STORE, 140234379501568, 140234381185023, -STORE, 94088468852736, 94088469123071, -STORE, 94088468852736, 94088469258239, -STORE, 94110050402304, 94110050615295, -STORE, 94110052712448, 94110052716543, -STORE, 94110052716544, 94110052724735, -STORE, 94110052724736, 94110052737023, -STORE, 94110061875200, 94110062415871, -STORE, 140139439357952, 140139441016831, -STORE, 140139441016832, 140139443113983, -STORE, 140139443113984, 140139443130367, -STORE, 140139443130368, 140139443138559, -STORE, 140139443138560, 140139443154943, -STORE, 140139443154944, 140139443167231, -STORE, 140139443167232, 140139445260287, -STORE, 140139445260288, 140139445264383, -STORE, 140139445264384, 140139445268479, -STORE, 140139445268480, 140139445411839, -STORE, 140139445780480, 140139447463935, -STORE, 140139447463936, 140139447480319, -STORE, 140139447508992, 140139447513087, -STORE, 140139447513088, 140139447517183, -STORE, 140139447517184, 140139447521279, -STORE, 140731901427712, 140731901566975, -STORE, 140731902259200, 140731902271487, -STORE, 140731902271488, 140731902275583, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140727282622464, 140737488351231, -SNULL, 140727282630655, 140737488351231, -STORE, 140727282622464, 140727282630655, -STORE, 140727282491392, 140727282630655, -STORE, 94266649866240, 94266652200959, -SNULL, 94266650079231, 94266652200959, -STORE, 94266649866240, 94266650079231, -STORE, 94266650079232, 94266652200959, -ERASE, 94266650079232, 94266652200959, -STORE, 94266652176384, 94266652188671, -STORE, 94266652188672, 94266652200959, -STORE, 139888497991680, 139888500244479, -SNULL, 139888498135039, 139888500244479, -STORE, 139888497991680, 139888498135039, -STORE, 139888498135040, 139888500244479, -ERASE, 139888498135040, 139888500244479, -STORE, 139888500232192, 139888500240383, -STORE, 139888500240384, 139888500244479, -STORE, 140727283113984, 140727283118079, -STORE, 140727283101696, 140727283113983, -STORE, 139888500203520, 139888500232191, -STORE, 139888500195328, 139888500203519, -STORE, 139888495878144, 139888497991679, -SNULL, 139888495878144, 139888495890431, -STORE, 139888495890432, 139888497991679, -STORE, 139888495878144, 139888495890431, -SNULL, 139888497983487, 139888497991679, -STORE, 139888495890432, 139888497983487, -STORE, 139888497983488, 139888497991679, -ERASE, 139888497983488, 139888497991679, -STORE, 139888497983488, 139888497991679, -STORE, 139888492081152, 139888495878143, -SNULL, 139888492081152, 139888493740031, -STORE, 139888493740032, 139888495878143, -STORE, 139888492081152, 139888493740031, -SNULL, 139888495837183, 139888495878143, -STORE, 139888493740032, 139888495837183, -STORE, 139888495837184, 139888495878143, -SNULL, 139888495837184, 139888495861759, -STORE, 139888495861760, 139888495878143, -STORE, 139888495837184, 139888495861759, -ERASE, 139888495837184, 139888495861759, -STORE, 139888495837184, 139888495861759, -ERASE, 139888495861760, 139888495878143, -STORE, 139888495861760, 139888495878143, -STORE, 139888500187136, 139888500203519, -SNULL, 139888495853567, 139888495861759, -STORE, 139888495837184, 139888495853567, -STORE, 139888495853568, 139888495861759, -SNULL, 139888497987583, 139888497991679, -STORE, 139888497983488, 139888497987583, -STORE, 139888497987584, 139888497991679, -SNULL, 94266652180479, 94266652188671, -STORE, 94266652176384, 94266652180479, -STORE, 94266652180480, 94266652188671, -SNULL, 139888500236287, 139888500240383, -STORE, 139888500232192, 139888500236287, -STORE, 139888500236288, 139888500240383, -ERASE, 139888500203520, 139888500232191, -STORE, 94266678542336, 94266678677503, -STORE, 139888498503680, 139888500187135, -STORE, 94266678542336, 94266678812671, -STORE, 94266678542336, 94266678947839, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722507702272, 140737488351231, -SNULL, 140722507710463, 140737488351231, -STORE, 140722507702272, 140722507710463, -STORE, 140722507571200, 140722507710463, -STORE, 94313981394944, 94313983729663, -SNULL, 94313981607935, 94313983729663, -STORE, 94313981394944, 94313981607935, -STORE, 94313981607936, 94313983729663, -ERASE, 94313981607936, 94313983729663, -STORE, 94313983705088, 94313983717375, -STORE, 94313983717376, 94313983729663, -STORE, 140456286076928, 140456288329727, -SNULL, 140456286220287, 140456288329727, -STORE, 140456286076928, 140456286220287, -STORE, 140456286220288, 140456288329727, -ERASE, 140456286220288, 140456288329727, -STORE, 140456288317440, 140456288325631, -STORE, 140456288325632, 140456288329727, -STORE, 140722507997184, 140722508001279, -STORE, 140722507984896, 140722507997183, -STORE, 140456288288768, 140456288317439, -STORE, 140456288280576, 140456288288767, -STORE, 140456283963392, 140456286076927, -SNULL, 140456283963392, 140456283975679, -STORE, 140456283975680, 140456286076927, -STORE, 140456283963392, 140456283975679, -SNULL, 140456286068735, 140456286076927, -STORE, 140456283975680, 140456286068735, -STORE, 140456286068736, 140456286076927, -ERASE, 140456286068736, 140456286076927, -STORE, 140456286068736, 140456286076927, -STORE, 140456280166400, 140456283963391, -SNULL, 140456280166400, 140456281825279, -STORE, 140456281825280, 140456283963391, -STORE, 140456280166400, 140456281825279, -SNULL, 140456283922431, 140456283963391, -STORE, 140456281825280, 140456283922431, -STORE, 140456283922432, 140456283963391, -SNULL, 140456283922432, 140456283947007, -STORE, 140456283947008, 140456283963391, -STORE, 140456283922432, 140456283947007, -ERASE, 140456283922432, 140456283947007, -STORE, 140456283922432, 140456283947007, -ERASE, 140456283947008, 140456283963391, -STORE, 140456283947008, 140456283963391, -STORE, 140456288272384, 140456288288767, -SNULL, 140456283938815, 140456283947007, -STORE, 140456283922432, 140456283938815, -STORE, 140456283938816, 140456283947007, -SNULL, 140456286072831, 140456286076927, -STORE, 140456286068736, 140456286072831, -STORE, 140456286072832, 140456286076927, -SNULL, 94313983709183, 94313983717375, -STORE, 94313983705088, 94313983709183, -STORE, 94313983709184, 94313983717375, -SNULL, 140456288321535, 140456288325631, -STORE, 140456288317440, 140456288321535, -STORE, 140456288321536, 140456288325631, -ERASE, 140456288288768, 140456288317439, -STORE, 94314006716416, 94314006851583, -STORE, 140456286588928, 140456288272383, -STORE, 94314006716416, 94314006986751, -STORE, 94314006716416, 94314007121919, -STORE, 93948644454400, 93948644667391, -STORE, 93948646764544, 93948646768639, -STORE, 93948646768640, 93948646776831, -STORE, 93948646776832, 93948646789119, -STORE, 93948664999936, 93948667142143, -STORE, 140187350659072, 140187352317951, -STORE, 140187352317952, 140187354415103, -STORE, 140187354415104, 140187354431487, -STORE, 140187354431488, 140187354439679, -STORE, 140187354439680, 140187354456063, -STORE, 140187354456064, 140187354468351, -STORE, 140187354468352, 140187356561407, -STORE, 140187356561408, 140187356565503, -STORE, 140187356565504, 140187356569599, -STORE, 140187356569600, 140187356712959, -STORE, 140187357081600, 140187358765055, -STORE, 140187358765056, 140187358781439, -STORE, 140187358810112, 140187358814207, -STORE, 140187358814208, 140187358818303, -STORE, 140187358818304, 140187358822399, -STORE, 140730484518912, 140730484658175, -STORE, 140730485690368, 140730485702655, -STORE, 140730485702656, 140730485706751, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140721211551744, 140737488351231, -SNULL, 140721211559935, 140737488351231, -STORE, 140721211551744, 140721211559935, -STORE, 140721211420672, 140721211559935, -STORE, 94105221423104, 94105223757823, -SNULL, 94105221636095, 94105223757823, -STORE, 94105221423104, 94105221636095, -STORE, 94105221636096, 94105223757823, -ERASE, 94105221636096, 94105223757823, -STORE, 94105223733248, 94105223745535, -STORE, 94105223745536, 94105223757823, -STORE, 140474453676032, 140474455928831, -SNULL, 140474453819391, 140474455928831, -STORE, 140474453676032, 140474453819391, -STORE, 140474453819392, 140474455928831, -ERASE, 140474453819392, 140474455928831, -STORE, 140474455916544, 140474455924735, -STORE, 140474455924736, 140474455928831, -STORE, 140721211703296, 140721211707391, -STORE, 140721211691008, 140721211703295, -STORE, 140474455887872, 140474455916543, -STORE, 140474455879680, 140474455887871, -STORE, 140474451562496, 140474453676031, -SNULL, 140474451562496, 140474451574783, -STORE, 140474451574784, 140474453676031, -STORE, 140474451562496, 140474451574783, -SNULL, 140474453667839, 140474453676031, -STORE, 140474451574784, 140474453667839, -STORE, 140474453667840, 140474453676031, -ERASE, 140474453667840, 140474453676031, -STORE, 140474453667840, 140474453676031, -STORE, 140474447765504, 140474451562495, -SNULL, 140474447765504, 140474449424383, -STORE, 140474449424384, 140474451562495, -STORE, 140474447765504, 140474449424383, -SNULL, 140474451521535, 140474451562495, -STORE, 140474449424384, 140474451521535, -STORE, 140474451521536, 140474451562495, -SNULL, 140474451521536, 140474451546111, -STORE, 140474451546112, 140474451562495, -STORE, 140474451521536, 140474451546111, -ERASE, 140474451521536, 140474451546111, -STORE, 140474451521536, 140474451546111, -ERASE, 140474451546112, 140474451562495, -STORE, 140474451546112, 140474451562495, -STORE, 140474455871488, 140474455887871, -SNULL, 140474451537919, 140474451546111, -STORE, 140474451521536, 140474451537919, -STORE, 140474451537920, 140474451546111, -SNULL, 140474453671935, 140474453676031, -STORE, 140474453667840, 140474453671935, -STORE, 140474453671936, 140474453676031, -SNULL, 94105223737343, 94105223745535, -STORE, 94105223733248, 94105223737343, -STORE, 94105223737344, 94105223745535, -SNULL, 140474455920639, 140474455924735, -STORE, 140474455916544, 140474455920639, -STORE, 140474455920640, 140474455924735, -ERASE, 140474455887872, 140474455916543, -STORE, 94105238712320, 94105238847487, -STORE, 140474454188032, 140474455871487, -STORE, 94105238712320, 94105238982655, -STORE, 94105238712320, 94105239117823, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140732356354048, 140737488351231, -SNULL, 140732356362239, 140737488351231, -STORE, 140732356354048, 140732356362239, -STORE, 140732356222976, 140732356362239, -STORE, 94461165989888, 94461168324607, -SNULL, 94461166202879, 94461168324607, -STORE, 94461165989888, 94461166202879, -STORE, 94461166202880, 94461168324607, -ERASE, 94461166202880, 94461168324607, -STORE, 94461168300032, 94461168312319, -STORE, 94461168312320, 94461168324607, -STORE, 140317255110656, 140317257363455, -SNULL, 140317255254015, 140317257363455, -STORE, 140317255110656, 140317255254015, -STORE, 140317255254016, 140317257363455, -ERASE, 140317255254016, 140317257363455, -STORE, 140317257351168, 140317257359359, -STORE, 140317257359360, 140317257363455, -STORE, 140732356583424, 140732356587519, -STORE, 140732356571136, 140732356583423, -STORE, 140317257322496, 140317257351167, -STORE, 140317257314304, 140317257322495, -STORE, 140317252997120, 140317255110655, -SNULL, 140317252997120, 140317253009407, -STORE, 140317253009408, 140317255110655, -STORE, 140317252997120, 140317253009407, -SNULL, 140317255102463, 140317255110655, -STORE, 140317253009408, 140317255102463, -STORE, 140317255102464, 140317255110655, -ERASE, 140317255102464, 140317255110655, -STORE, 140317255102464, 140317255110655, -STORE, 140317249200128, 140317252997119, -SNULL, 140317249200128, 140317250859007, -STORE, 140317250859008, 140317252997119, -STORE, 140317249200128, 140317250859007, -SNULL, 140317252956159, 140317252997119, -STORE, 140317250859008, 140317252956159, -STORE, 140317252956160, 140317252997119, -SNULL, 140317252956160, 140317252980735, -STORE, 140317252980736, 140317252997119, -STORE, 140317252956160, 140317252980735, -ERASE, 140317252956160, 140317252980735, -STORE, 140317252956160, 140317252980735, -ERASE, 140317252980736, 140317252997119, -STORE, 140317252980736, 140317252997119, -STORE, 140317257306112, 140317257322495, -SNULL, 140317252972543, 140317252980735, -STORE, 140317252956160, 140317252972543, -STORE, 140317252972544, 140317252980735, -SNULL, 140317255106559, 140317255110655, -STORE, 140317255102464, 140317255106559, -STORE, 140317255106560, 140317255110655, -SNULL, 94461168304127, 94461168312319, -STORE, 94461168300032, 94461168304127, -STORE, 94461168304128, 94461168312319, -SNULL, 140317257355263, 140317257359359, -STORE, 140317257351168, 140317257355263, -STORE, 140317257355264, 140317257359359, -ERASE, 140317257322496, 140317257351167, -STORE, 94461195268096, 94461195403263, -STORE, 140317255622656, 140317257306111, -STORE, 94461195268096, 94461195538431, -STORE, 94461195268096, 94461195673599, -STORE, 94110050402304, 94110050615295, -STORE, 94110052712448, 94110052716543, -STORE, 94110052716544, 94110052724735, -STORE, 94110052724736, 94110052737023, -STORE, 94110061875200, 94110062415871, -STORE, 140139439357952, 140139441016831, -STORE, 140139441016832, 140139443113983, -STORE, 140139443113984, 140139443130367, -STORE, 140139443130368, 140139443138559, -STORE, 140139443138560, 140139443154943, -STORE, 140139443154944, 140139443167231, -STORE, 140139443167232, 140139445260287, -STORE, 140139445260288, 140139445264383, -STORE, 140139445264384, 140139445268479, -STORE, 140139445268480, 140139445411839, -STORE, 140139445780480, 140139447463935, -STORE, 140139447463936, 140139447480319, -STORE, 140139447508992, 140139447513087, -STORE, 140139447513088, 140139447517183, -STORE, 140139447517184, 140139447521279, -STORE, 140731901427712, 140731901566975, -STORE, 140731902259200, 140731902271487, -STORE, 140731902271488, 140731902275583, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140720941613056, 140737488351231, -SNULL, 140720941621247, 140737488351231, -STORE, 140720941613056, 140720941621247, -STORE, 140720941481984, 140720941621247, -STORE, 93902377721856, 93902379945983, -SNULL, 93902377832447, 93902379945983, -STORE, 93902377721856, 93902377832447, -STORE, 93902377832448, 93902379945983, -ERASE, 93902377832448, 93902379945983, -STORE, 93902379925504, 93902379937791, -STORE, 93902379937792, 93902379945983, -STORE, 139836543635456, 139836545888255, -SNULL, 139836543778815, 139836545888255, -STORE, 139836543635456, 139836543778815, -STORE, 139836543778816, 139836545888255, -ERASE, 139836543778816, 139836545888255, -STORE, 139836545875968, 139836545884159, -STORE, 139836545884160, 139836545888255, -STORE, 140720941711360, 140720941715455, -STORE, 140720941699072, 140720941711359, -STORE, 139836545847296, 139836545875967, -STORE, 139836545839104, 139836545847295, -STORE, 139836539838464, 139836543635455, -SNULL, 139836539838464, 139836541497343, -STORE, 139836541497344, 139836543635455, -STORE, 139836539838464, 139836541497343, -SNULL, 139836543594495, 139836543635455, -STORE, 139836541497344, 139836543594495, -STORE, 139836543594496, 139836543635455, -SNULL, 139836543594496, 139836543619071, -STORE, 139836543619072, 139836543635455, -STORE, 139836543594496, 139836543619071, -ERASE, 139836543594496, 139836543619071, -STORE, 139836543594496, 139836543619071, -ERASE, 139836543619072, 139836543635455, -STORE, 139836543619072, 139836543635455, -SNULL, 139836543610879, 139836543619071, -STORE, 139836543594496, 139836543610879, -STORE, 139836543610880, 139836543619071, -SNULL, 93902379933695, 93902379937791, -STORE, 93902379925504, 93902379933695, -STORE, 93902379933696, 93902379937791, -SNULL, 139836545880063, 139836545884159, -STORE, 139836545875968, 139836545880063, -STORE, 139836545880064, 139836545884159, -ERASE, 139836545847296, 139836545875967, -STORE, 93902396891136, 93902397026303, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140736538206208, 140737488351231, -SNULL, 140736538214399, 140737488351231, -STORE, 140736538206208, 140736538214399, -STORE, 140736538075136, 140736538214399, -STORE, 94173471399936, 94173473734655, -SNULL, 94173471612927, 94173473734655, -STORE, 94173471399936, 94173471612927, -STORE, 94173471612928, 94173473734655, -ERASE, 94173471612928, 94173473734655, -STORE, 94173473710080, 94173473722367, -STORE, 94173473722368, 94173473734655, -STORE, 140035513556992, 140035515809791, -SNULL, 140035513700351, 140035515809791, -STORE, 140035513556992, 140035513700351, -STORE, 140035513700352, 140035515809791, -ERASE, 140035513700352, 140035515809791, -STORE, 140035515797504, 140035515805695, -STORE, 140035515805696, 140035515809791, -STORE, 140736538329088, 140736538333183, -STORE, 140736538316800, 140736538329087, -STORE, 140035515768832, 140035515797503, -STORE, 140035515760640, 140035515768831, -STORE, 140035511443456, 140035513556991, -SNULL, 140035511443456, 140035511455743, -STORE, 140035511455744, 140035513556991, -STORE, 140035511443456, 140035511455743, -SNULL, 140035513548799, 140035513556991, -STORE, 140035511455744, 140035513548799, -STORE, 140035513548800, 140035513556991, -ERASE, 140035513548800, 140035513556991, -STORE, 140035513548800, 140035513556991, -STORE, 140035507646464, 140035511443455, -SNULL, 140035507646464, 140035509305343, -STORE, 140035509305344, 140035511443455, -STORE, 140035507646464, 140035509305343, -SNULL, 140035511402495, 140035511443455, -STORE, 140035509305344, 140035511402495, -STORE, 140035511402496, 140035511443455, -SNULL, 140035511402496, 140035511427071, -STORE, 140035511427072, 140035511443455, -STORE, 140035511402496, 140035511427071, -ERASE, 140035511402496, 140035511427071, -STORE, 140035511402496, 140035511427071, -ERASE, 140035511427072, 140035511443455, -STORE, 140035511427072, 140035511443455, -STORE, 140035515752448, 140035515768831, -SNULL, 140035511418879, 140035511427071, -STORE, 140035511402496, 140035511418879, -STORE, 140035511418880, 140035511427071, -SNULL, 140035513552895, 140035513556991, -STORE, 140035513548800, 140035513552895, -STORE, 140035513552896, 140035513556991, -SNULL, 94173473714175, 94173473722367, -STORE, 94173473710080, 94173473714175, -STORE, 94173473714176, 94173473722367, -SNULL, 140035515801599, 140035515805695, -STORE, 140035515797504, 140035515801599, -STORE, 140035515801600, 140035515805695, -ERASE, 140035515768832, 140035515797503, -STORE, 94173478645760, 94173478780927, -STORE, 140035514068992, 140035515752447, -STORE, 94173478645760, 94173478916095, -STORE, 94173478645760, 94173479051263, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140724216176640, 140737488351231, -SNULL, 140724216184831, 140737488351231, -STORE, 140724216176640, 140724216184831, -STORE, 140724216045568, 140724216184831, -STORE, 94870930628608, 94870932963327, -SNULL, 94870930841599, 94870932963327, -STORE, 94870930628608, 94870930841599, -STORE, 94870930841600, 94870932963327, -ERASE, 94870930841600, 94870932963327, -STORE, 94870932938752, 94870932951039, -STORE, 94870932951040, 94870932963327, -STORE, 140453683736576, 140453685989375, -SNULL, 140453683879935, 140453685989375, -STORE, 140453683736576, 140453683879935, -STORE, 140453683879936, 140453685989375, -ERASE, 140453683879936, 140453685989375, -STORE, 140453685977088, 140453685985279, -STORE, 140453685985280, 140453685989375, -STORE, 140724216832000, 140724216836095, -STORE, 140724216819712, 140724216831999, -STORE, 140453685948416, 140453685977087, -STORE, 140453685940224, 140453685948415, -STORE, 140453681623040, 140453683736575, -SNULL, 140453681623040, 140453681635327, -STORE, 140453681635328, 140453683736575, -STORE, 140453681623040, 140453681635327, -SNULL, 140453683728383, 140453683736575, -STORE, 140453681635328, 140453683728383, -STORE, 140453683728384, 140453683736575, -ERASE, 140453683728384, 140453683736575, -STORE, 140453683728384, 140453683736575, -STORE, 140453677826048, 140453681623039, -SNULL, 140453677826048, 140453679484927, -STORE, 140453679484928, 140453681623039, -STORE, 140453677826048, 140453679484927, -SNULL, 140453681582079, 140453681623039, -STORE, 140453679484928, 140453681582079, -STORE, 140453681582080, 140453681623039, -SNULL, 140453681582080, 140453681606655, -STORE, 140453681606656, 140453681623039, -STORE, 140453681582080, 140453681606655, -ERASE, 140453681582080, 140453681606655, -STORE, 140453681582080, 140453681606655, -ERASE, 140453681606656, 140453681623039, -STORE, 140453681606656, 140453681623039, -STORE, 140453685932032, 140453685948415, -SNULL, 140453681598463, 140453681606655, -STORE, 140453681582080, 140453681598463, -STORE, 140453681598464, 140453681606655, -SNULL, 140453683732479, 140453683736575, -STORE, 140453683728384, 140453683732479, -STORE, 140453683732480, 140453683736575, -SNULL, 94870932942847, 94870932951039, -STORE, 94870932938752, 94870932942847, -STORE, 94870932942848, 94870932951039, -SNULL, 140453685981183, 140453685985279, -STORE, 140453685977088, 140453685981183, -STORE, 140453685981184, 140453685985279, -ERASE, 140453685948416, 140453685977087, -STORE, 94870940565504, 94870940700671, -STORE, 140453684248576, 140453685932031, -STORE, 94870940565504, 94870940835839, -STORE, 94870940565504, 94870940971007, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140731275661312, 140737488351231, -SNULL, 140731275669503, 140737488351231, -STORE, 140731275661312, 140731275669503, -STORE, 140731275530240, 140731275669503, -STORE, 94642788548608, 94642790883327, -SNULL, 94642788761599, 94642790883327, -STORE, 94642788548608, 94642788761599, -STORE, 94642788761600, 94642790883327, -ERASE, 94642788761600, 94642790883327, -STORE, 94642790858752, 94642790871039, -STORE, 94642790871040, 94642790883327, -STORE, 140228458749952, 140228461002751, -SNULL, 140228458893311, 140228461002751, -STORE, 140228458749952, 140228458893311, -STORE, 140228458893312, 140228461002751, -ERASE, 140228458893312, 140228461002751, -STORE, 140228460990464, 140228460998655, -STORE, 140228460998656, 140228461002751, -STORE, 140731276349440, 140731276353535, -STORE, 140731276337152, 140731276349439, -STORE, 140228460961792, 140228460990463, -STORE, 140228460953600, 140228460961791, -STORE, 140228456636416, 140228458749951, -SNULL, 140228456636416, 140228456648703, -STORE, 140228456648704, 140228458749951, -STORE, 140228456636416, 140228456648703, -SNULL, 140228458741759, 140228458749951, -STORE, 140228456648704, 140228458741759, -STORE, 140228458741760, 140228458749951, -ERASE, 140228458741760, 140228458749951, -STORE, 140228458741760, 140228458749951, -STORE, 140228452839424, 140228456636415, -SNULL, 140228452839424, 140228454498303, -STORE, 140228454498304, 140228456636415, -STORE, 140228452839424, 140228454498303, -SNULL, 140228456595455, 140228456636415, -STORE, 140228454498304, 140228456595455, -STORE, 140228456595456, 140228456636415, -SNULL, 140228456595456, 140228456620031, -STORE, 140228456620032, 140228456636415, -STORE, 140228456595456, 140228456620031, -ERASE, 140228456595456, 140228456620031, -STORE, 140228456595456, 140228456620031, -ERASE, 140228456620032, 140228456636415, -STORE, 140228456620032, 140228456636415, -STORE, 140228460945408, 140228460961791, -SNULL, 140228456611839, 140228456620031, -STORE, 140228456595456, 140228456611839, -STORE, 140228456611840, 140228456620031, -SNULL, 140228458745855, 140228458749951, -STORE, 140228458741760, 140228458745855, -STORE, 140228458745856, 140228458749951, -SNULL, 94642790862847, 94642790871039, -STORE, 94642790858752, 94642790862847, -STORE, 94642790862848, 94642790871039, -SNULL, 140228460994559, 140228460998655, -STORE, 140228460990464, 140228460994559, -STORE, 140228460994560, 140228460998655, -ERASE, 140228460961792, 140228460990463, -STORE, 94642801549312, 94642801684479, -STORE, 140228459261952, 140228460945407, -STORE, 94642801549312, 94642801819647, -STORE, 94642801549312, 94642801954815, -STORE, 94604087611392, 94604087824383, -STORE, 94604089921536, 94604089925631, -STORE, 94604089925632, 94604089933823, -STORE, 94604089933824, 94604089946111, -STORE, 94604105125888, 94604106424319, -STORE, 140454937694208, 140454939353087, -STORE, 140454939353088, 140454941450239, -STORE, 140454941450240, 140454941466623, -STORE, 140454941466624, 140454941474815, -STORE, 140454941474816, 140454941491199, -STORE, 140454941491200, 140454941503487, -STORE, 140454941503488, 140454943596543, -STORE, 140454943596544, 140454943600639, -STORE, 140454943600640, 140454943604735, -STORE, 140454943604736, 140454943748095, -STORE, 140454944116736, 140454945800191, -STORE, 140454945800192, 140454945816575, -STORE, 140454945845248, 140454945849343, -STORE, 140454945849344, 140454945853439, -STORE, 140454945853440, 140454945857535, -STORE, 140728438214656, 140728438353919, -STORE, 140728439095296, 140728439107583, -STORE, 140728439107584, 140728439111679, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140721843453952, 140737488351231, -SNULL, 140721843462143, 140737488351231, -STORE, 140721843453952, 140721843462143, -STORE, 140721843322880, 140721843462143, -STORE, 94465962455040, 94465964789759, -SNULL, 94465962668031, 94465964789759, -STORE, 94465962455040, 94465962668031, -STORE, 94465962668032, 94465964789759, -ERASE, 94465962668032, 94465964789759, -STORE, 94465964765184, 94465964777471, -STORE, 94465964777472, 94465964789759, -STORE, 139913488314368, 139913490567167, -SNULL, 139913488457727, 139913490567167, -STORE, 139913488314368, 139913488457727, -STORE, 139913488457728, 139913490567167, -ERASE, 139913488457728, 139913490567167, -STORE, 139913490554880, 139913490563071, -STORE, 139913490563072, 139913490567167, -STORE, 140721843503104, 140721843507199, -STORE, 140721843490816, 140721843503103, -STORE, 139913490526208, 139913490554879, -STORE, 139913490518016, 139913490526207, -STORE, 139913486200832, 139913488314367, -SNULL, 139913486200832, 139913486213119, -STORE, 139913486213120, 139913488314367, -STORE, 139913486200832, 139913486213119, -SNULL, 139913488306175, 139913488314367, -STORE, 139913486213120, 139913488306175, -STORE, 139913488306176, 139913488314367, -ERASE, 139913488306176, 139913488314367, -STORE, 139913488306176, 139913488314367, -STORE, 139913482403840, 139913486200831, -SNULL, 139913482403840, 139913484062719, -STORE, 139913484062720, 139913486200831, -STORE, 139913482403840, 139913484062719, -SNULL, 139913486159871, 139913486200831, -STORE, 139913484062720, 139913486159871, -STORE, 139913486159872, 139913486200831, -SNULL, 139913486159872, 139913486184447, -STORE, 139913486184448, 139913486200831, -STORE, 139913486159872, 139913486184447, -ERASE, 139913486159872, 139913486184447, -STORE, 139913486159872, 139913486184447, -ERASE, 139913486184448, 139913486200831, -STORE, 139913486184448, 139913486200831, -STORE, 139913490509824, 139913490526207, -SNULL, 139913486176255, 139913486184447, -STORE, 139913486159872, 139913486176255, -STORE, 139913486176256, 139913486184447, -SNULL, 139913488310271, 139913488314367, -STORE, 139913488306176, 139913488310271, -STORE, 139913488310272, 139913488314367, -SNULL, 94465964769279, 94465964777471, -STORE, 94465964765184, 94465964769279, -STORE, 94465964769280, 94465964777471, -SNULL, 139913490558975, 139913490563071, -STORE, 139913490554880, 139913490558975, -STORE, 139913490558976, 139913490563071, -ERASE, 139913490526208, 139913490554879, -STORE, 94465970024448, 94465970159615, -STORE, 139913488826368, 139913490509823, -STORE, 94465970024448, 94465970294783, -STORE, 94465970024448, 94465970429951, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140720583307264, 140737488351231, -SNULL, 140720583315455, 140737488351231, -STORE, 140720583307264, 140720583315455, -STORE, 140720583176192, 140720583315455, -STORE, 94212322082816, 94212324417535, -SNULL, 94212322295807, 94212324417535, -STORE, 94212322082816, 94212322295807, -STORE, 94212322295808, 94212324417535, -ERASE, 94212322295808, 94212324417535, -STORE, 94212324392960, 94212324405247, -STORE, 94212324405248, 94212324417535, -STORE, 139659688538112, 139659690790911, -SNULL, 139659688681471, 139659690790911, -STORE, 139659688538112, 139659688681471, -STORE, 139659688681472, 139659690790911, -ERASE, 139659688681472, 139659690790911, -STORE, 139659690778624, 139659690786815, -STORE, 139659690786816, 139659690790911, -STORE, 140720584781824, 140720584785919, -STORE, 140720584769536, 140720584781823, -STORE, 139659690749952, 139659690778623, -STORE, 139659690741760, 139659690749951, -STORE, 139659686424576, 139659688538111, -SNULL, 139659686424576, 139659686436863, -STORE, 139659686436864, 139659688538111, -STORE, 139659686424576, 139659686436863, -SNULL, 139659688529919, 139659688538111, -STORE, 139659686436864, 139659688529919, -STORE, 139659688529920, 139659688538111, -ERASE, 139659688529920, 139659688538111, -STORE, 139659688529920, 139659688538111, -STORE, 139659682627584, 139659686424575, -SNULL, 139659682627584, 139659684286463, -STORE, 139659684286464, 139659686424575, -STORE, 139659682627584, 139659684286463, -SNULL, 139659686383615, 139659686424575, -STORE, 139659684286464, 139659686383615, -STORE, 139659686383616, 139659686424575, -SNULL, 139659686383616, 139659686408191, -STORE, 139659686408192, 139659686424575, -STORE, 139659686383616, 139659686408191, -ERASE, 139659686383616, 139659686408191, -STORE, 139659686383616, 139659686408191, -ERASE, 139659686408192, 139659686424575, -STORE, 139659686408192, 139659686424575, -STORE, 139659690733568, 139659690749951, -SNULL, 139659686399999, 139659686408191, -STORE, 139659686383616, 139659686399999, -STORE, 139659686400000, 139659686408191, -SNULL, 139659688534015, 139659688538111, -STORE, 139659688529920, 139659688534015, -STORE, 139659688534016, 139659688538111, -SNULL, 94212324397055, 94212324405247, -STORE, 94212324392960, 94212324397055, -STORE, 94212324397056, 94212324405247, -SNULL, 139659690782719, 139659690786815, -STORE, 139659690778624, 139659690782719, -STORE, 139659690782720, 139659690786815, -ERASE, 139659690749952, 139659690778623, -STORE, 94212355014656, 94212355149823, -STORE, 139659689050112, 139659690733567, -STORE, 94212355014656, 94212355284991, -STORE, 94212355014656, 94212355420159, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140727689830400, 140737488351231, -SNULL, 140727689838591, 140737488351231, -STORE, 140727689830400, 140727689838591, -STORE, 140727689699328, 140727689838591, -STORE, 94572390281216, 94572392615935, -SNULL, 94572390494207, 94572392615935, -STORE, 94572390281216, 94572390494207, -STORE, 94572390494208, 94572392615935, -ERASE, 94572390494208, 94572392615935, -STORE, 94572392591360, 94572392603647, -STORE, 94572392603648, 94572392615935, -STORE, 140575923769344, 140575926022143, -SNULL, 140575923912703, 140575926022143, -STORE, 140575923769344, 140575923912703, -STORE, 140575923912704, 140575926022143, -ERASE, 140575923912704, 140575926022143, -STORE, 140575926009856, 140575926018047, -STORE, 140575926018048, 140575926022143, -STORE, 140727689871360, 140727689875455, -STORE, 140727689859072, 140727689871359, -STORE, 140575925981184, 140575926009855, -STORE, 140575925972992, 140575925981183, -STORE, 140575921655808, 140575923769343, -SNULL, 140575921655808, 140575921668095, -STORE, 140575921668096, 140575923769343, -STORE, 140575921655808, 140575921668095, -SNULL, 140575923761151, 140575923769343, -STORE, 140575921668096, 140575923761151, -STORE, 140575923761152, 140575923769343, -ERASE, 140575923761152, 140575923769343, -STORE, 140575923761152, 140575923769343, -STORE, 140575917858816, 140575921655807, -SNULL, 140575917858816, 140575919517695, -STORE, 140575919517696, 140575921655807, -STORE, 140575917858816, 140575919517695, -SNULL, 140575921614847, 140575921655807, -STORE, 140575919517696, 140575921614847, -STORE, 140575921614848, 140575921655807, -SNULL, 140575921614848, 140575921639423, -STORE, 140575921639424, 140575921655807, -STORE, 140575921614848, 140575921639423, -ERASE, 140575921614848, 140575921639423, -STORE, 140575921614848, 140575921639423, -ERASE, 140575921639424, 140575921655807, -STORE, 140575921639424, 140575921655807, -STORE, 140575925964800, 140575925981183, -SNULL, 140575921631231, 140575921639423, -STORE, 140575921614848, 140575921631231, -STORE, 140575921631232, 140575921639423, -SNULL, 140575923765247, 140575923769343, -STORE, 140575923761152, 140575923765247, -STORE, 140575923765248, 140575923769343, -SNULL, 94572392595455, 94572392603647, -STORE, 94572392591360, 94572392595455, -STORE, 94572392595456, 94572392603647, -SNULL, 140575926013951, 140575926018047, -STORE, 140575926009856, 140575926013951, -STORE, 140575926013952, 140575926018047, -ERASE, 140575925981184, 140575926009855, -STORE, 94572402278400, 94572402413567, -STORE, 140575924281344, 140575925964799, -STORE, 94572402278400, 94572402548735, -STORE, 94572402278400, 94572402683903, -STORE, 94572402278400, 94572402851839, -SNULL, 94572402827263, 94572402851839, -STORE, 94572402278400, 94572402827263, -STORE, 94572402827264, 94572402851839, -ERASE, 94572402827264, 94572402851839, -STORE, 94572402278400, 94572402966527, -STORE, 94572402278400, 94572403109887, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140725520506880, 140737488351231, -SNULL, 140725520515071, 140737488351231, -STORE, 140725520506880, 140725520515071, -STORE, 140725520375808, 140725520515071, -STORE, 93829948788736, 93829951012863, -SNULL, 93829948899327, 93829951012863, -STORE, 93829948788736, 93829948899327, -STORE, 93829948899328, 93829951012863, -ERASE, 93829948899328, 93829951012863, -STORE, 93829950992384, 93829951004671, -STORE, 93829951004672, 93829951012863, -STORE, 140133696794624, 140133699047423, -SNULL, 140133696937983, 140133699047423, -STORE, 140133696794624, 140133696937983, -STORE, 140133696937984, 140133699047423, -ERASE, 140133696937984, 140133699047423, -STORE, 140133699035136, 140133699043327, -STORE, 140133699043328, 140133699047423, -STORE, 140725520875520, 140725520879615, -STORE, 140725520863232, 140725520875519, -STORE, 140133699006464, 140133699035135, -STORE, 140133698998272, 140133699006463, -STORE, 140133692997632, 140133696794623, -SNULL, 140133692997632, 140133694656511, -STORE, 140133694656512, 140133696794623, -STORE, 140133692997632, 140133694656511, -SNULL, 140133696753663, 140133696794623, -STORE, 140133694656512, 140133696753663, -STORE, 140133696753664, 140133696794623, -SNULL, 140133696753664, 140133696778239, -STORE, 140133696778240, 140133696794623, -STORE, 140133696753664, 140133696778239, -ERASE, 140133696753664, 140133696778239, -STORE, 140133696753664, 140133696778239, -ERASE, 140133696778240, 140133696794623, -STORE, 140133696778240, 140133696794623, -SNULL, 140133696770047, 140133696778239, -STORE, 140133696753664, 140133696770047, -STORE, 140133696770048, 140133696778239, -SNULL, 93829951000575, 93829951004671, -STORE, 93829950992384, 93829951000575, -STORE, 93829951000576, 93829951004671, -SNULL, 140133699039231, 140133699043327, -STORE, 140133699035136, 140133699039231, -STORE, 140133699039232, 140133699043327, -ERASE, 140133699006464, 140133699035135, -STORE, 93829978693632, 93829978828799, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140736118022144, 140737488351231, -SNULL, 140736118030335, 140737488351231, -STORE, 140736118022144, 140736118030335, -STORE, 140736117891072, 140736118030335, -STORE, 94467663982592, 94467666206719, -SNULL, 94467664093183, 94467666206719, -STORE, 94467663982592, 94467664093183, -STORE, 94467664093184, 94467666206719, -ERASE, 94467664093184, 94467666206719, -STORE, 94467666186240, 94467666198527, -STORE, 94467666198528, 94467666206719, -STORE, 140525377327104, 140525379579903, -SNULL, 140525377470463, 140525379579903, -STORE, 140525377327104, 140525377470463, -STORE, 140525377470464, 140525379579903, -ERASE, 140525377470464, 140525379579903, -STORE, 140525379567616, 140525379575807, -STORE, 140525379575808, 140525379579903, -STORE, 140736118771712, 140736118775807, -STORE, 140736118759424, 140736118771711, -STORE, 140525379538944, 140525379567615, -STORE, 140525379530752, 140525379538943, -STORE, 140525373530112, 140525377327103, -SNULL, 140525373530112, 140525375188991, -STORE, 140525375188992, 140525377327103, -STORE, 140525373530112, 140525375188991, -SNULL, 140525377286143, 140525377327103, -STORE, 140525375188992, 140525377286143, -STORE, 140525377286144, 140525377327103, -SNULL, 140525377286144, 140525377310719, -STORE, 140525377310720, 140525377327103, -STORE, 140525377286144, 140525377310719, -ERASE, 140525377286144, 140525377310719, -STORE, 140525377286144, 140525377310719, -ERASE, 140525377310720, 140525377327103, -STORE, 140525377310720, 140525377327103, -SNULL, 140525377302527, 140525377310719, -STORE, 140525377286144, 140525377302527, -STORE, 140525377302528, 140525377310719, -SNULL, 94467666194431, 94467666198527, -STORE, 94467666186240, 94467666194431, -STORE, 94467666194432, 94467666198527, -SNULL, 140525379571711, 140525379575807, -STORE, 140525379567616, 140525379571711, -STORE, 140525379571712, 140525379575807, -ERASE, 140525379538944, 140525379567615, -STORE, 94467693379584, 94467693514751, -STORE, 94200172744704, 94200172957695, -STORE, 94200175054848, 94200175058943, -STORE, 94200175058944, 94200175067135, -STORE, 94200175067136, 94200175079423, -STORE, 94200196673536, 94200198905855, -STORE, 140053867720704, 140053869379583, -STORE, 140053869379584, 140053871476735, -STORE, 140053871476736, 140053871493119, -STORE, 140053871493120, 140053871501311, -STORE, 140053871501312, 140053871517695, -STORE, 140053871517696, 140053871529983, -STORE, 140053871529984, 140053873623039, -STORE, 140053873623040, 140053873627135, -STORE, 140053873627136, 140053873631231, -STORE, 140053873631232, 140053873774591, -STORE, 140053874143232, 140053875826687, -STORE, 140053875826688, 140053875843071, -STORE, 140053875871744, 140053875875839, -STORE, 140053875875840, 140053875879935, -STORE, 140053875879936, 140053875884031, -STORE, 140728538484736, 140728538623999, -STORE, 140728538652672, 140728538664959, -STORE, 140728538664960, 140728538669055, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140732307775488, 140737488351231, -SNULL, 140732307783679, 140737488351231, -STORE, 140732307775488, 140732307783679, -STORE, 140732307644416, 140732307783679, -STORE, 93831417630720, 93831419965439, -SNULL, 93831417843711, 93831419965439, -STORE, 93831417630720, 93831417843711, -STORE, 93831417843712, 93831419965439, -ERASE, 93831417843712, 93831419965439, -STORE, 93831419940864, 93831419953151, -STORE, 93831419953152, 93831419965439, -STORE, 140241062088704, 140241064341503, -SNULL, 140241062232063, 140241064341503, -STORE, 140241062088704, 140241062232063, -STORE, 140241062232064, 140241064341503, -ERASE, 140241062232064, 140241064341503, -STORE, 140241064329216, 140241064337407, -STORE, 140241064337408, 140241064341503, -STORE, 140732308140032, 140732308144127, -STORE, 140732308127744, 140732308140031, -STORE, 140241064300544, 140241064329215, -STORE, 140241064292352, 140241064300543, -STORE, 140241059975168, 140241062088703, -SNULL, 140241059975168, 140241059987455, -STORE, 140241059987456, 140241062088703, -STORE, 140241059975168, 140241059987455, -SNULL, 140241062080511, 140241062088703, -STORE, 140241059987456, 140241062080511, -STORE, 140241062080512, 140241062088703, -ERASE, 140241062080512, 140241062088703, -STORE, 140241062080512, 140241062088703, -STORE, 140241056178176, 140241059975167, -SNULL, 140241056178176, 140241057837055, -STORE, 140241057837056, 140241059975167, -STORE, 140241056178176, 140241057837055, -SNULL, 140241059934207, 140241059975167, -STORE, 140241057837056, 140241059934207, -STORE, 140241059934208, 140241059975167, -SNULL, 140241059934208, 140241059958783, -STORE, 140241059958784, 140241059975167, -STORE, 140241059934208, 140241059958783, -ERASE, 140241059934208, 140241059958783, -STORE, 140241059934208, 140241059958783, -ERASE, 140241059958784, 140241059975167, -STORE, 140241059958784, 140241059975167, -STORE, 140241064284160, 140241064300543, -SNULL, 140241059950591, 140241059958783, -STORE, 140241059934208, 140241059950591, -STORE, 140241059950592, 140241059958783, -SNULL, 140241062084607, 140241062088703, -STORE, 140241062080512, 140241062084607, -STORE, 140241062084608, 140241062088703, -SNULL, 93831419944959, 93831419953151, -STORE, 93831419940864, 93831419944959, -STORE, 93831419944960, 93831419953151, -SNULL, 140241064333311, 140241064337407, -STORE, 140241064329216, 140241064333311, -STORE, 140241064333312, 140241064337407, -ERASE, 140241064300544, 140241064329215, -STORE, 93831435284480, 93831435419647, -STORE, 140241062600704, 140241064284159, -STORE, 93831435284480, 93831435554815, -STORE, 93831435284480, 93831435689983, -STORE, 93831435284480, 93831435862015, -SNULL, 93831435837439, 93831435862015, -STORE, 93831435284480, 93831435837439, -STORE, 93831435837440, 93831435862015, -ERASE, 93831435837440, 93831435862015, -STORE, 93831435284480, 93831435972607, -STORE, 93831435284480, 93831436107775, -SNULL, 93831436091391, 93831436107775, -STORE, 93831435284480, 93831436091391, -STORE, 93831436091392, 93831436107775, -ERASE, 93831436091392, 93831436107775, -STORE, 93831435284480, 93831436226559, -STORE, 93831435284480, 93831436361727, -STORE, 93831435284480, 93831436505087, -STORE, 93831435284480, 93831436652543, -STORE, 93831435284480, 93831436787711, -STORE, 93831435284480, 93831436926975, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140728546775040, 140737488351231, -SNULL, 140728546783231, 140737488351231, -STORE, 140728546775040, 140728546783231, -STORE, 140728546643968, 140728546783231, -STORE, 94456178786304, 94456181010431, -SNULL, 94456178896895, 94456181010431, -STORE, 94456178786304, 94456178896895, -STORE, 94456178896896, 94456181010431, -ERASE, 94456178896896, 94456181010431, -STORE, 94456180989952, 94456181002239, -STORE, 94456181002240, 94456181010431, -STORE, 140221893091328, 140221895344127, -SNULL, 140221893234687, 140221895344127, -STORE, 140221893091328, 140221893234687, -STORE, 140221893234688, 140221895344127, -ERASE, 140221893234688, 140221895344127, -STORE, 140221895331840, 140221895340031, -STORE, 140221895340032, 140221895344127, -STORE, 140728547803136, 140728547807231, -STORE, 140728547790848, 140728547803135, -STORE, 140221895303168, 140221895331839, -STORE, 140221895294976, 140221895303167, -STORE, 140221889294336, 140221893091327, -SNULL, 140221889294336, 140221890953215, -STORE, 140221890953216, 140221893091327, -STORE, 140221889294336, 140221890953215, -SNULL, 140221893050367, 140221893091327, -STORE, 140221890953216, 140221893050367, -STORE, 140221893050368, 140221893091327, -SNULL, 140221893050368, 140221893074943, -STORE, 140221893074944, 140221893091327, -STORE, 140221893050368, 140221893074943, -ERASE, 140221893050368, 140221893074943, -STORE, 140221893050368, 140221893074943, -ERASE, 140221893074944, 140221893091327, -STORE, 140221893074944, 140221893091327, -SNULL, 140221893066751, 140221893074943, -STORE, 140221893050368, 140221893066751, -STORE, 140221893066752, 140221893074943, -SNULL, 94456180998143, 94456181002239, -STORE, 94456180989952, 94456180998143, -STORE, 94456180998144, 94456181002239, -SNULL, 140221895335935, 140221895340031, -STORE, 140221895331840, 140221895335935, -STORE, 140221895335936, 140221895340031, -ERASE, 140221895303168, 140221895331839, -STORE, 94456203730944, 94456203866111, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140734438637568, 140737488351231, -SNULL, 140734438645759, 140737488351231, -STORE, 140734438637568, 140734438645759, -STORE, 140734438506496, 140734438645759, -STORE, 94652233351168, 94652235575295, -SNULL, 94652233461759, 94652235575295, -STORE, 94652233351168, 94652233461759, -STORE, 94652233461760, 94652235575295, -ERASE, 94652233461760, 94652235575295, -STORE, 94652235554816, 94652235567103, -STORE, 94652235567104, 94652235575295, -STORE, 140536493195264, 140536495448063, -SNULL, 140536493338623, 140536495448063, -STORE, 140536493195264, 140536493338623, -STORE, 140536493338624, 140536495448063, -ERASE, 140536493338624, 140536495448063, -STORE, 140536495435776, 140536495443967, -STORE, 140536495443968, 140536495448063, -STORE, 140734439002112, 140734439006207, -STORE, 140734438989824, 140734439002111, -STORE, 140536495407104, 140536495435775, -STORE, 140536495398912, 140536495407103, -STORE, 140536489398272, 140536493195263, -SNULL, 140536489398272, 140536491057151, -STORE, 140536491057152, 140536493195263, -STORE, 140536489398272, 140536491057151, -SNULL, 140536493154303, 140536493195263, -STORE, 140536491057152, 140536493154303, -STORE, 140536493154304, 140536493195263, -SNULL, 140536493154304, 140536493178879, -STORE, 140536493178880, 140536493195263, -STORE, 140536493154304, 140536493178879, -ERASE, 140536493154304, 140536493178879, -STORE, 140536493154304, 140536493178879, -ERASE, 140536493178880, 140536493195263, -STORE, 140536493178880, 140536493195263, -SNULL, 140536493170687, 140536493178879, -STORE, 140536493154304, 140536493170687, -STORE, 140536493170688, 140536493178879, -SNULL, 94652235563007, 94652235567103, -STORE, 94652235554816, 94652235563007, -STORE, 94652235563008, 94652235567103, -SNULL, 140536495439871, 140536495443967, -STORE, 140536495435776, 140536495439871, -STORE, 140536495439872, 140536495443967, -ERASE, 140536495407104, 140536495435775, -STORE, 94652265619456, 94652265754623, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140721814200320, 140737488351231, -SNULL, 140721814208511, 140737488351231, -STORE, 140721814200320, 140721814208511, -STORE, 140721814069248, 140721814208511, -STORE, 94062800691200, 94062802915327, -SNULL, 94062800801791, 94062802915327, -STORE, 94062800691200, 94062800801791, -STORE, 94062800801792, 94062802915327, -ERASE, 94062800801792, 94062802915327, -STORE, 94062802894848, 94062802907135, -STORE, 94062802907136, 94062802915327, -STORE, 139717739700224, 139717741953023, -SNULL, 139717739843583, 139717741953023, -STORE, 139717739700224, 139717739843583, -STORE, 139717739843584, 139717741953023, -ERASE, 139717739843584, 139717741953023, -STORE, 139717741940736, 139717741948927, -STORE, 139717741948928, 139717741953023, -STORE, 140721814224896, 140721814228991, -STORE, 140721814212608, 140721814224895, -STORE, 139717741912064, 139717741940735, -STORE, 139717741903872, 139717741912063, -STORE, 139717735903232, 139717739700223, -SNULL, 139717735903232, 139717737562111, -STORE, 139717737562112, 139717739700223, -STORE, 139717735903232, 139717737562111, -SNULL, 139717739659263, 139717739700223, -STORE, 139717737562112, 139717739659263, -STORE, 139717739659264, 139717739700223, -SNULL, 139717739659264, 139717739683839, -STORE, 139717739683840, 139717739700223, -STORE, 139717739659264, 139717739683839, -ERASE, 139717739659264, 139717739683839, -STORE, 139717739659264, 139717739683839, -ERASE, 139717739683840, 139717739700223, -STORE, 139717739683840, 139717739700223, -SNULL, 139717739675647, 139717739683839, -STORE, 139717739659264, 139717739675647, -STORE, 139717739675648, 139717739683839, -SNULL, 94062802903039, 94062802907135, -STORE, 94062802894848, 94062802903039, -STORE, 94062802903040, 94062802907135, -SNULL, 139717741944831, 139717741948927, -STORE, 139717741940736, 139717741944831, -STORE, 139717741944832, 139717741948927, -ERASE, 139717741912064, 139717741940735, -STORE, 94062814060544, 94062814195711, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140723945754624, 140737488351231, -SNULL, 140723945762815, 140737488351231, -STORE, 140723945754624, 140723945762815, -STORE, 140723945623552, 140723945762815, -STORE, 94886119305216, 94886121639935, -SNULL, 94886119518207, 94886121639935, -STORE, 94886119305216, 94886119518207, -STORE, 94886119518208, 94886121639935, -ERASE, 94886119518208, 94886121639935, -STORE, 94886121615360, 94886121627647, -STORE, 94886121627648, 94886121639935, -STORE, 140152532131840, 140152534384639, -SNULL, 140152532275199, 140152534384639, -STORE, 140152532131840, 140152532275199, -STORE, 140152532275200, 140152534384639, -ERASE, 140152532275200, 140152534384639, -STORE, 140152534372352, 140152534380543, -STORE, 140152534380544, 140152534384639, -STORE, 140723946213376, 140723946217471, -STORE, 140723946201088, 140723946213375, -STORE, 140152534343680, 140152534372351, -STORE, 140152534335488, 140152534343679, -STORE, 140152530018304, 140152532131839, -SNULL, 140152530018304, 140152530030591, -STORE, 140152530030592, 140152532131839, -STORE, 140152530018304, 140152530030591, -SNULL, 140152532123647, 140152532131839, -STORE, 140152530030592, 140152532123647, -STORE, 140152532123648, 140152532131839, -ERASE, 140152532123648, 140152532131839, -STORE, 140152532123648, 140152532131839, -STORE, 140152526221312, 140152530018303, -SNULL, 140152526221312, 140152527880191, -STORE, 140152527880192, 140152530018303, -STORE, 140152526221312, 140152527880191, -SNULL, 140152529977343, 140152530018303, -STORE, 140152527880192, 140152529977343, -STORE, 140152529977344, 140152530018303, -SNULL, 140152529977344, 140152530001919, -STORE, 140152530001920, 140152530018303, -STORE, 140152529977344, 140152530001919, -ERASE, 140152529977344, 140152530001919, -STORE, 140152529977344, 140152530001919, -ERASE, 140152530001920, 140152530018303, -STORE, 140152530001920, 140152530018303, -STORE, 140152534327296, 140152534343679, -SNULL, 140152529993727, 140152530001919, -STORE, 140152529977344, 140152529993727, -STORE, 140152529993728, 140152530001919, -SNULL, 140152532127743, 140152532131839, -STORE, 140152532123648, 140152532127743, -STORE, 140152532127744, 140152532131839, -SNULL, 94886121619455, 94886121627647, -STORE, 94886121615360, 94886121619455, -STORE, 94886121619456, 94886121627647, -SNULL, 140152534376447, 140152534380543, -STORE, 140152534372352, 140152534376447, -STORE, 140152534376448, 140152534380543, -ERASE, 140152534343680, 140152534372351, -STORE, 94886129770496, 94886129905663, -STORE, 140152532643840, 140152534327295, -STORE, 94886129770496, 94886130040831, -STORE, 94886129770496, 94886130175999, -STORE, 94886129770496, 94886130348031, -SNULL, 94886130323455, 94886130348031, -STORE, 94886129770496, 94886130323455, -STORE, 94886130323456, 94886130348031, -ERASE, 94886130323456, 94886130348031, -STORE, 94886129770496, 94886130458623, -STORE, 94886129770496, 94886130606079, -SNULL, 94886130573311, 94886130606079, -STORE, 94886129770496, 94886130573311, -STORE, 94886130573312, 94886130606079, -ERASE, 94886130573312, 94886130606079, -STORE, 94886129770496, 94886130724863, -STORE, 94886129770496, 94886130876415, -STORE, 94886129770496, 94886131023871, -STORE, 94886129770496, 94886131175423, -STORE, 94886129770496, 94886131318783, -STORE, 94886129770496, 94886131453951, -SNULL, 94886131449855, 94886131453951, -STORE, 94886129770496, 94886131449855, -STORE, 94886131449856, 94886131453951, -ERASE, 94886131449856, 94886131453951, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735450779648, 140737488351231, -SNULL, 140735450787839, 140737488351231, -STORE, 140735450779648, 140735450787839, -STORE, 140735450648576, 140735450787839, -STORE, 93947794079744, 93947796414463, -SNULL, 93947794292735, 93947796414463, -STORE, 93947794079744, 93947794292735, -STORE, 93947794292736, 93947796414463, -ERASE, 93947794292736, 93947796414463, -STORE, 93947796389888, 93947796402175, -STORE, 93947796402176, 93947796414463, -STORE, 139841993433088, 139841995685887, -SNULL, 139841993576447, 139841995685887, -STORE, 139841993433088, 139841993576447, -STORE, 139841993576448, 139841995685887, -ERASE, 139841993576448, 139841995685887, -STORE, 139841995673600, 139841995681791, -STORE, 139841995681792, 139841995685887, -STORE, 140735451308032, 140735451312127, -STORE, 140735451295744, 140735451308031, -STORE, 139841995644928, 139841995673599, -STORE, 139841995636736, 139841995644927, -STORE, 139841991319552, 139841993433087, -SNULL, 139841991319552, 139841991331839, -STORE, 139841991331840, 139841993433087, -STORE, 139841991319552, 139841991331839, -SNULL, 139841993424895, 139841993433087, -STORE, 139841991331840, 139841993424895, -STORE, 139841993424896, 139841993433087, -ERASE, 139841993424896, 139841993433087, -STORE, 139841993424896, 139841993433087, -STORE, 139841987522560, 139841991319551, -SNULL, 139841987522560, 139841989181439, -STORE, 139841989181440, 139841991319551, -STORE, 139841987522560, 139841989181439, -SNULL, 139841991278591, 139841991319551, -STORE, 139841989181440, 139841991278591, -STORE, 139841991278592, 139841991319551, -SNULL, 139841991278592, 139841991303167, -STORE, 139841991303168, 139841991319551, -STORE, 139841991278592, 139841991303167, -ERASE, 139841991278592, 139841991303167, -STORE, 139841991278592, 139841991303167, -ERASE, 139841991303168, 139841991319551, -STORE, 139841991303168, 139841991319551, -STORE, 139841995628544, 139841995644927, -SNULL, 139841991294975, 139841991303167, -STORE, 139841991278592, 139841991294975, -STORE, 139841991294976, 139841991303167, -SNULL, 139841993428991, 139841993433087, -STORE, 139841993424896, 139841993428991, -STORE, 139841993428992, 139841993433087, -SNULL, 93947796393983, 93947796402175, -STORE, 93947796389888, 93947796393983, -STORE, 93947796393984, 93947796402175, -SNULL, 139841995677695, 139841995681791, -STORE, 139841995673600, 139841995677695, -STORE, 139841995677696, 139841995681791, -ERASE, 139841995644928, 139841995673599, -STORE, 93947829739520, 93947829874687, -STORE, 139841993945088, 139841995628543, -STORE, 93947829739520, 93947830009855, -STORE, 93947829739520, 93947830145023, -STORE, 94659351814144, 94659352027135, -STORE, 94659354124288, 94659354128383, -STORE, 94659354128384, 94659354136575, -STORE, 94659354136576, 94659354148863, -STORE, 94659383476224, 94659385057279, -STORE, 139959054557184, 139959056216063, -STORE, 139959056216064, 139959058313215, -STORE, 139959058313216, 139959058329599, -STORE, 139959058329600, 139959058337791, -STORE, 139959058337792, 139959058354175, -STORE, 139959058354176, 139959058366463, -STORE, 139959058366464, 139959060459519, -STORE, 139959060459520, 139959060463615, -STORE, 139959060463616, 139959060467711, -STORE, 139959060467712, 139959060611071, -STORE, 139959060979712, 139959062663167, -STORE, 139959062663168, 139959062679551, -STORE, 139959062708224, 139959062712319, -STORE, 139959062712320, 139959062716415, -STORE, 139959062716416, 139959062720511, -STORE, 140735532539904, 140735532679167, -STORE, 140735532830720, 140735532843007, -STORE, 140735532843008, 140735532847103, -STORE, 93894361829376, 93894362042367, -STORE, 93894364139520, 93894364143615, -STORE, 93894364143616, 93894364151807, -STORE, 93894364151808, 93894364164095, -STORE, 93894396944384, 93894397624319, -STORE, 140075612573696, 140075614232575, -STORE, 140075614232576, 140075616329727, -STORE, 140075616329728, 140075616346111, -STORE, 140075616346112, 140075616354303, -STORE, 140075616354304, 140075616370687, -STORE, 140075616370688, 140075616382975, -STORE, 140075616382976, 140075618476031, -STORE, 140075618476032, 140075618480127, -STORE, 140075618480128, 140075618484223, -STORE, 140075618484224, 140075618627583, -STORE, 140075618996224, 140075620679679, -STORE, 140075620679680, 140075620696063, -STORE, 140075620724736, 140075620728831, -STORE, 140075620728832, 140075620732927, -STORE, 140075620732928, 140075620737023, -STORE, 140720830312448, 140720830451711, -STORE, 140720830631936, 140720830644223, -STORE, 140720830644224, 140720830648319, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735116226560, 140737488351231, -SNULL, 140735116234751, 140737488351231, -STORE, 140735116226560, 140735116234751, -STORE, 140735116095488, 140735116234751, -STORE, 94873398054912, 94873400279039, -SNULL, 94873398165503, 94873400279039, -STORE, 94873398054912, 94873398165503, -STORE, 94873398165504, 94873400279039, -ERASE, 94873398165504, 94873400279039, -STORE, 94873400258560, 94873400270847, -STORE, 94873400270848, 94873400279039, -STORE, 140303828606976, 140303830859775, -SNULL, 140303828750335, 140303830859775, -STORE, 140303828606976, 140303828750335, -STORE, 140303828750336, 140303830859775, -ERASE, 140303828750336, 140303830859775, -STORE, 140303830847488, 140303830855679, -STORE, 140303830855680, 140303830859775, -STORE, 140735116251136, 140735116255231, -STORE, 140735116238848, 140735116251135, -STORE, 140303830818816, 140303830847487, -STORE, 140303830810624, 140303830818815, -STORE, 140303824809984, 140303828606975, -SNULL, 140303824809984, 140303826468863, -STORE, 140303826468864, 140303828606975, -STORE, 140303824809984, 140303826468863, -SNULL, 140303828566015, 140303828606975, -STORE, 140303826468864, 140303828566015, -STORE, 140303828566016, 140303828606975, -SNULL, 140303828566016, 140303828590591, -STORE, 140303828590592, 140303828606975, -STORE, 140303828566016, 140303828590591, -ERASE, 140303828566016, 140303828590591, -STORE, 140303828566016, 140303828590591, -ERASE, 140303828590592, 140303828606975, -STORE, 140303828590592, 140303828606975, -SNULL, 140303828582399, 140303828590591, -STORE, 140303828566016, 140303828582399, -STORE, 140303828582400, 140303828590591, -SNULL, 94873400266751, 94873400270847, -STORE, 94873400258560, 94873400266751, -STORE, 94873400266752, 94873400270847, -SNULL, 140303830851583, 140303830855679, -STORE, 140303830847488, 140303830851583, -STORE, 140303830851584, 140303830855679, -ERASE, 140303830818816, 140303830847487, -STORE, 94873413713920, 94873413849087, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140732349956096, 140737488351231, -SNULL, 140732349964287, 140737488351231, -STORE, 140732349956096, 140732349964287, -STORE, 140732349825024, 140732349964287, -STORE, 94009652736000, 94009655070719, -SNULL, 94009652948991, 94009655070719, -STORE, 94009652736000, 94009652948991, -STORE, 94009652948992, 94009655070719, -ERASE, 94009652948992, 94009655070719, -STORE, 94009655046144, 94009655058431, -STORE, 94009655058432, 94009655070719, -STORE, 140295688531968, 140295690784767, -SNULL, 140295688675327, 140295690784767, -STORE, 140295688531968, 140295688675327, -STORE, 140295688675328, 140295690784767, -ERASE, 140295688675328, 140295690784767, -STORE, 140295690772480, 140295690780671, -STORE, 140295690780672, 140295690784767, -STORE, 140732350005248, 140732350009343, -STORE, 140732349992960, 140732350005247, -STORE, 140295690743808, 140295690772479, -STORE, 140295690735616, 140295690743807, -STORE, 140295686418432, 140295688531967, -SNULL, 140295686418432, 140295686430719, -STORE, 140295686430720, 140295688531967, -STORE, 140295686418432, 140295686430719, -SNULL, 140295688523775, 140295688531967, -STORE, 140295686430720, 140295688523775, -STORE, 140295688523776, 140295688531967, -ERASE, 140295688523776, 140295688531967, -STORE, 140295688523776, 140295688531967, -STORE, 140295682621440, 140295686418431, -SNULL, 140295682621440, 140295684280319, -STORE, 140295684280320, 140295686418431, -STORE, 140295682621440, 140295684280319, -SNULL, 140295686377471, 140295686418431, -STORE, 140295684280320, 140295686377471, -STORE, 140295686377472, 140295686418431, -SNULL, 140295686377472, 140295686402047, -STORE, 140295686402048, 140295686418431, -STORE, 140295686377472, 140295686402047, -ERASE, 140295686377472, 140295686402047, -STORE, 140295686377472, 140295686402047, -ERASE, 140295686402048, 140295686418431, -STORE, 140295686402048, 140295686418431, -STORE, 140295690727424, 140295690743807, -SNULL, 140295686393855, 140295686402047, -STORE, 140295686377472, 140295686393855, -STORE, 140295686393856, 140295686402047, -SNULL, 140295688527871, 140295688531967, -STORE, 140295688523776, 140295688527871, -STORE, 140295688527872, 140295688531967, -SNULL, 94009655050239, 94009655058431, -STORE, 94009655046144, 94009655050239, -STORE, 94009655050240, 94009655058431, -SNULL, 140295690776575, 140295690780671, -STORE, 140295690772480, 140295690776575, -STORE, 140295690776576, 140295690780671, -ERASE, 140295690743808, 140295690772479, -STORE, 94009672114176, 94009672249343, -STORE, 140295689043968, 140295690727423, -STORE, 94009672114176, 94009672384511, -STORE, 94009672114176, 94009672519679, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722376515584, 140737488351231, -SNULL, 140722376523775, 140737488351231, -STORE, 140722376515584, 140722376523775, -STORE, 140722376384512, 140722376523775, -STORE, 94089815773184, 94089818107903, -SNULL, 94089815986175, 94089818107903, -STORE, 94089815773184, 94089815986175, -STORE, 94089815986176, 94089818107903, -ERASE, 94089815986176, 94089818107903, -STORE, 94089818083328, 94089818095615, -STORE, 94089818095616, 94089818107903, -STORE, 140265595711488, 140265597964287, -SNULL, 140265595854847, 140265597964287, -STORE, 140265595711488, 140265595854847, -STORE, 140265595854848, 140265597964287, -ERASE, 140265595854848, 140265597964287, -STORE, 140265597952000, 140265597960191, -STORE, 140265597960192, 140265597964287, -STORE, 140722378297344, 140722378301439, -STORE, 140722378285056, 140722378297343, -STORE, 140265597923328, 140265597951999, -STORE, 140265597915136, 140265597923327, -STORE, 140265593597952, 140265595711487, -SNULL, 140265593597952, 140265593610239, -STORE, 140265593610240, 140265595711487, -STORE, 140265593597952, 140265593610239, -SNULL, 140265595703295, 140265595711487, -STORE, 140265593610240, 140265595703295, -STORE, 140265595703296, 140265595711487, -ERASE, 140265595703296, 140265595711487, -STORE, 140265595703296, 140265595711487, -STORE, 140265589800960, 140265593597951, -SNULL, 140265589800960, 140265591459839, -STORE, 140265591459840, 140265593597951, -STORE, 140265589800960, 140265591459839, -SNULL, 140265593556991, 140265593597951, -STORE, 140265591459840, 140265593556991, -STORE, 140265593556992, 140265593597951, -SNULL, 140265593556992, 140265593581567, -STORE, 140265593581568, 140265593597951, -STORE, 140265593556992, 140265593581567, -ERASE, 140265593556992, 140265593581567, -STORE, 140265593556992, 140265593581567, -ERASE, 140265593581568, 140265593597951, -STORE, 140265593581568, 140265593597951, -STORE, 140265597906944, 140265597923327, -SNULL, 140265593573375, 140265593581567, -STORE, 140265593556992, 140265593573375, -STORE, 140265593573376, 140265593581567, -SNULL, 140265595707391, 140265595711487, -STORE, 140265595703296, 140265595707391, -STORE, 140265595707392, 140265595711487, -SNULL, 94089818087423, 94089818095615, -STORE, 94089818083328, 94089818087423, -STORE, 94089818087424, 94089818095615, -SNULL, 140265597956095, 140265597960191, -STORE, 140265597952000, 140265597956095, -STORE, 140265597956096, 140265597960191, -ERASE, 140265597923328, 140265597951999, -STORE, 94089837146112, 94089837281279, -STORE, 140265596223488, 140265597906943, -STORE, 94089837146112, 94089837416447, -STORE, 94089837146112, 94089837551615, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735265218560, 140737488351231, -SNULL, 140735265226751, 140737488351231, -STORE, 140735265218560, 140735265226751, -STORE, 140735265087488, 140735265226751, -STORE, 94250422370304, 94250424705023, -SNULL, 94250422583295, 94250424705023, -STORE, 94250422370304, 94250422583295, -STORE, 94250422583296, 94250424705023, -ERASE, 94250422583296, 94250424705023, -STORE, 94250424680448, 94250424692735, -STORE, 94250424692736, 94250424705023, -STORE, 140344442474496, 140344444727295, -SNULL, 140344442617855, 140344444727295, -STORE, 140344442474496, 140344442617855, -STORE, 140344442617856, 140344444727295, -ERASE, 140344442617856, 140344444727295, -STORE, 140344444715008, 140344444723199, -STORE, 140344444723200, 140344444727295, -STORE, 140735265341440, 140735265345535, -STORE, 140735265329152, 140735265341439, -STORE, 140344444686336, 140344444715007, -STORE, 140344444678144, 140344444686335, -STORE, 140344440360960, 140344442474495, -SNULL, 140344440360960, 140344440373247, -STORE, 140344440373248, 140344442474495, -STORE, 140344440360960, 140344440373247, -SNULL, 140344442466303, 140344442474495, -STORE, 140344440373248, 140344442466303, -STORE, 140344442466304, 140344442474495, -ERASE, 140344442466304, 140344442474495, -STORE, 140344442466304, 140344442474495, -STORE, 140344436563968, 140344440360959, -SNULL, 140344436563968, 140344438222847, -STORE, 140344438222848, 140344440360959, -STORE, 140344436563968, 140344438222847, -SNULL, 140344440319999, 140344440360959, -STORE, 140344438222848, 140344440319999, -STORE, 140344440320000, 140344440360959, -SNULL, 140344440320000, 140344440344575, -STORE, 140344440344576, 140344440360959, -STORE, 140344440320000, 140344440344575, -ERASE, 140344440320000, 140344440344575, -STORE, 140344440320000, 140344440344575, -ERASE, 140344440344576, 140344440360959, -STORE, 140344440344576, 140344440360959, -STORE, 140344444669952, 140344444686335, -SNULL, 140344440336383, 140344440344575, -STORE, 140344440320000, 140344440336383, -STORE, 140344440336384, 140344440344575, -SNULL, 140344442470399, 140344442474495, -STORE, 140344442466304, 140344442470399, -STORE, 140344442470400, 140344442474495, -SNULL, 94250424684543, 94250424692735, -STORE, 94250424680448, 94250424684543, -STORE, 94250424684544, 94250424692735, -SNULL, 140344444719103, 140344444723199, -STORE, 140344444715008, 140344444719103, -STORE, 140344444719104, 140344444723199, -ERASE, 140344444686336, 140344444715007, -STORE, 94250445512704, 94250445647871, -STORE, 140344442986496, 140344444669951, -STORE, 94250445512704, 94250445783039, -STORE, 94250445512704, 94250445918207, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140725762719744, 140737488351231, -SNULL, 140725762727935, 140737488351231, -STORE, 140725762719744, 140725762727935, -STORE, 140725762588672, 140725762727935, -STORE, 94819009097728, 94819011432447, -SNULL, 94819009310719, 94819011432447, -STORE, 94819009097728, 94819009310719, -STORE, 94819009310720, 94819011432447, -ERASE, 94819009310720, 94819011432447, -STORE, 94819011407872, 94819011420159, -STORE, 94819011420160, 94819011432447, -STORE, 139987985596416, 139987987849215, -SNULL, 139987985739775, 139987987849215, -STORE, 139987985596416, 139987985739775, -STORE, 139987985739776, 139987987849215, -ERASE, 139987985739776, 139987987849215, -STORE, 139987987836928, 139987987845119, -STORE, 139987987845120, 139987987849215, -STORE, 140725763072000, 140725763076095, -STORE, 140725763059712, 140725763071999, -STORE, 139987987808256, 139987987836927, -STORE, 139987987800064, 139987987808255, -STORE, 139987983482880, 139987985596415, -SNULL, 139987983482880, 139987983495167, -STORE, 139987983495168, 139987985596415, -STORE, 139987983482880, 139987983495167, -SNULL, 139987985588223, 139987985596415, -STORE, 139987983495168, 139987985588223, -STORE, 139987985588224, 139987985596415, -ERASE, 139987985588224, 139987985596415, -STORE, 139987985588224, 139987985596415, -STORE, 139987979685888, 139987983482879, -SNULL, 139987979685888, 139987981344767, -STORE, 139987981344768, 139987983482879, -STORE, 139987979685888, 139987981344767, -SNULL, 139987983441919, 139987983482879, -STORE, 139987981344768, 139987983441919, -STORE, 139987983441920, 139987983482879, -SNULL, 139987983441920, 139987983466495, -STORE, 139987983466496, 139987983482879, -STORE, 139987983441920, 139987983466495, -ERASE, 139987983441920, 139987983466495, -STORE, 139987983441920, 139987983466495, -ERASE, 139987983466496, 139987983482879, -STORE, 139987983466496, 139987983482879, -STORE, 139987987791872, 139987987808255, -SNULL, 139987983458303, 139987983466495, -STORE, 139987983441920, 139987983458303, -STORE, 139987983458304, 139987983466495, -SNULL, 139987985592319, 139987985596415, -STORE, 139987985588224, 139987985592319, -STORE, 139987985592320, 139987985596415, -SNULL, 94819011411967, 94819011420159, -STORE, 94819011407872, 94819011411967, -STORE, 94819011411968, 94819011420159, -SNULL, 139987987841023, 139987987845119, -STORE, 139987987836928, 139987987841023, -STORE, 139987987841024, 139987987845119, -ERASE, 139987987808256, 139987987836927, -STORE, 94819028176896, 94819028312063, -STORE, 139987986108416, 139987987791871, -STORE, 94819028176896, 94819028447231, -STORE, 94819028176896, 94819028582399, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722475413504, 140737488351231, -SNULL, 140722475421695, 140737488351231, -STORE, 140722475413504, 140722475421695, -STORE, 140722475282432, 140722475421695, -STORE, 94620599119872, 94620601343999, -SNULL, 94620599230463, 94620601343999, -STORE, 94620599119872, 94620599230463, -STORE, 94620599230464, 94620601343999, -ERASE, 94620599230464, 94620601343999, -STORE, 94620601323520, 94620601335807, -STORE, 94620601335808, 94620601343999, -STORE, 139891763060736, 139891765313535, -SNULL, 139891763204095, 139891765313535, -STORE, 139891763060736, 139891763204095, -STORE, 139891763204096, 139891765313535, -ERASE, 139891763204096, 139891765313535, -STORE, 139891765301248, 139891765309439, -STORE, 139891765309440, 139891765313535, -STORE, 140722475700224, 140722475704319, -STORE, 140722475687936, 140722475700223, -STORE, 139891765272576, 139891765301247, -STORE, 139891765264384, 139891765272575, -STORE, 139891759263744, 139891763060735, -SNULL, 139891759263744, 139891760922623, -STORE, 139891760922624, 139891763060735, -STORE, 139891759263744, 139891760922623, -SNULL, 139891763019775, 139891763060735, -STORE, 139891760922624, 139891763019775, -STORE, 139891763019776, 139891763060735, -SNULL, 139891763019776, 139891763044351, -STORE, 139891763044352, 139891763060735, -STORE, 139891763019776, 139891763044351, -ERASE, 139891763019776, 139891763044351, -STORE, 139891763019776, 139891763044351, -ERASE, 139891763044352, 139891763060735, -STORE, 139891763044352, 139891763060735, -SNULL, 139891763036159, 139891763044351, -STORE, 139891763019776, 139891763036159, -STORE, 139891763036160, 139891763044351, -SNULL, 94620601331711, 94620601335807, -STORE, 94620601323520, 94620601331711, -STORE, 94620601331712, 94620601335807, -SNULL, 139891765305343, 139891765309439, -STORE, 139891765301248, 139891765305343, -STORE, 139891765305344, 139891765309439, -ERASE, 139891765272576, 139891765301247, -STORE, 94620610027520, 94620610162687, -STORE, 94031976210432, 94031976423423, -STORE, 94031978520576, 94031978524671, -STORE, 94031978524672, 94031978532863, -STORE, 94031978532864, 94031978545151, -STORE, 94031990398976, 94031992565759, -STORE, 140336240640000, 140336242298879, -STORE, 140336242298880, 140336244396031, -STORE, 140336244396032, 140336244412415, -STORE, 140336244412416, 140336244420607, -STORE, 140336244420608, 140336244436991, -STORE, 140336244436992, 140336244449279, -STORE, 140336244449280, 140336246542335, -STORE, 140336246542336, 140336246546431, -STORE, 140336246546432, 140336246550527, -STORE, 140336246550528, 140336246693887, -STORE, 140336247062528, 140336248745983, -STORE, 140336248745984, 140336248762367, -STORE, 140336248791040, 140336248795135, -STORE, 140336248795136, 140336248799231, -STORE, 140336248799232, 140336248803327, -STORE, 140728500064256, 140728500203519, -STORE, 140728501501952, 140728501514239, -STORE, 140728501514240, 140728501518335, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140730503987200, 140737488351231, -SNULL, 140730503995391, 140737488351231, -STORE, 140730503987200, 140730503995391, -STORE, 140730503856128, 140730503995391, -STORE, 93866544205824, 93866546429951, -SNULL, 93866544316415, 93866546429951, -STORE, 93866544205824, 93866544316415, -STORE, 93866544316416, 93866546429951, -ERASE, 93866544316416, 93866546429951, -STORE, 93866546409472, 93866546421759, -STORE, 93866546421760, 93866546429951, -STORE, 140216311959552, 140216314212351, -SNULL, 140216312102911, 140216314212351, -STORE, 140216311959552, 140216312102911, -STORE, 140216312102912, 140216314212351, -ERASE, 140216312102912, 140216314212351, -STORE, 140216314200064, 140216314208255, -STORE, 140216314208256, 140216314212351, -STORE, 140730504626176, 140730504630271, -STORE, 140730504613888, 140730504626175, -STORE, 140216314171392, 140216314200063, -STORE, 140216314163200, 140216314171391, -STORE, 140216308162560, 140216311959551, -SNULL, 140216308162560, 140216309821439, -STORE, 140216309821440, 140216311959551, -STORE, 140216308162560, 140216309821439, -SNULL, 140216311918591, 140216311959551, -STORE, 140216309821440, 140216311918591, -STORE, 140216311918592, 140216311959551, -SNULL, 140216311918592, 140216311943167, -STORE, 140216311943168, 140216311959551, -STORE, 140216311918592, 140216311943167, -ERASE, 140216311918592, 140216311943167, -STORE, 140216311918592, 140216311943167, -ERASE, 140216311943168, 140216311959551, -STORE, 140216311943168, 140216311959551, -SNULL, 140216311934975, 140216311943167, -STORE, 140216311918592, 140216311934975, -STORE, 140216311934976, 140216311943167, -SNULL, 93866546417663, 93866546421759, -STORE, 93866546409472, 93866546417663, -STORE, 93866546417664, 93866546421759, -SNULL, 140216314204159, 140216314208255, -STORE, 140216314200064, 140216314204159, -STORE, 140216314204160, 140216314208255, -ERASE, 140216314171392, 140216314200063, -STORE, 93866550386688, 93866550521855, -STORE, 94074292674560, 94074292887551, -STORE, 94074294984704, 94074294988799, -STORE, 94074294988800, 94074294996991, -STORE, 94074294996992, 94074295009279, -STORE, 94074300219392, 94074301378559, -STORE, 139781563256832, 139781564915711, -STORE, 139781564915712, 139781567012863, -STORE, 139781567012864, 139781567029247, -STORE, 139781567029248, 139781567037439, -STORE, 139781567037440, 139781567053823, -STORE, 139781567053824, 139781567066111, -STORE, 139781567066112, 139781569159167, -STORE, 139781569159168, 139781569163263, -STORE, 139781569163264, 139781569167359, -STORE, 139781569167360, 139781569310719, -STORE, 139781569679360, 139781571362815, -STORE, 139781571362816, 139781571379199, -STORE, 139781571407872, 139781571411967, -STORE, 139781571411968, 139781571416063, -STORE, 139781571416064, 139781571420159, -STORE, 140723688488960, 140723688628223, -STORE, 140723689005056, 140723689017343, -STORE, 140723689017344, 140723689021439, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735189745664, 140737488351231, -SNULL, 140735189753855, 140737488351231, -STORE, 140735189745664, 140735189753855, -STORE, 140735189614592, 140735189753855, -STORE, 94172072177664, 94172074512383, -SNULL, 94172072390655, 94172074512383, -STORE, 94172072177664, 94172072390655, -STORE, 94172072390656, 94172074512383, -ERASE, 94172072390656, 94172074512383, -STORE, 94172074487808, 94172074500095, -STORE, 94172074500096, 94172074512383, -STORE, 140687827263488, 140687829516287, -SNULL, 140687827406847, 140687829516287, -STORE, 140687827263488, 140687827406847, -STORE, 140687827406848, 140687829516287, -ERASE, 140687827406848, 140687829516287, -STORE, 140687829504000, 140687829512191, -STORE, 140687829512192, 140687829516287, -STORE, 140735189766144, 140735189770239, -STORE, 140735189753856, 140735189766143, -STORE, 140687829475328, 140687829503999, -STORE, 140687829467136, 140687829475327, -STORE, 140687825149952, 140687827263487, -SNULL, 140687825149952, 140687825162239, -STORE, 140687825162240, 140687827263487, -STORE, 140687825149952, 140687825162239, -SNULL, 140687827255295, 140687827263487, -STORE, 140687825162240, 140687827255295, -STORE, 140687827255296, 140687827263487, -ERASE, 140687827255296, 140687827263487, -STORE, 140687827255296, 140687827263487, -STORE, 140687821352960, 140687825149951, -SNULL, 140687821352960, 140687823011839, -STORE, 140687823011840, 140687825149951, -STORE, 140687821352960, 140687823011839, -SNULL, 140687825108991, 140687825149951, -STORE, 140687823011840, 140687825108991, -STORE, 140687825108992, 140687825149951, -SNULL, 140687825108992, 140687825133567, -STORE, 140687825133568, 140687825149951, -STORE, 140687825108992, 140687825133567, -ERASE, 140687825108992, 140687825133567, -STORE, 140687825108992, 140687825133567, -ERASE, 140687825133568, 140687825149951, -STORE, 140687825133568, 140687825149951, -STORE, 140687829458944, 140687829475327, -SNULL, 140687825125375, 140687825133567, -STORE, 140687825108992, 140687825125375, -STORE, 140687825125376, 140687825133567, -SNULL, 140687827259391, 140687827263487, -STORE, 140687827255296, 140687827259391, -STORE, 140687827259392, 140687827263487, -SNULL, 94172074491903, 94172074500095, -STORE, 94172074487808, 94172074491903, -STORE, 94172074491904, 94172074500095, -SNULL, 140687829508095, 140687829512191, -STORE, 140687829504000, 140687829508095, -STORE, 140687829508096, 140687829512191, -ERASE, 140687829475328, 140687829503999, -STORE, 94172092432384, 94172092567551, -STORE, 140687827775488, 140687829458943, -STORE, 94172092432384, 94172092702719, -STORE, 94172092432384, 94172092837887, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140737229504512, 140737488351231, -SNULL, 140737229512703, 140737488351231, -STORE, 140737229504512, 140737229512703, -STORE, 140737229373440, 140737229512703, -STORE, 94155246866432, 94155249090559, -SNULL, 94155246977023, 94155249090559, -STORE, 94155246866432, 94155246977023, -STORE, 94155246977024, 94155249090559, -ERASE, 94155246977024, 94155249090559, -STORE, 94155249070080, 94155249082367, -STORE, 94155249082368, 94155249090559, -STORE, 140640993693696, 140640995946495, -SNULL, 140640993837055, 140640995946495, -STORE, 140640993693696, 140640993837055, -STORE, 140640993837056, 140640995946495, -ERASE, 140640993837056, 140640995946495, -STORE, 140640995934208, 140640995942399, -STORE, 140640995942400, 140640995946495, -STORE, 140737230004224, 140737230008319, -STORE, 140737229991936, 140737230004223, -STORE, 140640995905536, 140640995934207, -STORE, 140640995897344, 140640995905535, -STORE, 140640989896704, 140640993693695, -SNULL, 140640989896704, 140640991555583, -STORE, 140640991555584, 140640993693695, -STORE, 140640989896704, 140640991555583, -SNULL, 140640993652735, 140640993693695, -STORE, 140640991555584, 140640993652735, -STORE, 140640993652736, 140640993693695, -SNULL, 140640993652736, 140640993677311, -STORE, 140640993677312, 140640993693695, -STORE, 140640993652736, 140640993677311, -ERASE, 140640993652736, 140640993677311, -STORE, 140640993652736, 140640993677311, -ERASE, 140640993677312, 140640993693695, -STORE, 140640993677312, 140640993693695, -SNULL, 140640993669119, 140640993677311, -STORE, 140640993652736, 140640993669119, -STORE, 140640993669120, 140640993677311, -SNULL, 94155249078271, 94155249082367, -STORE, 94155249070080, 94155249078271, -STORE, 94155249078272, 94155249082367, -SNULL, 140640995938303, 140640995942399, -STORE, 140640995934208, 140640995938303, -STORE, 140640995938304, 140640995942399, -ERASE, 140640995905536, 140640995934207, -STORE, 94155281035264, 94155281170431, -STORE, 94088066453504, 94088066564095, -STORE, 94088068657152, 94088068665343, -STORE, 94088068665344, 94088068669439, -STORE, 94088068669440, 94088068677631, -STORE, 94088090214400, 94088090349567, -STORE, 140503024627712, 140503026286591, -STORE, 140503026286592, 140503028383743, -STORE, 140503028383744, 140503028400127, -STORE, 140503028400128, 140503028408319, -STORE, 140503028408320, 140503028424703, -STORE, 140503028424704, 140503028568063, -STORE, 140503030628352, 140503030636543, -STORE, 140503030665216, 140503030669311, -STORE, 140503030669312, 140503030673407, -STORE, 140503030673408, 140503030677503, -STORE, 140730894725120, 140730894864383, -STORE, 140730894880768, 140730894893055, -STORE, 140730894893056, 140730894897151, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140730434342912, 140737488351231, -SNULL, 140730434351103, 140737488351231, -STORE, 140730434342912, 140730434351103, -STORE, 140730434211840, 140730434351103, -STORE, 4194304, 5128191, -STORE, 7221248, 7241727, -STORE, 7241728, 7249919, -STORE, 140109041938432, 140109044191231, -SNULL, 140109042081791, 140109044191231, -STORE, 140109041938432, 140109042081791, -STORE, 140109042081792, 140109044191231, -ERASE, 140109042081792, 140109044191231, -STORE, 140109044178944, 140109044187135, -STORE, 140109044187136, 140109044191231, -STORE, 140730434850816, 140730434854911, -STORE, 140730434838528, 140730434850815, -STORE, 140109044150272, 140109044178943, -STORE, 140109044142080, 140109044150271, -STORE, 140109038776320, 140109041938431, -SNULL, 140109038776320, 140109039837183, -STORE, 140109039837184, 140109041938431, -STORE, 140109038776320, 140109039837183, -SNULL, 140109041930239, 140109041938431, -STORE, 140109039837184, 140109041930239, -STORE, 140109041930240, 140109041938431, -ERASE, 140109041930240, 140109041938431, -STORE, 140109041930240, 140109041938431, -STORE, 140109034979328, 140109038776319, -SNULL, 140109034979328, 140109036638207, -STORE, 140109036638208, 140109038776319, -STORE, 140109034979328, 140109036638207, -SNULL, 140109038735359, 140109038776319, -STORE, 140109036638208, 140109038735359, -STORE, 140109038735360, 140109038776319, -SNULL, 140109038735360, 140109038759935, -STORE, 140109038759936, 140109038776319, -STORE, 140109038735360, 140109038759935, -ERASE, 140109038735360, 140109038759935, -STORE, 140109038735360, 140109038759935, -ERASE, 140109038759936, 140109038776319, -STORE, 140109038759936, 140109038776319, -STORE, 140109044129792, 140109044150271, -SNULL, 140109038751743, 140109038759935, -STORE, 140109038735360, 140109038751743, -STORE, 140109038751744, 140109038759935, -SNULL, 140109041934335, 140109041938431, -STORE, 140109041930240, 140109041934335, -STORE, 140109041934336, 140109041938431, -SNULL, 7233535, 7241727, -STORE, 7221248, 7233535, -STORE, 7233536, 7241727, -SNULL, 140109044183039, 140109044187135, -STORE, 140109044178944, 140109044183039, -STORE, 140109044183040, 140109044187135, -ERASE, 140109044150272, 140109044178943, -STORE, 20000768, 20135935, -STORE, 20000768, 20283391, -STORE, 140109042446336, 140109044129791, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140730853408768, 140737488351231, -SNULL, 140730853416959, 140737488351231, -STORE, 140730853408768, 140730853416959, -STORE, 140730853277696, 140730853416959, -STORE, 94865902977024, 94865905311743, -SNULL, 94865903190015, 94865905311743, -STORE, 94865902977024, 94865903190015, -STORE, 94865903190016, 94865905311743, -ERASE, 94865903190016, 94865905311743, -STORE, 94865905287168, 94865905299455, -STORE, 94865905299456, 94865905311743, -STORE, 139768865738752, 139768867991551, -SNULL, 139768865882111, 139768867991551, -STORE, 139768865738752, 139768865882111, -STORE, 139768865882112, 139768867991551, -ERASE, 139768865882112, 139768867991551, -STORE, 139768867979264, 139768867987455, -STORE, 139768867987456, 139768867991551, -STORE, 140730853957632, 140730853961727, -STORE, 140730853945344, 140730853957631, -STORE, 139768867950592, 139768867979263, -STORE, 139768867942400, 139768867950591, -STORE, 139768863625216, 139768865738751, -SNULL, 139768863625216, 139768863637503, -STORE, 139768863637504, 139768865738751, -STORE, 139768863625216, 139768863637503, -SNULL, 139768865730559, 139768865738751, -STORE, 139768863637504, 139768865730559, -STORE, 139768865730560, 139768865738751, -ERASE, 139768865730560, 139768865738751, -STORE, 139768865730560, 139768865738751, -STORE, 139768859828224, 139768863625215, -SNULL, 139768859828224, 139768861487103, -STORE, 139768861487104, 139768863625215, -STORE, 139768859828224, 139768861487103, -SNULL, 139768863584255, 139768863625215, -STORE, 139768861487104, 139768863584255, -STORE, 139768863584256, 139768863625215, -SNULL, 139768863584256, 139768863608831, -STORE, 139768863608832, 139768863625215, -STORE, 139768863584256, 139768863608831, -ERASE, 139768863584256, 139768863608831, -STORE, 139768863584256, 139768863608831, -ERASE, 139768863608832, 139768863625215, -STORE, 139768863608832, 139768863625215, -STORE, 139768867934208, 139768867950591, -SNULL, 139768863600639, 139768863608831, -STORE, 139768863584256, 139768863600639, -STORE, 139768863600640, 139768863608831, -SNULL, 139768865734655, 139768865738751, -STORE, 139768865730560, 139768865734655, -STORE, 139768865734656, 139768865738751, -SNULL, 94865905291263, 94865905299455, -STORE, 94865905287168, 94865905291263, -STORE, 94865905291264, 94865905299455, -SNULL, 139768867983359, 139768867987455, -STORE, 139768867979264, 139768867983359, -STORE, 139768867983360, 139768867987455, -ERASE, 139768867950592, 139768867979263, -STORE, 94865923670016, 94865923805183, -STORE, 139768866250752, 139768867934207, -STORE, 94865923670016, 94865923940351, -STORE, 94865923670016, 94865924075519, -STORE, 94865923670016, 94865924222975, -SNULL, 94865924210687, 94865924222975, -STORE, 94865923670016, 94865924210687, -STORE, 94865924210688, 94865924222975, -ERASE, 94865924210688, 94865924222975, -STORE, 94865923670016, 94865924349951, -STORE, 94865923670016, 94865924493311, -STORE, 94865923670016, 94865924640767, -SNULL, 94865924603903, 94865924640767, -STORE, 94865923670016, 94865924603903, -STORE, 94865924603904, 94865924640767, -ERASE, 94865924603904, 94865924640767, -STORE, 94865923670016, 94865924747263, -STORE, 94865923670016, 94865924898815, -SNULL, 94865924874239, 94865924898815, -STORE, 94865923670016, 94865924874239, -STORE, 94865924874240, 94865924898815, -ERASE, 94865924874240, 94865924898815, -STORE, 94865923670016, 94865925025791, -SNULL, 94865925013503, 94865925025791, -STORE, 94865923670016, 94865925013503, -STORE, 94865925013504, 94865925025791, -ERASE, 94865925013504, 94865925025791, -SNULL, 94865924988927, 94865925013503, -STORE, 94865923670016, 94865924988927, -STORE, 94865924988928, 94865925013503, -ERASE, 94865924988928, 94865925013503, -STORE, 94865923670016, 94865925152767, -SNULL, 94865925136383, 94865925152767, -STORE, 94865923670016, 94865925136383, -STORE, 94865925136384, 94865925152767, -ERASE, 94865925136384, 94865925152767, -STORE, 94865923670016, 94865925292031, -SNULL, 94865925279743, 94865925292031, -STORE, 94865923670016, 94865925279743, -STORE, 94865925279744, 94865925292031, -ERASE, 94865925279744, 94865925292031, -SNULL, 94865925255167, 94865925279743, -STORE, 94865923670016, 94865925255167, -STORE, 94865925255168, 94865925279743, -ERASE, 94865925255168, 94865925279743, -STORE, 94865923670016, 94865925406719, -SNULL, 94865925394431, 94865925406719, -STORE, 94865923670016, 94865925394431, -STORE, 94865925394432, 94865925406719, -ERASE, 94865925394432, 94865925406719, -STORE, 94865923670016, 94865925545983, -SNULL, 94865925533695, 94865925545983, -STORE, 94865923670016, 94865925533695, -STORE, 94865925533696, 94865925545983, -ERASE, 94865925533696, 94865925545983, -SNULL, 94865925492735, 94865925533695, -STORE, 94865923670016, 94865925492735, -STORE, 94865925492736, 94865925533695, -ERASE, 94865925492736, 94865925533695, -STORE, 94865923670016, 94865925627903, -SNULL, 94865925599231, 94865925627903, -STORE, 94865923670016, 94865925599231, -STORE, 94865925599232, 94865925627903, -ERASE, 94865925599232, 94865925627903, -STORE, 94865923670016, 94865925738495, -SNULL, 94865925726207, 94865925738495, -STORE, 94865923670016, 94865925726207, -STORE, 94865925726208, 94865925738495, -ERASE, 94865925726208, 94865925738495, -STORE, 94865923670016, 94865925877759, -SNULL, 94865925865471, 94865925877759, -STORE, 94865923670016, 94865925865471, -STORE, 94865925865472, 94865925877759, -ERASE, 94865925865472, 94865925877759, -STORE, 94865923670016, 94865926021119, -SNULL, 94865926008831, 94865926021119, -STORE, 94865923670016, 94865926008831, -STORE, 94865926008832, 94865926021119, -ERASE, 94865926008832, 94865926021119, -SNULL, 94865925971967, 94865926008831, -STORE, 94865923670016, 94865925971967, -STORE, 94865925971968, 94865926008831, -ERASE, 94865925971968, 94865926008831, -STORE, 94865923670016, 94865926115327, -STORE, 94865923670016, 94865926254591, -SNULL, 94865926246399, 94865926254591, -STORE, 94865923670016, 94865926246399, -STORE, 94865926246400, 94865926254591, -ERASE, 94865926246400, 94865926254591, -STORE, 94865923670016, 94865926385663, -STORE, 94865923670016, 94865926537215, -STORE, 94865923670016, 94865926672383, -STORE, 94865923670016, 94865926815743, -STORE, 94865923670016, 94865926955007, -STORE, 94865923670016, 94865927094271, -STORE, 94865923670016, 94865927233535, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140731148435456, 140737488351231, -SNULL, 140731148443647, 140737488351231, -STORE, 140731148435456, 140731148443647, -STORE, 140731148304384, 140731148443647, -STORE, 94090775400448, 94090777735167, -SNULL, 94090775613439, 94090777735167, -STORE, 94090775400448, 94090775613439, -STORE, 94090775613440, 94090777735167, -ERASE, 94090775613440, 94090777735167, -STORE, 94090777710592, 94090777722879, -STORE, 94090777722880, 94090777735167, -STORE, 140301090283520, 140301092536319, -SNULL, 140301090426879, 140301092536319, -STORE, 140301090283520, 140301090426879, -STORE, 140301090426880, 140301092536319, -ERASE, 140301090426880, 140301092536319, -STORE, 140301092524032, 140301092532223, -STORE, 140301092532224, 140301092536319, -STORE, 140731148570624, 140731148574719, -STORE, 140731148558336, 140731148570623, -STORE, 140301092495360, 140301092524031, -STORE, 140301092487168, 140301092495359, -STORE, 140301088169984, 140301090283519, -SNULL, 140301088169984, 140301088182271, -STORE, 140301088182272, 140301090283519, -STORE, 140301088169984, 140301088182271, -SNULL, 140301090275327, 140301090283519, -STORE, 140301088182272, 140301090275327, -STORE, 140301090275328, 140301090283519, -ERASE, 140301090275328, 140301090283519, -STORE, 140301090275328, 140301090283519, -STORE, 140301084372992, 140301088169983, -SNULL, 140301084372992, 140301086031871, -STORE, 140301086031872, 140301088169983, -STORE, 140301084372992, 140301086031871, -SNULL, 140301088129023, 140301088169983, -STORE, 140301086031872, 140301088129023, -STORE, 140301088129024, 140301088169983, -SNULL, 140301088129024, 140301088153599, -STORE, 140301088153600, 140301088169983, -STORE, 140301088129024, 140301088153599, -ERASE, 140301088129024, 140301088153599, -STORE, 140301088129024, 140301088153599, -ERASE, 140301088153600, 140301088169983, -STORE, 140301088153600, 140301088169983, -STORE, 140301092478976, 140301092495359, -SNULL, 140301088145407, 140301088153599, -STORE, 140301088129024, 140301088145407, -STORE, 140301088145408, 140301088153599, -SNULL, 140301090279423, 140301090283519, -STORE, 140301090275328, 140301090279423, -STORE, 140301090279424, 140301090283519, -SNULL, 94090777714687, 94090777722879, -STORE, 94090777710592, 94090777714687, -STORE, 94090777714688, 94090777722879, -SNULL, 140301092528127, 140301092532223, -STORE, 140301092524032, 140301092528127, -STORE, 140301092528128, 140301092532223, -ERASE, 140301092495360, 140301092524031, -STORE, 94090794590208, 94090794725375, -STORE, 140301090795520, 140301092478975, -STORE, 94090794590208, 94090794860543, -STORE, 94090794590208, 94090794995711, -STORE, 94090794590208, 94090795163647, -SNULL, 94090795139071, 94090795163647, -STORE, 94090794590208, 94090795139071, -STORE, 94090795139072, 94090795163647, -ERASE, 94090795139072, 94090795163647, -STORE, 94090794590208, 94090795278335, -STORE, 94090794590208, 94090795425791, -SNULL, 94090795388927, 94090795425791, -STORE, 94090794590208, 94090795388927, -STORE, 94090795388928, 94090795425791, -ERASE, 94090795388928, 94090795425791, -STORE, 94090794590208, 94090795528191, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733084430336, 140737488351231, -SNULL, 140733084438527, 140737488351231, -STORE, 140733084430336, 140733084438527, -STORE, 140733084299264, 140733084438527, -STORE, 94116169183232, 94116171517951, -SNULL, 94116169396223, 94116171517951, -STORE, 94116169183232, 94116169396223, -STORE, 94116169396224, 94116171517951, -ERASE, 94116169396224, 94116171517951, -STORE, 94116171493376, 94116171505663, -STORE, 94116171505664, 94116171517951, -STORE, 139772214128640, 139772216381439, -SNULL, 139772214271999, 139772216381439, -STORE, 139772214128640, 139772214271999, -STORE, 139772214272000, 139772216381439, -ERASE, 139772214272000, 139772216381439, -STORE, 139772216369152, 139772216377343, -STORE, 139772216377344, 139772216381439, -STORE, 140733085270016, 140733085274111, -STORE, 140733085257728, 140733085270015, -STORE, 139772216340480, 139772216369151, -STORE, 139772216332288, 139772216340479, -STORE, 139772212015104, 139772214128639, -SNULL, 139772212015104, 139772212027391, -STORE, 139772212027392, 139772214128639, -STORE, 139772212015104, 139772212027391, -SNULL, 139772214120447, 139772214128639, -STORE, 139772212027392, 139772214120447, -STORE, 139772214120448, 139772214128639, -ERASE, 139772214120448, 139772214128639, -STORE, 139772214120448, 139772214128639, -STORE, 139772208218112, 139772212015103, -SNULL, 139772208218112, 139772209876991, -STORE, 139772209876992, 139772212015103, -STORE, 139772208218112, 139772209876991, -SNULL, 139772211974143, 139772212015103, -STORE, 139772209876992, 139772211974143, -STORE, 139772211974144, 139772212015103, -SNULL, 139772211974144, 139772211998719, -STORE, 139772211998720, 139772212015103, -STORE, 139772211974144, 139772211998719, -ERASE, 139772211974144, 139772211998719, -STORE, 139772211974144, 139772211998719, -ERASE, 139772211998720, 139772212015103, -STORE, 139772211998720, 139772212015103, -STORE, 139772216324096, 139772216340479, -SNULL, 139772211990527, 139772211998719, -STORE, 139772211974144, 139772211990527, -STORE, 139772211990528, 139772211998719, -SNULL, 139772214124543, 139772214128639, -STORE, 139772214120448, 139772214124543, -STORE, 139772214124544, 139772214128639, -SNULL, 94116171497471, 94116171505663, -STORE, 94116171493376, 94116171497471, -STORE, 94116171497472, 94116171505663, -SNULL, 139772216373247, 139772216377343, -STORE, 139772216369152, 139772216373247, -STORE, 139772216373248, 139772216377343, -ERASE, 139772216340480, 139772216369151, -STORE, 94116199383040, 94116199518207, -STORE, 139772214640640, 139772216324095, -STORE, 94116199383040, 94116199653375, -STORE, 94116199383040, 94116199788543, -STORE, 140737488347136, 140737488351231, -STORE, 140726067826688, 140737488351231, -SNULL, 140726067830783, 140737488351231, -STORE, 140726067826688, 140726067830783, -STORE, 140726067695616, 140726067830783, -STORE, 94535150673920, 94535152898047, -SNULL, 94535150784511, 94535152898047, -STORE, 94535150673920, 94535150784511, -STORE, 94535150784512, 94535152898047, -ERASE, 94535150784512, 94535152898047, -STORE, 94535152877568, 94535152889855, -STORE, 94535152889856, 94535152898047, -STORE, 140381257314304, 140381259567103, -SNULL, 140381257457663, 140381259567103, -STORE, 140381257314304, 140381257457663, -STORE, 140381257457664, 140381259567103, -ERASE, 140381257457664, 140381259567103, -STORE, 140381259554816, 140381259563007, -STORE, 140381259563008, 140381259567103, -STORE, 140726068060160, 140726068064255, -STORE, 140726068047872, 140726068060159, -STORE, 140381259526144, 140381259554815, -STORE, 140381259517952, 140381259526143, -STORE, 140381253517312, 140381257314303, -SNULL, 140381253517312, 140381255176191, -STORE, 140381255176192, 140381257314303, -STORE, 140381253517312, 140381255176191, -SNULL, 140381257273343, 140381257314303, -STORE, 140381255176192, 140381257273343, -STORE, 140381257273344, 140381257314303, -SNULL, 140381257273344, 140381257297919, -STORE, 140381257297920, 140381257314303, -STORE, 140381257273344, 140381257297919, -ERASE, 140381257273344, 140381257297919, -STORE, 140381257273344, 140381257297919, -ERASE, 140381257297920, 140381257314303, -STORE, 140381257297920, 140381257314303, -SNULL, 140381257289727, 140381257297919, -STORE, 140381257273344, 140381257289727, -STORE, 140381257289728, 140381257297919, -SNULL, 94535152885759, 94535152889855, -STORE, 94535152877568, 94535152885759, -STORE, 94535152885760, 94535152889855, -SNULL, 140381259558911, 140381259563007, -STORE, 140381259554816, 140381259558911, -STORE, 140381259558912, 140381259563007, -ERASE, 140381259526144, 140381259554815, -STORE, 94535186296832, 94535186431999, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140729189425152, 140737488351231, -SNULL, 140729189433343, 140737488351231, -STORE, 140729189425152, 140729189433343, -STORE, 140729189294080, 140729189433343, -STORE, 94428200128512, 94428202352639, -SNULL, 94428200239103, 94428202352639, -STORE, 94428200128512, 94428200239103, -STORE, 94428200239104, 94428202352639, -ERASE, 94428200239104, 94428202352639, -STORE, 94428202332160, 94428202344447, -STORE, 94428202344448, 94428202352639, -STORE, 139707216986112, 139707219238911, -SNULL, 139707217129471, 139707219238911, -STORE, 139707216986112, 139707217129471, -STORE, 139707217129472, 139707219238911, -ERASE, 139707217129472, 139707219238911, -STORE, 139707219226624, 139707219234815, -STORE, 139707219234816, 139707219238911, -STORE, 140729189785600, 140729189789695, -STORE, 140729189773312, 140729189785599, -STORE, 139707219197952, 139707219226623, -STORE, 139707219189760, 139707219197951, -STORE, 139707213189120, 139707216986111, -SNULL, 139707213189120, 139707214847999, -STORE, 139707214848000, 139707216986111, -STORE, 139707213189120, 139707214847999, -SNULL, 139707216945151, 139707216986111, -STORE, 139707214848000, 139707216945151, -STORE, 139707216945152, 139707216986111, -SNULL, 139707216945152, 139707216969727, -STORE, 139707216969728, 139707216986111, -STORE, 139707216945152, 139707216969727, -ERASE, 139707216945152, 139707216969727, -STORE, 139707216945152, 139707216969727, -ERASE, 139707216969728, 139707216986111, -STORE, 139707216969728, 139707216986111, -SNULL, 139707216961535, 139707216969727, -STORE, 139707216945152, 139707216961535, -STORE, 139707216961536, 139707216969727, -SNULL, 94428202340351, 94428202344447, -STORE, 94428202332160, 94428202340351, -STORE, 94428202340352, 94428202344447, -SNULL, 139707219230719, 139707219234815, -STORE, 139707219226624, 139707219230719, -STORE, 139707219230720, 139707219234815, -ERASE, 139707219197952, 139707219226623, -STORE, 94428208599040, 94428208734207, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722000953344, 140737488351231, -SNULL, 140722000961535, 140737488351231, -STORE, 140722000953344, 140722000961535, -STORE, 140722000822272, 140722000961535, -STORE, 94636494757888, 94636496982015, -SNULL, 94636494868479, 94636496982015, -STORE, 94636494757888, 94636494868479, -STORE, 94636494868480, 94636496982015, -ERASE, 94636494868480, 94636496982015, -STORE, 94636496961536, 94636496973823, -STORE, 94636496973824, 94636496982015, -STORE, 140142275100672, 140142277353471, -SNULL, 140142275244031, 140142277353471, -STORE, 140142275100672, 140142275244031, -STORE, 140142275244032, 140142277353471, -ERASE, 140142275244032, 140142277353471, -STORE, 140142277341184, 140142277349375, -STORE, 140142277349376, 140142277353471, -STORE, 140722002747392, 140722002751487, -STORE, 140722002735104, 140722002747391, -STORE, 140142277312512, 140142277341183, -STORE, 140142277304320, 140142277312511, -STORE, 140142271303680, 140142275100671, -SNULL, 140142271303680, 140142272962559, -STORE, 140142272962560, 140142275100671, -STORE, 140142271303680, 140142272962559, -SNULL, 140142275059711, 140142275100671, -STORE, 140142272962560, 140142275059711, -STORE, 140142275059712, 140142275100671, -SNULL, 140142275059712, 140142275084287, -STORE, 140142275084288, 140142275100671, -STORE, 140142275059712, 140142275084287, -ERASE, 140142275059712, 140142275084287, -STORE, 140142275059712, 140142275084287, -ERASE, 140142275084288, 140142275100671, -STORE, 140142275084288, 140142275100671, -SNULL, 140142275076095, 140142275084287, -STORE, 140142275059712, 140142275076095, -STORE, 140142275076096, 140142275084287, -SNULL, 94636496969727, 94636496973823, -STORE, 94636496961536, 94636496969727, -STORE, 94636496969728, 94636496973823, -SNULL, 140142277345279, 140142277349375, -STORE, 140142277341184, 140142277345279, -STORE, 140142277345280, 140142277349375, -ERASE, 140142277312512, 140142277341183, -STORE, 94636516286464, 94636516421631, -STORE, 94071103692800, 94071103905791, -STORE, 94071106002944, 94071106007039, -STORE, 94071106007040, 94071106015231, -STORE, 94071106015232, 94071106027519, -STORE, 94071138521088, 94071140368383, -STORE, 140145668190208, 140145669849087, -STORE, 140145669849088, 140145671946239, -STORE, 140145671946240, 140145671962623, -STORE, 140145671962624, 140145671970815, -STORE, 140145671970816, 140145671987199, -STORE, 140145671987200, 140145671999487, -STORE, 140145671999488, 140145674092543, -STORE, 140145674092544, 140145674096639, -STORE, 140145674096640, 140145674100735, -STORE, 140145674100736, 140145674244095, -STORE, 140145674612736, 140145676296191, -STORE, 140145676296192, 140145676312575, -STORE, 140145676341248, 140145676345343, -STORE, 140145676345344, 140145676349439, -STORE, 140145676349440, 140145676353535, -STORE, 140734927740928, 140734927880191, -STORE, 140734928842752, 140734928855039, -STORE, 140734928855040, 140734928859135, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722342535168, 140737488351231, -SNULL, 140722342543359, 140737488351231, -STORE, 140722342535168, 140722342543359, -STORE, 140722342404096, 140722342543359, -STORE, 94399699714048, 94399702048767, -SNULL, 94399699927039, 94399702048767, -STORE, 94399699714048, 94399699927039, -STORE, 94399699927040, 94399702048767, -ERASE, 94399699927040, 94399702048767, -STORE, 94399702024192, 94399702036479, -STORE, 94399702036480, 94399702048767, -STORE, 139811024748544, 139811027001343, -SNULL, 139811024891903, 139811027001343, -STORE, 139811024748544, 139811024891903, -STORE, 139811024891904, 139811027001343, -ERASE, 139811024891904, 139811027001343, -STORE, 139811026989056, 139811026997247, -STORE, 139811026997248, 139811027001343, -STORE, 140722342707200, 140722342711295, -STORE, 140722342694912, 140722342707199, -STORE, 139811026960384, 139811026989055, -STORE, 139811026952192, 139811026960383, -STORE, 139811022635008, 139811024748543, -SNULL, 139811022635008, 139811022647295, -STORE, 139811022647296, 139811024748543, -STORE, 139811022635008, 139811022647295, -SNULL, 139811024740351, 139811024748543, -STORE, 139811022647296, 139811024740351, -STORE, 139811024740352, 139811024748543, -ERASE, 139811024740352, 139811024748543, -STORE, 139811024740352, 139811024748543, -STORE, 139811018838016, 139811022635007, -SNULL, 139811018838016, 139811020496895, -STORE, 139811020496896, 139811022635007, -STORE, 139811018838016, 139811020496895, -SNULL, 139811022594047, 139811022635007, -STORE, 139811020496896, 139811022594047, -STORE, 139811022594048, 139811022635007, -SNULL, 139811022594048, 139811022618623, -STORE, 139811022618624, 139811022635007, -STORE, 139811022594048, 139811022618623, -ERASE, 139811022594048, 139811022618623, -STORE, 139811022594048, 139811022618623, -ERASE, 139811022618624, 139811022635007, -STORE, 139811022618624, 139811022635007, -STORE, 139811026944000, 139811026960383, -SNULL, 139811022610431, 139811022618623, -STORE, 139811022594048, 139811022610431, -STORE, 139811022610432, 139811022618623, -SNULL, 139811024744447, 139811024748543, -STORE, 139811024740352, 139811024744447, -STORE, 139811024744448, 139811024748543, -SNULL, 94399702028287, 94399702036479, -STORE, 94399702024192, 94399702028287, -STORE, 94399702028288, 94399702036479, -SNULL, 139811026993151, 139811026997247, -STORE, 139811026989056, 139811026993151, -STORE, 139811026993152, 139811026997247, -ERASE, 139811026960384, 139811026989055, -STORE, 94399723880448, 94399724015615, -STORE, 139811025260544, 139811026943999, -STORE, 94399723880448, 94399724150783, -STORE, 94399723880448, 94399724285951, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140735364939776, 140737488351231, -SNULL, 140735364947967, 140737488351231, -STORE, 140735364939776, 140735364947967, -STORE, 140735364808704, 140735364947967, -STORE, 94421528674304, 94421531009023, -SNULL, 94421528887295, 94421531009023, -STORE, 94421528674304, 94421528887295, -STORE, 94421528887296, 94421531009023, -ERASE, 94421528887296, 94421531009023, -STORE, 94421530984448, 94421530996735, -STORE, 94421530996736, 94421531009023, -STORE, 140162004742144, 140162006994943, -SNULL, 140162004885503, 140162006994943, -STORE, 140162004742144, 140162004885503, -STORE, 140162004885504, 140162006994943, -ERASE, 140162004885504, 140162006994943, -STORE, 140162006982656, 140162006990847, -STORE, 140162006990848, 140162006994943, -STORE, 140735365402624, 140735365406719, -STORE, 140735365390336, 140735365402623, -STORE, 140162006953984, 140162006982655, -STORE, 140162006945792, 140162006953983, -STORE, 140162002628608, 140162004742143, -SNULL, 140162002628608, 140162002640895, -STORE, 140162002640896, 140162004742143, -STORE, 140162002628608, 140162002640895, -SNULL, 140162004733951, 140162004742143, -STORE, 140162002640896, 140162004733951, -STORE, 140162004733952, 140162004742143, -ERASE, 140162004733952, 140162004742143, -STORE, 140162004733952, 140162004742143, -STORE, 140161998831616, 140162002628607, -SNULL, 140161998831616, 140162000490495, -STORE, 140162000490496, 140162002628607, -STORE, 140161998831616, 140162000490495, -SNULL, 140162002587647, 140162002628607, -STORE, 140162000490496, 140162002587647, -STORE, 140162002587648, 140162002628607, -SNULL, 140162002587648, 140162002612223, -STORE, 140162002612224, 140162002628607, -STORE, 140162002587648, 140162002612223, -ERASE, 140162002587648, 140162002612223, -STORE, 140162002587648, 140162002612223, -ERASE, 140162002612224, 140162002628607, -STORE, 140162002612224, 140162002628607, -STORE, 140162006937600, 140162006953983, -SNULL, 140162002604031, 140162002612223, -STORE, 140162002587648, 140162002604031, -STORE, 140162002604032, 140162002612223, -SNULL, 140162004738047, 140162004742143, -STORE, 140162004733952, 140162004738047, -STORE, 140162004738048, 140162004742143, -SNULL, 94421530988543, 94421530996735, -STORE, 94421530984448, 94421530988543, -STORE, 94421530988544, 94421530996735, -SNULL, 140162006986751, 140162006990847, -STORE, 140162006982656, 140162006986751, -STORE, 140162006986752, 140162006990847, -ERASE, 140162006953984, 140162006982655, -STORE, 94421551697920, 94421551833087, -STORE, 140162005254144, 140162006937599, -STORE, 94421551697920, 94421551968255, -STORE, 94421551697920, 94421552103423, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140733498486784, 140737488351231, -SNULL, 140733498494975, 140737488351231, -STORE, 140733498486784, 140733498494975, -STORE, 140733498355712, 140733498494975, -STORE, 94567985836032, 94567988170751, -SNULL, 94567986049023, 94567988170751, -STORE, 94567985836032, 94567986049023, -STORE, 94567986049024, 94567988170751, -ERASE, 94567986049024, 94567988170751, -STORE, 94567988146176, 94567988158463, -STORE, 94567988158464, 94567988170751, -STORE, 139634278572032, 139634280824831, -SNULL, 139634278715391, 139634280824831, -STORE, 139634278572032, 139634278715391, -STORE, 139634278715392, 139634280824831, -ERASE, 139634278715392, 139634280824831, -STORE, 139634280812544, 139634280820735, -STORE, 139634280820736, 139634280824831, -STORE, 140733498544128, 140733498548223, -STORE, 140733498531840, 140733498544127, -STORE, 139634280783872, 139634280812543, -STORE, 139634280775680, 139634280783871, -STORE, 139634276458496, 139634278572031, -SNULL, 139634276458496, 139634276470783, -STORE, 139634276470784, 139634278572031, -STORE, 139634276458496, 139634276470783, -SNULL, 139634278563839, 139634278572031, -STORE, 139634276470784, 139634278563839, -STORE, 139634278563840, 139634278572031, -ERASE, 139634278563840, 139634278572031, -STORE, 139634278563840, 139634278572031, -STORE, 139634272661504, 139634276458495, -SNULL, 139634272661504, 139634274320383, -STORE, 139634274320384, 139634276458495, -STORE, 139634272661504, 139634274320383, -SNULL, 139634276417535, 139634276458495, -STORE, 139634274320384, 139634276417535, -STORE, 139634276417536, 139634276458495, -SNULL, 139634276417536, 139634276442111, -STORE, 139634276442112, 139634276458495, -STORE, 139634276417536, 139634276442111, -ERASE, 139634276417536, 139634276442111, -STORE, 139634276417536, 139634276442111, -ERASE, 139634276442112, 139634276458495, -STORE, 139634276442112, 139634276458495, -STORE, 139634280767488, 139634280783871, -SNULL, 139634276433919, 139634276442111, -STORE, 139634276417536, 139634276433919, -STORE, 139634276433920, 139634276442111, -SNULL, 139634278567935, 139634278572031, -STORE, 139634278563840, 139634278567935, -STORE, 139634278567936, 139634278572031, -SNULL, 94567988150271, 94567988158463, -STORE, 94567988146176, 94567988150271, -STORE, 94567988150272, 94567988158463, -SNULL, 139634280816639, 139634280820735, -STORE, 139634280812544, 139634280816639, -STORE, 139634280816640, 139634280820735, -ERASE, 139634280783872, 139634280812543, -STORE, 94567996379136, 94567996514303, -STORE, 139634279084032, 139634280767487, -STORE, 94567996379136, 94567996649471, -STORE, 94567996379136, 94567996784639, -STORE, 94567996379136, 94567996960767, -SNULL, 94567996932095, 94567996960767, -STORE, 94567996379136, 94567996932095, -STORE, 94567996932096, 94567996960767, -ERASE, 94567996932096, 94567996960767, -STORE, 94567996379136, 94567997071359, -STORE, 94567996379136, 94567997206527, -SNULL, 94567997186047, 94567997206527, -STORE, 94567996379136, 94567997186047, -STORE, 94567997186048, 94567997206527, -ERASE, 94567997186048, 94567997206527, -STORE, 94567996379136, 94567997358079, -STORE, 94567996379136, 94567997493247, -SNULL, 94567997476863, 94567997493247, -STORE, 94567996379136, 94567997476863, -STORE, 94567997476864, 94567997493247, -ERASE, 94567997476864, 94567997493247, -STORE, 94567996379136, 94567997612031, -STORE, 94567996379136, 94567997767679, -SNULL, 94567997739007, 94567997767679, -STORE, 94567996379136, 94567997739007, -STORE, 94567997739008, 94567997767679, -ERASE, 94567997739008, 94567997767679, -SNULL, 94567997698047, 94567997739007, -STORE, 94567996379136, 94567997698047, -STORE, 94567997698048, 94567997739007, -ERASE, 94567997698048, 94567997739007, -STORE, 94567996379136, 94567997853695, -STORE, 94567996379136, 94567997988863, -STORE, 94567996379136, 94567998132223, -STORE, 94567996379136, 94567998275583, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140723667759104, 140737488351231, -SNULL, 140723667767295, 140737488351231, -STORE, 140723667759104, 140723667767295, -STORE, 140723667628032, 140723667767295, -STORE, 94231598800896, 94231601135615, -SNULL, 94231599013887, 94231601135615, -STORE, 94231598800896, 94231599013887, -STORE, 94231599013888, 94231601135615, -ERASE, 94231599013888, 94231601135615, -STORE, 94231601111040, 94231601123327, -STORE, 94231601123328, 94231601135615, -STORE, 140269472649216, 140269474902015, -SNULL, 140269472792575, 140269474902015, -STORE, 140269472649216, 140269472792575, -STORE, 140269472792576, 140269474902015, -ERASE, 140269472792576, 140269474902015, -STORE, 140269474889728, 140269474897919, -STORE, 140269474897920, 140269474902015, -STORE, 140723667836928, 140723667841023, -STORE, 140723667824640, 140723667836927, -STORE, 140269474861056, 140269474889727, -STORE, 140269474852864, 140269474861055, -STORE, 140269470535680, 140269472649215, -SNULL, 140269470535680, 140269470547967, -STORE, 140269470547968, 140269472649215, -STORE, 140269470535680, 140269470547967, -SNULL, 140269472641023, 140269472649215, -STORE, 140269470547968, 140269472641023, -STORE, 140269472641024, 140269472649215, -ERASE, 140269472641024, 140269472649215, -STORE, 140269472641024, 140269472649215, -STORE, 140269466738688, 140269470535679, -SNULL, 140269466738688, 140269468397567, -STORE, 140269468397568, 140269470535679, -STORE, 140269466738688, 140269468397567, -SNULL, 140269470494719, 140269470535679, -STORE, 140269468397568, 140269470494719, -STORE, 140269470494720, 140269470535679, -SNULL, 140269470494720, 140269470519295, -STORE, 140269470519296, 140269470535679, -STORE, 140269470494720, 140269470519295, -ERASE, 140269470494720, 140269470519295, -STORE, 140269470494720, 140269470519295, -ERASE, 140269470519296, 140269470535679, -STORE, 140269470519296, 140269470535679, -STORE, 140269474844672, 140269474861055, -SNULL, 140269470511103, 140269470519295, -STORE, 140269470494720, 140269470511103, -STORE, 140269470511104, 140269470519295, -SNULL, 140269472645119, 140269472649215, -STORE, 140269472641024, 140269472645119, -STORE, 140269472645120, 140269472649215, -SNULL, 94231601115135, 94231601123327, -STORE, 94231601111040, 94231601115135, -STORE, 94231601115136, 94231601123327, -SNULL, 140269474893823, 140269474897919, -STORE, 140269474889728, 140269474893823, -STORE, 140269474893824, 140269474897919, -ERASE, 140269474861056, 140269474889727, -STORE, 94231626592256, 94231626727423, -STORE, 140269473161216, 140269474844671, -STORE, 94231626592256, 94231626862591, -STORE, 94231626592256, 94231626997759, -STORE, 94327178862592, 94327179075583, -STORE, 94327181172736, 94327181176831, -STORE, 94327181176832, 94327181185023, -STORE, 94327181185024, 94327181197311, -STORE, 94327185715200, 94327186685951, -STORE, 140172071755776, 140172073414655, -STORE, 140172073414656, 140172075511807, -STORE, 140172075511808, 140172075528191, -STORE, 140172075528192, 140172075536383, -STORE, 140172075536384, 140172075552767, -STORE, 140172075552768, 140172075565055, -STORE, 140172075565056, 140172077658111, -STORE, 140172077658112, 140172077662207, -STORE, 140172077662208, 140172077666303, -STORE, 140172077666304, 140172077809663, -STORE, 140172078178304, 140172079861759, -STORE, 140172079861760, 140172079878143, -STORE, 140172079878144, 140172079906815, -STORE, 140172079906816, 140172079910911, -STORE, 140172079910912, 140172079915007, -STORE, 140172079915008, 140172079919103, -STORE, 140720358359040, 140720358494207, -STORE, 140720358498304, 140720358510591, -STORE, 140720358510592, 140720358514687, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140722548621312, 140737488351231, -SNULL, 140722548629503, 140737488351231, -STORE, 140722548621312, 140722548629503, -STORE, 140722548490240, 140722548629503, -STORE, 93949289504768, 93949291728895, -SNULL, 93949289615359, 93949291728895, -STORE, 93949289504768, 93949289615359, -STORE, 93949289615360, 93949291728895, -ERASE, 93949289615360, 93949291728895, -STORE, 93949291708416, 93949291720703, -STORE, 93949291720704, 93949291728895, -STORE, 140305861902336, 140305864155135, -SNULL, 140305862045695, 140305864155135, -STORE, 140305861902336, 140305862045695, -STORE, 140305862045696, 140305864155135, -ERASE, 140305862045696, 140305864155135, -STORE, 140305864142848, 140305864151039, -STORE, 140305864151040, 140305864155135, -STORE, 140722549821440, 140722549825535, -STORE, 140722549809152, 140722549821439, -STORE, 140305864114176, 140305864142847, -STORE, 140305864105984, 140305864114175, -STORE, 140305858105344, 140305861902335, -SNULL, 140305858105344, 140305859764223, -STORE, 140305859764224, 140305861902335, -STORE, 140305858105344, 140305859764223, -SNULL, 140305861861375, 140305861902335, -STORE, 140305859764224, 140305861861375, -STORE, 140305861861376, 140305861902335, -SNULL, 140305861861376, 140305861885951, -STORE, 140305861885952, 140305861902335, -STORE, 140305861861376, 140305861885951, -ERASE, 140305861861376, 140305861885951, -STORE, 140305861861376, 140305861885951, -ERASE, 140305861885952, 140305861902335, -STORE, 140305861885952, 140305861902335, -SNULL, 140305861877759, 140305861885951, -STORE, 140305861861376, 140305861877759, -STORE, 140305861877760, 140305861885951, -SNULL, 93949291716607, 93949291720703, -STORE, 93949291708416, 93949291716607, -STORE, 93949291716608, 93949291720703, -SNULL, 140305864146943, 140305864151039, -STORE, 140305864142848, 140305864146943, -STORE, 140305864146944, 140305864151039, -ERASE, 140305864114176, 140305864142847, -STORE, 93949324136448, 93949324271615, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140725754908672, 140737488351231, -SNULL, 140725754916863, 140737488351231, -STORE, 140725754908672, 140725754916863, -STORE, 140725754777600, 140725754916863, -STORE, 94831184375808, 94831186599935, -SNULL, 94831184486399, 94831186599935, -STORE, 94831184375808, 94831184486399, -STORE, 94831184486400, 94831186599935, -ERASE, 94831184486400, 94831186599935, -STORE, 94831186579456, 94831186591743, -STORE, 94831186591744, 94831186599935, -STORE, 140605482479616, 140605484732415, -SNULL, 140605482622975, 140605484732415, -STORE, 140605482479616, 140605482622975, -STORE, 140605482622976, 140605484732415, -ERASE, 140605482622976, 140605484732415, -STORE, 140605484720128, 140605484728319, -STORE, 140605484728320, 140605484732415, -STORE, 140725755670528, 140725755674623, -STORE, 140725755658240, 140725755670527, -STORE, 140605484691456, 140605484720127, -STORE, 140605484683264, 140605484691455, -STORE, 140605478682624, 140605482479615, -SNULL, 140605478682624, 140605480341503, -STORE, 140605480341504, 140605482479615, -STORE, 140605478682624, 140605480341503, -SNULL, 140605482438655, 140605482479615, -STORE, 140605480341504, 140605482438655, -STORE, 140605482438656, 140605482479615, -SNULL, 140605482438656, 140605482463231, -STORE, 140605482463232, 140605482479615, -STORE, 140605482438656, 140605482463231, -ERASE, 140605482438656, 140605482463231, -STORE, 140605482438656, 140605482463231, -ERASE, 140605482463232, 140605482479615, -STORE, 140605482463232, 140605482479615, -SNULL, 140605482455039, 140605482463231, -STORE, 140605482438656, 140605482455039, -STORE, 140605482455040, 140605482463231, -SNULL, 94831186587647, 94831186591743, -STORE, 94831186579456, 94831186587647, -STORE, 94831186587648, 94831186591743, -SNULL, 140605484724223, 140605484728319, -STORE, 140605484720128, 140605484724223, -STORE, 140605484724224, 140605484728319, -ERASE, 140605484691456, 140605484720127, -STORE, 94831217156096, 94831217291263, -STORE, 94327178862592, 94327179075583, -STORE, 94327181172736, 94327181176831, -STORE, 94327181176832, 94327181185023, -STORE, 94327181185024, 94327181197311, -STORE, 94327185715200, 94327186685951, -STORE, 140172071755776, 140172073414655, -STORE, 140172073414656, 140172075511807, -STORE, 140172075511808, 140172075528191, -STORE, 140172075528192, 140172075536383, -STORE, 140172075536384, 140172075552767, -STORE, 140172075552768, 140172075565055, -STORE, 140172075565056, 140172077658111, -STORE, 140172077658112, 140172077662207, -STORE, 140172077662208, 140172077666303, -STORE, 140172077666304, 140172077809663, -STORE, 140172078178304, 140172079861759, -STORE, 140172079861760, 140172079878143, -STORE, 140172079878144, 140172079906815, -STORE, 140172079906816, 140172079910911, -STORE, 140172079910912, 140172079915007, -STORE, 140172079915008, 140172079919103, -STORE, 140720358359040, 140720358494207, -STORE, 140720358498304, 140720358510591, -STORE, 140720358510592, 140720358514687, -STORE, 140737488347136, 140737488351231, -STORE, 140737488343040, 140737488351231, -STORE, 140737488338944, 140737488351231, -STORE, 140734529933312, 140737488351231, -SNULL, 140734529945599, 140737488351231, -STORE, 140734529933312, 140734529945599, -STORE, 140734529802240, 140734529945599, -STORE, 4194304, 26279935, -STORE, 28372992, 28454911, -STORE, 28454912, 29806591, -STORE, 140249744060416, 140249746313215, -SNULL, 140249744203775, 140249746313215, -STORE, 140249744060416, 140249744203775, -STORE, 140249744203776, 140249746313215, -ERASE, 140249744203776, 140249746313215, -STORE, 140249746300928, 140249746309119, -STORE, 140249746309120, 140249746313215, -STORE, 140734530174976, 140734530179071, -STORE, 140734530162688, 140734530174975, -STORE, 140249746272256, 140249746300927, -STORE, 140249746264064, 140249746272255, -STORE, 140249740226560, 140249744060415, -SNULL, 140249740226560, 140249741934591, -STORE, 140249741934592, 140249744060415, -STORE, 140249740226560, 140249741934591, -SNULL, 140249744027647, 140249744060415, -STORE, 140249741934592, 140249744027647, -STORE, 140249744027648, 140249744060415, -ERASE, 140249744027648, 140249744060415, -STORE, 140249744027648, 140249744060415, -STORE, 140249738031104, 140249740226559, -SNULL, 140249738031104, 140249738125311, -STORE, 140249738125312, 140249740226559, -STORE, 140249738031104, 140249738125311, -SNULL, 140249740218367, 140249740226559, -STORE, 140249738125312, 140249740218367, -STORE, 140249740218368, 140249740226559, -ERASE, 140249740218368, 140249740226559, -STORE, 140249740218368, 140249740226559, -STORE, 140249735512064, 140249738031103, -SNULL, 140249735512064, 140249735925759, -STORE, 140249735925760, 140249738031103, -STORE, 140249735512064, 140249735925759, -SNULL, 140249738018815, 140249738031103, -STORE, 140249735925760, 140249738018815, -STORE, 140249738018816, 140249738031103, -ERASE, 140249738018816, 140249738031103, -STORE, 140249738018816, 140249738031103, -STORE, 140249732878336, 140249735512063, -SNULL, 140249732878336, 140249733406719, -STORE, 140249733406720, 140249735512063, -STORE, 140249732878336, 140249733406719, -SNULL, 140249735503871, 140249735512063, -STORE, 140249733406720, 140249735503871, -STORE, 140249735503872, 140249735512063, -ERASE, 140249735503872, 140249735512063, -STORE, 140249735503872, 140249735512063, -STORE, 140249730764800, 140249732878335, -SNULL, 140249730764800, 140249730777087, -STORE, 140249730777088, 140249732878335, -STORE, 140249730764800, 140249730777087, -SNULL, 140249732870143, 140249732878335, -STORE, 140249730777088, 140249732870143, -STORE, 140249732870144, 140249732878335, -ERASE, 140249732870144, 140249732878335, -STORE, 140249732870144, 140249732878335, -STORE, 140249728561152, 140249730764799, -SNULL, 140249728561152, 140249728663551, -STORE, 140249728663552, 140249730764799, -STORE, 140249728561152, 140249728663551, -SNULL, 140249730756607, 140249730764799, -STORE, 140249728663552, 140249730756607, -STORE, 140249730756608, 140249730764799, -ERASE, 140249730756608, 140249730764799, -STORE, 140249730756608, 140249730764799, -STORE, 140249746255872, 140249746272255, -STORE, 140249725399040, 140249728561151, -SNULL, 140249725399040, 140249726459903, -STORE, 140249726459904, 140249728561151, -STORE, 140249725399040, 140249726459903, -SNULL, 140249728552959, 140249728561151, -STORE, 140249726459904, 140249728552959, -STORE, 140249728552960, 140249728561151, -ERASE, 140249728552960, 140249728561151, -STORE, 140249728552960, 140249728561151, -STORE, 140249721602048, 140249725399039, -SNULL, 140249721602048, 140249723260927, -STORE, 140249723260928, 140249725399039, -STORE, 140249721602048, 140249723260927, -SNULL, 140249725358079, 140249725399039, -STORE, 140249723260928, 140249725358079, -STORE, 140249725358080, 140249725399039, -SNULL, 140249725358080, 140249725382655, -STORE, 140249725382656, 140249725399039, -STORE, 140249725358080, 140249725382655, -ERASE, 140249725358080, 140249725382655, -STORE, 140249725358080, 140249725382655, -ERASE, 140249725382656, 140249725399039, -STORE, 140249725382656, 140249725399039, -STORE, 140249746243584, 140249746272255, -SNULL, 140249725374463, 140249725382655, -STORE, 140249725358080, 140249725374463, -STORE, 140249725374464, 140249725382655, -SNULL, 140249728557055, 140249728561151, -STORE, 140249728552960, 140249728557055, -STORE, 140249728557056, 140249728561151, -SNULL, 140249730760703, 140249730764799, -STORE, 140249730756608, 140249730760703, -STORE, 140249730760704, 140249730764799, -SNULL, 140249732874239, 140249732878335, -STORE, 140249732870144, 140249732874239, -STORE, 140249732874240, 140249732878335, -SNULL, 140249735507967, 140249735512063, -STORE, 140249735503872, 140249735507967, -STORE, 140249735507968, 140249735512063, -SNULL, 140249738027007, 140249738031103, -STORE, 140249738018816, 140249738027007, -STORE, 140249738027008, 140249738031103, -SNULL, 140249740222463, 140249740226559, -STORE, 140249740218368, 140249740222463, -STORE, 140249740222464, 140249740226559, -SNULL, 140249744031743, 140249744060415, -STORE, 140249744027648, 140249744031743, -STORE, 140249744031744, 140249744060415, -SNULL, 28405759, 28454911, -STORE, 28372992, 28405759, -STORE, 28405760, 28454911, -SNULL, 140249746305023, 140249746309119, -STORE, 140249746300928, 140249746305023, -STORE, 140249746305024, 140249746309119, -ERASE, 140249746272256, 140249746300927, -STORE, 33853440, 33988607, -STORE, 140249744560128, 140249746243583, -STORE, 140249746296832, 140249746300927, -STORE, 140249744424960, 140249744560127, -STORE, 33853440, 34131967, -STORE, 140249719504896, 140249721602047, -STORE, 140249746288640, 140249746300927, -STORE, 140249746280448, 140249746300927, -STORE, 140249746243584, 140249746280447, -STORE, 140249744408576, 140249744560127, -STORE, 33853440, 34267135, -STORE, 33853440, 34422783, -STORE, 140249744400384, 140249744560127, -STORE, 140249744392192, 140249744560127, -STORE, 33853440, 34557951, -STORE, 33853440, 34693119, -STORE, 140249744375808, 140249744560127, -STORE, 140249744367616, 140249744560127, -STORE, 33853440, 34832383, -STORE, 140249719230464, 140249721602047, -STORE, 140249744207872, 140249744560127, -STORE, 33853440, 34971647, -SNULL, 34963455, 34971647, -STORE, 33853440, 34963455, -STORE, 34963456, 34971647, -ERASE, 34963456, 34971647, -SNULL, 34955263, 34963455, -STORE, 33853440, 34955263, -STORE, 34955264, 34963455, -ERASE, 34955264, 34963455, -SNULL, 34947071, 34955263, -STORE, 33853440, 34947071, -STORE, 34947072, 34955263, -ERASE, 34947072, 34955263, -SNULL, 34938879, 34947071, -STORE, 33853440, 34938879, -STORE, 34938880, 34947071, -ERASE, 34938880, 34947071, -STORE, 140249719214080, 140249721602047, -STORE, 140249719148544, 140249721602047, -STORE, 140249719115776, 140249721602047, -STORE, 140249717018624, 140249721602047, -STORE, 140249716953088, 140249721602047, -STORE, 33853440, 35086335, -STORE, 140249716822016, 140249721602047, -STORE, 140249716559872, 140249721602047, -STORE, 140249716551680, 140249721602047, -STORE, 140249716535296, 140249721602047, -STORE, 140249716527104, 140249721602047, -STORE, 140249716518912, 140249721602047, -STORE, 33853440, 35221503, -SNULL, 35213311, 35221503, -STORE, 33853440, 35213311, -STORE, 35213312, 35221503, -ERASE, 35213312, 35221503, -SNULL, 35205119, 35213311, -STORE, 33853440, 35205119, -STORE, 35205120, 35213311, -ERASE, 35205120, 35213311, -SNULL, 35192831, 35205119, -STORE, 33853440, 35192831, -STORE, 35192832, 35205119, -ERASE, 35192832, 35205119, -SNULL, 35176447, 35192831, -STORE, 33853440, 35176447, -STORE, 35176448, 35192831, -ERASE, 35176448, 35192831, -STORE, 140249716502528, 140249721602047, -STORE, 33853440, 35311615, -SNULL, 35307519, 35311615, -STORE, 33853440, 35307519, -STORE, 35307520, 35311615, -ERASE, 35307520, 35311615, -SNULL, 35303423, 35307519, -STORE, 33853440, 35303423, -STORE, 35303424, 35307519, -ERASE, 35303424, 35307519, -SNULL, 35299327, 35303423, -STORE, 33853440, 35299327, -STORE, 35299328, 35303423, -ERASE, 35299328, 35303423, -SNULL, 35295231, 35299327, -STORE, 33853440, 35295231, -STORE, 35295232, 35299327, -ERASE, 35295232, 35299327, -SNULL, 35291135, 35295231, -STORE, 33853440, 35291135, -STORE, 35291136, 35295231, -ERASE, 35291136, 35295231, -SNULL, 35287039, 35291135, -STORE, 33853440, 35287039, -STORE, 35287040, 35291135, -ERASE, 35287040, 35291135, -SNULL, 35282943, 35287039, -STORE, 33853440, 35282943, -STORE, 35282944, 35287039, -ERASE, 35282944, 35287039, -STORE, 140249716486144, 140249721602047, -STORE, 140249716453376, 140249721602047, -STORE, 33853440, 35418111, -SNULL, 35401727, 35418111, -STORE, 33853440, 35401727, -STORE, 35401728, 35418111, -ERASE, 35401728, 35418111, -SNULL, 35389439, 35401727, -STORE, 33853440, 35389439, -STORE, 35389440, 35401727, -ERASE, 35389440, 35401727, -STORE, 140249714356224, 140249721602047, -STORE, 33853440, 35540991, -STORE, 140249714339840, 140249721602047, -STORE, 140249714077696, 140249721602047, -STORE, 140249714069504, 140249721602047, -STORE, 140249714061312, 140249721602047, -STORE, 33853440, 35680255, -SNULL, 35672063, 35680255, -STORE, 33853440, 35672063, -STORE, 35672064, 35680255, -ERASE, 35672064, 35680255, -SNULL, 35627007, 35672063, -STORE, 33853440, 35627007, -STORE, 35627008, 35672063, -ERASE, 35627008, 35672063, -STORE, 140249711964160, 140249721602047, -STORE, 33853440, 35762175, -SNULL, 35753983, 35762175, -STORE, 33853440, 35753983, -STORE, 35753984, 35762175, -ERASE, 35753984, 35762175, -SNULL, 35745791, 35753983, -STORE, 33853440, 35745791, -STORE, 35745792, 35753983, -ERASE, 35745792, 35753983, -STORE, 140249711955968, 140249721602047, -STORE, 140249711947776, 140249721602047, -STORE, 140249710899200, 140249721602047, -STORE, 140249710866432, 140249721602047, -STORE, 140249710600192, 140249721602047, -SNULL, 140249744424959, 140249744560127, -STORE, 140249744207872, 140249744424959, -STORE, 140249744424960, 140249744560127, -ERASE, 140249744424960, 140249744560127, -STORE, 140249708503040, 140249721602047, -STORE, 33853440, 35885055, -STORE, 140249707978752, 140249721602047, -STORE, 140249705881600, 140249721602047, -STORE, 33853440, 36036607, -STORE, 33853440, 36175871, -STORE, 140249744551936, 140249744560127, -STORE, 140249744543744, 140249744560127, -STORE, 140249744535552, 140249744560127, -STORE, 140249744527360, 140249744560127, -STORE, 140249744519168, 140249744560127, -STORE, 140249705619456, 140249721602047, -STORE, 140249744510976, 140249744560127, -STORE, 140249744502784, 140249744560127, -STORE, 140249744494592, 140249744560127, -STORE, 140249744486400, 140249744560127, -STORE, 140249744478208, 140249744560127, -STORE, 140249744470016, 140249744560127, -STORE, 140249744461824, 140249744560127, -STORE, 140249744453632, 140249744560127, -STORE, 140249744445440, 140249744560127, -STORE, 140249744437248, 140249744560127, -STORE, 140249744429056, 140249744560127, -STORE, 140249703522304, 140249721602047, -STORE, 33853440, 36311039, -STORE, 140249703489536, 140249721602047, -STORE, 33853440, 36474879, -STORE, 140249703456768, 140249721602047, -STORE, 33853440, 36622335, -STORE, 140249703424000, 140249721602047, -STORE, 140249703391232, 140249721602047, -STORE, 33853440, 36810751, -STORE, 140249703358464, 140249721602047, -STORE, 140249703325696, 140249721602047, -SNULL, 36655103, 36810751, -STORE, 33853440, 36655103, -STORE, 36655104, 36810751, -ERASE, 36655104, 36810751, -SNULL, 36438015, 36655103, -STORE, 33853440, 36438015, -STORE, 36438016, 36655103, -ERASE, 36438016, 36655103, -STORE, 140249703317504, 140249721602047, -STORE, 140249701220352, 140249721602047, -STORE, 33853440, 36585471, -STORE, 33853440, 36782079, -STORE, 140249701212160, 140249721602047, -STORE, 140249701203968, 140249721602047, -STORE, 140249701195776, 140249721602047, -STORE, 140249701187584, 140249721602047, -STORE, 140249701179392, 140249721602047, -STORE, 140249701171200, 140249721602047, -STORE, 140249701163008, 140249721602047, -STORE, 140249701154816, 140249721602047, -STORE, 140249701146624, 140249721602047, -STORE, 140249701138432, 140249721602047, -STORE, 140249701130240, 140249721602047, -STORE, 140249700081664, 140249721602047, -STORE, 140249700073472, 140249721602047, -STORE, 33853440, 36978687, -STORE, 140249697976320, 140249721602047, -STORE, 33853440, 37240831, -STORE, 140249695879168, 140249721602047, -STORE, 140249695870976, 140249721602047, -STORE, 140249695862784, 140249721602047, -STORE, 140249695854592, 140249721602047, -STORE, 140249695326208, 140249721602047, -SNULL, 140249710600191, 140249721602047, -STORE, 140249695326208, 140249710600191, -STORE, 140249710600192, 140249721602047, -SNULL, 140249710600192, 140249710866431, -STORE, 140249710866432, 140249721602047, -STORE, 140249710600192, 140249710866431, -ERASE, 140249710600192, 140249710866431, -STORE, 140249691131904, 140249710600191, -STORE, 33853440, 37474303, -STORE, 140249710858240, 140249721602047, -STORE, 140249710850048, 140249721602047, -STORE, 140249710841856, 140249721602047, -STORE, 140249710833664, 140249721602047, -STORE, 140249710825472, 140249721602047, -STORE, 140249710817280, 140249721602047, -STORE, 140249710809088, 140249721602047, -STORE, 140249710800896, 140249721602047, -STORE, 140249710792704, 140249721602047, -STORE, 140249710784512, 140249721602047, -STORE, 140249710776320, 140249721602047, -STORE, 140249710768128, 140249721602047, -STORE, 140249710759936, 140249721602047, -STORE, 140249710751744, 140249721602047, -STORE, 140249710743552, 140249721602047, -STORE, 140249710735360, 140249721602047, -STORE, 140249689034752, 140249710600191, -STORE, 140249710727168, 140249721602047, -STORE, 140249686937600, 140249710600191, -STORE, 33853440, 37867519, -STORE, 140249684840448, 140249710600191, -STORE, 140249710718976, 140249721602047, -STORE, 140249682743296, 140249710600191, -STORE, 140249710710784, 140249721602047, -STORE, 140249710702592, 140249721602047, -STORE, 140249710694400, 140249721602047, -STORE, 140249710686208, 140249721602047, -STORE, 140249710678016, 140249721602047, -STORE, 140249682612224, 140249710600191, -STORE, 140249682087936, 140249710600191, -SNULL, 140249705619455, 140249710600191, -STORE, 140249682087936, 140249705619455, -STORE, 140249705619456, 140249710600191, -SNULL, 140249705619456, 140249705881599, -STORE, 140249705881600, 140249710600191, -STORE, 140249705619456, 140249705881599, -ERASE, 140249705619456, 140249705881599, -STORE, 140249679990784, 140249705619455, -STORE, 140249710669824, 140249721602047, -STORE, 140249677893632, 140249705619455, -STORE, 140249710653440, 140249721602047, -STORE, 140249710645248, 140249721602047, -STORE, 140249710637056, 140249721602047, -STORE, 140249710628864, 140249721602047, -STORE, 140249710620672, 140249721602047, -STORE, 140249710612480, 140249721602047, -STORE, 140249710604288, 140249721602047, -STORE, 140249705873408, 140249710600191, -STORE, 140249705865216, 140249710600191, -STORE, 140249705857024, 140249710600191, -STORE, 140249705848832, 140249710600191, -STORE, 140249705840640, 140249710600191, -STORE, 140249705832448, 140249710600191, -STORE, 140249705824256, 140249710600191, -STORE, 140249705816064, 140249710600191, -STORE, 140249705807872, 140249710600191, -STORE, 140249705799680, 140249710600191, -STORE, 33853440, 38129663, -SNULL, 140249744207872, 140249744367615, -STORE, 140249744367616, 140249744424959, -STORE, 140249744207872, 140249744367615, -ERASE, 140249744207872, 140249744367615, -STORE, 140249677606912, 140249705619455, -STORE, 140249675509760, 140249705619455, -SNULL, 140249677606911, 140249705619455, -STORE, 140249675509760, 140249677606911, -STORE, 140249677606912, 140249705619455, -SNULL, 140249677606912, 140249677893631, -STORE, 140249677893632, 140249705619455, -STORE, 140249677606912, 140249677893631, -ERASE, 140249677606912, 140249677893631, -STORE, 140249744359424, 140249744424959, -STORE, 33853440, 38391807, -STORE, 140249674981376, 140249677606911, -STORE, 140249672884224, 140249677606911, -SNULL, 140249719230463, 140249721602047, -STORE, 140249710604288, 140249719230463, -STORE, 140249719230464, 140249721602047, -SNULL, 140249719230464, 140249719504895, -STORE, 140249719504896, 140249721602047, -STORE, 140249719230464, 140249719504895, -ERASE, 140249719230464, 140249719504895, -STORE, 140249744351232, 140249744424959, -STORE, 140249744343040, 140249744424959, -STORE, 140249744334848, 140249744424959, -STORE, 140249744326656, 140249744424959, -STORE, 140249744310272, 140249744424959, -STORE, 140249744302080, 140249744424959, -STORE, 140249744285696, 140249744424959, -STORE, 140249744277504, 140249744424959, -STORE, 140249744261120, 140249744424959, -STORE, 140249744252928, 140249744424959, -STORE, 140249744220160, 140249744424959, -STORE, 140249744211968, 140249744424959, -STORE, 140249719488512, 140249721602047, -STORE, 140249744203776, 140249744424959, -STORE, 140249719472128, 140249721602047, -STORE, 140249719463936, 140249721602047, -STORE, 140249719447552, 140249721602047, -STORE, 140249719439360, 140249721602047, -STORE, 140249719406592, 140249721602047, -STORE, 140249719398400, 140249721602047, -STORE, 140249719382016, 140249721602047, -STORE, 140249719373824, 140249721602047, -STORE, 140249719357440, 140249721602047, -STORE, 140249719349248, 140249721602047, -STORE, 140249719332864, 140249721602047, -STORE, 140249719324672, 140249721602047, -STORE, 140249719291904, 140249721602047, -STORE, 140249719283712, 140249721602047, -STORE, 140249719267328, 140249721602047, -STORE, 140249719259136, 140249721602047, -STORE, 140249719242752, 140249721602047, -STORE, 140249719234560, 140249721602047, -STORE, 140249705783296, 140249710600191, -STORE, 140249705775104, 140249710600191, -STORE, 140249705742336, 140249710600191, -STORE, 140249705734144, 140249710600191, -STORE, 140249705717760, 140249710600191, -STORE, 140249670787072, 140249677606911, -STORE, 140249705709568, 140249710600191, -STORE, 140249705693184, 140249710600191, -STORE, 140249705684992, 140249710600191, -STORE, 140249705668608, 140249710600191, -STORE, 140249705660416, 140249710600191, -STORE, 140249705627648, 140249710600191, -STORE, 140249677893632, 140249710600191, -STORE, 140249677877248, 140249710600191, -STORE, 140249677869056, 140249710600191, -STORE, 140249677852672, 140249710600191, -STORE, 140249677844480, 140249710600191, -STORE, 140249677828096, 140249710600191, -STORE, 140249668689920, 140249677606911, -STORE, 140249677819904, 140249710600191, -STORE, 140249677787136, 140249710600191, -STORE, 140249677778944, 140249710600191, -STORE, 140249677762560, 140249710600191, -STORE, 140249677754368, 140249710600191, -STORE, 140249677737984, 140249710600191, -STORE, 140249677729792, 140249710600191, -STORE, 140249677713408, 140249710600191, -STORE, 140249677705216, 140249710600191, -STORE, 140249677672448, 140249710600191, -STORE, 140249677664256, 140249710600191, -STORE, 140249677647872, 140249710600191, -STORE, 140249677639680, 140249710600191, -STORE, 140249677623296, 140249710600191, -STORE, 140249677615104, 140249710600191, -STORE, 140249668673536, 140249677606911, -STORE, 140249668673536, 140249710600191, -STORE, 140249668640768, 140249710600191, -STORE, 140249668632576, 140249710600191, -STORE, 140249668616192, 140249710600191, -STORE, 140249668608000, 140249710600191, -STORE, 140249668591616, 140249710600191, -STORE, 140249668583424, 140249710600191, -STORE, 140249668567040, 140249710600191, -STORE, 140249668558848, 140249710600191, -STORE, 140249668526080, 140249710600191, -STORE, 140249668517888, 140249710600191, -STORE, 140249668501504, 140249710600191, -STORE, 140249668493312, 140249710600191, -STORE, 140249668476928, 140249710600191, -STORE, 140249668468736, 140249710600191, -STORE, 140249668452352, 140249710600191, -STORE, 140249668444160, 140249710600191, -STORE, 140249668411392, 140249710600191, -STORE, 140249668403200, 140249710600191, -STORE, 140249668386816, 140249710600191, -STORE, 140249668378624, 140249710600191, -STORE, 140249668362240, 140249710600191, -STORE, 140249668354048, 140249710600191, -STORE, 140249668337664, 140249710600191, -STORE, 140249668329472, 140249710600191, -STORE, 140249668296704, 140249710600191, -STORE, 140249668288512, 140249710600191, -STORE, 140249668272128, 140249710600191, -STORE, 140249668263936, 140249710600191, -STORE, 140249668247552, 140249710600191, -STORE, 140249668239360, 140249710600191, -STORE, 140249668222976, 140249710600191, -STORE, 140249668214784, 140249710600191, -STORE, 140249668182016, 140249710600191, -STORE, 140249668173824, 140249710600191, -STORE, 140249668157440, 140249710600191, -STORE, 140249668149248, 140249710600191, -STORE, 140249668132864, 140249710600191, -STORE, 140249668124672, 140249710600191, -STORE, 140249668108288, 140249710600191, -STORE, 140249668100096, 140249710600191, -STORE, 140249668067328, 140249710600191, -STORE, 140249668059136, 140249710600191, -STORE, 140249668042752, 140249710600191, -STORE, 140249668034560, 140249710600191, -STORE, 140249668018176, 140249710600191, -STORE, 140249668009984, 140249710600191, -STORE, 140249667993600, 140249710600191, -STORE, 140249667985408, 140249710600191, -STORE, 140249667952640, 140249710600191, -STORE, 140249667944448, 140249710600191, -STORE, 140249667928064, 140249710600191, -STORE, 140249667919872, 140249710600191, -STORE, 140249667903488, 140249710600191, -STORE, 140249667895296, 140249710600191, -STORE, 140249667878912, 140249710600191, -STORE, 140249667870720, 140249710600191, -STORE, 140249667837952, 140249710600191, -STORE, 140249667829760, 140249710600191, -STORE, 140249667813376, 140249710600191, -STORE, 140249667805184, 140249710600191, -STORE, 140249667788800, 140249710600191, -STORE, 140249667780608, 140249710600191, -STORE, 140249667764224, 140249710600191, -STORE, 140249667756032, 140249710600191, -STORE, 140249667723264, 140249710600191, -STORE, 140249667715072, 140249710600191, -STORE, 140249667698688, 140249710600191, -STORE, 140249667690496, 140249710600191, -STORE, 140249667674112, 140249710600191, -STORE, 140249667665920, 140249710600191, -STORE, 140249667649536, 140249710600191, -STORE, 140249667641344, 140249710600191, -STORE, 140249667608576, 140249710600191, -STORE, 140249667600384, 140249710600191, -STORE, 140249667584000, 140249710600191, -STORE, 140249667575808, 140249710600191, -STORE, 140249667559424, 140249710600191, -STORE, 140249667551232, 140249710600191, -STORE, 140249667534848, 140249710600191, -STORE, 140249667526656, 140249710600191, -STORE, 140249667493888, 140249710600191, -STORE, 140249667485696, 140249710600191, -STORE, 140249667469312, 140249710600191, -STORE, 140249667461120, 140249710600191, -STORE, 140249667444736, 140249710600191, -STORE, 140249667436544, 140249710600191, -STORE, 140249667420160, 140249710600191, -STORE, 140249665323008, 140249710600191, -STORE, 140249665314816, 140249710600191, -STORE, 140249665282048, 140249710600191, -STORE, 140249665273856, 140249710600191, -STORE, 140249665257472, 140249710600191, -STORE, 140249665249280, 140249710600191, -STORE, 140249665232896, 140249710600191, -STORE, 140249665224704, 140249710600191, -STORE, 140249665208320, 140249710600191, -STORE, 140249665200128, 140249710600191, -STORE, 140249665167360, 140249710600191, -STORE, 140249665159168, 140249710600191, -STORE, 140249665142784, 140249710600191, -STORE, 140249665134592, 140249710600191, -STORE, 140249665118208, 140249710600191, -STORE, 140249665110016, 140249710600191, -STORE, 140249665093632, 140249710600191, -STORE, 140249665085440, 140249710600191, -STORE, 140249665052672, 140249710600191, -STORE, 140249665044480, 140249710600191, -STORE, 140249665028096, 140249710600191, -STORE, 140249665019904, 140249710600191, -STORE, 140249665003520, 140249710600191, -STORE, 140249664995328, 140249710600191, -STORE, 140249664978944, 140249710600191, -STORE, 140249664970752, 140249710600191, -STORE, 140249664937984, 140249710600191, -STORE, 140249664929792, 140249710600191, -STORE, 140249664913408, 140249710600191, -STORE, 140249664905216, 140249710600191, -STORE, 140249664888832, 140249710600191, -STORE, 140249664880640, 140249710600191, -STORE, 140249664864256, 140249710600191, -STORE, 140249664856064, 140249710600191, -STORE, 140249664823296, 140249710600191, -STORE, 140249664815104, 140249710600191, -STORE, 140249664798720, 140249710600191, -STORE, 140249664790528, 140249710600191, -STORE, 140249664774144, 140249710600191, -STORE, 140249664765952, 140249710600191, -STORE, 140249664749568, 140249710600191, -STORE, 140249664741376, 140249710600191, -STORE, 140249664708608, 140249710600191, -STORE, 140249664700416, 140249710600191, -STORE, 140249664684032, 140249710600191, -STORE, 140249664675840, 140249710600191, -STORE, 140249664659456, 140249710600191, -STORE, 140249664651264, 140249710600191, -STORE, 140249664634880, 140249710600191, -STORE, 140249664626688, 140249710600191, -STORE, 140249664593920, 140249710600191, -STORE, 140249664585728, 140249710600191, -STORE, 140249664569344, 140249710600191, -STORE, 140249664561152, 140249710600191, -STORE, 140249664544768, 140249710600191, -STORE, 140249664536576, 140249710600191, -STORE, 140249664520192, 140249710600191, -STORE, 140249664512000, 140249710600191, -STORE, 140249664479232, 140249710600191, -STORE, 140249664471040, 140249710600191, -STORE, 140249664454656, 140249710600191, -STORE, 140249664446464, 140249710600191, -STORE, 140249664430080, 140249710600191, -STORE, 140249664421888, 140249710600191, -STORE, 140249664405504, 140249710600191, -STORE, 140249664397312, 140249710600191, -STORE, 140249664364544, 140249710600191, -STORE, 140249664356352, 140249710600191, -STORE, 140249664339968, 140249710600191, -STORE, 140249664331776, 140249710600191, -STORE, 140249664315392, 140249710600191, -STORE, 140249664307200, 140249710600191, -STORE, 140249664290816, 140249710600191, -STORE, 140249664282624, 140249710600191, -STORE, 140249664249856, 140249710600191, -STORE, 140249664241664, 140249710600191, -STORE, 140249664225280, 140249710600191, -STORE, 140249664217088, 140249710600191, -STORE, 140249664200704, 140249710600191, -STORE, 140249664192512, 140249710600191, -STORE, 140249664176128, 140249710600191, -STORE, 140249664167936, 140249710600191, -STORE, 140249664135168, 140249710600191, -STORE, 140249664126976, 140249710600191, -STORE, 140249664110592, 140249710600191, -STORE, 140249664102400, 140249710600191, -STORE, 140249664086016, 140249710600191, -STORE, 140249664077824, 140249710600191, -STORE, 140249664061440, 140249710600191, -STORE, 140249664053248, 140249710600191, -STORE, 140249664020480, 140249710600191, -STORE, 140249664012288, 140249710600191, -STORE, 140249663995904, 140249710600191, -STORE, 140249663987712, 140249710600191, -STORE, 140249663971328, 140249710600191, -STORE, 140249663963136, 140249710600191, -STORE, 140249663946752, 140249710600191, -STORE, 140249663938560, 140249710600191, -STORE, 140249663905792, 140249710600191, -STORE, 140249663897600, 140249710600191, -STORE, 140249663881216, 140249710600191, -STORE, 140249663873024, 140249710600191, -STORE, 140249663856640, 140249710600191, -STORE, 140249663848448, 140249710600191, -STORE, 140249663832064, 140249710600191, -STORE, 140249663823872, 140249710600191, -STORE, 140249663791104, 140249710600191, -STORE, 140249663782912, 140249710600191, -STORE, 140249663766528, 140249710600191, -STORE, 140249663758336, 140249710600191, -STORE, 140249663741952, 140249710600191, -STORE, 140249663733760, 140249710600191, -STORE, 140249663717376, 140249710600191, -STORE, 140249663709184, 140249710600191, -STORE, 140249663676416, 140249710600191, -STORE, 140249663668224, 140249710600191, -STORE, 140249663651840, 140249710600191, -STORE, 140249663643648, 140249710600191, -STORE, 140249663627264, 140249710600191, -STORE, 33853440, 38526975, -STORE, 140249663619072, 140249710600191, -STORE, 140249663602688, 140249710600191, -STORE, 140249661505536, 140249710600191, -STORE, 140249661497344, 140249710600191, -STORE, 140249661464576, 140249710600191, -STORE, 140249661456384, 140249710600191, -STORE, 140249661440000, 140249710600191, -STORE, 140249661431808, 140249710600191, -STORE, 140249661415424, 140249710600191, -STORE, 140249661407232, 140249710600191, -STORE, 140249661390848, 140249710600191, -STORE, 140249661382656, 140249710600191, -STORE, 140249661349888, 140249710600191, -STORE, 140249661341696, 140249710600191, -STORE, 140249661325312, 140249710600191, -STORE, 140249661317120, 140249710600191, -STORE, 140249661300736, 140249710600191, -STORE, 140249661292544, 140249710600191, -STORE, 140249661276160, 140249710600191, -STORE, 140249661267968, 140249710600191, -STORE, 140249661235200, 140249710600191, -STORE, 140249661227008, 140249710600191, -STORE, 140249661210624, 140249710600191, -STORE, 140249661202432, 140249710600191, -STORE, 140249661186048, 140249710600191, -STORE, 140249661177856, 140249710600191, -STORE, 140249661161472, 140249710600191, -STORE, 140249661153280, 140249710600191, -STORE, 140249661120512, 140249710600191, -STORE, 140249661112320, 140249710600191, -STORE, 140249661095936, 140249710600191, -STORE, 140249661087744, 140249710600191, -STORE, 140249661071360, 140249710600191, -STORE, 140249661063168, 140249710600191, -STORE, 140249661046784, 140249710600191, -STORE, 140249661038592, 140249710600191, -STORE, 140249661005824, 140249710600191, -STORE, 140249660997632, 140249710600191, -STORE, 140249660981248, 140249710600191, -STORE, 140249660973056, 140249710600191, -STORE, 140249660956672, 140249710600191, -STORE, 140249660948480, 140249710600191, -STORE, 140249660932096, 140249710600191, -STORE, 140249660923904, 140249710600191, -STORE, 140249660891136, 140249710600191, -STORE, 140249660882944, 140249710600191, -STORE, 140249660866560, 140249710600191, -STORE, 140249660858368, 140249710600191, -STORE, 140249660841984, 140249710600191, -STORE, 140249660833792, 140249710600191, -STORE, 140249660817408, 140249710600191, -STORE, 140249660809216, 140249710600191, -STORE, 140249660776448, 140249710600191, -STORE, 140249660768256, 140249710600191, -STORE, 140249660751872, 140249710600191, -STORE, 140249660743680, 140249710600191, -STORE, 140249660727296, 140249710600191, -STORE, 140249660719104, 140249710600191, -STORE, 140249660702720, 140249710600191, -STORE, 140249660694528, 140249710600191, -STORE, 140249660661760, 140249710600191, -STORE, 140249660653568, 140249710600191, -STORE, 140249660637184, 140249710600191, -STORE, 140249660628992, 140249710600191, -STORE, 140249660612608, 140249710600191, -STORE, 140249660604416, 140249710600191, -STORE, 140249660588032, 140249710600191, -STORE, 140249660579840, 140249710600191, -STORE, 140249660547072, 140249710600191, -STORE, 140249660538880, 140249710600191, -STORE, 140249660522496, 140249710600191, -STORE, 140249660514304, 140249710600191, -STORE, 140249660497920, 140249710600191, -STORE, 140249660489728, 140249710600191, -STORE, 140249660473344, 140249710600191, -STORE, 140249660465152, 140249710600191, -STORE, 140249660432384, 140249710600191, -STORE, 140249660424192, 140249710600191, -STORE, 140249660407808, 140249710600191, -STORE, 140249660399616, 140249710600191, -STORE, 140249660383232, 140249710600191, -STORE, 140249660375040, 140249710600191, -STORE, 140249660358656, 140249710600191, -STORE, 140249660350464, 140249710600191, -STORE, 140249660317696, 140249710600191, -STORE, 140249660309504, 140249710600191, -STORE, 140249660293120, 140249710600191, -STORE, 140249660284928, 140249710600191, -STORE, 140249660268544, 140249710600191, -STORE, 140249660260352, 140249710600191, -STORE, 140249660243968, 140249710600191, -STORE, 140249660235776, 140249710600191, -STORE, 140249660203008, 140249710600191, -STORE, 140249660194816, 140249710600191, -STORE, 140249660178432, 140249710600191, -STORE, 140249660170240, 140249710600191, -STORE, 140249660153856, 140249710600191, -STORE, 140249660145664, 140249710600191, -STORE, 140249660129280, 140249710600191, -STORE, 140249660121088, 140249710600191, -STORE, 140249660088320, 140249710600191, -STORE, 140249660080128, 140249710600191, -STORE, 140249660063744, 140249710600191, -STORE, 140249660055552, 140249710600191, -STORE, 140249660039168, 140249710600191, -STORE, 140249660030976, 140249710600191, -STORE, 140249660014592, 140249710600191, -STORE, 140249660006400, 140249710600191, -STORE, 140249659973632, 140249710600191, -STORE, 140249659965440, 140249710600191, -STORE, 140249659949056, 140249710600191, -STORE, 140249659940864, 140249710600191, -STORE, 140249659924480, 140249710600191, -STORE, 140249659916288, 140249710600191, -STORE, 140249659899904, 140249710600191, -STORE, 140249659891712, 140249710600191, -STORE, 140249659858944, 140249710600191, -STORE, 140249659850752, 140249710600191, -STORE, 140249659834368, 140249710600191, -STORE, 140249659826176, 140249710600191, -STORE, 140249659809792, 140249710600191, -STORE, 140249659801600, 140249710600191, -STORE, 140249659785216, 140249710600191, -STORE, 140249657688064, 140249710600191, -STORE, 140249657679872, 140249710600191, -STORE, 140249657647104, 140249710600191, -STORE, 140249657638912, 140249710600191, -STORE, 140249657622528, 140249710600191, -STORE, 140249657614336, 140249710600191, -STORE, 140249657597952, 140249710600191, -STORE, 140249657589760, 140249710600191, -STORE, 140249657573376, 140249710600191, -STORE, 140249657565184, 140249710600191, -STORE, 140249657532416, 140249710600191, -STORE, 140249657524224, 140249710600191, -STORE, 140249657507840, 140249710600191, -STORE, 140249657499648, 140249710600191, -STORE, 140249657483264, 140249710600191, -STORE, 140249657475072, 140249710600191, -STORE, 140249657458688, 140249710600191, -STORE, 140249657450496, 140249710600191, -STORE, 140249657417728, 140249710600191, -STORE, 140249657409536, 140249710600191, -STORE, 140249657393152, 140249710600191, -STORE, 140249657384960, 140249710600191, -STORE, 140249657368576, 140249710600191, -STORE, 140249657360384, 140249710600191, -STORE, 140249657344000, 140249710600191, -STORE, 140249657335808, 140249710600191, -STORE, 140249657303040, 140249710600191, -STORE, 140249657294848, 140249710600191, -STORE, 140249657278464, 140249710600191, -STORE, 140249657270272, 140249710600191, -STORE, 140249657253888, 140249710600191, -STORE, 140249657245696, 140249710600191, -STORE, 140249657229312, 140249710600191, -STORE, 140249657221120, 140249710600191, -STORE, 140249657188352, 140249710600191, -STORE, 140249657180160, 140249710600191, -STORE, 140249657163776, 140249710600191, -STORE, 140249657155584, 140249710600191, -STORE, 140249657139200, 140249710600191, -STORE, 140249657131008, 140249710600191, -STORE, 140249657114624, 140249710600191, -STORE, 140249657106432, 140249710600191, -STORE, 140249657073664, 140249710600191, -STORE, 140249657065472, 140249710600191, -STORE, 140249657049088, 140249710600191, -STORE, 140249657040896, 140249710600191, -STORE, 140249657024512, 140249710600191, -STORE, 140249657016320, 140249710600191, -STORE, 140249656999936, 140249710600191, -STORE, 140249656991744, 140249710600191, -STORE, 140249656958976, 140249710600191, -STORE, 140249656950784, 140249710600191, -STORE, 140249656934400, 140249710600191, -STORE, 140249656926208, 140249710600191, -STORE, 140249656909824, 140249710600191, -STORE, 140249656901632, 140249710600191, -STORE, 140249656885248, 140249710600191, -STORE, 140249656877056, 140249710600191, -STORE, 140249656844288, 140249710600191, -STORE, 140249656836096, 140249710600191, -STORE, 140249656819712, 140249710600191, -STORE, 140249656811520, 140249710600191, -STORE, 140249656795136, 140249710600191, -STORE, 33853440, 38662143, -STORE, 140249656786944, 140249710600191, -STORE, 140249656770560, 140249710600191, -STORE, 140249656762368, 140249710600191, -STORE, 140249656729600, 140249710600191, -STORE, 140249656721408, 140249710600191, -STORE, 140249656705024, 140249710600191, -STORE, 140249656696832, 140249710600191, -STORE, 140249656680448, 140249710600191, -STORE, 140249656672256, 140249710600191, -STORE, 140249656655872, 140249710600191, -STORE, 140249656647680, 140249710600191, -STORE, 140249656614912, 140249710600191, -STORE, 140249656606720, 140249710600191, -STORE, 140249656590336, 140249710600191, -STORE, 140249656582144, 140249710600191, -STORE, 140249656565760, 140249710600191, -STORE, 140249656557568, 140249710600191, -STORE, 140249656541184, 140249710600191, -STORE, 140249656532992, 140249710600191, -STORE, 140249656500224, 140249710600191, -STORE, 140249656492032, 140249710600191, -STORE, 140249656475648, 140249710600191, -STORE, 140249656467456, 140249710600191, -STORE, 140249656451072, 140249710600191, -STORE, 140249656442880, 140249710600191, -STORE, 140249656426496, 140249710600191, -STORE, 140249656418304, 140249710600191, -STORE, 140249656385536, 140249710600191, -STORE, 140249656377344, 140249710600191, -STORE, 140249656360960, 140249710600191, -STORE, 140249656352768, 140249710600191, -STORE, 140249656336384, 140249710600191, -STORE, 140249656328192, 140249710600191, -STORE, 140249656311808, 140249710600191, -STORE, 140249656303616, 140249710600191, -STORE, 140249656270848, 140249710600191, -STORE, 140249656262656, 140249710600191, -STORE, 140249656246272, 140249710600191, -STORE, 140249656238080, 140249710600191, -STORE, 140249656221696, 140249710600191, -STORE, 140249656213504, 140249710600191, -STORE, 140249656197120, 140249710600191, -STORE, 140249656188928, 140249710600191, -STORE, 140249656156160, 140249710600191, -STORE, 140249656147968, 140249710600191, -STORE, 140249656131584, 140249710600191, -STORE, 140249656123392, 140249710600191, -STORE, 140249656107008, 140249710600191, -STORE, 140249656098816, 140249710600191, -STORE, 140249656082432, 140249710600191, -STORE, 140249656074240, 140249710600191, -STORE, 140249656041472, 140249710600191, -STORE, 140249656033280, 140249710600191, -STORE, 140249656016896, 140249710600191, -STORE, 140249656008704, 140249710600191, -STORE, 140249655992320, 140249710600191, -STORE, 140249655984128, 140249710600191, -STORE, 140249655967744, 140249710600191, -STORE, 140249653870592, 140249710600191, -STORE, 140249653862400, 140249710600191, -STORE, 140249653829632, 140249710600191, -STORE, 140249653821440, 140249710600191, -STORE, 140249653805056, 140249710600191, -STORE, 140249653796864, 140249710600191, -STORE, 140249653780480, 140249710600191, -STORE, 140249653772288, 140249710600191, -STORE, 140249653755904, 140249710600191, -STORE, 140249652703232, 140249710600191, -SNULL, 140249682087935, 140249710600191, -STORE, 140249652703232, 140249682087935, -STORE, 140249682087936, 140249710600191, - }; - - unsigned long set26[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140729464770560, 140737488351231, -SNULL, 140729464774655, 140737488351231, -STORE, 140729464770560, 140729464774655, -STORE, 140729464639488, 140729464774655, -STORE, 4194304, 5066751, -STORE, 7159808, 7172095, -STORE, 7172096, 7180287, -STORE, 140729465114624, 140729465118719, -STORE, 140729465102336, 140729465114623, -STORE, 30867456, 30875647, -STORE, 30867456, 31010815, -STORE, 140109040988160, 140109042671615, -STORE, 140109040959488, 140109040988159, -STORE, 140109040943104, 140109040959487, -ERASE, 140109040943104, 140109040959487, -STORE, 140109040840704, 140109040959487, -ERASE, 140109040840704, 140109040959487, -STORE, 140109040951296, 140109040959487, -ERASE, 140109040951296, 140109040959487, -STORE, 140109040955392, 140109040959487, -ERASE, 140109040955392, 140109040959487, - }; - unsigned long set27[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140726128070656, 140737488351231, -SNULL, 140726128074751, 140737488351231, -STORE, 140726128070656, 140726128074751, -STORE, 140726127939584, 140726128074751, -STORE, 94478497189888, 94478499303423, -SNULL, 94478497202175, 94478499303423, -STORE, 94478497189888, 94478497202175, -STORE, 94478497202176, 94478499303423, -ERASE, 94478497202176, 94478499303423, -STORE, 94478499295232, 94478499303423, -STORE, 140415605723136, 140415607975935, -SNULL, 140415605866495, 140415607975935, -STORE, 140415605723136, 140415605866495, -STORE, 140415605866496, 140415607975935, -ERASE, 140415605866496, 140415607975935, -STORE, 140415607963648, 140415607971839, -STORE, 140415607971840, 140415607975935, -STORE, 140726130024448, 140726130028543, -STORE, 140726130012160, 140726130024447, -STORE, 140415607934976, 140415607963647, -STORE, 140415607926784, 140415607934975, -STORE, 140415603245056, 140415605723135, -SNULL, 140415603245056, 140415603613695, -STORE, 140415603613696, 140415605723135, -STORE, 140415603245056, 140415603613695, -SNULL, 140415605710847, 140415605723135, -STORE, 140415603613696, 140415605710847, -STORE, 140415605710848, 140415605723135, -ERASE, 140415605710848, 140415605723135, -STORE, 140415605710848, 140415605723135, -STORE, 140415599370240, 140415603245055, -SNULL, 140415599370240, 140415601111039, -STORE, 140415601111040, 140415603245055, -STORE, 140415599370240, 140415601111039, -SNULL, 140415603208191, 140415603245055, -STORE, 140415601111040, 140415603208191, -STORE, 140415603208192, 140415603245055, -ERASE, 140415603208192, 140415603245055, -STORE, 140415603208192, 140415603245055, -STORE, 140415595692032, 140415599370239, -SNULL, 140415595692032, 140415597207551, -STORE, 140415597207552, 140415599370239, -STORE, 140415595692032, 140415597207551, -SNULL, 140415599304703, 140415599370239, -STORE, 140415597207552, 140415599304703, -STORE, 140415599304704, 140415599370239, -SNULL, 140415599304704, 140415599353855, -STORE, 140415599353856, 140415599370239, -STORE, 140415599304704, 140415599353855, -ERASE, 140415599304704, 140415599353855, -STORE, 140415599304704, 140415599353855, -ERASE, 140415599353856, 140415599370239, -STORE, 140415599353856, 140415599370239, -STORE, 140415593500672, 140415595692031, -SNULL, 140415593500672, 140415593590783, -STORE, 140415593590784, 140415595692031, -STORE, 140415593500672, 140415593590783, -SNULL, 140415595683839, 140415595692031, -STORE, 140415593590784, 140415595683839, -STORE, 140415595683840, 140415595692031, -ERASE, 140415595683840, 140415595692031, -STORE, 140415595683840, 140415595692031, -STORE, 140415589703680, 140415593500671, -SNULL, 140415589703680, 140415591362559, -STORE, 140415591362560, 140415593500671, -STORE, 140415589703680, 140415591362559, -SNULL, 140415593459711, 140415593500671, -STORE, 140415591362560, 140415593459711, -STORE, 140415593459712, 140415593500671, -SNULL, 140415593459712, 140415593484287, -STORE, 140415593484288, 140415593500671, -STORE, 140415593459712, 140415593484287, -ERASE, 140415593459712, 140415593484287, -STORE, 140415593459712, 140415593484287, -ERASE, 140415593484288, 140415593500671, -STORE, 140415593484288, 140415593500671, -STORE, 140415587590144, 140415589703679, -SNULL, 140415587590144, 140415587602431, -STORE, 140415587602432, 140415589703679, -STORE, 140415587590144, 140415587602431, -SNULL, 140415589695487, 140415589703679, -STORE, 140415587602432, 140415589695487, -STORE, 140415589695488, 140415589703679, -ERASE, 140415589695488, 140415589703679, -STORE, 140415589695488, 140415589703679, -STORE, 140415607918592, 140415607934975, -STORE, 140415585398784, 140415587590143, -SNULL, 140415585398784, 140415585480703, -STORE, 140415585480704, 140415587590143, -STORE, 140415585398784, 140415585480703, -SNULL, 140415587573759, 140415587590143, -STORE, 140415585480704, 140415587573759, -STORE, 140415587573760, 140415587590143, -SNULL, 140415587573760, 140415587581951, -STORE, 140415587581952, 140415587590143, -STORE, 140415587573760, 140415587581951, -ERASE, 140415587573760, 140415587581951, -STORE, 140415587573760, 140415587581951, -ERASE, 140415587581952, 140415587590143, -STORE, 140415587581952, 140415587590143, -STORE, 140415583182848, 140415585398783, -SNULL, 140415583182848, 140415583281151, -STORE, 140415583281152, 140415585398783, -STORE, 140415583182848, 140415583281151, -SNULL, 140415585374207, 140415585398783, -STORE, 140415583281152, 140415585374207, -STORE, 140415585374208, 140415585398783, -SNULL, 140415585374208, 140415585382399, -STORE, 140415585382400, 140415585398783, -STORE, 140415585374208, 140415585382399, -ERASE, 140415585374208, 140415585382399, -STORE, 140415585374208, 140415585382399, -ERASE, 140415585382400, 140415585398783, -STORE, 140415585382400, 140415585398783, -STORE, 140415580979200, 140415583182847, -SNULL, 140415580979200, 140415581081599, -STORE, 140415581081600, 140415583182847, -STORE, 140415580979200, 140415581081599, -SNULL, 140415583174655, 140415583182847, -STORE, 140415581081600, 140415583174655, -STORE, 140415583174656, 140415583182847, -ERASE, 140415583174656, 140415583182847, -STORE, 140415583174656, 140415583182847, -STORE, 140415578816512, 140415580979199, -SNULL, 140415578816512, 140415578877951, -STORE, 140415578877952, 140415580979199, -STORE, 140415578816512, 140415578877951, -SNULL, 140415580971007, 140415580979199, -STORE, 140415578877952, 140415580971007, -STORE, 140415580971008, 140415580979199, -ERASE, 140415580971008, 140415580979199, -STORE, 140415580971008, 140415580979199, -STORE, 140415576563712, 140415578816511, -SNULL, 140415576563712, 140415576715263, -STORE, 140415576715264, 140415578816511, -STORE, 140415576563712, 140415576715263, -SNULL, 140415578808319, 140415578816511, -STORE, 140415576715264, 140415578808319, -STORE, 140415578808320, 140415578816511, -ERASE, 140415578808320, 140415578816511, -STORE, 140415578808320, 140415578816511, -STORE, 140415574392832, 140415576563711, -SNULL, 140415574392832, 140415574462463, -STORE, 140415574462464, 140415576563711, -STORE, 140415574392832, 140415574462463, -SNULL, 140415576555519, 140415576563711, -STORE, 140415574462464, 140415576555519, -STORE, 140415576555520, 140415576563711, -ERASE, 140415576555520, 140415576563711, -STORE, 140415576555520, 140415576563711, -STORE, 140415607910400, 140415607934975, -STORE, 140415571230720, 140415574392831, -SNULL, 140415571230720, 140415572291583, -STORE, 140415572291584, 140415574392831, -STORE, 140415571230720, 140415572291583, -SNULL, 140415574384639, 140415574392831, -STORE, 140415572291584, 140415574384639, -STORE, 140415574384640, 140415574392831, -ERASE, 140415574384640, 140415574392831, -STORE, 140415574384640, 140415574392831, -STORE, 140415607902208, 140415607934975, -SNULL, 140415593476095, 140415593484287, -STORE, 140415593459712, 140415593476095, -STORE, 140415593476096, 140415593484287, -SNULL, 140415574388735, 140415574392831, -STORE, 140415574384640, 140415574388735, -STORE, 140415574388736, 140415574392831, -SNULL, 140415576559615, 140415576563711, -STORE, 140415576555520, 140415576559615, -STORE, 140415576559616, 140415576563711, -SNULL, 140415589699583, 140415589703679, -STORE, 140415589695488, 140415589699583, -STORE, 140415589699584, 140415589703679, -SNULL, 140415585378303, 140415585382399, -STORE, 140415585374208, 140415585378303, -STORE, 140415585378304, 140415585382399, -SNULL, 140415578812415, 140415578816511, -STORE, 140415578808320, 140415578812415, -STORE, 140415578812416, 140415578816511, -SNULL, 140415580975103, 140415580979199, -STORE, 140415580971008, 140415580975103, -STORE, 140415580975104, 140415580979199, -SNULL, 140415583178751, 140415583182847, -STORE, 140415583174656, 140415583178751, -STORE, 140415583178752, 140415583182847, -SNULL, 140415587577855, 140415587581951, -STORE, 140415587573760, 140415587577855, -STORE, 140415587577856, 140415587581951, -SNULL, 140415595687935, 140415595692031, -STORE, 140415595683840, 140415595687935, -STORE, 140415595687936, 140415595692031, -STORE, 140415607894016, 140415607934975, -SNULL, 140415599345663, 140415599353855, -STORE, 140415599304704, 140415599345663, -STORE, 140415599345664, 140415599353855, -SNULL, 140415603240959, 140415603245055, -STORE, 140415603208192, 140415603240959, -STORE, 140415603240960, 140415603245055, -SNULL, 140415605719039, 140415605723135, -STORE, 140415605710848, 140415605719039, -STORE, 140415605719040, 140415605723135, -SNULL, 94478499299327, 94478499303423, -STORE, 94478499295232, 94478499299327, -STORE, 94478499299328, 94478499303423, -SNULL, 140415607967743, 140415607971839, -STORE, 140415607963648, 140415607967743, -STORE, 140415607967744, 140415607971839, -ERASE, 140415607934976, 140415607963647, -STORE, 94478511173632, 94478511378431, -STORE, 140415606210560, 140415607894015, -STORE, 140415607934976, 140415607963647, -STORE, 94478511173632, 94478511513599, -STORE, 94478511173632, 94478511648767, -SNULL, 94478511615999, 94478511648767, -STORE, 94478511173632, 94478511615999, -STORE, 94478511616000, 94478511648767, -ERASE, 94478511616000, 94478511648767, -STORE, 94478511173632, 94478511751167, -SNULL, 94478511747071, 94478511751167, -STORE, 94478511173632, 94478511747071, -STORE, 94478511747072, 94478511751167, -ERASE, 94478511747072, 94478511751167, -STORE, 94478511173632, 94478511882239, -SNULL, 94478511878143, 94478511882239, -STORE, 94478511173632, 94478511878143, -STORE, 94478511878144, 94478511882239, -ERASE, 94478511878144, 94478511882239, -STORE, 94478511173632, 94478512013311, -SNULL, 94478512009215, 94478512013311, -STORE, 94478511173632, 94478512009215, -STORE, 94478512009216, 94478512013311, -ERASE, 94478512009216, 94478512013311, -STORE, 94478511173632, 94478512144383, -STORE, 94478511173632, 94478512279551, -STORE, 140415606181888, 140415606210559, -STORE, 140415569100800, 140415571230719, -SNULL, 140415569100800, 140415569129471, -STORE, 140415569129472, 140415571230719, -STORE, 140415569100800, 140415569129471, -SNULL, 140415571222527, 140415571230719, -STORE, 140415569129472, 140415571222527, -STORE, 140415571222528, 140415571230719, -ERASE, 140415571222528, 140415571230719, -STORE, 140415571222528, 140415571230719, -STORE, 140415566905344, 140415569100799, -SNULL, 140415566905344, 140415566987263, -STORE, 140415566987264, 140415569100799, -STORE, 140415566905344, 140415566987263, -SNULL, 140415569084415, 140415569100799, -STORE, 140415566987264, 140415569084415, -STORE, 140415569084416, 140415569100799, -SNULL, 140415569084416, 140415569092607, -STORE, 140415569092608, 140415569100799, -STORE, 140415569084416, 140415569092607, -ERASE, 140415569084416, 140415569092607, -STORE, 140415569084416, 140415569092607, -ERASE, 140415569092608, 140415569100799, -STORE, 140415569092608, 140415569100799, -SNULL, 140415569088511, 140415569092607, -STORE, 140415569084416, 140415569088511, -STORE, 140415569088512, 140415569092607, -SNULL, 140415571226623, 140415571230719, -STORE, 140415571222528, 140415571226623, -STORE, 140415571226624, 140415571230719, -ERASE, 140415606181888, 140415606210559, -STORE, 140415606181888, 140415606210559, -STORE, 140415564759040, 140415566905343, -SNULL, 140415564759040, 140415564804095, -STORE, 140415564804096, 140415566905343, -STORE, 140415564759040, 140415564804095, -SNULL, 140415566897151, 140415566905343, -STORE, 140415564804096, 140415566897151, -STORE, 140415566897152, 140415566905343, -ERASE, 140415566897152, 140415566905343, -STORE, 140415566897152, 140415566905343, -STORE, 140415562588160, 140415564759039, -SNULL, 140415562588160, 140415562629119, -STORE, 140415562629120, 140415564759039, -STORE, 140415562588160, 140415562629119, -SNULL, 140415564726271, 140415564759039, -STORE, 140415562629120, 140415564726271, -STORE, 140415564726272, 140415564759039, -SNULL, 140415564726272, 140415564734463, -STORE, 140415564734464, 140415564759039, -STORE, 140415564726272, 140415564734463, -ERASE, 140415564726272, 140415564734463, -STORE, 140415564726272, 140415564734463, -ERASE, 140415564734464, 140415564759039, -STORE, 140415564734464, 140415564759039, -SNULL, 140415564730367, 140415564734463, -STORE, 140415564726272, 140415564730367, -STORE, 140415564730368, 140415564734463, -SNULL, 140415566901247, 140415566905343, -STORE, 140415566897152, 140415566901247, -STORE, 140415566901248, 140415566905343, -ERASE, 140415606181888, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415605944320, 140415606210559, -ERASE, 140415605944320, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 94478511173632, 94478512414719, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 140415606206464, 140415606210559, -ERASE, 140415606206464, 140415606210559, -STORE, 94478511173632, 94478512652287, -STORE, 94478511173632, 94478512787455, -STORE, 94478511173632, 94478512922623, -STORE, 94478511173632, 94478513057791, -STORE, 140415537422336, 140415562588159, -STORE, 94478511173632, 94478513192959, -STORE, 94478511173632, 94478513356799, -STORE, 94478511173632, 94478513491967, -STORE, 94478511173632, 94478513627135, -STORE, 94478511173632, 94478513790975, -STORE, 94478511173632, 94478513926143, -STORE, 94478511173632, 94478514061311, -STORE, 94478511173632, 94478514196479, -STORE, 94478511173632, 94478514331647, -STORE, 94478511173632, 94478514606079, -STORE, 94478511173632, 94478514741247, -STORE, 94478511173632, 94478514876415, -STORE, 94478511173632, 94478515011583, -STORE, 94478511173632, 94478515146751, -STORE, 94478511173632, 94478515281919, -STORE, 94478511173632, 94478515474431, -STORE, 94478511173632, 94478515609599, -STORE, 94478511173632, 94478515744767, -STORE, 140415536922624, 140415562588159, -STORE, 94478511173632, 94478515879935, -STORE, 94478511173632, 94478516015103, -STORE, 94478511173632, 94478516150271, -STORE, 94478511173632, 94478516285439, -STORE, 94478511173632, 94478516420607, -STORE, 94478511173632, 94478516555775, -STORE, 94478511173632, 94478516690943, -STORE, 94478511173632, 94478516826111, -STORE, 94478511173632, 94478516961279, -STORE, 94478511173632, 94478517231615, -STORE, 94478511173632, 94478517366783, -STORE, 94478511173632, 94478517501951, -STORE, 94478511173632, 94478517637119, -STORE, 94478511173632, 94478517772287, -STORE, 94478511173632, 94478517907455, -STORE, 94478511173632, 94478518042623, -STORE, 94478511173632, 94478518177791, -STORE, 94478511173632, 94478518312959, -STORE, 94478511173632, 94478518448127, -STORE, 140415535910912, 140415562588159, -SNULL, 140415536922623, 140415562588159, -STORE, 140415535910912, 140415536922623, -STORE, 140415536922624, 140415562588159, -SNULL, 140415536922624, 140415537422335, -STORE, 140415537422336, 140415562588159, -STORE, 140415536922624, 140415537422335, -ERASE, 140415536922624, 140415537422335, -STORE, 94478511173632, 94478518583295, -STORE, 94478511173632, 94478518718463, -STORE, 94478511173632, 94478518853631, -STORE, 94478511173632, 94478518988799, -STORE, 94478511173632, 94478519123967, -STORE, 94478511173632, 94478519259135, -STORE, 140415509696512, 140415535910911, -ERASE, 140415537422336, 140415562588159, -STORE, 140415482433536, 140415509696511, - }; - unsigned long set28[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140722475622400, 140737488351231, -SNULL, 140722475626495, 140737488351231, -STORE, 140722475622400, 140722475626495, -STORE, 140722475491328, 140722475626495, -STORE, 93865834291200, 93865836548095, -SNULL, 93865834422271, 93865836548095, -STORE, 93865834291200, 93865834422271, -STORE, 93865834422272, 93865836548095, -ERASE, 93865834422272, 93865836548095, -STORE, 93865836519424, 93865836527615, -STORE, 93865836527616, 93865836548095, -STORE, 139918411104256, 139918413357055, -SNULL, 139918411247615, 139918413357055, -STORE, 139918411104256, 139918411247615, -STORE, 139918411247616, 139918413357055, -ERASE, 139918411247616, 139918413357055, -STORE, 139918413344768, 139918413352959, -STORE, 139918413352960, 139918413357055, -STORE, 140722476642304, 140722476646399, -STORE, 140722476630016, 140722476642303, -STORE, 139918413316096, 139918413344767, -STORE, 139918413307904, 139918413316095, -STORE, 139918408888320, 139918411104255, -SNULL, 139918408888320, 139918408986623, -STORE, 139918408986624, 139918411104255, -STORE, 139918408888320, 139918408986623, -SNULL, 139918411079679, 139918411104255, -STORE, 139918408986624, 139918411079679, -STORE, 139918411079680, 139918411104255, -SNULL, 139918411079680, 139918411087871, -STORE, 139918411087872, 139918411104255, -STORE, 139918411079680, 139918411087871, -ERASE, 139918411079680, 139918411087871, -STORE, 139918411079680, 139918411087871, -ERASE, 139918411087872, 139918411104255, -STORE, 139918411087872, 139918411104255, -STORE, 139918405091328, 139918408888319, -SNULL, 139918405091328, 139918406750207, -STORE, 139918406750208, 139918408888319, -STORE, 139918405091328, 139918406750207, -SNULL, 139918408847359, 139918408888319, -STORE, 139918406750208, 139918408847359, -STORE, 139918408847360, 139918408888319, -SNULL, 139918408847360, 139918408871935, -STORE, 139918408871936, 139918408888319, -STORE, 139918408847360, 139918408871935, -ERASE, 139918408847360, 139918408871935, -STORE, 139918408847360, 139918408871935, -ERASE, 139918408871936, 139918408888319, -STORE, 139918408871936, 139918408888319, -STORE, 139918413299712, 139918413316095, -SNULL, 139918408863743, 139918408871935, -STORE, 139918408847360, 139918408863743, -STORE, 139918408863744, 139918408871935, -SNULL, 139918411083775, 139918411087871, -STORE, 139918411079680, 139918411083775, -STORE, 139918411083776, 139918411087871, -SNULL, 93865836523519, 93865836527615, -STORE, 93865836519424, 93865836523519, -STORE, 93865836523520, 93865836527615, -SNULL, 139918413348863, 139918413352959, -STORE, 139918413344768, 139918413348863, -STORE, 139918413348864, 139918413352959, -ERASE, 139918413316096, 139918413344767, -STORE, 93865848528896, 93865848664063, - }; - unsigned long set29[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140734467944448, 140737488351231, -SNULL, 140734467948543, 140737488351231, -STORE, 140734467944448, 140734467948543, -STORE, 140734467813376, 140734467948543, -STORE, 94880407924736, 94880410177535, -SNULL, 94880408055807, 94880410177535, -STORE, 94880407924736, 94880408055807, -STORE, 94880408055808, 94880410177535, -ERASE, 94880408055808, 94880410177535, -STORE, 94880410148864, 94880410157055, -STORE, 94880410157056, 94880410177535, -STORE, 140143367815168, 140143370067967, -SNULL, 140143367958527, 140143370067967, -STORE, 140143367815168, 140143367958527, -STORE, 140143367958528, 140143370067967, -ERASE, 140143367958528, 140143370067967, -STORE, 140143370055680, 140143370063871, -STORE, 140143370063872, 140143370067967, -STORE, 140734468329472, 140734468333567, -STORE, 140734468317184, 140734468329471, -STORE, 140143370027008, 140143370055679, -STORE, 140143370018816, 140143370027007, -STORE, 140143365599232, 140143367815167, -SNULL, 140143365599232, 140143365697535, -STORE, 140143365697536, 140143367815167, -STORE, 140143365599232, 140143365697535, -SNULL, 140143367790591, 140143367815167, -STORE, 140143365697536, 140143367790591, -STORE, 140143367790592, 140143367815167, -SNULL, 140143367790592, 140143367798783, -STORE, 140143367798784, 140143367815167, -STORE, 140143367790592, 140143367798783, -ERASE, 140143367790592, 140143367798783, -STORE, 140143367790592, 140143367798783, -ERASE, 140143367798784, 140143367815167, -STORE, 140143367798784, 140143367815167, -STORE, 140143361802240, 140143365599231, -SNULL, 140143361802240, 140143363461119, -STORE, 140143363461120, 140143365599231, -STORE, 140143361802240, 140143363461119, -SNULL, 140143365558271, 140143365599231, -STORE, 140143363461120, 140143365558271, -STORE, 140143365558272, 140143365599231, -SNULL, 140143365558272, 140143365582847, -STORE, 140143365582848, 140143365599231, -STORE, 140143365558272, 140143365582847, -ERASE, 140143365558272, 140143365582847, -STORE, 140143365558272, 140143365582847, -ERASE, 140143365582848, 140143365599231, -STORE, 140143365582848, 140143365599231, -STORE, 140143370010624, 140143370027007, -SNULL, 140143365574655, 140143365582847, -STORE, 140143365558272, 140143365574655, -STORE, 140143365574656, 140143365582847, -SNULL, 140143367794687, 140143367798783, -STORE, 140143367790592, 140143367794687, -STORE, 140143367794688, 140143367798783, -SNULL, 94880410152959, 94880410157055, -STORE, 94880410148864, 94880410152959, -STORE, 94880410152960, 94880410157055, -SNULL, 140143370059775, 140143370063871, -STORE, 140143370055680, 140143370059775, -STORE, 140143370059776, 140143370063871, -ERASE, 140143370027008, 140143370055679, -STORE, 94880442400768, 94880442535935, -STORE, 140143353409536, 140143361802239, -SNULL, 140143353413631, 140143361802239, -STORE, 140143353409536, 140143353413631, -STORE, 140143353413632, 140143361802239, -STORE, 140143345016832, 140143353409535, -STORE, 140143210799104, 140143345016831, -SNULL, 140143210799104, 140143239364607, -STORE, 140143239364608, 140143345016831, -STORE, 140143210799104, 140143239364607, -ERASE, 140143210799104, 140143239364607, -SNULL, 140143306473471, 140143345016831, -STORE, 140143239364608, 140143306473471, -STORE, 140143306473472, 140143345016831, -ERASE, 140143306473472, 140143345016831, -SNULL, 140143239499775, 140143306473471, -STORE, 140143239364608, 140143239499775, -STORE, 140143239499776, 140143306473471, -SNULL, 140143345020927, 140143353409535, -STORE, 140143345016832, 140143345020927, -STORE, 140143345020928, 140143353409535, -STORE, 140143336624128, 140143345016831, -SNULL, 140143336628223, 140143345016831, -STORE, 140143336624128, 140143336628223, -STORE, 140143336628224, 140143345016831, -STORE, 140143328231424, 140143336624127, -SNULL, 140143328235519, 140143336624127, -STORE, 140143328231424, 140143328235519, -STORE, 140143328235520, 140143336624127, -STORE, 140143319838720, 140143328231423, -SNULL, 140143319842815, 140143328231423, -STORE, 140143319838720, 140143319842815, -STORE, 140143319842816, 140143328231423, -STORE, 140143311446016, 140143319838719, -STORE, 140143105146880, 140143239364607, -STORE, 140143096754176, 140143105146879, -STORE, 140143029645312, 140143096754175, -ERASE, 140143029645312, 140143096754175, -STORE, 140142962536448, 140143096754175, -SNULL, 140142962536448, 140142970929151, -STORE, 140142970929152, 140143096754175, -STORE, 140142962536448, 140142970929151, -ERASE, 140142962536448, 140142970929151, -STORE, 140142962536448, 140142970929151, -STORE, 140142828318720, 140142962536447, -STORE, 140142819926016, 140142828318719, -SNULL, 140142828318720, 140142836711423, -STORE, 140142836711424, 140142962536447, -STORE, 140142828318720, 140142836711423, -ERASE, 140142828318720, 140142836711423, -SNULL, 140143172255743, 140143239364607, -STORE, 140143105146880, 140143172255743, -STORE, 140143172255744, 140143239364607, -ERASE, 140143172255744, 140143239364607, -SNULL, 140143105282047, 140143172255743, -STORE, 140143105146880, 140143105282047, -STORE, 140143105282048, 140143172255743, -SNULL, 140143038038015, 140143096754175, -STORE, 140142970929152, 140143038038015, -STORE, 140143038038016, 140143096754175, -ERASE, 140143038038016, 140143096754175, -SNULL, 140142971064319, 140143038038015, -STORE, 140142970929152, 140142971064319, -STORE, 140142971064320, 140143038038015, -SNULL, 140142903820287, 140142962536447, -STORE, 140142836711424, 140142903820287, -STORE, 140142903820288, 140142962536447, -ERASE, 140142903820288, 140142962536447, -SNULL, 140142836846591, 140142903820287, -STORE, 140142836711424, 140142836846591, -STORE, 140142836846592, 140142903820287, -STORE, 140142685708288, 140142819926015, -SNULL, 140143311450111, 140143319838719, -STORE, 140143311446016, 140143311450111, -STORE, 140143311450112, 140143319838719, -SNULL, 140142962540543, 140142970929151, -STORE, 140142962536448, 140142962540543, -STORE, 140142962540544, 140142970929151, -SNULL, 140142685708288, 140142702493695, -STORE, 140142702493696, 140142819926015, -STORE, 140142685708288, 140142702493695, -ERASE, 140142685708288, 140142702493695, -SNULL, 140142769602559, 140142819926015, -STORE, 140142702493696, 140142769602559, -STORE, 140142769602560, 140142819926015, -ERASE, 140142769602560, 140142819926015, -SNULL, 140142702628863, 140142769602559, -STORE, 140142702493696, 140142702628863, -STORE, 140142702628864, 140142769602559, -STORE, 140143230971904, 140143239364607, -SNULL, 140143230975999, 140143239364607, -STORE, 140143230971904, 140143230975999, -STORE, 140143230976000, 140143239364607, -SNULL, 140143096758271, 140143105146879, -STORE, 140143096754176, 140143096758271, -STORE, 140143096758272, 140143105146879, -STORE, 140143222579200, 140143230971903, -SNULL, 140143222583295, 140143230971903, -STORE, 140143222579200, 140143222583295, -STORE, 140143222583296, 140143230971903, -STORE, 140143214186496, 140143222579199, -SNULL, 140142819930111, 140142828318719, -STORE, 140142819926016, 140142819930111, -STORE, 140142819930112, 140142828318719, -STORE, 140143205793792, 140143222579199, -SNULL, 140143205793792, 140143214186495, -STORE, 140143214186496, 140143222579199, -STORE, 140143205793792, 140143214186495, -SNULL, 140143214190591, 140143222579199, -STORE, 140143214186496, 140143214190591, -STORE, 140143214190592, 140143222579199, -SNULL, 140143205797887, 140143214186495, -STORE, 140143205793792, 140143205797887, -STORE, 140143205797888, 140143214186495, -STORE, 140143197401088, 140143205793791, -SNULL, 140143197405183, 140143205793791, -STORE, 140143197401088, 140143197405183, -STORE, 140143197405184, 140143205793791, -STORE, 140143189008384, 140143197401087, -STORE, 140143180615680, 140143197401087, -STORE, 140143088361472, 140143096754175, -SNULL, 140143180619775, 140143197401087, -STORE, 140143180615680, 140143180619775, -STORE, 140143180619776, 140143197401087, -SNULL, 140143180619776, 140143189008383, -STORE, 140143189008384, 140143197401087, -STORE, 140143180619776, 140143189008383, -SNULL, 140143189012479, 140143197401087, -STORE, 140143189008384, 140143189012479, -STORE, 140143189012480, 140143197401087, -SNULL, 140143088365567, 140143096754175, -STORE, 140143088361472, 140143088365567, -STORE, 140143088365568, 140143096754175, -STORE, 140143079968768, 140143088361471, -SNULL, 140143079972863, 140143088361471, -STORE, 140143079968768, 140143079972863, -STORE, 140143079972864, 140143088361471, -STORE, 140143071576064, 140143079968767, -SNULL, 140143071580159, 140143079968767, -STORE, 140143071576064, 140143071580159, -STORE, 140143071580160, 140143079968767, -STORE, 140143063183360, 140143071576063, -STORE, 140143054790656, 140143071576063, -SNULL, 140143054794751, 140143071576063, -STORE, 140143054790656, 140143054794751, -STORE, 140143054794752, 140143071576063, -SNULL, 140143054794752, 140143063183359, -STORE, 140143063183360, 140143071576063, -STORE, 140143054794752, 140143063183359, -SNULL, 140143063187455, 140143071576063, -STORE, 140143063183360, 140143063187455, -STORE, 140143063187456, 140143071576063, -STORE, 140143046397952, 140143054790655, -STORE, 140142954143744, 140142962536447, -STORE, 140142945751040, 140142962536447, -STORE, 140142937358336, 140142962536447, -STORE, 140142928965632, 140142962536447, -STORE, 140142568275968, 140142702493695, -SNULL, 140142635384831, 140142702493695, -STORE, 140142568275968, 140142635384831, -STORE, 140142635384832, 140142702493695, -ERASE, 140142635384832, 140142702493695, -STORE, 140142920572928, 140142962536447, -STORE, 140142912180224, 140142962536447, -STORE, 140142568275968, 140142702493695, -SNULL, 140142568275968, 140142635384831, -STORE, 140142635384832, 140142702493695, -STORE, 140142568275968, 140142635384831, -SNULL, 140142635519999, 140142702493695, -STORE, 140142635384832, 140142635519999, -STORE, 140142635520000, 140142702493695, -STORE, 140142819930112, 140142836711423, -STORE, 140142811533312, 140142819926015, -STORE, 140142434058240, 140142635384831, -SNULL, 140142501167103, 140142635384831, -STORE, 140142434058240, 140142501167103, -STORE, 140142501167104, 140142635384831, -SNULL, 140142501167104, 140142568275967, -STORE, 140142568275968, 140142635384831, -STORE, 140142501167104, 140142568275967, -ERASE, 140142501167104, 140142568275967, -STORE, 140142299840512, 140142501167103, -STORE, 140142803140608, 140142819926015, -SNULL, 140142366949375, 140142501167103, -STORE, 140142299840512, 140142366949375, -STORE, 140142366949376, 140142501167103, -SNULL, 140142366949376, 140142434058239, -STORE, 140142434058240, 140142501167103, -STORE, 140142366949376, 140142434058239, -ERASE, 140142366949376, 140142434058239, -STORE, 140142794747904, 140142819926015, -STORE, 140142786355200, 140142819926015, -STORE, 140142299840512, 140142501167103, -STORE, 140142777962496, 140142819926015, -STORE, 140142559883264, 140142568275967, -STORE, 140142232731648, 140142501167103, -STORE, 140142551490560, 140142568275967, -SNULL, 140142777962496, 140142803140607, -STORE, 140142803140608, 140142819926015, -STORE, 140142777962496, 140142803140607, -SNULL, 140142803144703, 140142819926015, -STORE, 140142803140608, 140142803144703, -STORE, 140142803144704, 140142819926015, -STORE, 140142543097856, 140142568275967, -STORE, 140142098513920, 140142501167103, -SNULL, 140142165622783, 140142501167103, -STORE, 140142098513920, 140142165622783, -STORE, 140142165622784, 140142501167103, -SNULL, 140142165622784, 140142232731647, -STORE, 140142232731648, 140142501167103, -STORE, 140142165622784, 140142232731647, -ERASE, 140142165622784, 140142232731647, -SNULL, 140142568411135, 140142635384831, -STORE, 140142568275968, 140142568411135, -STORE, 140142568411136, 140142635384831, -STORE, 140141964296192, 140142165622783, -SNULL, 140142912180224, 140142928965631, -STORE, 140142928965632, 140142962536447, -STORE, 140142912180224, 140142928965631, -SNULL, 140142928969727, 140142962536447, -STORE, 140142928965632, 140142928969727, -STORE, 140142928969728, 140142962536447, -STORE, 140141830078464, 140142165622783, -SNULL, 140142912184319, 140142928965631, -STORE, 140142912180224, 140142912184319, -STORE, 140142912184320, 140142928965631, -SNULL, 140142232731648, 140142434058239, -STORE, 140142434058240, 140142501167103, -STORE, 140142232731648, 140142434058239, -SNULL, 140142434193407, 140142501167103, -STORE, 140142434058240, 140142434193407, -STORE, 140142434193408, 140142501167103, -SNULL, 140142232731648, 140142299840511, -STORE, 140142299840512, 140142434058239, -STORE, 140142232731648, 140142299840511, -SNULL, 140142299975679, 140142434058239, -STORE, 140142299840512, 140142299975679, -STORE, 140142299975680, 140142434058239, -SNULL, 140142928969728, 140142954143743, -STORE, 140142954143744, 140142962536447, -STORE, 140142928969728, 140142954143743, -SNULL, 140142954147839, 140142962536447, -STORE, 140142954143744, 140142954147839, -STORE, 140142954147840, 140142962536447, -STORE, 140141830078464, 140142299840511, -SNULL, 140142543097856, 140142559883263, -STORE, 140142559883264, 140142568275967, -STORE, 140142543097856, 140142559883263, -SNULL, 140142559887359, 140142568275967, -STORE, 140142559883264, 140142559887359, -STORE, 140142559887360, 140142568275967, -STORE, 140142534705152, 140142559883263, -SNULL, 140142928969728, 140142945751039, -STORE, 140142945751040, 140142954143743, -STORE, 140142928969728, 140142945751039, -SNULL, 140142945755135, 140142954143743, -STORE, 140142945751040, 140142945755135, -STORE, 140142945755136, 140142954143743, -SNULL, 140142299975680, 140142366949375, -STORE, 140142366949376, 140142434058239, -STORE, 140142299975680, 140142366949375, -SNULL, 140142367084543, 140142434058239, -STORE, 140142366949376, 140142367084543, -STORE, 140142367084544, 140142434058239, -SNULL, 140142928969728, 140142937358335, -STORE, 140142937358336, 140142945751039, -STORE, 140142928969728, 140142937358335, -SNULL, 140142937362431, 140142945751039, -STORE, 140142937358336, 140142937362431, -STORE, 140142937362432, 140142945751039, -SNULL, 140141830078464, 140142232731647, -STORE, 140142232731648, 140142299840511, -STORE, 140141830078464, 140142232731647, -SNULL, 140142232866815, 140142299840511, -STORE, 140142232731648, 140142232866815, -STORE, 140142232866816, 140142299840511, -SNULL, 140142534705152, 140142543097855, -STORE, 140142543097856, 140142559883263, -STORE, 140142534705152, 140142543097855, -SNULL, 140142543101951, 140142559883263, -STORE, 140142543097856, 140142543101951, -STORE, 140142543101952, 140142559883263, -STORE, 140142526312448, 140142543097855, -STORE, 140142517919744, 140142543097855, -SNULL, 140141830078464, 140142098513919, -STORE, 140142098513920, 140142232731647, -STORE, 140141830078464, 140142098513919, -SNULL, 140142098649087, 140142232731647, -STORE, 140142098513920, 140142098649087, -STORE, 140142098649088, 140142232731647, -SNULL, 140142031405055, 140142098513919, -STORE, 140141830078464, 140142031405055, -STORE, 140142031405056, 140142098513919, -ERASE, 140142031405056, 140142098513919, -SNULL, 140141830078464, 140141964296191, -STORE, 140141964296192, 140142031405055, -STORE, 140141830078464, 140141964296191, -SNULL, 140141964431359, 140142031405055, -STORE, 140141964296192, 140141964431359, -STORE, 140141964431360, 140142031405055, -STORE, 140142509527040, 140142543097855, -SNULL, 140141897187327, 140141964296191, -STORE, 140141830078464, 140141897187327, -STORE, 140141897187328, 140141964296191, -ERASE, 140141897187328, 140141964296191, -SNULL, 140141830213631, 140141897187327, -STORE, 140141830078464, 140141830213631, -STORE, 140141830213632, 140141897187327, -SNULL, 140142803144704, 140142811533311, -STORE, 140142811533312, 140142819926015, -STORE, 140142803144704, 140142811533311, -SNULL, 140142811537407, 140142819926015, -STORE, 140142811533312, 140142811537407, -STORE, 140142811537408, 140142819926015, -SNULL, 140142098649088, 140142165622783, -STORE, 140142165622784, 140142232731647, -STORE, 140142098649088, 140142165622783, -SNULL, 140142165757951, 140142232731647, -STORE, 140142165622784, 140142165757951, -STORE, 140142165757952, 140142232731647, -STORE, 140142090121216, 140142098513919, -SNULL, 140142777962496, 140142786355199, -STORE, 140142786355200, 140142803140607, -STORE, 140142777962496, 140142786355199, -SNULL, 140142786359295, 140142803140607, -STORE, 140142786355200, 140142786359295, -STORE, 140142786359296, 140142803140607, -SNULL, 140142509527040, 140142534705151, -STORE, 140142534705152, 140142543097855, -STORE, 140142509527040, 140142534705151, -SNULL, 140142534709247, 140142543097855, -STORE, 140142534705152, 140142534709247, -STORE, 140142534709248, 140142543097855, -STORE, 140142081728512, 140142098513919, -SNULL, 140142786359296, 140142794747903, -STORE, 140142794747904, 140142803140607, -STORE, 140142786359296, 140142794747903, -SNULL, 140142794751999, 140142803140607, -STORE, 140142794747904, 140142794751999, -STORE, 140142794752000, 140142803140607, -STORE, 140142073335808, 140142098513919, -SNULL, 140142073339903, 140142098513919, -STORE, 140142073335808, 140142073339903, -STORE, 140142073339904, 140142098513919, -SNULL, 140142543101952, 140142551490559, -STORE, 140142551490560, 140142559883263, -STORE, 140142543101952, 140142551490559, -SNULL, 140142551494655, 140142559883263, -STORE, 140142551490560, 140142551494655, -STORE, 140142551494656, 140142559883263, -SNULL, 140142509527040, 140142517919743, -STORE, 140142517919744, 140142534705151, -STORE, 140142509527040, 140142517919743, -SNULL, 140142517923839, 140142534705151, -STORE, 140142517919744, 140142517923839, -STORE, 140142517923840, 140142534705151, -STORE, 140142064943104, 140142073335807, -SNULL, 140142073339904, 140142090121215, -STORE, 140142090121216, 140142098513919, -STORE, 140142073339904, 140142090121215, -SNULL, 140142090125311, 140142098513919, -STORE, 140142090121216, 140142090125311, -STORE, 140142090125312, 140142098513919, -STORE, 140142056550400, 140142073335807, -SNULL, 140142056554495, 140142073335807, -STORE, 140142056550400, 140142056554495, -STORE, 140142056554496, 140142073335807, -STORE, 140142048157696, 140142056550399, -SNULL, 140142509531135, 140142517919743, -STORE, 140142509527040, 140142509531135, -STORE, 140142509531136, 140142517919743, -SNULL, 140142777966591, 140142786355199, -STORE, 140142777962496, 140142777966591, -STORE, 140142777966592, 140142786355199, -SNULL, 140143046402047, 140143054790655, -STORE, 140143046397952, 140143046402047, -STORE, 140143046402048, 140143054790655, -SNULL, 140142912184320, 140142920572927, -STORE, 140142920572928, 140142928965631, -STORE, 140142912184320, 140142920572927, -SNULL, 140142920577023, 140142928965631, -STORE, 140142920572928, 140142920577023, -STORE, 140142920577024, 140142928965631, -STORE, 140142039764992, 140142056550399, -STORE, 140141955903488, 140141964296191, -SNULL, 140142819930112, 140142828318719, -STORE, 140142828318720, 140142836711423, -STORE, 140142819930112, 140142828318719, -SNULL, 140142828322815, 140142836711423, -STORE, 140142828318720, 140142828322815, -STORE, 140142828322816, 140142836711423, -SNULL, 140142517923840, 140142526312447, -STORE, 140142526312448, 140142534705151, -STORE, 140142517923840, 140142526312447, -SNULL, 140142526316543, 140142534705151, -STORE, 140142526312448, 140142526316543, -STORE, 140142526316544, 140142534705151, -STORE, 140141947510784, 140141964296191, -SNULL, 140142056554496, 140142064943103, -STORE, 140142064943104, 140142073335807, -STORE, 140142056554496, 140142064943103, -SNULL, 140142064947199, 140142073335807, -STORE, 140142064943104, 140142064947199, -STORE, 140142064947200, 140142073335807, -SNULL, 140142073339904, 140142081728511, -STORE, 140142081728512, 140142090121215, -STORE, 140142073339904, 140142081728511, -SNULL, 140142081732607, 140142090121215, -STORE, 140142081728512, 140142081732607, -STORE, 140142081732608, 140142090121215, -STORE, 140141939118080, 140141964296191, -STORE, 140141930725376, 140141964296191, -STORE, 140141922332672, 140141964296191, -STORE, 140141913939968, 140141964296191, -SNULL, 140141913939968, 140141922332671, -STORE, 140141922332672, 140141964296191, -STORE, 140141913939968, 140141922332671, -SNULL, 140141922336767, 140141964296191, -STORE, 140141922332672, 140141922336767, -STORE, 140141922336768, 140141964296191, -STORE, 140141905547264, 140141922332671, -SNULL, 140141905551359, 140141922332671, -STORE, 140141905547264, 140141905551359, -STORE, 140141905551360, 140141922332671, -STORE, 140141821685760, 140141830078463, -STORE, 140141813293056, 140141830078463, -STORE, 140141804900352, 140141830078463, -STORE, 140141796507648, 140141830078463, -SNULL, 140141796511743, 140141830078463, -STORE, 140141796507648, 140141796511743, -STORE, 140141796511744, 140141830078463, -SNULL, 140141922336768, 140141955903487, -STORE, 140141955903488, 140141964296191, -STORE, 140141922336768, 140141955903487, -SNULL, 140141955907583, 140141964296191, -STORE, 140141955903488, 140141955907583, -STORE, 140141955907584, 140141964296191, -STORE, 140141788114944, 140141796507647, -STORE, 140141779722240, 140141796507647, -SNULL, 140141779722240, 140141788114943, -STORE, 140141788114944, 140141796507647, -STORE, 140141779722240, 140141788114943, -SNULL, 140141788119039, 140141796507647, -STORE, 140141788114944, 140141788119039, -STORE, 140141788119040, 140141796507647, -SNULL, 140141922336768, 140141947510783, -STORE, 140141947510784, 140141955903487, -STORE, 140141922336768, 140141947510783, -SNULL, 140141947514879, 140141955903487, -STORE, 140141947510784, 140141947514879, -STORE, 140141947514880, 140141955903487, -SNULL, 140142039764992, 140142048157695, -STORE, 140142048157696, 140142056550399, -STORE, 140142039764992, 140142048157695, -SNULL, 140142048161791, 140142056550399, -STORE, 140142048157696, 140142048161791, -STORE, 140142048161792, 140142056550399, -SNULL, 140142039769087, 140142048157695, -STORE, 140142039764992, 140142039769087, -STORE, 140142039769088, 140142048157695, -SNULL, 140141796511744, 140141804900351, -STORE, 140141804900352, 140141830078463, -STORE, 140141796511744, 140141804900351, -SNULL, 140141804904447, 140141830078463, -STORE, 140141804900352, 140141804904447, -STORE, 140141804904448, 140141830078463, -STORE, 140141771329536, 140141788114943, -STORE, 140141762936832, 140141788114943, -STORE, 140141754544128, 140141788114943, -SNULL, 140141804904448, 140141821685759, -STORE, 140141821685760, 140141830078463, -STORE, 140141804904448, 140141821685759, -SNULL, 140141821689855, 140141830078463, -STORE, 140141821685760, 140141821689855, -STORE, 140141821689856, 140141830078463, -SNULL, 140141922336768, 140141939118079, -STORE, 140141939118080, 140141947510783, -STORE, 140141922336768, 140141939118079, -SNULL, 140141939122175, 140141947510783, -STORE, 140141939118080, 140141939122175, -STORE, 140141939122176, 140141947510783, -SNULL, 140141905551360, 140141913939967, -STORE, 140141913939968, 140141922332671, -STORE, 140141905551360, 140141913939967, -SNULL, 140141913944063, 140141922332671, -STORE, 140141913939968, 140141913944063, -STORE, 140141913944064, 140141922332671, -STORE, 140141746151424, 140141788114943, -STORE, 140141737758720, 140141788114943, -SNULL, 140141804904448, 140141813293055, -STORE, 140141813293056, 140141821685759, -STORE, 140141804904448, 140141813293055, -SNULL, 140141813297151, 140141821685759, -STORE, 140141813293056, 140141813297151, -STORE, 140141813297152, 140141821685759, -STORE, 140141729366016, 140141788114943, -STORE, 140141720973312, 140141788114943, -STORE, 140141712580608, 140141788114943, -SNULL, 140141712584703, 140141788114943, -STORE, 140141712580608, 140141712584703, -STORE, 140141712584704, 140141788114943, -SNULL, 140141922336768, 140141930725375, -STORE, 140141930725376, 140141939118079, -STORE, 140141922336768, 140141930725375, -SNULL, 140141930729471, 140141939118079, -STORE, 140141930725376, 140141930729471, -STORE, 140141930729472, 140141939118079, -STORE, 140141704187904, 140141712580607, -SNULL, 140141704191999, 140141712580607, -STORE, 140141704187904, 140141704191999, -STORE, 140141704192000, 140141712580607, -STORE, 140141695795200, 140141704187903, -STORE, 140141687402496, 140141704187903, -SNULL, 140141712584704, 140141771329535, -STORE, 140141771329536, 140141788114943, -STORE, 140141712584704, 140141771329535, -SNULL, 140141771333631, 140141788114943, -STORE, 140141771329536, 140141771333631, -STORE, 140141771333632, 140141788114943, -SNULL, 140141771333632, 140141779722239, -STORE, 140141779722240, 140141788114943, -STORE, 140141771333632, 140141779722239, -SNULL, 140141779726335, 140141788114943, -STORE, 140141779722240, 140141779726335, -STORE, 140141779726336, 140141788114943, -STORE, 140141679009792, 140141704187903, -SNULL, 140141679013887, 140141704187903, -STORE, 140141679009792, 140141679013887, -STORE, 140141679013888, 140141704187903, -STORE, 140141670617088, 140141679009791, -SNULL, 140141670621183, 140141679009791, -STORE, 140141670617088, 140141670621183, -STORE, 140141670621184, 140141679009791, -STORE, 140141662224384, 140141670617087, -SNULL, 140141712584704, 140141737758719, -STORE, 140141737758720, 140141771329535, -STORE, 140141712584704, 140141737758719, -SNULL, 140141737762815, 140141771329535, -STORE, 140141737758720, 140141737762815, -STORE, 140141737762816, 140141771329535, -SNULL, 140141712584704, 140141729366015, -STORE, 140141729366016, 140141737758719, -STORE, 140141712584704, 140141729366015, -SNULL, 140141729370111, 140141737758719, -STORE, 140141729366016, 140141729370111, -STORE, 140141729370112, 140141737758719, -SNULL, 140141737762816, 140141746151423, -STORE, 140141746151424, 140141771329535, -STORE, 140141737762816, 140141746151423, -SNULL, 140141746155519, 140141771329535, -STORE, 140141746151424, 140141746155519, -STORE, 140141746155520, 140141771329535, -STORE, 140141653831680, 140141670617087, -SNULL, 140141746155520, 140141762936831, -STORE, 140141762936832, 140141771329535, -STORE, 140141746155520, 140141762936831, -SNULL, 140141762940927, 140141771329535, -STORE, 140141762936832, 140141762940927, -STORE, 140141762940928, 140141771329535, -STORE, 140141645438976, 140141670617087, -SNULL, 140141645443071, 140141670617087, -STORE, 140141645438976, 140141645443071, -STORE, 140141645443072, 140141670617087, -SNULL, 140141712584704, 140141720973311, -STORE, 140141720973312, 140141729366015, -STORE, 140141712584704, 140141720973311, -SNULL, 140141720977407, 140141729366015, -STORE, 140141720973312, 140141720977407, -STORE, 140141720977408, 140141729366015, -STORE, 140141637046272, 140141645438975, -SNULL, 140141637050367, 140141645438975, -STORE, 140141637046272, 140141637050367, -STORE, 140141637050368, 140141645438975, -STORE, 140141628653568, 140141637046271, -SNULL, 140141628657663, 140141637046271, -STORE, 140141628653568, 140141628657663, -STORE, 140141628657664, 140141637046271, -STORE, 140141620260864, 140141628653567, -SNULL, 140141679013888, 140141687402495, -STORE, 140141687402496, 140141704187903, -STORE, 140141679013888, 140141687402495, -SNULL, 140141687406591, 140141704187903, -STORE, 140141687402496, 140141687406591, -STORE, 140141687406592, 140141704187903, -SNULL, 140141746155520, 140141754544127, -STORE, 140141754544128, 140141762936831, -STORE, 140141746155520, 140141754544127, -SNULL, 140141754548223, 140141762936831, -STORE, 140141754544128, 140141754548223, -STORE, 140141754548224, 140141762936831, -SNULL, 140141687406592, 140141695795199, -STORE, 140141695795200, 140141704187903, -STORE, 140141687406592, 140141695795199, -SNULL, 140141695799295, 140141704187903, -STORE, 140141695795200, 140141695799295, -STORE, 140141695799296, 140141704187903, -STORE, 140141611868160, 140141628653567, -SNULL, 140141611872255, 140141628653567, -STORE, 140141611868160, 140141611872255, -STORE, 140141611872256, 140141628653567, -SNULL, 140141645443072, 140141662224383, -STORE, 140141662224384, 140141670617087, -STORE, 140141645443072, 140141662224383, -SNULL, 140141662228479, 140141670617087, -STORE, 140141662224384, 140141662228479, -STORE, 140141662228480, 140141670617087, -STORE, 140141603475456, 140141611868159, -SNULL, 140141603479551, 140141611868159, -STORE, 140141603475456, 140141603479551, -STORE, 140141603479552, 140141611868159, -STORE, 140141595082752, 140141603475455, -SNULL, 140141645443072, 140141653831679, -STORE, 140141653831680, 140141662224383, -STORE, 140141645443072, 140141653831679, -SNULL, 140141653835775, 140141662224383, -STORE, 140141653831680, 140141653835775, -STORE, 140141653835776, 140141662224383, -STORE, 140141586690048, 140141603475455, -SNULL, 140141611872256, 140141620260863, -STORE, 140141620260864, 140141628653567, -STORE, 140141611872256, 140141620260863, -SNULL, 140141620264959, 140141628653567, -STORE, 140141620260864, 140141620264959, -STORE, 140141620264960, 140141628653567, -SNULL, 140141586690048, 140141595082751, -STORE, 140141595082752, 140141603475455, -STORE, 140141586690048, 140141595082751, -SNULL, 140141595086847, 140141603475455, -STORE, 140141595082752, 140141595086847, -STORE, 140141595086848, 140141603475455, -STORE, 140141578297344, 140141595082751, -SNULL, 140141578301439, 140141595082751, -STORE, 140141578297344, 140141578301439, -STORE, 140141578301440, 140141595082751, -SNULL, 140141578301440, 140141586690047, -STORE, 140141586690048, 140141595082751, -STORE, 140141578301440, 140141586690047, -SNULL, 140141586694143, 140141595082751, -STORE, 140141586690048, 140141586694143, -STORE, 140141586694144, 140141595082751, -STORE, 140143370027008, 140143370055679, -STORE, 140143309254656, 140143311446015, -SNULL, 140143309254656, 140143309344767, -STORE, 140143309344768, 140143311446015, -STORE, 140143309254656, 140143309344767, -SNULL, 140143311437823, 140143311446015, -STORE, 140143309344768, 140143311437823, -STORE, 140143311437824, 140143311446015, -ERASE, 140143311437824, 140143311446015, -STORE, 140143311437824, 140143311446015, -SNULL, 140143311441919, 140143311446015, -STORE, 140143311437824, 140143311441919, -STORE, 140143311441920, 140143311446015, -ERASE, 140143370027008, 140143370055679, -ERASE, 140142912180224, 140142912184319, -ERASE, 140142912184320, 140142920572927, -ERASE, 140142945751040, 140142945755135, -ERASE, 140142945755136, 140142954143743, -ERASE, 140142090121216, 140142090125311, -ERASE, 140142090125312, 140142098513919, -ERASE, 140142794747904, 140142794751999, -ERASE, 140142794752000, 140142803140607, -ERASE, 140141913939968, 140141913944063, -ERASE, 140141913944064, 140141922332671, -ERASE, 140141746151424, 140141746155519, -ERASE, 140141746155520, 140141754544127, -ERASE, 140142954143744, 140142954147839, -ERASE, 140142954147840, 140142962536447, -ERASE, 140142081728512, 140142081732607, -ERASE, 140142081732608, 140142090121215, -ERASE, 140141905547264, 140141905551359, -ERASE, 140141905551360, 140141913939967, -ERASE, 140141729366016, 140141729370111, -ERASE, 140141729370112, 140141737758719, -ERASE, 140142920572928, 140142920577023, -ERASE, 140142920577024, 140142928965631, -ERASE, 140142039764992, 140142039769087, -ERASE, 140142039769088, 140142048157695, -ERASE, 140141679009792, 140141679013887, -ERASE, 140141679013888, 140141687402495, -ERASE, 140142551490560, 140142551494655, -ERASE, 140142551494656, 140142559883263, -ERASE, 140141947510784, 140141947514879, -ERASE, 140141947514880, 140141955903487, -ERASE, 140141771329536, 140141771333631, -ERASE, 140141771333632, 140141779722239, -ERASE, 140142928965632, 140142928969727, -ERASE, 140142928969728, 140142937358335, -ERASE, 140142073335808, 140142073339903, -ERASE, 140142073339904, 140142081728511, -ERASE, 140142543097856, 140142543101951, -ERASE, 140142543101952, 140142551490559, -ERASE, 140141955903488, 140141955907583, -ERASE, 140141955907584, 140141964296191, -ERASE, 140141704187904, 140141704191999, -ERASE, 140141704192000, 140141712580607, -ERASE, 140142786355200, 140142786359295, -ERASE, 140142786359296, 140142794747903, -ERASE, 140142056550400, 140142056554495, -ERASE, 140142056554496, 140142064943103, -ERASE, 140142828318720, 140142828322815, -ERASE, 140142828322816, 140142836711423, -ERASE, 140141788114944, 140141788119039, -ERASE, 140141788119040, 140141796507647, -ERASE, 140141695795200, 140141695799295, -ERASE, 140141695799296, 140141704187903, -ERASE, 140141578297344, 140141578301439, -ERASE, 140141578301440, 140141586690047, -ERASE, 140141611868160, 140141611872255, -ERASE, 140141611872256, 140141620260863, -ERASE, 140142811533312, 140142811537407, -ERASE, 140142811537408, 140142819926015, -ERASE, 140142064943104, 140142064947199, -ERASE, 140142064947200, 140142073335807, -ERASE, 140141628653568, 140141628657663, -ERASE, 140141628657664, 140141637046271, -ERASE, 140143046397952, 140143046402047, -ERASE, 140143046402048, 140143054790655, -ERASE, 140141796507648, 140141796511743, -ERASE, 140141796511744, 140141804900351, -ERASE, 140142803140608, 140142803144703, -ERASE, 140142803144704, 140142811533311, -ERASE, 140142509527040, 140142509531135, -ERASE, 140142509531136, 140142517919743, -ERASE, 140141821685760, 140141821689855, -ERASE, 140141821689856, 140141830078463, -ERASE, 140142777962496, 140142777966591, -ERASE, 140142777966592, 140142786355199, -ERASE, 140141804900352, 140141804904447, -ERASE, 140141804904448, 140141813293055, -ERASE, 140141930725376, 140141930729471, -ERASE, 140141930729472, 140141939118079, -ERASE, 140142937358336, 140142937362431, -ERASE, 140142937362432, 140142945751039, -ERASE, 140142559883264, 140142559887359, -ERASE, 140142559887360, 140142568275967, -ERASE, 140142534705152, 140142534709247, -ERASE, 140142534709248, 140142543097855, -ERASE, 140142048157696, 140142048161791, -ERASE, 140142048161792, 140142056550399, -ERASE, 140141754544128, 140141754548223, -ERASE, 140141754548224, 140141762936831, -ERASE, 140141939118080, 140141939122175, -ERASE, 140141939122176, 140141947510783, -ERASE, 140141653831680, 140141653835775, -ERASE, 140141653835776, 140141662224383, -ERASE, 140141712580608, 140141712584703, -ERASE, 140141712584704, 140141720973311, -ERASE, 140141645438976, 140141645443071, -ERASE, 140141645443072, 140141653831679, -ERASE, 140141687402496, 140141687406591, -ERASE, 140141687406592, 140141695795199, -ERASE, 140141662224384, 140141662228479, -ERASE, 140141662228480, 140141670617087, -ERASE, 140141922332672, 140141922336767, -ERASE, 140141922336768, 140141930725375, -ERASE, 140141737758720, 140141737762815, -ERASE, 140141737762816, 140141746151423, -ERASE, 140141637046272, 140141637050367, -ERASE, 140141637050368, 140141645438975, -ERASE, 140142517919744, 140142517923839, -ERASE, 140142517923840, 140142526312447, -ERASE, 140143096754176, 140143096758271, -ERASE, 140143096758272, 140143105146879, -ERASE, 140141595082752, 140141595086847, -ERASE, 140141595086848, 140141603475455, -ERASE, 140141762936832, 140141762940927, -ERASE, 140141762940928, 140141771329535, -ERASE, 140143311446016, 140143311450111, -ERASE, 140143311450112, 140143319838719, -ERASE, 140142526312448, 140142526316543, -ERASE, 140142526316544, 140142534705151, -ERASE, 140142819926016, 140142819930111, -ERASE, 140142819930112, 140142828318719, -ERASE, 140143180615680, 140143180619775, -ERASE, 140143180619776, 140143189008383, -ERASE, 140142962536448, 140142962540543, -ERASE, 140142962540544, 140142970929151, -ERASE, 140143214186496, 140143214190591, -ERASE, 140143214190592, 140143222579199, -ERASE, 140143088361472, 140143088365567, -ERASE, 140143088365568, 140143096754175, -ERASE, 140141586690048, 140141586694143, -ERASE, 140141586694144, 140141595082751, -ERASE, 140143230971904, 140143230975999, -ERASE, 140143230976000, 140143239364607, -ERASE, 140141779722240, 140141779726335, -ERASE, 140141779726336, 140141788114943, -ERASE, 140141670617088, 140141670621183, -ERASE, 140141670621184, 140141679009791, -ERASE, 140141813293056, 140141813297151, -ERASE, 140141813297152, 140141821685759, -ERASE, 140143222579200, 140143222583295, -ERASE, 140143222583296, 140143230971903, -ERASE, 140143189008384, 140143189012479, -ERASE, 140143189012480, 140143197401087, -ERASE, 140143071576064, 140143071580159, -ERASE, 140143071580160, 140143079968767, -ERASE, 140141620260864, 140141620264959, -ERASE, 140141620264960, 140141628653567, -ERASE, 140141603475456, 140141603479551, -ERASE, 140141603479552, 140141611868159, -ERASE, 140141720973312, 140141720977407, -ERASE, 140141720977408, 140141729366015, -ERASE, 140143079968768, 140143079972863, -ERASE, 140143079972864, 140143088361471, -ERASE, 140143205793792, 140143205797887, -ERASE, 140143205797888, 140143214186495, - }; - unsigned long set30[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140733436743680, 140737488351231, -SNULL, 140733436747775, 140737488351231, -STORE, 140733436743680, 140733436747775, -STORE, 140733436612608, 140733436747775, -STORE, 94630728904704, 94630731157503, -SNULL, 94630729035775, 94630731157503, -STORE, 94630728904704, 94630729035775, -STORE, 94630729035776, 94630731157503, -ERASE, 94630729035776, 94630731157503, -STORE, 94630731128832, 94630731137023, -STORE, 94630731137024, 94630731157503, -STORE, 140165750841344, 140165753094143, -SNULL, 140165750984703, 140165753094143, -STORE, 140165750841344, 140165750984703, -STORE, 140165750984704, 140165753094143, -ERASE, 140165750984704, 140165753094143, -STORE, 140165753081856, 140165753090047, -STORE, 140165753090048, 140165753094143, -STORE, 140733436887040, 140733436891135, -STORE, 140733436874752, 140733436887039, -STORE, 140165753053184, 140165753081855, -STORE, 140165753044992, 140165753053183, -STORE, 140165748625408, 140165750841343, -SNULL, 140165748625408, 140165748723711, -STORE, 140165748723712, 140165750841343, -STORE, 140165748625408, 140165748723711, -SNULL, 140165750816767, 140165750841343, -STORE, 140165748723712, 140165750816767, -STORE, 140165750816768, 140165750841343, -SNULL, 140165750816768, 140165750824959, -STORE, 140165750824960, 140165750841343, -STORE, 140165750816768, 140165750824959, -ERASE, 140165750816768, 140165750824959, -STORE, 140165750816768, 140165750824959, -ERASE, 140165750824960, 140165750841343, -STORE, 140165750824960, 140165750841343, -STORE, 140165744828416, 140165748625407, -SNULL, 140165744828416, 140165746487295, -STORE, 140165746487296, 140165748625407, -STORE, 140165744828416, 140165746487295, -SNULL, 140165748584447, 140165748625407, -STORE, 140165746487296, 140165748584447, -STORE, 140165748584448, 140165748625407, -SNULL, 140165748584448, 140165748609023, -STORE, 140165748609024, 140165748625407, -STORE, 140165748584448, 140165748609023, -ERASE, 140165748584448, 140165748609023, -STORE, 140165748584448, 140165748609023, -ERASE, 140165748609024, 140165748625407, -STORE, 140165748609024, 140165748625407, -STORE, 140165753036800, 140165753053183, -SNULL, 140165748600831, 140165748609023, -STORE, 140165748584448, 140165748600831, -STORE, 140165748600832, 140165748609023, -SNULL, 140165750820863, 140165750824959, -STORE, 140165750816768, 140165750820863, -STORE, 140165750820864, 140165750824959, -SNULL, 94630731132927, 94630731137023, -STORE, 94630731128832, 94630731132927, -STORE, 94630731132928, 94630731137023, -SNULL, 140165753085951, 140165753090047, -STORE, 140165753081856, 140165753085951, -STORE, 140165753085952, 140165753090047, -ERASE, 140165753053184, 140165753081855, -STORE, 94630743547904, 94630743683071, -STORE, 140165736435712, 140165744828415, -SNULL, 140165736439807, 140165744828415, -STORE, 140165736435712, 140165736439807, -STORE, 140165736439808, 140165744828415, -STORE, 140165728043008, 140165736435711, -STORE, 140165593825280, 140165728043007, -SNULL, 140165593825280, 140165653725183, -STORE, 140165653725184, 140165728043007, -STORE, 140165593825280, 140165653725183, -ERASE, 140165593825280, 140165653725183, -SNULL, 140165720834047, 140165728043007, -STORE, 140165653725184, 140165720834047, -STORE, 140165720834048, 140165728043007, -ERASE, 140165720834048, 140165728043007, -SNULL, 140165653860351, 140165720834047, -STORE, 140165653725184, 140165653860351, -STORE, 140165653860352, 140165720834047, -SNULL, 140165728047103, 140165736435711, -STORE, 140165728043008, 140165728047103, -STORE, 140165728047104, 140165736435711, -STORE, 140165645332480, 140165653725183, -SNULL, 140165645336575, 140165653725183, -STORE, 140165645332480, 140165645336575, -STORE, 140165645336576, 140165653725183, -STORE, 140165636939776, 140165645332479, -SNULL, 140165636943871, 140165645332479, -STORE, 140165636939776, 140165636943871, -STORE, 140165636943872, 140165645332479, -STORE, 140165628547072, 140165636939775, -SNULL, 140165628551167, 140165636939775, -STORE, 140165628547072, 140165628551167, -STORE, 140165628551168, 140165636939775, -STORE, 140165620154368, 140165628547071, -STORE, 140165611761664, 140165628547071, -STORE, 140165603368960, 140165628547071, -STORE, 140165469151232, 140165603368959, -SNULL, 140165469151232, 140165519507455, -STORE, 140165519507456, 140165603368959, -STORE, 140165469151232, 140165519507455, -ERASE, 140165469151232, 140165519507455, -SNULL, 140165586616319, 140165603368959, -STORE, 140165519507456, 140165586616319, -STORE, 140165586616320, 140165603368959, -ERASE, 140165586616320, 140165603368959, -STORE, 140165594976256, 140165628547071, -STORE, 140165385289728, 140165586616319, -SNULL, 140165452398591, 140165586616319, -STORE, 140165385289728, 140165452398591, -STORE, 140165452398592, 140165586616319, -SNULL, 140165452398592, 140165519507455, -STORE, 140165519507456, 140165586616319, -STORE, 140165452398592, 140165519507455, -ERASE, 140165452398592, 140165519507455, -STORE, 140165251072000, 140165452398591, -SNULL, 140165318180863, 140165452398591, -STORE, 140165251072000, 140165318180863, -STORE, 140165318180864, 140165452398591, -SNULL, 140165318180864, 140165385289727, -STORE, 140165385289728, 140165452398591, -STORE, 140165318180864, 140165385289727, -ERASE, 140165318180864, 140165385289727, -SNULL, 140165519642623, 140165586616319, -STORE, 140165519507456, 140165519642623, -STORE, 140165519642624, 140165586616319, -SNULL, 140165594976256, 140165611761663, -STORE, 140165611761664, 140165628547071, -STORE, 140165594976256, 140165611761663, -SNULL, 140165611765759, 140165628547071, -STORE, 140165611761664, 140165611765759, -STORE, 140165611765760, 140165628547071, -STORE, 140165385289728, 140165519507455, -SNULL, 140165385424895, 140165519507455, -STORE, 140165385289728, 140165385424895, -STORE, 140165385424896, 140165519507455, -SNULL, 140165594976256, 140165603368959, -STORE, 140165603368960, 140165611761663, -STORE, 140165594976256, 140165603368959, -SNULL, 140165603373055, 140165611761663, -STORE, 140165603368960, 140165603373055, -STORE, 140165603373056, 140165611761663, -SNULL, 140165251207167, 140165318180863, -STORE, 140165251072000, 140165251207167, -STORE, 140165251207168, 140165318180863, -STORE, 140165376897024, 140165385289727, -SNULL, 140165376901119, 140165385289727, -STORE, 140165376897024, 140165376901119, -STORE, 140165376901120, 140165385289727, -SNULL, 140165385424896, 140165452398591, -STORE, 140165452398592, 140165519507455, -STORE, 140165385424896, 140165452398591, -SNULL, 140165452533759, 140165519507455, -STORE, 140165452398592, 140165452533759, -STORE, 140165452533760, 140165519507455, -STORE, 140165368504320, 140165376897023, -SNULL, 140165594980351, 140165603368959, -STORE, 140165594976256, 140165594980351, -STORE, 140165594980352, 140165603368959, -SNULL, 140165368508415, 140165376897023, -STORE, 140165368504320, 140165368508415, -STORE, 140165368508416, 140165376897023, -SNULL, 140165611765760, 140165620154367, -STORE, 140165620154368, 140165628547071, -STORE, 140165611765760, 140165620154367, -SNULL, 140165620158463, 140165628547071, -STORE, 140165620154368, 140165620158463, -STORE, 140165620158464, 140165628547071, -STORE, 140165360111616, 140165368504319, -STORE, 140165351718912, 140165368504319, -STORE, 140165343326208, 140165368504319, -SNULL, 140165343326208, 140165351718911, -STORE, 140165351718912, 140165368504319, -STORE, 140165343326208, 140165351718911, -SNULL, 140165351723007, 140165368504319, -STORE, 140165351718912, 140165351723007, -STORE, 140165351723008, 140165368504319, -SNULL, 140165343330303, 140165351718911, -STORE, 140165343326208, 140165343330303, -STORE, 140165343330304, 140165351718911, -SNULL, 140165351723008, 140165360111615, -STORE, 140165360111616, 140165368504319, -STORE, 140165351723008, 140165360111615, -SNULL, 140165360115711, 140165368504319, -STORE, 140165360111616, 140165360115711, -STORE, 140165360115712, 140165368504319, -STORE, 140165334933504, 140165343326207, -SNULL, 140165334937599, 140165343326207, -STORE, 140165334933504, 140165334937599, -STORE, 140165334937600, 140165343326207, -STORE, 140165326540800, 140165334933503, -STORE, 140165242679296, 140165251071999, -SNULL, 140165242683391, 140165251071999, -STORE, 140165242679296, 140165242683391, -STORE, 140165242683392, 140165251071999, -STORE, 140165234286592, 140165242679295, -STORE, 140165225893888, 140165242679295, -SNULL, 140165225897983, 140165242679295, -STORE, 140165225893888, 140165225897983, -STORE, 140165225897984, 140165242679295, -SNULL, 140165225897984, 140165234286591, -STORE, 140165234286592, 140165242679295, -STORE, 140165225897984, 140165234286591, -SNULL, 140165234290687, 140165242679295, -STORE, 140165234286592, 140165234290687, -STORE, 140165234290688, 140165242679295, -SNULL, 140165326544895, 140165334933503, -STORE, 140165326540800, 140165326544895, -STORE, 140165326544896, 140165334933503, -STORE, 140165217501184, 140165225893887, -STORE, 140165209108480, 140165225893887, -SNULL, 140165209108480, 140165217501183, -STORE, 140165217501184, 140165225893887, -STORE, 140165209108480, 140165217501183, -SNULL, 140165217505279, 140165225893887, -STORE, 140165217501184, 140165217505279, -STORE, 140165217505280, 140165225893887, -SNULL, 140165209112575, 140165217501183, -STORE, 140165209108480, 140165209112575, -STORE, 140165209112576, 140165217501183, -STORE, 140165200715776, 140165209108479, -STORE, 140165066498048, 140165200715775, -SNULL, 140165066498048, 140165116854271, -STORE, 140165116854272, 140165200715775, -STORE, 140165066498048, 140165116854271, -ERASE, 140165066498048, 140165116854271, -SNULL, 140165183963135, 140165200715775, -STORE, 140165116854272, 140165183963135, -STORE, 140165183963136, 140165200715775, -ERASE, 140165183963136, 140165200715775, -SNULL, 140165116989439, 140165183963135, -STORE, 140165116854272, 140165116989439, -STORE, 140165116989440, 140165183963135, -STORE, 140165192323072, 140165209108479, -STORE, 140165108461568, 140165116854271, -STORE, 140164974243840, 140165108461567, -STORE, 140164965851136, 140164974243839, -SNULL, 140164974243840, 140164982636543, -STORE, 140164982636544, 140165108461567, -STORE, 140164974243840, 140164982636543, -ERASE, 140164974243840, 140164982636543, -STORE, 140164965851136, 140164982636543, -STORE, 140164957458432, 140164982636543, -STORE, 140164949065728, 140164982636543, -STORE, 140164940673024, 140164982636543, -STORE, 140164806455296, 140164940673023, -STORE, 140164798062592, 140164806455295, -STORE, 140164789669888, 140164806455295, -STORE, 140164655452160, 140164789669887, -STORE, 140164647059456, 140164655452159, -STORE, 140164638666752, 140164655452159, -SNULL, 140164655452160, 140164714201087, -STORE, 140164714201088, 140164789669887, -STORE, 140164655452160, 140164714201087, -ERASE, 140164655452160, 140164714201087, -STORE, 140164705808384, 140164714201087, -STORE, 140164697415680, 140164714201087, -STORE, 140164504449024, 140164638666751, -SNULL, 140164504449024, 140164512874495, -STORE, 140164512874496, 140164638666751, -STORE, 140164504449024, 140164512874495, -ERASE, 140164504449024, 140164512874495, -STORE, 140164689022976, 140164714201087, -STORE, 140164680630272, 140164714201087, -SNULL, 140164680634367, 140164714201087, -STORE, 140164680630272, 140164680634367, -STORE, 140164680634368, 140164714201087, -STORE, 140164378656768, 140164638666751, -SNULL, 140165192323072, 140165200715775, -STORE, 140165200715776, 140165209108479, -STORE, 140165192323072, 140165200715775, -SNULL, 140165200719871, 140165209108479, -STORE, 140165200715776, 140165200719871, -STORE, 140165200719872, 140165209108479, -SNULL, 140165049745407, 140165108461567, -STORE, 140164982636544, 140165049745407, -STORE, 140165049745408, 140165108461567, -ERASE, 140165049745408, 140165108461567, -SNULL, 140164982771711, 140165049745407, -STORE, 140164982636544, 140164982771711, -STORE, 140164982771712, 140165049745407, -STORE, 140164244439040, 140164638666751, -SNULL, 140164311547903, 140164638666751, -STORE, 140164244439040, 140164311547903, -STORE, 140164311547904, 140164638666751, -SNULL, 140164311547904, 140164378656767, -STORE, 140164378656768, 140164638666751, -STORE, 140164311547904, 140164378656767, -ERASE, 140164311547904, 140164378656767, -SNULL, 140164806455296, 140164848418815, -STORE, 140164848418816, 140164940673023, -STORE, 140164806455296, 140164848418815, -ERASE, 140164806455296, 140164848418815, -SNULL, 140164915527679, 140164940673023, -STORE, 140164848418816, 140164915527679, -STORE, 140164915527680, 140164940673023, -ERASE, 140164915527680, 140164940673023, -STORE, 140164110221312, 140164311547903, -SNULL, 140164177330175, 140164311547903, -STORE, 140164110221312, 140164177330175, -STORE, 140164177330176, 140164311547903, -SNULL, 140164177330176, 140164244439039, -STORE, 140164244439040, 140164311547903, -STORE, 140164177330176, 140164244439039, -ERASE, 140164177330176, 140164244439039, -SNULL, 140164781309951, 140164789669887, -STORE, 140164714201088, 140164781309951, -STORE, 140164781309952, 140164789669887, -ERASE, 140164781309952, 140164789669887, -STORE, 140163976003584, 140164177330175, -SNULL, 140164043112447, 140164177330175, -STORE, 140163976003584, 140164043112447, -STORE, 140164043112448, 140164177330175, -SNULL, 140164043112448, 140164110221311, -STORE, 140164110221312, 140164177330175, -STORE, 140164043112448, 140164110221311, -ERASE, 140164043112448, 140164110221311, -SNULL, 140164579983359, 140164638666751, -STORE, 140164378656768, 140164579983359, -STORE, 140164579983360, 140164638666751, -ERASE, 140164579983360, 140164638666751, -STORE, 140163841785856, 140164043112447, -SNULL, 140163908894719, 140164043112447, -STORE, 140163841785856, 140163908894719, -STORE, 140163908894720, 140164043112447, -SNULL, 140163908894720, 140163976003583, -STORE, 140163976003584, 140164043112447, -STORE, 140163908894720, 140163976003583, -ERASE, 140163908894720, 140163976003583, -SNULL, 140164940673024, 140164965851135, -STORE, 140164965851136, 140164982636543, -STORE, 140164940673024, 140164965851135, -SNULL, 140164965855231, 140164982636543, -STORE, 140164965851136, 140164965855231, -STORE, 140164965855232, 140164982636543, -SNULL, 140164965855232, 140164974243839, -STORE, 140164974243840, 140164982636543, -STORE, 140164965855232, 140164974243839, -SNULL, 140164974247935, 140164982636543, -STORE, 140164974243840, 140164974247935, -STORE, 140164974247936, 140164982636543, -SNULL, 140164445765631, 140164579983359, -STORE, 140164378656768, 140164445765631, -STORE, 140164445765632, 140164579983359, -SNULL, 140164445765632, 140164512874495, -STORE, 140164512874496, 140164579983359, -STORE, 140164445765632, 140164512874495, -ERASE, 140164445765632, 140164512874495, -SNULL, 140164378791935, 140164445765631, -STORE, 140164378656768, 140164378791935, -STORE, 140164378791936, 140164445765631, -SNULL, 140164789673983, 140164806455295, -STORE, 140164789669888, 140164789673983, -STORE, 140164789673984, 140164806455295, -SNULL, 140164789673984, 140164798062591, -STORE, 140164798062592, 140164806455295, -STORE, 140164789673984, 140164798062591, -SNULL, 140164798066687, 140164806455295, -STORE, 140164798062592, 140164798066687, -STORE, 140164798066688, 140164806455295, -SNULL, 140164638670847, 140164655452159, -STORE, 140164638666752, 140164638670847, -STORE, 140164638670848, 140164655452159, -STORE, 140165100068864, 140165116854271, -STORE, 140165091676160, 140165116854271, -STORE, 140165083283456, 140165116854271, -SNULL, 140164244574207, 140164311547903, -STORE, 140164244439040, 140164244574207, -STORE, 140164244574208, 140164311547903, -SNULL, 140164848553983, 140164915527679, -STORE, 140164848418816, 140164848553983, -STORE, 140164848553984, 140164915527679, -SNULL, 140164110356479, 140164177330175, -STORE, 140164110221312, 140164110356479, -STORE, 140164110356480, 140164177330175, -SNULL, 140164714336255, 140164781309951, -STORE, 140164714201088, 140164714336255, -STORE, 140164714336256, 140164781309951, -SNULL, 140163976138751, 140164043112447, -STORE, 140163976003584, 140163976138751, -STORE, 140163976138752, 140164043112447, -SNULL, 140164513009663, 140164579983359, -STORE, 140164512874496, 140164513009663, -STORE, 140164513009664, 140164579983359, -SNULL, 140163841921023, 140163908894719, -STORE, 140163841785856, 140163841921023, -STORE, 140163841921024, 140163908894719, -SNULL, 140165083283456, 140165100068863, -STORE, 140165100068864, 140165116854271, -STORE, 140165083283456, 140165100068863, -SNULL, 140165100072959, 140165116854271, -STORE, 140165100068864, 140165100072959, -STORE, 140165100072960, 140165116854271, -SNULL, 140165100072960, 140165108461567, -STORE, 140165108461568, 140165116854271, -STORE, 140165100072960, 140165108461567, -SNULL, 140165108465663, 140165116854271, -STORE, 140165108461568, 140165108465663, -STORE, 140165108465664, 140165116854271, -STORE, 140165074890752, 140165100068863, -SNULL, 140165074894847, 140165100068863, -STORE, 140165074890752, 140165074894847, -STORE, 140165074894848, 140165100068863, -STORE, 140165066498048, 140165074890751, -STORE, 140165058105344, 140165074890751, -STORE, 140164932280320, 140164965851135, -SNULL, 140165192327167, 140165200715775, -STORE, 140165192323072, 140165192327167, -STORE, 140165192327168, 140165200715775, -STORE, 140164923887616, 140164965851135, -SNULL, 140164923891711, 140164965851135, -STORE, 140164923887616, 140164923891711, -STORE, 140164923891712, 140164965851135, -SNULL, 140164680634368, 140164705808383, -STORE, 140164705808384, 140164714201087, -STORE, 140164680634368, 140164705808383, -SNULL, 140164705812479, 140164714201087, -STORE, 140164705808384, 140164705812479, -STORE, 140164705812480, 140164714201087, -SNULL, 140164680634368, 140164697415679, -STORE, 140164697415680, 140164705808383, -STORE, 140164680634368, 140164697415679, -SNULL, 140164697419775, 140164705808383, -STORE, 140164697415680, 140164697419775, -STORE, 140164697419776, 140164705808383, -STORE, 140164840026112, 140164848418815, -STORE, 140164831633408, 140164848418815, -STORE, 140164823240704, 140164848418815, -SNULL, 140165074894848, 140165083283455, -STORE, 140165083283456, 140165100068863, -STORE, 140165074894848, 140165083283455, -SNULL, 140165083287551, 140165100068863, -STORE, 140165083283456, 140165083287551, -STORE, 140165083287552, 140165100068863, -SNULL, 140165083287552, 140165091676159, -STORE, 140165091676160, 140165100068863, -STORE, 140165083287552, 140165091676159, -SNULL, 140165091680255, 140165100068863, -STORE, 140165091676160, 140165091680255, -STORE, 140165091680256, 140165100068863, -SNULL, 140164638670848, 140164647059455, -STORE, 140164647059456, 140164655452159, -STORE, 140164638670848, 140164647059455, -SNULL, 140164647063551, 140164655452159, -STORE, 140164647059456, 140164647063551, -STORE, 140164647063552, 140164655452159, -SNULL, 140164923891712, 140164940673023, -STORE, 140164940673024, 140164965851135, -STORE, 140164923891712, 140164940673023, -SNULL, 140164940677119, 140164965851135, -STORE, 140164940673024, 140164940677119, -STORE, 140164940677120, 140164965851135, -SNULL, 140164940677120, 140164949065727, -STORE, 140164949065728, 140164965851135, -STORE, 140164940677120, 140164949065727, -SNULL, 140164949069823, 140164965851135, -STORE, 140164949065728, 140164949069823, -STORE, 140164949069824, 140164965851135, -SNULL, 140164949069824, 140164957458431, -STORE, 140164957458432, 140164965851135, -STORE, 140164949069824, 140164957458431, -SNULL, 140164957462527, 140164965851135, -STORE, 140164957458432, 140164957462527, -STORE, 140164957462528, 140164965851135, -SNULL, 140164680634368, 140164689022975, -STORE, 140164689022976, 140164697415679, -STORE, 140164680634368, 140164689022975, -SNULL, 140164689027071, 140164697415679, -STORE, 140164689022976, 140164689027071, -STORE, 140164689027072, 140164697415679, -STORE, 140164814848000, 140164848418815, -SNULL, 140165058105344, 140165066498047, -STORE, 140165066498048, 140165074890751, -STORE, 140165058105344, 140165066498047, -SNULL, 140165066502143, 140165074890751, -STORE, 140165066498048, 140165066502143, -STORE, 140165066502144, 140165074890751, -SNULL, 140165058109439, 140165066498047, -STORE, 140165058105344, 140165058109439, -STORE, 140165058109440, 140165066498047, -STORE, 140164798066688, 140164814847999, -SNULL, 140164798066688, 140164806455295, -STORE, 140164806455296, 140164814847999, -STORE, 140164798066688, 140164806455295, -SNULL, 140164806459391, 140164814847999, -STORE, 140164806455296, 140164806459391, -STORE, 140164806459392, 140164814847999, -SNULL, 140164923891712, 140164932280319, -STORE, 140164932280320, 140164940673023, -STORE, 140164923891712, 140164932280319, -SNULL, 140164932284415, 140164940673023, -STORE, 140164932280320, 140164932284415, -STORE, 140164932284416, 140164940673023, -STORE, 140164672237568, 140164680630271, -STORE, 140164663844864, 140164680630271, -STORE, 140164647063552, 140164680630271, -SNULL, 140164647063552, 140164655452159, -STORE, 140164655452160, 140164680630271, -STORE, 140164647063552, 140164655452159, -SNULL, 140164655456255, 140164680630271, -STORE, 140164655452160, 140164655456255, -STORE, 140164655456256, 140164680630271, -STORE, 140164630274048, 140164638666751, -SNULL, 140164814852095, 140164848418815, -STORE, 140164814848000, 140164814852095, -STORE, 140164814852096, 140164848418815, -SNULL, 140164814852096, 140164831633407, -STORE, 140164831633408, 140164848418815, -STORE, 140164814852096, 140164831633407, -SNULL, 140164831637503, 140164848418815, -STORE, 140164831633408, 140164831637503, -STORE, 140164831637504, 140164848418815, -STORE, 140164621881344, 140164638666751, -SNULL, 140164831637504, 140164840026111, -STORE, 140164840026112, 140164848418815, -STORE, 140164831637504, 140164840026111, -SNULL, 140164840030207, 140164848418815, -STORE, 140164840026112, 140164840030207, -STORE, 140164840030208, 140164848418815, -STORE, 140164613488640, 140164638666751, -SNULL, 140164613492735, 140164638666751, -STORE, 140164613488640, 140164613492735, -STORE, 140164613492736, 140164638666751, -STORE, 140164605095936, 140164613488639, -SNULL, 140164605100031, 140164613488639, -STORE, 140164605095936, 140164605100031, -STORE, 140164605100032, 140164613488639, -STORE, 140164596703232, 140164605095935, -STORE, 140164588310528, 140164605095935, -SNULL, 140164588314623, 140164605095935, -STORE, 140164588310528, 140164588314623, -STORE, 140164588314624, 140164605095935, -STORE, 140164504481792, 140164512874495, -STORE, 140164496089088, 140164512874495, -SNULL, 140164496089088, 140164504481791, -STORE, 140164504481792, 140164512874495, -STORE, 140164496089088, 140164504481791, -SNULL, 140164504485887, 140164512874495, -STORE, 140164504481792, 140164504485887, -STORE, 140164504485888, 140164512874495, -SNULL, 140164613492736, 140164630274047, -STORE, 140164630274048, 140164638666751, -STORE, 140164613492736, 140164630274047, -SNULL, 140164630278143, 140164638666751, -STORE, 140164630274048, 140164630278143, -STORE, 140164630278144, 140164638666751, -STORE, 140164487696384, 140164504481791, -STORE, 140164479303680, 140164504481791, -SNULL, 140164814852096, 140164823240703, -STORE, 140164823240704, 140164831633407, -STORE, 140164814852096, 140164823240703, -SNULL, 140164823244799, 140164831633407, -STORE, 140164823240704, 140164823244799, -STORE, 140164823244800, 140164831633407, -STORE, 140164470910976, 140164504481791, -SNULL, 140164470910976, 140164496089087, -STORE, 140164496089088, 140164504481791, -STORE, 140164470910976, 140164496089087, -SNULL, 140164496093183, 140164504481791, -STORE, 140164496089088, 140164496093183, -STORE, 140164496093184, 140164504481791, -SNULL, 140164655456256, 140164672237567, -STORE, 140164672237568, 140164680630271, -STORE, 140164655456256, 140164672237567, -SNULL, 140164672241663, 140164680630271, -STORE, 140164672237568, 140164672241663, -STORE, 140164672241664, 140164680630271, -STORE, 140164462518272, 140164496089087, -STORE, 140164454125568, 140164496089087, -SNULL, 140164655456256, 140164663844863, -STORE, 140164663844864, 140164672237567, -STORE, 140164655456256, 140164663844863, -SNULL, 140164663848959, 140164672237567, -STORE, 140164663844864, 140164663848959, -STORE, 140164663848960, 140164672237567, -STORE, 140164370264064, 140164378656767, -STORE, 140164361871360, 140164378656767, -STORE, 140164353478656, 140164378656767, -STORE, 140164345085952, 140164378656767, -SNULL, 140164345085952, 140164353478655, -STORE, 140164353478656, 140164378656767, -STORE, 140164345085952, 140164353478655, -SNULL, 140164353482751, 140164378656767, -STORE, 140164353478656, 140164353482751, -STORE, 140164353482752, 140164378656767, -SNULL, 140164454125568, 140164487696383, -STORE, 140164487696384, 140164496089087, -STORE, 140164454125568, 140164487696383, -SNULL, 140164487700479, 140164496089087, -STORE, 140164487696384, 140164487700479, -STORE, 140164487700480, 140164496089087, -STORE, 140164336693248, 140164353478655, -SNULL, 140164336697343, 140164353478655, -STORE, 140164336693248, 140164336697343, -STORE, 140164336697344, 140164353478655, -STORE, 140164328300544, 140164336693247, -SNULL, 140164454125568, 140164479303679, -STORE, 140164479303680, 140164487696383, -STORE, 140164454125568, 140164479303679, -SNULL, 140164479307775, 140164487696383, -STORE, 140164479303680, 140164479307775, -STORE, 140164479307776, 140164487696383, -STORE, 140164319907840, 140164336693247, -STORE, 140164236046336, 140164244439039, -SNULL, 140164588314624, 140164596703231, -STORE, 140164596703232, 140164605095935, -STORE, 140164588314624, 140164596703231, -SNULL, 140164596707327, 140164605095935, -STORE, 140164596703232, 140164596707327, -STORE, 140164596707328, 140164605095935, -SNULL, 140164454125568, 140164462518271, -STORE, 140164462518272, 140164479303679, -STORE, 140164454125568, 140164462518271, -SNULL, 140164462522367, 140164479303679, -STORE, 140164462518272, 140164462522367, -STORE, 140164462522368, 140164479303679, -STORE, 140164227653632, 140164244439039, -SNULL, 140164227657727, 140164244439039, -STORE, 140164227653632, 140164227657727, -STORE, 140164227657728, 140164244439039, -SNULL, 140164462522368, 140164470910975, -STORE, 140164470910976, 140164479303679, -STORE, 140164462522368, 140164470910975, -SNULL, 140164470915071, 140164479303679, -STORE, 140164470910976, 140164470915071, -STORE, 140164470915072, 140164479303679, -SNULL, 140164613492736, 140164621881343, -STORE, 140164621881344, 140164630274047, -STORE, 140164613492736, 140164621881343, -SNULL, 140164621885439, 140164630274047, -STORE, 140164621881344, 140164621885439, -STORE, 140164621885440, 140164630274047, -SNULL, 140164353482752, 140164370264063, -STORE, 140164370264064, 140164378656767, -STORE, 140164353482752, 140164370264063, -SNULL, 140164370268159, 140164378656767, -STORE, 140164370264064, 140164370268159, -STORE, 140164370268160, 140164378656767, -STORE, 140164219260928, 140164227653631, -SNULL, 140164319911935, 140164336693247, -STORE, 140164319907840, 140164319911935, -STORE, 140164319911936, 140164336693247, -SNULL, 140164336697344, 140164345085951, -STORE, 140164345085952, 140164353478655, -STORE, 140164336697344, 140164345085951, -SNULL, 140164345090047, 140164353478655, -STORE, 140164345085952, 140164345090047, -STORE, 140164345090048, 140164353478655, -SNULL, 140164319911936, 140164328300543, -STORE, 140164328300544, 140164336693247, -STORE, 140164319911936, 140164328300543, -SNULL, 140164328304639, 140164336693247, -STORE, 140164328300544, 140164328304639, -STORE, 140164328304640, 140164336693247, -SNULL, 140164454129663, 140164462518271, -STORE, 140164454125568, 140164454129663, -STORE, 140164454129664, 140164462518271, -STORE, 140164210868224, 140164227653631, -STORE, 140164202475520, 140164227653631, -STORE, 140164194082816, 140164227653631, -SNULL, 140164194086911, 140164227653631, -STORE, 140164194082816, 140164194086911, -STORE, 140164194086912, 140164227653631, -SNULL, 140164353482752, 140164361871359, -STORE, 140164361871360, 140164370264063, -STORE, 140164353482752, 140164361871359, -SNULL, 140164361875455, 140164370264063, -STORE, 140164361871360, 140164361875455, -STORE, 140164361875456, 140164370264063, -SNULL, 140164227657728, 140164236046335, -STORE, 140164236046336, 140164244439039, -STORE, 140164227657728, 140164236046335, -SNULL, 140164236050431, 140164244439039, -STORE, 140164236046336, 140164236050431, -STORE, 140164236050432, 140164244439039, -STORE, 140164185690112, 140164194082815, -SNULL, 140164194086912, 140164219260927, -STORE, 140164219260928, 140164227653631, -STORE, 140164194086912, 140164219260927, -SNULL, 140164219265023, 140164227653631, -STORE, 140164219260928, 140164219265023, -STORE, 140164219265024, 140164227653631, -STORE, 140164101828608, 140164110221311, -STORE, 140164093435904, 140164110221311, -STORE, 140164085043200, 140164110221311, -SNULL, 140164085047295, 140164110221311, -STORE, 140164085043200, 140164085047295, -STORE, 140164085047296, 140164110221311, -STORE, 140164076650496, 140164085043199, -SNULL, 140164185694207, 140164194082815, -STORE, 140164185690112, 140164185694207, -STORE, 140164185694208, 140164194082815, -SNULL, 140164085047296, 140164101828607, -STORE, 140164101828608, 140164110221311, -STORE, 140164085047296, 140164101828607, -SNULL, 140164101832703, 140164110221311, -STORE, 140164101828608, 140164101832703, -STORE, 140164101832704, 140164110221311, -SNULL, 140164085047296, 140164093435903, -STORE, 140164093435904, 140164101828607, -STORE, 140164085047296, 140164093435903, -SNULL, 140164093439999, 140164101828607, -STORE, 140164093435904, 140164093439999, -STORE, 140164093440000, 140164101828607, -SNULL, 140164194086912, 140164202475519, -STORE, 140164202475520, 140164219260927, -STORE, 140164194086912, 140164202475519, -SNULL, 140164202479615, 140164219260927, -STORE, 140164202475520, 140164202479615, -STORE, 140164202479616, 140164219260927, -SNULL, 140164202479616, 140164210868223, -STORE, 140164210868224, 140164219260927, -STORE, 140164202479616, 140164210868223, -SNULL, 140164210872319, 140164219260927, -STORE, 140164210868224, 140164210872319, -STORE, 140164210872320, 140164219260927, -SNULL, 140164076654591, 140164085043199, -STORE, 140164076650496, 140164076654591, -STORE, 140164076654592, 140164085043199, -STORE, 140164068257792, 140164076650495, -SNULL, 140164068261887, 140164076650495, -STORE, 140164068257792, 140164068261887, -STORE, 140164068261888, 140164076650495, -STORE, 140165753053184, 140165753081855, -STORE, 140165725851648, 140165728043007, -SNULL, 140165725851648, 140165725941759, -STORE, 140165725941760, 140165728043007, -STORE, 140165725851648, 140165725941759, -SNULL, 140165728034815, 140165728043007, -STORE, 140165725941760, 140165728034815, -STORE, 140165728034816, 140165728043007, -ERASE, 140165728034816, 140165728043007, -STORE, 140165728034816, 140165728043007, -SNULL, 140165728038911, 140165728043007, -STORE, 140165728034816, 140165728038911, -STORE, 140165728038912, 140165728043007, -ERASE, 140165753053184, 140165753081855, -ERASE, 140164638666752, 140164638670847, -ERASE, 140164638670848, 140164647059455, -ERASE, 140165091676160, 140165091680255, -ERASE, 140165091680256, 140165100068863, -ERASE, 140164613488640, 140164613492735, -ERASE, 140164613492736, 140164621881343, -ERASE, 140164319907840, 140164319911935, -ERASE, 140164319911936, 140164328300543, -ERASE, 140165620154368, 140165620158463, -ERASE, 140165620158464, 140165628547071, -ERASE, 140164798062592, 140164798066687, -ERASE, 140164798066688, 140164806455295, -ERASE, 140164789669888, 140164789673983, -ERASE, 140164789673984, 140164798062591, -ERASE, 140164965851136, 140164965855231, -ERASE, 140164965855232, 140164974243839, -ERASE, 140165074890752, 140165074894847, -ERASE, 140165074894848, 140165083283455, -ERASE, 140164672237568, 140164672241663, -ERASE, 140164672241664, 140164680630271, -ERASE, 140164454125568, 140164454129663, -ERASE, 140164454129664, 140164462518271, -ERASE, 140165200715776, 140165200719871, -ERASE, 140165200719872, 140165209108479, -ERASE, 140164932280320, 140164932284415, -ERASE, 140164932284416, 140164940673023, -ERASE, 140164663844864, 140164663848959, -ERASE, 140164663848960, 140164672237567, -ERASE, 140164697415680, 140164697419775, -ERASE, 140164697419776, 140164705808383, -ERASE, 140164831633408, 140164831637503, -ERASE, 140164831637504, 140164840026111, -ERASE, 140165192323072, 140165192327167, -ERASE, 140165192327168, 140165200715775, -ERASE, 140165108461568, 140165108465663, -ERASE, 140165108465664, 140165116854271, -ERASE, 140164840026112, 140164840030207, -ERASE, 140164840030208, 140164848418815, -ERASE, 140164647059456, 140164647063551, -ERASE, 140164647063552, 140164655452159, -ERASE, 140165083283456, 140165083287551, -ERASE, 140165083287552, 140165091676159, -ERASE, 140164923887616, 140164923891711, -ERASE, 140164923891712, 140164932280319, -ERASE, 140164823240704, 140164823244799, -ERASE, 140164823244800, 140164831633407, -ERASE, 140164227653632, 140164227657727, -ERASE, 140164227657728, 140164236046335, -ERASE, 140164957458432, 140164957462527, -ERASE, 140164957462528, 140164965851135, -ERASE, 140164680630272, 140164680634367, -ERASE, 140164680634368, 140164689022975, -ERASE, 140164974243840, 140164974247935, -ERASE, 140164974247936, 140164982636543, -ERASE, 140165066498048, 140165066502143, -ERASE, 140165066502144, 140165074890751, -ERASE, 140164621881344, 140164621885439, -ERASE, 140164621885440, 140164630274047, -ERASE, 140164949065728, 140164949069823, -ERASE, 140164949069824, 140164957458431, -ERASE, 140164588310528, 140164588314623, -ERASE, 140164588314624, 140164596703231, -ERASE, 140164806455296, 140164806459391, -ERASE, 140164806459392, 140164814847999, -ERASE, 140164940673024, 140164940677119, -ERASE, 140164940677120, 140164949065727, -ERASE, 140164596703232, 140164596707327, -ERASE, 140164596707328, 140164605095935, -ERASE, 140164605095936, 140164605100031, -ERASE, 140164605100032, 140164613488639, -ERASE, 140164655452160, 140164655456255, -ERASE, 140164655456256, 140164663844863, -ERASE, 140164705808384, 140164705812479, -ERASE, 140164705812480, 140164714201087, -ERASE, 140164689022976, 140164689027071, -ERASE, 140164689027072, 140164697415679, -ERASE, 140164630274048, 140164630278143, -ERASE, 140164630278144, 140164638666751, -ERASE, 140164479303680, 140164479307775, -ERASE, 140164479307776, 140164487696383, -ERASE, 140164236046336, 140164236050431, -ERASE, 140164236050432, 140164244439039, -ERASE, 140164085043200, 140164085047295, -ERASE, 140164085047296, 140164093435903, -ERASE, 140164345085952, 140164345090047, -ERASE, 140164345090048, 140164353478655, -ERASE, 140164101828608, 140164101832703, -ERASE, 140164101832704, 140164110221311, -ERASE, 140164370264064, 140164370268159, -ERASE, 140164370268160, 140164378656767, -ERASE, 140164336693248, 140164336697343, -ERASE, 140164336697344, 140164345085951, -ERASE, 140164194082816, 140164194086911, -ERASE, 140164194086912, 140164202475519, -ERASE, 140164353478656, 140164353482751, -ERASE, 140164353482752, 140164361871359, -ERASE, 140164210868224, 140164210872319, -ERASE, 140164210872320, 140164219260927, -ERASE, 140164814848000, 140164814852095, -ERASE, 140164814852096, 140164823240703, -ERASE, 140164504481792, 140164504485887, -ERASE, 140164504485888, 140164512874495, -ERASE, 140165100068864, 140165100072959, -ERASE, 140165100072960, 140165108461567, -ERASE, 140164361871360, 140164361875455, -ERASE, 140164361875456, 140164370264063, -ERASE, 140164470910976, 140164470915071, -ERASE, 140164470915072, 140164479303679, -ERASE, 140164076650496, 140164076654591, -ERASE, 140164076654592, 140164085043199, -ERASE, 140164202475520, 140164202479615, -ERASE, 140164202479616, 140164210868223, -ERASE, 140164462518272, 140164462522367, -ERASE, 140164462522368, 140164470910975, -ERASE, 140165351718912, 140165351723007, -ERASE, 140165351723008, 140165360111615, -ERASE, 140164328300544, 140164328304639, -ERASE, 140164328304640, 140164336693247, -ERASE, 140164093435904, 140164093439999, -ERASE, 140164093440000, 140164101828607, -ERASE, 140165603368960, 140165603373055, -ERASE, 140165603373056, 140165611761663, -ERASE, 140165368504320, 140165368508415, -ERASE, 140165368508416, 140165376897023, -ERASE, 140165334933504, 140165334937599, -ERASE, 140165334937600, 140165343326207, -ERASE, 140165594976256, 140165594980351, -ERASE, 140165594980352, 140165603368959, -ERASE, 140164487696384, 140164487700479, -ERASE, 140164487700480, 140164496089087, -ERASE, 140164219260928, 140164219265023, -ERASE, 140164219265024, 140164227653631, -ERASE, 140164185690112, 140164185694207, -ERASE, 140164185694208, 140164194082815, -ERASE, 140164068257792, 140164068261887, -ERASE, 140164068261888, 140164076650495, -ERASE, 140165225893888, 140165225897983, -ERASE, 140165225897984, 140165234286591, -ERASE, 140165058105344, 140165058109439, - }; - unsigned long set31[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140730890784768, 140737488351231, -SNULL, 140730890788863, 140737488351231, -STORE, 140730890784768, 140730890788863, -STORE, 140730890653696, 140730890788863, -STORE, 94577123659776, 94577125912575, -SNULL, 94577123790847, 94577125912575, -STORE, 94577123659776, 94577123790847, -STORE, 94577123790848, 94577125912575, -ERASE, 94577123790848, 94577125912575, -STORE, 94577125883904, 94577125892095, -STORE, 94577125892096, 94577125912575, -STORE, 140624060407808, 140624062660607, -SNULL, 140624060551167, 140624062660607, -STORE, 140624060407808, 140624060551167, -STORE, 140624060551168, 140624062660607, -ERASE, 140624060551168, 140624062660607, -STORE, 140624062648320, 140624062656511, -STORE, 140624062656512, 140624062660607, -STORE, 140730892140544, 140730892144639, -STORE, 140730892128256, 140730892140543, -STORE, 140624062619648, 140624062648319, -STORE, 140624062611456, 140624062619647, -STORE, 140624058191872, 140624060407807, -SNULL, 140624058191872, 140624058290175, -STORE, 140624058290176, 140624060407807, -STORE, 140624058191872, 140624058290175, -SNULL, 140624060383231, 140624060407807, -STORE, 140624058290176, 140624060383231, -STORE, 140624060383232, 140624060407807, -SNULL, 140624060383232, 140624060391423, -STORE, 140624060391424, 140624060407807, -STORE, 140624060383232, 140624060391423, -ERASE, 140624060383232, 140624060391423, -STORE, 140624060383232, 140624060391423, -ERASE, 140624060391424, 140624060407807, -STORE, 140624060391424, 140624060407807, -STORE, 140624054394880, 140624058191871, -SNULL, 140624054394880, 140624056053759, -STORE, 140624056053760, 140624058191871, -STORE, 140624054394880, 140624056053759, -SNULL, 140624058150911, 140624058191871, -STORE, 140624056053760, 140624058150911, -STORE, 140624058150912, 140624058191871, -SNULL, 140624058150912, 140624058175487, -STORE, 140624058175488, 140624058191871, -STORE, 140624058150912, 140624058175487, -ERASE, 140624058150912, 140624058175487, -STORE, 140624058150912, 140624058175487, -ERASE, 140624058175488, 140624058191871, -STORE, 140624058175488, 140624058191871, -STORE, 140624062603264, 140624062619647, -SNULL, 140624058167295, 140624058175487, -STORE, 140624058150912, 140624058167295, -STORE, 140624058167296, 140624058175487, -SNULL, 140624060387327, 140624060391423, -STORE, 140624060383232, 140624060387327, -STORE, 140624060387328, 140624060391423, -SNULL, 94577125887999, 94577125892095, -STORE, 94577125883904, 94577125887999, -STORE, 94577125888000, 94577125892095, -SNULL, 140624062652415, 140624062656511, -STORE, 140624062648320, 140624062652415, -STORE, 140624062652416, 140624062656511, -ERASE, 140624062619648, 140624062648319, -STORE, 94577157709824, 94577157844991, -STORE, 140624046002176, 140624054394879, -SNULL, 140624046006271, 140624054394879, -STORE, 140624046002176, 140624046006271, -STORE, 140624046006272, 140624054394879, -STORE, 140624037609472, 140624046002175, -STORE, 140623903391744, 140624037609471, -SNULL, 140623903391744, 140623940157439, -STORE, 140623940157440, 140624037609471, -STORE, 140623903391744, 140623940157439, -ERASE, 140623903391744, 140623940157439, -SNULL, 140624007266303, 140624037609471, -STORE, 140623940157440, 140624007266303, -STORE, 140624007266304, 140624037609471, -ERASE, 140624007266304, 140624037609471, -SNULL, 140623940292607, 140624007266303, -STORE, 140623940157440, 140623940292607, -STORE, 140623940292608, 140624007266303, -SNULL, 140624037613567, 140624046002175, -STORE, 140624037609472, 140624037613567, -STORE, 140624037613568, 140624046002175, -STORE, 140624029216768, 140624037609471, -SNULL, 140624029220863, 140624037609471, -STORE, 140624029216768, 140624029220863, -STORE, 140624029220864, 140624037609471, -STORE, 140624020824064, 140624029216767, -SNULL, 140624020828159, 140624029216767, -STORE, 140624020824064, 140624020828159, -STORE, 140624020828160, 140624029216767, -STORE, 140624012431360, 140624020824063, -SNULL, 140624012435455, 140624020824063, -STORE, 140624012431360, 140624012435455, -STORE, 140624012435456, 140624020824063, -STORE, 140623931764736, 140623940157439, -STORE, 140623797547008, 140623931764735, -SNULL, 140623797547008, 140623805939711, -STORE, 140623805939712, 140623931764735, -STORE, 140623797547008, 140623805939711, -ERASE, 140623797547008, 140623805939711, -SNULL, 140623873048575, 140623931764735, -STORE, 140623805939712, 140623873048575, -STORE, 140623873048576, 140623931764735, -ERASE, 140623873048576, 140623931764735, -STORE, 140623923372032, 140623940157439, -STORE, 140623914979328, 140623940157439, -STORE, 140623906586624, 140623940157439, -STORE, 140623671721984, 140623873048575, -SNULL, 140623738830847, 140623873048575, -STORE, 140623671721984, 140623738830847, -STORE, 140623738830848, 140623873048575, -SNULL, 140623738830848, 140623805939711, -STORE, 140623805939712, 140623873048575, -STORE, 140623738830848, 140623805939711, -ERASE, 140623738830848, 140623805939711, -SNULL, 140623806074879, 140623873048575, -STORE, 140623805939712, 140623806074879, -STORE, 140623806074880, 140623873048575, -SNULL, 140623906586624, 140623931764735, -STORE, 140623931764736, 140623940157439, -STORE, 140623906586624, 140623931764735, -SNULL, 140623931768831, 140623940157439, -STORE, 140623931764736, 140623931768831, -STORE, 140623931768832, 140623940157439, -STORE, 140623537504256, 140623738830847, -SNULL, 140623537504256, 140623671721983, -STORE, 140623671721984, 140623738830847, -STORE, 140623537504256, 140623671721983, -SNULL, 140623671857151, 140623738830847, -STORE, 140623671721984, 140623671857151, -STORE, 140623671857152, 140623738830847, -SNULL, 140623604613119, 140623671721983, -STORE, 140623537504256, 140623604613119, -STORE, 140623604613120, 140623671721983, -ERASE, 140623604613120, 140623671721983, -SNULL, 140623537639423, 140623604613119, -STORE, 140623537504256, 140623537639423, -STORE, 140623537639424, 140623604613119, -STORE, 140623537639424, 140623671721983, -SNULL, 140623537639424, 140623604613119, -STORE, 140623604613120, 140623671721983, -STORE, 140623537639424, 140623604613119, -SNULL, 140623604748287, 140623671721983, -STORE, 140623604613120, 140623604748287, -STORE, 140623604748288, 140623671721983, -STORE, 140623898193920, 140623931764735, -SNULL, 140623898193920, 140623923372031, -STORE, 140623923372032, 140623931764735, -STORE, 140623898193920, 140623923372031, -SNULL, 140623923376127, 140623931764735, -STORE, 140623923372032, 140623923376127, -STORE, 140623923376128, 140623931764735, -STORE, 140623889801216, 140623923372031, -SNULL, 140623889801216, 140623898193919, -STORE, 140623898193920, 140623923372031, -STORE, 140623889801216, 140623898193919, -SNULL, 140623898198015, 140623923372031, -STORE, 140623898193920, 140623898198015, -STORE, 140623898198016, 140623923372031, -SNULL, 140623889805311, 140623898193919, -STORE, 140623889801216, 140623889805311, -STORE, 140623889805312, 140623898193919, -SNULL, 140623898198016, 140623906586623, -STORE, 140623906586624, 140623923372031, -STORE, 140623898198016, 140623906586623, -SNULL, 140623906590719, 140623923372031, -STORE, 140623906586624, 140623906590719, -STORE, 140623906590720, 140623923372031, -STORE, 140623881408512, 140623889801215, -SNULL, 140623906590720, 140623914979327, -STORE, 140623914979328, 140623923372031, -STORE, 140623906590720, 140623914979327, -SNULL, 140623914983423, 140623923372031, -STORE, 140623914979328, 140623914983423, -STORE, 140623914983424, 140623923372031, -SNULL, 140623881412607, 140623889801215, -STORE, 140623881408512, 140623881412607, -STORE, 140623881412608, 140623889801215, -STORE, 140623797547008, 140623805939711, -STORE, 140623789154304, 140623805939711, -STORE, 140623780761600, 140623805939711, -SNULL, 140623780761600, 140623789154303, -STORE, 140623789154304, 140623805939711, -STORE, 140623780761600, 140623789154303, -SNULL, 140623789158399, 140623805939711, -STORE, 140623789154304, 140623789158399, -STORE, 140623789158400, 140623805939711, -STORE, 140623772368896, 140623789154303, -STORE, 140623763976192, 140623789154303, -SNULL, 140623763976192, 140623780761599, -STORE, 140623780761600, 140623789154303, -STORE, 140623763976192, 140623780761599, -SNULL, 140623780765695, 140623789154303, -STORE, 140623780761600, 140623780765695, -STORE, 140623780765696, 140623789154303, -SNULL, 140623789158400, 140623797547007, -STORE, 140623797547008, 140623805939711, -STORE, 140623789158400, 140623797547007, -SNULL, 140623797551103, 140623805939711, -STORE, 140623797547008, 140623797551103, -STORE, 140623797551104, 140623805939711, -SNULL, 140623763976192, 140623772368895, -STORE, 140623772368896, 140623780761599, -STORE, 140623763976192, 140623772368895, -SNULL, 140623772372991, 140623780761599, -STORE, 140623772368896, 140623772372991, -STORE, 140623772372992, 140623780761599, -SNULL, 140623763980287, 140623772368895, -STORE, 140623763976192, 140623763980287, -STORE, 140623763980288, 140623772368895, -STORE, 140623755583488, 140623763976191, -STORE, 140623747190784, 140623763976191, -SNULL, 140623747190784, 140623755583487, -STORE, 140623755583488, 140623763976191, -STORE, 140623747190784, 140623755583487, -SNULL, 140623755587583, 140623763976191, -STORE, 140623755583488, 140623755587583, -STORE, 140623755587584, 140623763976191, -STORE, 140623529111552, 140623537504255, -SNULL, 140623747194879, 140623755583487, -STORE, 140623747190784, 140623747194879, -STORE, 140623747194880, 140623755583487, -SNULL, 140623529115647, 140623537504255, -STORE, 140623529111552, 140623529115647, -STORE, 140623529115648, 140623537504255, -STORE, 140623520718848, 140623529111551, -SNULL, 140623520722943, 140623529111551, -STORE, 140623520718848, 140623520722943, -STORE, 140623520722944, 140623529111551, -STORE, 140623512326144, 140623520718847, -STORE, 140623503933440, 140623520718847, -STORE, 140623495540736, 140623520718847, -STORE, 140623361323008, 140623495540735, -STORE, 140623227105280, 140623495540735, -STORE, 140623218712576, 140623227105279, -STORE, 140623084494848, 140623218712575, -STORE, 140623076102144, 140623084494847, -STORE, 140622941884416, 140623076102143, -SNULL, 140622941884416, 140623000633343, -STORE, 140623000633344, 140623076102143, -STORE, 140622941884416, 140623000633343, -ERASE, 140622941884416, 140623000633343, -STORE, 140622992240640, 140623000633343, -STORE, 140622983847936, 140623000633343, -STORE, 140622849630208, 140622983847935, -STORE, 140622841237504, 140622849630207, -SNULL, 140622849630208, 140622866415615, -STORE, 140622866415616, 140622983847935, -STORE, 140622849630208, 140622866415615, -ERASE, 140622849630208, 140622866415615, -STORE, 140622858022912, 140622866415615, -SNULL, 140622933524479, 140622983847935, -STORE, 140622866415616, 140622933524479, -STORE, 140622933524480, 140622983847935, -ERASE, 140622933524480, 140622983847935, -STORE, 140622975455232, 140623000633343, -STORE, 140622707019776, 140622841237503, -STORE, 140622967062528, 140623000633343, -STORE, 140622572802048, 140622841237503, -STORE, 140622958669824, 140623000633343, -STORE, 140622438584320, 140622841237503, -STORE, 140622950277120, 140623000633343, -SNULL, 140622858027007, 140622866415615, -STORE, 140622858022912, 140622858027007, -STORE, 140622858027008, 140622866415615, -STORE, 140622941884416, 140623000633343, -STORE, 140622841237504, 140622858022911, -SNULL, 140622841237504, 140622849630207, -STORE, 140622849630208, 140622858022911, -STORE, 140622841237504, 140622849630207, -SNULL, 140622849634303, 140622858022911, -STORE, 140622849630208, 140622849634303, -STORE, 140622849634304, 140622858022911, -STORE, 140622430191616, 140622438584319, -SNULL, 140622430195711, 140622438584319, -STORE, 140622430191616, 140622430195711, -STORE, 140622430195712, 140622438584319, -SNULL, 140623361323007, 140623495540735, -STORE, 140623227105280, 140623361323007, -STORE, 140623361323008, 140623495540735, -SNULL, 140623361323008, 140623403286527, -STORE, 140623403286528, 140623495540735, -STORE, 140623361323008, 140623403286527, -ERASE, 140623361323008, 140623403286527, -SNULL, 140623470395391, 140623495540735, -STORE, 140623403286528, 140623470395391, -STORE, 140623470395392, 140623495540735, -ERASE, 140623470395392, 140623495540735, -SNULL, 140623227105280, 140623269068799, -STORE, 140623269068800, 140623361323007, -STORE, 140623227105280, 140623269068799, -ERASE, 140623227105280, 140623269068799, -SNULL, 140623084494848, 140623134851071, -STORE, 140623134851072, 140623218712575, -STORE, 140623084494848, 140623134851071, -ERASE, 140623084494848, 140623134851071, -SNULL, 140623201959935, 140623218712575, -STORE, 140623134851072, 140623201959935, -STORE, 140623201959936, 140623218712575, -ERASE, 140623201959936, 140623218712575, -SNULL, 140623067742207, 140623076102143, -STORE, 140623000633344, 140623067742207, -STORE, 140623067742208, 140623076102143, -ERASE, 140623067742208, 140623076102143, -STORE, 140622295973888, 140622430191615, -SNULL, 140622295973888, 140622329544703, -STORE, 140622329544704, 140622430191615, -STORE, 140622295973888, 140622329544703, -ERASE, 140622295973888, 140622329544703, -SNULL, 140622866550783, 140622933524479, -STORE, 140622866415616, 140622866550783, -STORE, 140622866550784, 140622933524479, -SNULL, 140622707019775, 140622841237503, -STORE, 140622438584320, 140622707019775, -STORE, 140622707019776, 140622841237503, -SNULL, 140622707019776, 140622732197887, -STORE, 140622732197888, 140622841237503, -STORE, 140622707019776, 140622732197887, -ERASE, 140622707019776, 140622732197887, -SNULL, 140622799306751, 140622841237503, -STORE, 140622732197888, 140622799306751, -STORE, 140622799306752, 140622841237503, -ERASE, 140622799306752, 140622841237503, -SNULL, 140622572802047, 140622707019775, -STORE, 140622438584320, 140622572802047, -STORE, 140622572802048, 140622707019775, -SNULL, 140622572802048, 140622597980159, -STORE, 140622597980160, 140622707019775, -STORE, 140622572802048, 140622597980159, -ERASE, 140622572802048, 140622597980159, -SNULL, 140622438584320, 140622463762431, -STORE, 140622463762432, 140622572802047, -STORE, 140622438584320, 140622463762431, -ERASE, 140622438584320, 140622463762431, -SNULL, 140622530871295, 140622572802047, -STORE, 140622463762432, 140622530871295, -STORE, 140622530871296, 140622572802047, -ERASE, 140622530871296, 140622572802047, -STORE, 140622195326976, 140622430191615, -SNULL, 140622262435839, 140622430191615, -STORE, 140622195326976, 140622262435839, -STORE, 140622262435840, 140622430191615, -SNULL, 140622262435840, 140622329544703, -STORE, 140622329544704, 140622430191615, -STORE, 140622262435840, 140622329544703, -ERASE, 140622262435840, 140622329544703, -SNULL, 140622841241599, 140622849630207, -STORE, 140622841237504, 140622841241599, -STORE, 140622841241600, 140622849630207, -STORE, 140623487148032, 140623520718847, -STORE, 140623478755328, 140623520718847, -SNULL, 140622941884416, 140622983847935, -STORE, 140622983847936, 140623000633343, -STORE, 140622941884416, 140622983847935, -SNULL, 140622983852031, 140623000633343, -STORE, 140622983847936, 140622983852031, -STORE, 140622983852032, 140623000633343, -STORE, 140623394893824, 140623403286527, -SNULL, 140623394897919, 140623403286527, -STORE, 140623394893824, 140623394897919, -STORE, 140623394897920, 140623403286527, -SNULL, 140623403421695, 140623470395391, -STORE, 140623403286528, 140623403421695, -STORE, 140623403421696, 140623470395391, -SNULL, 140623478755328, 140623503933439, -STORE, 140623503933440, 140623520718847, -STORE, 140623478755328, 140623503933439, -SNULL, 140623503937535, 140623520718847, -STORE, 140623503933440, 140623503937535, -STORE, 140623503937536, 140623520718847, -SNULL, 140623336177663, 140623361323007, -STORE, 140623269068800, 140623336177663, -STORE, 140623336177664, 140623361323007, -ERASE, 140623336177664, 140623361323007, -SNULL, 140623269203967, 140623336177663, -STORE, 140623269068800, 140623269203967, -STORE, 140623269203968, 140623336177663, -SNULL, 140623134986239, 140623201959935, -STORE, 140623134851072, 140623134986239, -STORE, 140623134986240, 140623201959935, -SNULL, 140623000768511, 140623067742207, -STORE, 140623000633344, 140623000768511, -STORE, 140623000768512, 140623067742207, -SNULL, 140622396653567, 140622430191615, -STORE, 140622329544704, 140622396653567, -STORE, 140622396653568, 140622430191615, -ERASE, 140622396653568, 140622430191615, -SNULL, 140622732333055, 140622799306751, -STORE, 140622732197888, 140622732333055, -STORE, 140622732333056, 140622799306751, -SNULL, 140622941884416, 140622975455231, -STORE, 140622975455232, 140622983847935, -STORE, 140622941884416, 140622975455231, -SNULL, 140622975459327, 140622983847935, -STORE, 140622975455232, 140622975459327, -STORE, 140622975459328, 140622983847935, -SNULL, 140622665089023, 140622707019775, -STORE, 140622597980160, 140622665089023, -STORE, 140622665089024, 140622707019775, -ERASE, 140622665089024, 140622707019775, -SNULL, 140622598115327, 140622665089023, -STORE, 140622597980160, 140622598115327, -STORE, 140622598115328, 140622665089023, -SNULL, 140622463897599, 140622530871295, -STORE, 140622463762432, 140622463897599, -STORE, 140622463897600, 140622530871295, -SNULL, 140622195462143, 140622262435839, -STORE, 140622195326976, 140622195462143, -STORE, 140622195462144, 140622262435839, -STORE, 140623386501120, 140623394893823, -SNULL, 140622941884416, 140622950277119, -STORE, 140622950277120, 140622975455231, -STORE, 140622941884416, 140622950277119, -SNULL, 140622950281215, 140622975455231, -STORE, 140622950277120, 140622950281215, -STORE, 140622950281216, 140622975455231, -SNULL, 140622941888511, 140622950277119, -STORE, 140622941884416, 140622941888511, -STORE, 140622941888512, 140622950277119, -STORE, 140623378108416, 140623394893823, -SNULL, 140623478755328, 140623495540735, -STORE, 140623495540736, 140623503933439, -STORE, 140623478755328, 140623495540735, -SNULL, 140623495544831, 140623503933439, -STORE, 140623495540736, 140623495544831, -STORE, 140623495544832, 140623503933439, -SNULL, 140623478755328, 140623487148031, -STORE, 140623487148032, 140623495540735, -STORE, 140623478755328, 140623487148031, -SNULL, 140623487152127, 140623495540735, -STORE, 140623487148032, 140623487152127, -STORE, 140623487152128, 140623495540735, -SNULL, 140623218716671, 140623227105279, -STORE, 140623218712576, 140623218716671, -STORE, 140623218716672, 140623227105279, -SNULL, 140623076106239, 140623084494847, -STORE, 140623076102144, 140623076106239, -STORE, 140623076106240, 140623084494847, -SNULL, 140622329679871, 140622396653567, -STORE, 140622329544704, 140622329679871, -STORE, 140622329679872, 140622396653567, -SNULL, 140622950281216, 140622958669823, -STORE, 140622958669824, 140622975455231, -STORE, 140622950281216, 140622958669823, -SNULL, 140622958673919, 140622975455231, -STORE, 140622958669824, 140622958673919, -STORE, 140622958673920, 140622975455231, -SNULL, 140623503937536, 140623512326143, -STORE, 140623512326144, 140623520718847, -STORE, 140623503937536, 140623512326143, -SNULL, 140623512330239, 140623520718847, -STORE, 140623512326144, 140623512330239, -STORE, 140623512330240, 140623520718847, -SNULL, 140623378108416, 140623386501119, -STORE, 140623386501120, 140623394893823, -STORE, 140623378108416, 140623386501119, -SNULL, 140623386505215, 140623394893823, -STORE, 140623386501120, 140623386505215, -STORE, 140623386505216, 140623394893823, -STORE, 140623369715712, 140623386501119, -STORE, 140623361323008, 140623386501119, -STORE, 140623352930304, 140623386501119, -SNULL, 140623352930304, 140623361323007, -STORE, 140623361323008, 140623386501119, -STORE, 140623352930304, 140623361323007, -SNULL, 140623361327103, 140623386501119, -STORE, 140623361323008, 140623361327103, -STORE, 140623361327104, 140623386501119, -SNULL, 140623478759423, 140623487148031, -STORE, 140623478755328, 140623478759423, -STORE, 140623478759424, 140623487148031, -STORE, 140623344537600, 140623361323007, -STORE, 140623260676096, 140623269068799, -SNULL, 140622958673920, 140622967062527, -STORE, 140622967062528, 140622975455231, -STORE, 140622958673920, 140622967062527, -SNULL, 140622967066623, 140622975455231, -STORE, 140622967062528, 140622967066623, -STORE, 140622967066624, 140622975455231, -STORE, 140623252283392, 140623269068799, -STORE, 140623243890688, 140623269068799, -SNULL, 140622983852032, 140622992240639, -STORE, 140622992240640, 140623000633343, -STORE, 140622983852032, 140622992240639, -SNULL, 140622992244735, 140623000633343, -STORE, 140622992240640, 140622992244735, -STORE, 140622992244736, 140623000633343, -STORE, 140623235497984, 140623269068799, -STORE, 140623218716672, 140623235497983, -STORE, 140623210319872, 140623218712575, -STORE, 140623126458368, 140623134851071, -SNULL, 140623210323967, 140623218712575, -STORE, 140623210319872, 140623210323967, -STORE, 140623210323968, 140623218712575, -SNULL, 140623218716672, 140623227105279, -STORE, 140623227105280, 140623235497983, -STORE, 140623218716672, 140623227105279, -SNULL, 140623227109375, 140623235497983, -STORE, 140623227105280, 140623227109375, -STORE, 140623227109376, 140623235497983, -STORE, 140623118065664, 140623134851071, -STORE, 140623109672960, 140623134851071, -SNULL, 140623109677055, 140623134851071, -STORE, 140623109672960, 140623109677055, -STORE, 140623109677056, 140623134851071, -STORE, 140623101280256, 140623109672959, -STORE, 140623092887552, 140623109672959, -SNULL, 140623092887552, 140623101280255, -STORE, 140623101280256, 140623109672959, -STORE, 140623092887552, 140623101280255, -SNULL, 140623101284351, 140623109672959, -STORE, 140623101280256, 140623101284351, -STORE, 140623101284352, 140623109672959, -SNULL, 140623361327104, 140623378108415, -STORE, 140623378108416, 140623386501119, -STORE, 140623361327104, 140623378108415, -SNULL, 140623378112511, 140623386501119, -STORE, 140623378108416, 140623378112511, -STORE, 140623378112512, 140623386501119, -SNULL, 140623235497984, 140623243890687, -STORE, 140623243890688, 140623269068799, -STORE, 140623235497984, 140623243890687, -SNULL, 140623243894783, 140623269068799, -STORE, 140623243890688, 140623243894783, -STORE, 140623243894784, 140623269068799, -SNULL, 140623361327104, 140623369715711, -STORE, 140623369715712, 140623378108415, -STORE, 140623361327104, 140623369715711, -SNULL, 140623369719807, 140623378108415, -STORE, 140623369715712, 140623369719807, -STORE, 140623369719808, 140623378108415, -SNULL, 140623243894784, 140623252283391, -STORE, 140623252283392, 140623269068799, -STORE, 140623243894784, 140623252283391, -SNULL, 140623252287487, 140623269068799, -STORE, 140623252283392, 140623252287487, -STORE, 140623252287488, 140623269068799, -SNULL, 140623235502079, 140623243890687, -STORE, 140623235497984, 140623235502079, -STORE, 140623235502080, 140623243890687, -SNULL, 140623344541695, 140623361323007, -STORE, 140623344537600, 140623344541695, -STORE, 140623344541696, 140623361323007, -STORE, 140623076106240, 140623092887551, -SNULL, 140623076106240, 140623084494847, -STORE, 140623084494848, 140623092887551, -STORE, 140623076106240, 140623084494847, -SNULL, 140623084498943, 140623092887551, -STORE, 140623084494848, 140623084498943, -STORE, 140623084498944, 140623092887551, -SNULL, 140623344541696, 140623352930303, -STORE, 140623352930304, 140623361323007, -STORE, 140623344541696, 140623352930303, -SNULL, 140623352934399, 140623361323007, -STORE, 140623352930304, 140623352934399, -STORE, 140623352934400, 140623361323007, -SNULL, 140623109677056, 140623118065663, -STORE, 140623118065664, 140623134851071, -STORE, 140623109677056, 140623118065663, -SNULL, 140623118069759, 140623134851071, -STORE, 140623118065664, 140623118069759, -STORE, 140623118069760, 140623134851071, -STORE, 140622832844800, 140622841237503, -STORE, 140622824452096, 140622841237503, -SNULL, 140622824452096, 140622832844799, -STORE, 140622832844800, 140622841237503, -STORE, 140622824452096, 140622832844799, -SNULL, 140622832848895, 140622841237503, -STORE, 140622832844800, 140622832848895, -STORE, 140622832848896, 140622841237503, -STORE, 140622816059392, 140622832844799, -SNULL, 140623092891647, 140623101280255, -STORE, 140623092887552, 140623092891647, -STORE, 140623092891648, 140623101280255, -SNULL, 140623118069760, 140623126458367, -STORE, 140623126458368, 140623134851071, -STORE, 140623118069760, 140623126458367, -SNULL, 140623126462463, 140623134851071, -STORE, 140623126458368, 140623126462463, -STORE, 140623126462464, 140623134851071, -SNULL, 140623252287488, 140623260676095, -STORE, 140623260676096, 140623269068799, -STORE, 140623252287488, 140623260676095, -SNULL, 140623260680191, 140623269068799, -STORE, 140623260676096, 140623260680191, -STORE, 140623260680192, 140623269068799, -STORE, 140622807666688, 140622832844799, -STORE, 140622723805184, 140622732197887, -STORE, 140622715412480, 140622732197887, -STORE, 140622707019776, 140622732197887, -SNULL, 140622707023871, 140622732197887, -STORE, 140622707019776, 140622707023871, -STORE, 140622707023872, 140622732197887, -STORE, 140622698627072, 140622707019775, -STORE, 140622690234368, 140622707019775, -SNULL, 140622690238463, 140622707019775, -STORE, 140622690234368, 140622690238463, -STORE, 140622690238464, 140622707019775, -SNULL, 140622807666688, 140622816059391, -STORE, 140622816059392, 140622832844799, -STORE, 140622807666688, 140622816059391, -SNULL, 140622816063487, 140622832844799, -STORE, 140622816059392, 140622816063487, -STORE, 140622816063488, 140622832844799, -STORE, 140622681841664, 140622690234367, -STORE, 140622673448960, 140622690234367, -SNULL, 140622673453055, 140622690234367, -STORE, 140622673448960, 140622673453055, -STORE, 140622673453056, 140622690234367, -STORE, 140622589587456, 140622597980159, -SNULL, 140622807670783, 140622816059391, -STORE, 140622807666688, 140622807670783, -STORE, 140622807670784, 140622816059391, -STORE, 140622581194752, 140622597980159, -SNULL, 140622581198847, 140622597980159, -STORE, 140622581194752, 140622581198847, -STORE, 140622581198848, 140622597980159, -SNULL, 140622816063488, 140622824452095, -STORE, 140622824452096, 140622832844799, -STORE, 140622816063488, 140622824452095, -SNULL, 140622824456191, 140622832844799, -STORE, 140622824452096, 140622824456191, -STORE, 140622824456192, 140622832844799, -STORE, 140622572802048, 140622581194751, -SNULL, 140622572806143, 140622581194751, -STORE, 140622572802048, 140622572806143, -STORE, 140622572806144, 140622581194751, -STORE, 140622564409344, 140622572802047, -STORE, 140622556016640, 140622572802047, -SNULL, 140622556016640, 140622564409343, -STORE, 140622564409344, 140622572802047, -STORE, 140622556016640, 140622564409343, -SNULL, 140622564413439, 140622572802047, -STORE, 140622564409344, 140622564413439, -STORE, 140622564413440, 140622572802047, -SNULL, 140622690238464, 140622698627071, -STORE, 140622698627072, 140622707019775, -STORE, 140622690238464, 140622698627071, -SNULL, 140622698631167, 140622707019775, -STORE, 140622698627072, 140622698631167, -STORE, 140622698631168, 140622707019775, -SNULL, 140622707023872, 140622723805183, -STORE, 140622723805184, 140622732197887, -STORE, 140622707023872, 140622723805183, -SNULL, 140622723809279, 140622732197887, -STORE, 140622723805184, 140622723809279, -STORE, 140622723809280, 140622732197887, -SNULL, 140622707023872, 140622715412479, -STORE, 140622715412480, 140622723805183, -STORE, 140622707023872, 140622715412479, -SNULL, 140622715416575, 140622723805183, -STORE, 140622715412480, 140622715416575, -STORE, 140622715416576, 140622723805183, -STORE, 140622547623936, 140622564409343, -SNULL, 140622547628031, 140622564409343, -STORE, 140622547623936, 140622547628031, -STORE, 140622547628032, 140622564409343, -STORE, 140622539231232, 140622547623935, -SNULL, 140622539235327, 140622547623935, -STORE, 140622539231232, 140622539235327, -STORE, 140622539235328, 140622547623935, -SNULL, 140622581198848, 140622589587455, -STORE, 140622589587456, 140622597980159, -STORE, 140622581198848, 140622589587455, -SNULL, 140622589591551, 140622597980159, -STORE, 140622589587456, 140622589591551, -STORE, 140622589591552, 140622597980159, -STORE, 140622455369728, 140622463762431, -SNULL, 140622455373823, 140622463762431, -STORE, 140622455369728, 140622455373823, -STORE, 140622455373824, 140622463762431, -STORE, 140622446977024, 140622455369727, -SNULL, 140622446981119, 140622455369727, -STORE, 140622446977024, 140622446981119, -STORE, 140622446981120, 140622455369727, -SNULL, 140622547628032, 140622556016639, -STORE, 140622556016640, 140622564409343, -STORE, 140622547628032, 140622556016639, -SNULL, 140622556020735, 140622564409343, -STORE, 140622556016640, 140622556020735, -STORE, 140622556020736, 140622564409343, -STORE, 140622430195712, 140622446977023, -STORE, 140622421798912, 140622430191615, -SNULL, 140622430195712, 140622438584319, -STORE, 140622438584320, 140622446977023, -STORE, 140622430195712, 140622438584319, -SNULL, 140622438588415, 140622446977023, -STORE, 140622438584320, 140622438588415, -STORE, 140622438588416, 140622446977023, -STORE, 140622413406208, 140622430191615, -STORE, 140622405013504, 140622430191615, -SNULL, 140622405013504, 140622413406207, -STORE, 140622413406208, 140622430191615, -STORE, 140622405013504, 140622413406207, -SNULL, 140622413410303, 140622430191615, -STORE, 140622413406208, 140622413410303, -STORE, 140622413410304, 140622430191615, -SNULL, 140622673453056, 140622681841663, -STORE, 140622681841664, 140622690234367, -STORE, 140622673453056, 140622681841663, -SNULL, 140622681845759, 140622690234367, -STORE, 140622681841664, 140622681845759, -STORE, 140622681845760, 140622690234367, -STORE, 140622321152000, 140622329544703, -SNULL, 140622413410304, 140622421798911, -STORE, 140622421798912, 140622430191615, -STORE, 140622413410304, 140622421798911, -SNULL, 140622421803007, 140622430191615, -STORE, 140622421798912, 140622421803007, -STORE, 140622421803008, 140622430191615, -STORE, 140622312759296, 140622329544703, -SNULL, 140622312763391, 140622329544703, -STORE, 140622312759296, 140622312763391, -STORE, 140622312763392, 140622329544703, -SNULL, 140622405017599, 140622413406207, -STORE, 140622405013504, 140622405017599, -STORE, 140622405017600, 140622413406207, -STORE, 140622304366592, 140622312759295, -SNULL, 140622304370687, 140622312759295, -STORE, 140622304366592, 140622304370687, -STORE, 140622304370688, 140622312759295, -SNULL, 140622312763392, 140622321151999, -STORE, 140622321152000, 140622329544703, -STORE, 140622312763392, 140622321151999, -SNULL, 140622321156095, 140622329544703, -STORE, 140622321152000, 140622321156095, -STORE, 140622321156096, 140622329544703, -STORE, 140624062619648, 140624062648319, -STORE, 140624010240000, 140624012431359, -SNULL, 140624010240000, 140624010330111, -STORE, 140624010330112, 140624012431359, -STORE, 140624010240000, 140624010330111, -SNULL, 140624012423167, 140624012431359, -STORE, 140624010330112, 140624012423167, -STORE, 140624012423168, 140624012431359, -ERASE, 140624012423168, 140624012431359, -STORE, 140624012423168, 140624012431359, -SNULL, 140624012427263, 140624012431359, -STORE, 140624012423168, 140624012427263, -STORE, 140624012427264, 140624012431359, -ERASE, 140624062619648, 140624062648319, -ERASE, 140622849630208, 140622849634303, -ERASE, 140622849634304, 140622858022911, -ERASE, 140623394893824, 140623394897919, -ERASE, 140623394897920, 140623403286527, -ERASE, 140623361323008, 140623361327103, -ERASE, 140623361327104, 140623369715711, -ERASE, 140623084494848, 140623084498943, -ERASE, 140623084498944, 140623092887551, -ERASE, 140623931764736, 140623931768831, -ERASE, 140623931768832, 140623940157439, -ERASE, 140622841237504, 140622841241599, -ERASE, 140622841241600, 140622849630207, -ERASE, 140623487148032, 140623487152127, -ERASE, 140623487152128, 140623495540735, -ERASE, 140623109672960, 140623109677055, -ERASE, 140623109677056, 140623118065663, -ERASE, 140622983847936, 140622983852031, -ERASE, 140622983852032, 140622992240639, -ERASE, 140623352930304, 140623352934399, -ERASE, 140623352934400, 140623361323007, -ERASE, 140622564409344, 140622564413439, -ERASE, 140622564413440, 140622572802047, -ERASE, 140622430191616, 140622430195711, -ERASE, 140622430195712, 140622438584319, -ERASE, 140622958669824, 140622958673919, -ERASE, 140622958673920, 140622967062527, -ERASE, 140622992240640, 140622992244735, -ERASE, 140622992244736, 140623000633343, -ERASE, 140623227105280, 140623227109375, -ERASE, 140623227109376, 140623235497983, -ERASE, 140622321152000, 140622321156095, -ERASE, 140622321156096, 140622329544703, -ERASE, 140622858022912, 140622858027007, -ERASE, 140622858027008, 140622866415615, -ERASE, 140622975455232, 140622975459327, -ERASE, 140622975459328, 140622983847935, -ERASE, 140623378108416, 140623378112511, -ERASE, 140623378112512, 140623386501119, -ERASE, 140623495540736, 140623495544831, -ERASE, 140623495544832, 140623503933439, -ERASE, 140623118065664, 140623118069759, -ERASE, 140623118069760, 140623126458367, -ERASE, 140622572802048, 140622572806143, -ERASE, 140622572806144, 140622581194751, -ERASE, 140622421798912, 140622421803007, -ERASE, 140622421803008, 140622430191615, -ERASE, 140622967062528, 140622967066623, -ERASE, 140622967066624, 140622975455231, -ERASE, 140623252283392, 140623252287487, -ERASE, 140623252287488, 140623260676095, -ERASE, 140622673448960, 140622673453055, -ERASE, 140622673453056, 140622681841663, -ERASE, 140623076102144, 140623076106239, -ERASE, 140623076106240, 140623084494847, -ERASE, 140623101280256, 140623101284351, -ERASE, 140623101284352, 140623109672959, -ERASE, 140622715412480, 140622715416575, -ERASE, 140622715416576, 140622723805183, -ERASE, 140622405013504, 140622405017599, -ERASE, 140622405017600, 140622413406207, -ERASE, 140623478755328, 140623478759423, -ERASE, 140623478759424, 140623487148031, -ERASE, 140623906586624, 140623906590719, -ERASE, 140623906590720, 140623914979327, -ERASE, 140622950277120, 140622950281215, -ERASE, 140622950281216, 140622958669823, - }; - unsigned long set32[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140731244212224, 140737488351231, -SNULL, 140731244216319, 140737488351231, -STORE, 140731244212224, 140731244216319, -STORE, 140731244081152, 140731244216319, -STORE, 94427773984768, 94427776237567, -SNULL, 94427774115839, 94427776237567, -STORE, 94427773984768, 94427774115839, -STORE, 94427774115840, 94427776237567, -ERASE, 94427774115840, 94427776237567, -STORE, 94427776208896, 94427776217087, -STORE, 94427776217088, 94427776237567, -STORE, 140401464893440, 140401467146239, -SNULL, 140401465036799, 140401467146239, -STORE, 140401464893440, 140401465036799, -STORE, 140401465036800, 140401467146239, -ERASE, 140401465036800, 140401467146239, -STORE, 140401467133952, 140401467142143, -STORE, 140401467142144, 140401467146239, -STORE, 140731244507136, 140731244511231, -STORE, 140731244494848, 140731244507135, -STORE, 140401467105280, 140401467133951, -STORE, 140401467097088, 140401467105279, -STORE, 140401462677504, 140401464893439, -SNULL, 140401462677504, 140401462775807, -STORE, 140401462775808, 140401464893439, -STORE, 140401462677504, 140401462775807, -SNULL, 140401464868863, 140401464893439, -STORE, 140401462775808, 140401464868863, -STORE, 140401464868864, 140401464893439, -SNULL, 140401464868864, 140401464877055, -STORE, 140401464877056, 140401464893439, -STORE, 140401464868864, 140401464877055, -ERASE, 140401464868864, 140401464877055, -STORE, 140401464868864, 140401464877055, -ERASE, 140401464877056, 140401464893439, -STORE, 140401464877056, 140401464893439, -STORE, 140401458880512, 140401462677503, -SNULL, 140401458880512, 140401460539391, -STORE, 140401460539392, 140401462677503, -STORE, 140401458880512, 140401460539391, -SNULL, 140401462636543, 140401462677503, -STORE, 140401460539392, 140401462636543, -STORE, 140401462636544, 140401462677503, -SNULL, 140401462636544, 140401462661119, -STORE, 140401462661120, 140401462677503, -STORE, 140401462636544, 140401462661119, -ERASE, 140401462636544, 140401462661119, -STORE, 140401462636544, 140401462661119, -ERASE, 140401462661120, 140401462677503, -STORE, 140401462661120, 140401462677503, -STORE, 140401467088896, 140401467105279, -SNULL, 140401462652927, 140401462661119, -STORE, 140401462636544, 140401462652927, -STORE, 140401462652928, 140401462661119, -SNULL, 140401464872959, 140401464877055, -STORE, 140401464868864, 140401464872959, -STORE, 140401464872960, 140401464877055, -SNULL, 94427776212991, 94427776217087, -STORE, 94427776208896, 94427776212991, -STORE, 94427776212992, 94427776217087, -SNULL, 140401467138047, 140401467142143, -STORE, 140401467133952, 140401467138047, -STORE, 140401467138048, 140401467142143, -ERASE, 140401467105280, 140401467133951, -STORE, 94427784683520, 94427784818687, -STORE, 140401450487808, 140401458880511, -SNULL, 140401450491903, 140401458880511, -STORE, 140401450487808, 140401450491903, -STORE, 140401450491904, 140401458880511, -STORE, 140401442095104, 140401450487807, -STORE, 140401307877376, 140401442095103, -SNULL, 140401307877376, 140401340055551, -STORE, 140401340055552, 140401442095103, -STORE, 140401307877376, 140401340055551, -ERASE, 140401307877376, 140401340055551, -SNULL, 140401407164415, 140401442095103, -STORE, 140401340055552, 140401407164415, -STORE, 140401407164416, 140401442095103, -ERASE, 140401407164416, 140401442095103, -SNULL, 140401340190719, 140401407164415, -STORE, 140401340055552, 140401340190719, -STORE, 140401340190720, 140401407164415, -SNULL, 140401442099199, 140401450487807, -STORE, 140401442095104, 140401442099199, -STORE, 140401442099200, 140401450487807, -STORE, 140401433702400, 140401442095103, -SNULL, 140401433706495, 140401442095103, -STORE, 140401433702400, 140401433706495, -STORE, 140401433706496, 140401442095103, -STORE, 140401425309696, 140401433702399, -SNULL, 140401425313791, 140401433702399, -STORE, 140401425309696, 140401425313791, -STORE, 140401425313792, 140401433702399, -STORE, 140401416916992, 140401425309695, -SNULL, 140401416921087, 140401425309695, -STORE, 140401416916992, 140401416921087, -STORE, 140401416921088, 140401425309695, -STORE, 140401408524288, 140401416916991, -STORE, 140401205837824, 140401340055551, -SNULL, 140401272946687, 140401340055551, -STORE, 140401205837824, 140401272946687, -STORE, 140401272946688, 140401340055551, -ERASE, 140401272946688, 140401340055551, -SNULL, 140401205972991, 140401272946687, -STORE, 140401205837824, 140401205972991, -STORE, 140401205972992, 140401272946687, -STORE, 140401331662848, 140401340055551, -STORE, 140401323270144, 140401340055551, -STORE, 140401138728960, 140401205837823, -STORE, 140401314877440, 140401340055551, -SNULL, 140401408528383, 140401416916991, -STORE, 140401408524288, 140401408528383, -STORE, 140401408528384, 140401416916991, -SNULL, 140401138864127, 140401205837823, -STORE, 140401138728960, 140401138864127, -STORE, 140401138864128, 140401205837823, -STORE, 140401004511232, 140401138728959, -SNULL, 140401071620095, 140401138728959, -STORE, 140401004511232, 140401071620095, -STORE, 140401071620096, 140401138728959, -ERASE, 140401071620096, 140401138728959, -STORE, 140400870293504, 140401071620095, -SNULL, 140400937402367, 140401071620095, -STORE, 140400870293504, 140400937402367, -STORE, 140400937402368, 140401071620095, -SNULL, 140400937402368, 140401004511231, -STORE, 140401004511232, 140401071620095, -STORE, 140400937402368, 140401004511231, -ERASE, 140400937402368, 140401004511231, -STORE, 140401306484736, 140401340055551, -SNULL, 140401306484736, 140401323270143, -STORE, 140401323270144, 140401340055551, -STORE, 140401306484736, 140401323270143, -SNULL, 140401323274239, 140401340055551, -STORE, 140401323270144, 140401323274239, -STORE, 140401323274240, 140401340055551, -SNULL, 140401004646399, 140401071620095, -STORE, 140401004511232, 140401004646399, -STORE, 140401004646400, 140401071620095, -SNULL, 140400870428671, 140400937402367, -STORE, 140400870293504, 140400870428671, -STORE, 140400870428672, 140400937402367, -SNULL, 140401306488831, 140401323270143, -STORE, 140401306484736, 140401306488831, -STORE, 140401306488832, 140401323270143, -STORE, 140401298092032, 140401306484735, -SNULL, 140401306488832, 140401314877439, -STORE, 140401314877440, 140401323270143, -STORE, 140401306488832, 140401314877439, -SNULL, 140401314881535, 140401323270143, -STORE, 140401314877440, 140401314881535, -STORE, 140401314881536, 140401323270143, -SNULL, 140401323274240, 140401331662847, -STORE, 140401331662848, 140401340055551, -STORE, 140401323274240, 140401331662847, -SNULL, 140401331666943, 140401340055551, -STORE, 140401331662848, 140401331666943, -STORE, 140401331666944, 140401340055551, -SNULL, 140401298096127, 140401306484735, -STORE, 140401298092032, 140401298096127, -STORE, 140401298096128, 140401306484735, -STORE, 140401289699328, 140401298092031, -STORE, 140401281306624, 140401298092031, -STORE, 140401130336256, 140401138728959, -SNULL, 140401281306624, 140401289699327, -STORE, 140401289699328, 140401298092031, -STORE, 140401281306624, 140401289699327, -SNULL, 140401289703423, 140401298092031, -STORE, 140401289699328, 140401289703423, -STORE, 140401289703424, 140401298092031, -STORE, 140401121943552, 140401138728959, -STORE, 140401113550848, 140401138728959, -SNULL, 140401281310719, 140401289699327, -STORE, 140401281306624, 140401281310719, -STORE, 140401281310720, 140401289699327, -SNULL, 140401113550848, 140401121943551, -STORE, 140401121943552, 140401138728959, -STORE, 140401113550848, 140401121943551, -SNULL, 140401121947647, 140401138728959, -STORE, 140401121943552, 140401121947647, -STORE, 140401121947648, 140401138728959, -STORE, 140401105158144, 140401121943551, -SNULL, 140401121947648, 140401130336255, -STORE, 140401130336256, 140401138728959, -STORE, 140401121947648, 140401130336255, -SNULL, 140401130340351, 140401138728959, -STORE, 140401130336256, 140401130340351, -STORE, 140401130340352, 140401138728959, -STORE, 140401096765440, 140401121943551, -SNULL, 140401096765440, 140401113550847, -STORE, 140401113550848, 140401121943551, -STORE, 140401096765440, 140401113550847, -SNULL, 140401113554943, 140401121943551, -STORE, 140401113550848, 140401113554943, -STORE, 140401113554944, 140401121943551, -STORE, 140401088372736, 140401113550847, -SNULL, 140401088372736, 140401096765439, -STORE, 140401096765440, 140401113550847, -STORE, 140401088372736, 140401096765439, -SNULL, 140401096769535, 140401113550847, -STORE, 140401096765440, 140401096769535, -STORE, 140401096769536, 140401113550847, -SNULL, 140401096769536, 140401105158143, -STORE, 140401105158144, 140401113550847, -STORE, 140401096769536, 140401105158143, -SNULL, 140401105162239, 140401113550847, -STORE, 140401105158144, 140401105162239, -STORE, 140401105162240, 140401113550847, -SNULL, 140401088376831, 140401096765439, -STORE, 140401088372736, 140401088376831, -STORE, 140401088376832, 140401096765439, -STORE, 140401079980032, 140401088372735, -STORE, 140400996118528, 140401004511231, -SNULL, 140401079984127, 140401088372735, -STORE, 140401079980032, 140401079984127, -STORE, 140401079984128, 140401088372735, -SNULL, 140400996122623, 140401004511231, -STORE, 140400996118528, 140400996122623, -STORE, 140400996122624, 140401004511231, -STORE, 140400987725824, 140400996118527, -STORE, 140400979333120, 140400996118527, -STORE, 140400803184640, 140400870293503, -SNULL, 140400803319807, 140400870293503, -STORE, 140400803184640, 140400803319807, -STORE, 140400803319808, 140400870293503, -SNULL, 140400979333120, 140400987725823, -STORE, 140400987725824, 140400996118527, -STORE, 140400979333120, 140400987725823, -SNULL, 140400987729919, 140400996118527, -STORE, 140400987725824, 140400987729919, -STORE, 140400987729920, 140400996118527, -STORE, 140400970940416, 140400987725823, -STORE, 140400962547712, 140400987725823, -STORE, 140400668966912, 140400803184639, -STORE, 140400954155008, 140400987725823, -STORE, 140400945762304, 140400987725823, -STORE, 140400660574208, 140400668966911, -STORE, 140400593465344, 140400660574207, -STORE, 140400585072640, 140400593465343, -STORE, 140400450854912, 140400585072639, -STORE, 140400442462208, 140400450854911, -STORE, 140400434069504, 140400450854911, -STORE, 140400299851776, 140400434069503, -STORE, 140400291459072, 140400299851775, -SNULL, 140400299851776, 140400333422591, -STORE, 140400333422592, 140400434069503, -STORE, 140400299851776, 140400333422591, -ERASE, 140400299851776, 140400333422591, -STORE, 140400325029888, 140400333422591, -STORE, 140400157241344, 140400291459071, -STORE, 140400316637184, 140400333422591, -STORE, 140400308244480, 140400333422591, -STORE, 140400023023616, 140400291459071, -STORE, 140400291459072, 140400333422591, -SNULL, 140400023023616, 140400064987135, -STORE, 140400064987136, 140400291459071, -STORE, 140400023023616, 140400064987135, -ERASE, 140400023023616, 140400064987135, -STORE, 140400056594432, 140400064987135, -SNULL, 140400056598527, 140400064987135, -STORE, 140400056594432, 140400056598527, -STORE, 140400056598528, 140400064987135, -STORE, 140399989485568, 140400056594431, -SNULL, 140400291459072, 140400316637183, -STORE, 140400316637184, 140400333422591, -STORE, 140400291459072, 140400316637183, -SNULL, 140400316641279, 140400333422591, -STORE, 140400316637184, 140400316641279, -STORE, 140400316641280, 140400333422591, -STORE, 140399855267840, 140400056594431, -SNULL, 140399855267840, 140399863660543, -STORE, 140399863660544, 140400056594431, -STORE, 140399855267840, 140399863660543, -ERASE, 140399855267840, 140399863660543, -SNULL, 140400736075775, 140400803184639, -STORE, 140400668966912, 140400736075775, -STORE, 140400736075776, 140400803184639, -ERASE, 140400736075776, 140400803184639, -SNULL, 140400669102079, 140400736075775, -STORE, 140400668966912, 140400669102079, -STORE, 140400669102080, 140400736075775, -STORE, 140400669102080, 140400803184639, -SNULL, 140400669102080, 140400736075775, -STORE, 140400736075776, 140400803184639, -STORE, 140400669102080, 140400736075775, -SNULL, 140400736210943, 140400803184639, -STORE, 140400736075776, 140400736210943, -STORE, 140400736210944, 140400803184639, -ERASE, 140400593465344, 140400660574207, -SNULL, 140400450854912, 140400467640319, -STORE, 140400467640320, 140400585072639, -STORE, 140400450854912, 140400467640319, -ERASE, 140400450854912, 140400467640319, -STORE, 140399729442816, 140400056594431, -SNULL, 140400400531455, 140400434069503, -STORE, 140400333422592, 140400400531455, -STORE, 140400400531456, 140400434069503, -ERASE, 140400400531456, 140400434069503, -SNULL, 140400333557759, 140400400531455, -STORE, 140400333422592, 140400333557759, -STORE, 140400333557760, 140400400531455, -SNULL, 140400157241343, 140400291459071, -STORE, 140400064987136, 140400157241343, -STORE, 140400157241344, 140400291459071, -SNULL, 140400157241344, 140400199204863, -STORE, 140400199204864, 140400291459071, -STORE, 140400157241344, 140400199204863, -ERASE, 140400157241344, 140400199204863, -SNULL, 140400266313727, 140400291459071, -STORE, 140400199204864, 140400266313727, -STORE, 140400266313728, 140400291459071, -ERASE, 140400266313728, 140400291459071, -SNULL, 140400132095999, 140400157241343, -STORE, 140400064987136, 140400132095999, -STORE, 140400132096000, 140400157241343, -ERASE, 140400132096000, 140400157241343, -SNULL, 140400065122303, 140400132095999, -STORE, 140400064987136, 140400065122303, -STORE, 140400065122304, 140400132095999, -SNULL, 140400945762304, 140400954155007, -STORE, 140400954155008, 140400987725823, -STORE, 140400945762304, 140400954155007, -SNULL, 140400954159103, 140400987725823, -STORE, 140400954155008, 140400954159103, -STORE, 140400954159104, 140400987725823, -SNULL, 140400434069504, 140400442462207, -STORE, 140400442462208, 140400450854911, -STORE, 140400434069504, 140400442462207, -SNULL, 140400442466303, 140400450854911, -STORE, 140400442462208, 140400442466303, -STORE, 140400442466304, 140400450854911, -SNULL, 140400291463167, 140400316637183, -STORE, 140400291459072, 140400291463167, -STORE, 140400291463168, 140400316637183, -STORE, 140400652181504, 140400668966911, -STORE, 140400643788800, 140400668966911, -SNULL, 140400291463168, 140400299851775, -STORE, 140400299851776, 140400316637183, -STORE, 140400291463168, 140400299851775, -SNULL, 140400299855871, 140400316637183, -STORE, 140400299851776, 140400299855871, -STORE, 140400299855872, 140400316637183, -STORE, 140400635396096, 140400668966911, -SNULL, 140400635396096, 140400643788799, -STORE, 140400643788800, 140400668966911, -STORE, 140400635396096, 140400643788799, -SNULL, 140400643792895, 140400668966911, -STORE, 140400643788800, 140400643792895, -STORE, 140400643792896, 140400668966911, -SNULL, 140399989485567, 140400056594431, -STORE, 140399729442816, 140399989485567, -STORE, 140399989485568, 140400056594431, -ERASE, 140399989485568, 140400056594431, -SNULL, 140399930769407, 140399989485567, -STORE, 140399729442816, 140399930769407, -STORE, 140399930769408, 140399989485567, -ERASE, 140399930769408, 140399989485567, -SNULL, 140400945766399, 140400954155007, -STORE, 140400945762304, 140400945766399, -STORE, 140400945766400, 140400954155007, -SNULL, 140400534749183, 140400585072639, -STORE, 140400467640320, 140400534749183, -STORE, 140400534749184, 140400585072639, -ERASE, 140400534749184, 140400585072639, -SNULL, 140399796551679, 140399930769407, -STORE, 140399729442816, 140399796551679, -STORE, 140399796551680, 140399930769407, -SNULL, 140399796551680, 140399863660543, -STORE, 140399863660544, 140399930769407, -STORE, 140399796551680, 140399863660543, -ERASE, 140399796551680, 140399863660543, -SNULL, 140400199340031, 140400266313727, -STORE, 140400199204864, 140400199340031, -STORE, 140400199340032, 140400266313727, -STORE, 140400627003392, 140400643788799, -SNULL, 140400316641280, 140400325029887, -STORE, 140400325029888, 140400333422591, -STORE, 140400316641280, 140400325029887, -SNULL, 140400325033983, 140400333422591, -STORE, 140400325029888, 140400325033983, -STORE, 140400325033984, 140400333422591, -SNULL, 140400627003392, 140400635396095, -STORE, 140400635396096, 140400643788799, -STORE, 140400627003392, 140400635396095, -SNULL, 140400635400191, 140400643788799, -STORE, 140400635396096, 140400635400191, -STORE, 140400635400192, 140400643788799, -SNULL, 140400434073599, 140400442462207, -STORE, 140400434069504, 140400434073599, -STORE, 140400434073600, 140400442462207, -STORE, 140400618610688, 140400635396095, -STORE, 140400610217984, 140400635396095, -SNULL, 140400954159104, 140400962547711, -STORE, 140400962547712, 140400987725823, -STORE, 140400954159104, 140400962547711, -SNULL, 140400962551807, 140400987725823, -STORE, 140400962547712, 140400962551807, -STORE, 140400962551808, 140400987725823, -SNULL, 140400299855872, 140400308244479, -STORE, 140400308244480, 140400316637183, -STORE, 140400299855872, 140400308244479, -SNULL, 140400308248575, 140400316637183, -STORE, 140400308244480, 140400308248575, -STORE, 140400308248576, 140400316637183, -STORE, 140400601825280, 140400635396095, -SNULL, 140400601829375, 140400635396095, -STORE, 140400601825280, 140400601829375, -STORE, 140400601829376, 140400635396095, -STORE, 140400576679936, 140400593465343, -SNULL, 140400576684031, 140400593465343, -STORE, 140400576679936, 140400576684031, -STORE, 140400576684032, 140400593465343, -SNULL, 140400643792896, 140400652181503, -STORE, 140400652181504, 140400668966911, -STORE, 140400643792896, 140400652181503, -SNULL, 140400652185599, 140400668966911, -STORE, 140400652181504, 140400652185599, -STORE, 140400652185600, 140400668966911, -STORE, 140399595225088, 140399796551679, -SNULL, 140399662333951, 140399796551679, -STORE, 140399595225088, 140399662333951, -STORE, 140399662333952, 140399796551679, -SNULL, 140399662333952, 140399729442815, -STORE, 140399729442816, 140399796551679, -STORE, 140399662333952, 140399729442815, -ERASE, 140399662333952, 140399729442815, -SNULL, 140399863795711, 140399930769407, -STORE, 140399863660544, 140399863795711, -STORE, 140399863795712, 140399930769407, -STORE, 140400568287232, 140400576679935, -SNULL, 140400568291327, 140400576679935, -STORE, 140400568287232, 140400568291327, -STORE, 140400568291328, 140400576679935, -SNULL, 140400467775487, 140400534749183, -STORE, 140400467640320, 140400467775487, -STORE, 140400467775488, 140400534749183, -SNULL, 140399729577983, 140399796551679, -STORE, 140399729442816, 140399729577983, -STORE, 140399729577984, 140399796551679, -SNULL, 140400601829376, 140400627003391, -STORE, 140400627003392, 140400635396095, -STORE, 140400601829376, 140400627003391, -SNULL, 140400627007487, 140400635396095, -STORE, 140400627003392, 140400627007487, -STORE, 140400627007488, 140400635396095, -STORE, 140400559894528, 140400568287231, -STORE, 140400551501824, 140400568287231, -STORE, 140400543109120, 140400568287231, -STORE, 140400459247616, 140400467640319, -STORE, 140400442466304, 140400467640319, -SNULL, 140399595360255, 140399662333951, -STORE, 140399595225088, 140399595360255, -STORE, 140399595360256, 140399662333951, -SNULL, 140400962551808, 140400970940415, -STORE, 140400970940416, 140400987725823, -STORE, 140400962551808, 140400970940415, -SNULL, 140400970944511, 140400987725823, -STORE, 140400970940416, 140400970944511, -STORE, 140400970944512, 140400987725823, -SNULL, 140400652185600, 140400660574207, -STORE, 140400660574208, 140400668966911, -STORE, 140400652185600, 140400660574207, -SNULL, 140400660578303, 140400668966911, -STORE, 140400660574208, 140400660578303, -STORE, 140400660578304, 140400668966911, -SNULL, 140400576684032, 140400585072639, -STORE, 140400585072640, 140400593465343, -STORE, 140400576684032, 140400585072639, -SNULL, 140400585076735, 140400593465343, -STORE, 140400585072640, 140400585076735, -STORE, 140400585076736, 140400593465343, -STORE, 140400425676800, 140400434069503, -STORE, 140400417284096, 140400434069503, -STORE, 140400408891392, 140400434069503, -SNULL, 140400408891392, 140400417284095, -STORE, 140400417284096, 140400434069503, -STORE, 140400408891392, 140400417284095, -SNULL, 140400417288191, 140400434069503, -STORE, 140400417284096, 140400417288191, -STORE, 140400417288192, 140400434069503, -STORE, 140400283066368, 140400291459071, -SNULL, 140400601829376, 140400618610687, -STORE, 140400618610688, 140400627003391, -STORE, 140400601829376, 140400618610687, -SNULL, 140400618614783, 140400627003391, -STORE, 140400618610688, 140400618614783, -STORE, 140400618614784, 140400627003391, -SNULL, 140400601829376, 140400610217983, -STORE, 140400610217984, 140400618610687, -STORE, 140400601829376, 140400610217983, -SNULL, 140400610222079, 140400618610687, -STORE, 140400610217984, 140400610222079, -STORE, 140400610222080, 140400618610687, -STORE, 140400274673664, 140400291459071, -STORE, 140400190812160, 140400199204863, -STORE, 140400182419456, 140400199204863, -SNULL, 140400442466304, 140400450854911, -STORE, 140400450854912, 140400467640319, -STORE, 140400442466304, 140400450854911, -SNULL, 140400450859007, 140400467640319, -STORE, 140400450854912, 140400450859007, -STORE, 140400450859008, 140400467640319, -SNULL, 140400543109120, 140400559894527, -STORE, 140400559894528, 140400568287231, -STORE, 140400543109120, 140400559894527, -SNULL, 140400559898623, 140400568287231, -STORE, 140400559894528, 140400559898623, -STORE, 140400559898624, 140400568287231, -SNULL, 140400450859008, 140400459247615, -STORE, 140400459247616, 140400467640319, -STORE, 140400450859008, 140400459247615, -SNULL, 140400459251711, 140400467640319, -STORE, 140400459247616, 140400459251711, -STORE, 140400459251712, 140400467640319, -SNULL, 140400543113215, 140400559894527, -STORE, 140400543109120, 140400543113215, -STORE, 140400543113216, 140400559894527, -SNULL, 140400970944512, 140400979333119, -STORE, 140400979333120, 140400987725823, -STORE, 140400970944512, 140400979333119, -SNULL, 140400979337215, 140400987725823, -STORE, 140400979333120, 140400979337215, -STORE, 140400979337216, 140400987725823, -STORE, 140400174026752, 140400199204863, -SNULL, 140400174030847, 140400199204863, -STORE, 140400174026752, 140400174030847, -STORE, 140400174030848, 140400199204863, -SNULL, 140400274673664, 140400283066367, -STORE, 140400283066368, 140400291459071, -STORE, 140400274673664, 140400283066367, -SNULL, 140400283070463, 140400291459071, -STORE, 140400283066368, 140400283070463, -STORE, 140400283070464, 140400291459071, -STORE, 140400165634048, 140400174026751, -SNULL, 140400165638143, 140400174026751, -STORE, 140400165634048, 140400165638143, -STORE, 140400165638144, 140400174026751, -SNULL, 140400174030848, 140400182419455, -STORE, 140400182419456, 140400199204863, -STORE, 140400174030848, 140400182419455, -SNULL, 140400182423551, 140400199204863, -STORE, 140400182419456, 140400182423551, -STORE, 140400182423552, 140400199204863, -SNULL, 140400182423552, 140400190812159, -STORE, 140400190812160, 140400199204863, -STORE, 140400182423552, 140400190812159, -SNULL, 140400190816255, 140400199204863, -STORE, 140400190812160, 140400190816255, -STORE, 140400190816256, 140400199204863, -STORE, 140400157241344, 140400165634047, -SNULL, 140400157245439, 140400165634047, -STORE, 140400157241344, 140400157245439, -STORE, 140400157245440, 140400165634047, -SNULL, 140400408895487, 140400417284095, -STORE, 140400408891392, 140400408895487, -STORE, 140400408895488, 140400417284095, -SNULL, 140400417288192, 140400425676799, -STORE, 140400425676800, 140400434069503, -STORE, 140400417288192, 140400425676799, -SNULL, 140400425680895, 140400434069503, -STORE, 140400425676800, 140400425680895, -STORE, 140400425680896, 140400434069503, -STORE, 140400148848640, 140400157241343, -SNULL, 140400148852735, 140400157241343, -STORE, 140400148848640, 140400148852735, -STORE, 140400148852736, 140400157241343, -SNULL, 140400543113216, 140400551501823, -STORE, 140400551501824, 140400559894527, -STORE, 140400543113216, 140400551501823, -SNULL, 140400551505919, 140400559894527, -STORE, 140400551501824, 140400551505919, -STORE, 140400551505920, 140400559894527, -STORE, 140400140455936, 140400148848639, -STORE, 140400048201728, 140400056594431, -SNULL, 140400140460031, 140400148848639, -STORE, 140400140455936, 140400140460031, -STORE, 140400140460032, 140400148848639, -STORE, 140400039809024, 140400056594431, -SNULL, 140400039813119, 140400056594431, -STORE, 140400039809024, 140400039813119, -STORE, 140400039813120, 140400056594431, -STORE, 140400031416320, 140400039809023, -STORE, 140400023023616, 140400039809023, -SNULL, 140400274677759, 140400283066367, -STORE, 140400274673664, 140400274677759, -STORE, 140400274677760, 140400283066367, -STORE, 140400014630912, 140400039809023, -STORE, 140400006238208, 140400039809023, -STORE, 140399997845504, 140400039809023, -SNULL, 140399997849599, 140400039809023, -STORE, 140399997845504, 140399997849599, -STORE, 140399997849600, 140400039809023, -STORE, 140399989452800, 140399997845503, -SNULL, 140399989456895, 140399997845503, -STORE, 140399989452800, 140399989456895, -STORE, 140399989456896, 140399997845503, -STORE, 140399981060096, 140399989452799, -SNULL, 140399981064191, 140399989452799, -STORE, 140399981060096, 140399981064191, -STORE, 140399981064192, 140399989452799, -STORE, 140399972667392, 140399981060095, -STORE, 140399964274688, 140399981060095, -SNULL, 140399964278783, 140399981060095, -STORE, 140399964274688, 140399964278783, -STORE, 140399964278784, 140399981060095, -SNULL, 140400039813120, 140400048201727, -STORE, 140400048201728, 140400056594431, -STORE, 140400039813120, 140400048201727, -SNULL, 140400048205823, 140400056594431, -STORE, 140400048201728, 140400048205823, -STORE, 140400048205824, 140400056594431, -SNULL, 140399997849600, 140400031416319, -STORE, 140400031416320, 140400039809023, -STORE, 140399997849600, 140400031416319, -SNULL, 140400031420415, 140400039809023, -STORE, 140400031416320, 140400031420415, -STORE, 140400031420416, 140400039809023, -STORE, 140399955881984, 140399964274687, -SNULL, 140399955886079, 140399964274687, -STORE, 140399955881984, 140399955886079, -STORE, 140399955886080, 140399964274687, -STORE, 140399947489280, 140399955881983, -STORE, 140399939096576, 140399955881983, -STORE, 140399855267840, 140399863660543, -SNULL, 140399939100671, 140399955881983, -STORE, 140399939096576, 140399939100671, -STORE, 140399939100672, 140399955881983, -SNULL, 140399997849600, 140400014630911, -STORE, 140400014630912, 140400031416319, -STORE, 140399997849600, 140400014630911, -SNULL, 140400014635007, 140400031416319, -STORE, 140400014630912, 140400014635007, -STORE, 140400014635008, 140400031416319, -SNULL, 140400014635008, 140400023023615, -STORE, 140400023023616, 140400031416319, -STORE, 140400014635008, 140400023023615, -SNULL, 140400023027711, 140400031416319, -STORE, 140400023023616, 140400023027711, -STORE, 140400023027712, 140400031416319, -SNULL, 140399997849600, 140400006238207, -STORE, 140400006238208, 140400014630911, -STORE, 140399997849600, 140400006238207, -SNULL, 140400006242303, 140400014630911, -STORE, 140400006238208, 140400006242303, -STORE, 140400006242304, 140400014630911, -STORE, 140399846875136, 140399863660543, -STORE, 140399838482432, 140399863660543, -SNULL, 140399838486527, 140399863660543, -STORE, 140399838482432, 140399838486527, -STORE, 140399838486528, 140399863660543, -SNULL, 140399939100672, 140399947489279, -STORE, 140399947489280, 140399955881983, -STORE, 140399939100672, 140399947489279, -SNULL, 140399947493375, 140399955881983, -STORE, 140399947489280, 140399947493375, -STORE, 140399947493376, 140399955881983, -SNULL, 140399964278784, 140399972667391, -STORE, 140399972667392, 140399981060095, -STORE, 140399964278784, 140399972667391, -SNULL, 140399972671487, 140399981060095, -STORE, 140399972667392, 140399972671487, -STORE, 140399972671488, 140399981060095, -SNULL, 140399838486528, 140399855267839, -STORE, 140399855267840, 140399863660543, -STORE, 140399838486528, 140399855267839, -SNULL, 140399855271935, 140399863660543, -STORE, 140399855267840, 140399855271935, -STORE, 140399855271936, 140399863660543, -STORE, 140399830089728, 140399838482431, -SNULL, 140399830093823, 140399838482431, -STORE, 140399830089728, 140399830093823, -STORE, 140399830093824, 140399838482431, -STORE, 140399821697024, 140399830089727, -SNULL, 140399821701119, 140399830089727, -STORE, 140399821697024, 140399821701119, -STORE, 140399821701120, 140399830089727, -SNULL, 140399838486528, 140399846875135, -STORE, 140399846875136, 140399855267839, -STORE, 140399838486528, 140399846875135, -SNULL, 140399846879231, 140399855267839, -STORE, 140399846875136, 140399846879231, -STORE, 140399846879232, 140399855267839, -STORE, 140399813304320, 140399821697023, -STORE, 140399804911616, 140399821697023, -SNULL, 140399804915711, 140399821697023, -STORE, 140399804911616, 140399804915711, -STORE, 140399804915712, 140399821697023, -STORE, 140399721050112, 140399729442815, -SNULL, 140399804915712, 140399813304319, -STORE, 140399813304320, 140399821697023, -STORE, 140399804915712, 140399813304319, -SNULL, 140399813308415, 140399821697023, -STORE, 140399813304320, 140399813308415, -STORE, 140399813308416, 140399821697023, -SNULL, 140399721054207, 140399729442815, -STORE, 140399721050112, 140399721054207, -STORE, 140399721054208, 140399729442815, -STORE, 140401467105280, 140401467133951, -STORE, 140401279115264, 140401281306623, -SNULL, 140401279115264, 140401279205375, -STORE, 140401279205376, 140401281306623, -STORE, 140401279115264, 140401279205375, -SNULL, 140401281298431, 140401281306623, -STORE, 140401279205376, 140401281298431, -STORE, 140401281298432, 140401281306623, -ERASE, 140401281298432, 140401281306623, -STORE, 140401281298432, 140401281306623, -SNULL, 140401281302527, 140401281306623, -STORE, 140401281298432, 140401281302527, -STORE, 140401281302528, 140401281306623, -ERASE, 140401467105280, 140401467133951, -ERASE, 140400056594432, 140400056598527, -ERASE, 140400056598528, 140400064987135, -ERASE, 140400635396096, 140400635400191, -ERASE, 140400635400192, 140400643788799, -ERASE, 140400408891392, 140400408895487, -ERASE, 140400408895488, 140400417284095, -ERASE, 140400299851776, 140400299855871, -ERASE, 140400299855872, 140400308244479, -ERASE, 140400627003392, 140400627007487, -ERASE, 140400627007488, 140400635396095, -ERASE, 140400954155008, 140400954159103, -ERASE, 140400954159104, 140400962547711, -ERASE, 140400291459072, 140400291463167, -ERASE, 140400291463168, 140400299851775, -ERASE, 140400643788800, 140400643792895, -ERASE, 140400643792896, 140400652181503, -ERASE, 140400325029888, 140400325033983, -ERASE, 140400325033984, 140400333422591, -ERASE, 140400610217984, 140400610222079, -ERASE, 140400610222080, 140400618610687, -ERASE, 140400190812160, 140400190816255, -ERASE, 140400190816256, 140400199204863, -ERASE, 140399964274688, 140399964278783, -ERASE, 140399964278784, 140399972667391, -ERASE, 140400945762304, 140400945766399, -ERASE, 140400945766400, 140400954155007, -ERASE, 140400568287232, 140400568291327, -ERASE, 140400568291328, 140400576679935, -ERASE, 140399972667392, 140399972671487, -ERASE, 140399972671488, 140399981060095, -ERASE, 140400962547712, 140400962551807, -ERASE, 140400962551808, 140400970940415, -ERASE, 140400987725824, 140400987729919, -ERASE, 140400987729920, 140400996118527, -ERASE, 140400652181504, 140400652185599, -ERASE, 140400652185600, 140400660574207, -ERASE, 140400450854912, 140400450859007, -ERASE, 140400450859008, 140400459247615, -ERASE, 140400031416320, 140400031420415, -ERASE, 140400031420416, 140400039809023, -ERASE, 140400308244480, 140400308248575, -ERASE, 140400308248576, 140400316637183, -ERASE, 140400434069504, 140400434073599, -ERASE, 140400434073600, 140400442462207, -ERASE, 140400543109120, 140400543113215, -ERASE, 140400543113216, 140400551501823, -ERASE, 140400023023616, 140400023027711, -ERASE, 140400023027712, 140400031416319, -ERASE, 140399813304320, 140399813308415, -ERASE, 140399813308416, 140399821697023, -ERASE, 140400316637184, 140400316641279, -ERASE, 140400316641280, 140400325029887, -ERASE, 140400585072640, 140400585076735, -ERASE, 140400585076736, 140400593465343, -ERASE, 140400148848640, 140400148852735, -ERASE, 140400148852736, 140400157241343, -ERASE, 140399955881984, 140399955886079, -ERASE, 140399955886080, 140399964274687, -ERASE, 140399821697024, 140399821701119, -ERASE, 140399821701120, 140399830089727, -ERASE, 140400601825280, 140400601829375, -ERASE, 140400601829376, 140400610217983, -ERASE, 140400979333120, 140400979337215, -ERASE, 140400979337216, 140400987725823, -ERASE, 140399997845504, 140399997849599, -ERASE, 140399997849600, 140400006238207, -ERASE, 140400459247616, 140400459251711, -ERASE, 140400459251712, 140400467640319, -ERASE, 140400551501824, 140400551505919, -ERASE, 140400551505920, 140400559894527, -ERASE, 140399939096576, 140399939100671, -ERASE, 140399939100672, 140399947489279, -ERASE, 140400442462208, 140400442466303, -ERASE, 140400442466304, 140400450854911, -ERASE, 140400576679936, 140400576684031, -ERASE, 140400576684032, 140400585072639, -ERASE, 140400559894528, 140400559898623, -ERASE, 140400559898624, 140400568287231, -ERASE, 140400417284096, 140400417288191, -ERASE, 140400417288192, 140400425676799, -ERASE, 140400283066368, 140400283070463, -ERASE, 140400283070464, 140400291459071, - }; - unsigned long set33[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140734562918400, 140737488351231, -SNULL, 140734562922495, 140737488351231, -STORE, 140734562918400, 140734562922495, -STORE, 140734562787328, 140734562922495, -STORE, 94133878984704, 94133881237503, -SNULL, 94133879115775, 94133881237503, -STORE, 94133878984704, 94133879115775, -STORE, 94133879115776, 94133881237503, -ERASE, 94133879115776, 94133881237503, -STORE, 94133881208832, 94133881217023, -STORE, 94133881217024, 94133881237503, -STORE, 140583654043648, 140583656296447, -SNULL, 140583654187007, 140583656296447, -STORE, 140583654043648, 140583654187007, -STORE, 140583654187008, 140583656296447, -ERASE, 140583654187008, 140583656296447, -STORE, 140583656284160, 140583656292351, -STORE, 140583656292352, 140583656296447, -STORE, 140734564319232, 140734564323327, -STORE, 140734564306944, 140734564319231, -STORE, 140583656255488, 140583656284159, -STORE, 140583656247296, 140583656255487, -STORE, 140583651827712, 140583654043647, -SNULL, 140583651827712, 140583651926015, -STORE, 140583651926016, 140583654043647, -STORE, 140583651827712, 140583651926015, -SNULL, 140583654019071, 140583654043647, -STORE, 140583651926016, 140583654019071, -STORE, 140583654019072, 140583654043647, -SNULL, 140583654019072, 140583654027263, -STORE, 140583654027264, 140583654043647, -STORE, 140583654019072, 140583654027263, -ERASE, 140583654019072, 140583654027263, -STORE, 140583654019072, 140583654027263, -ERASE, 140583654027264, 140583654043647, -STORE, 140583654027264, 140583654043647, -STORE, 140583648030720, 140583651827711, -SNULL, 140583648030720, 140583649689599, -STORE, 140583649689600, 140583651827711, -STORE, 140583648030720, 140583649689599, -SNULL, 140583651786751, 140583651827711, -STORE, 140583649689600, 140583651786751, -STORE, 140583651786752, 140583651827711, -SNULL, 140583651786752, 140583651811327, -STORE, 140583651811328, 140583651827711, -STORE, 140583651786752, 140583651811327, -ERASE, 140583651786752, 140583651811327, -STORE, 140583651786752, 140583651811327, -ERASE, 140583651811328, 140583651827711, -STORE, 140583651811328, 140583651827711, -STORE, 140583656239104, 140583656255487, -SNULL, 140583651803135, 140583651811327, -STORE, 140583651786752, 140583651803135, -STORE, 140583651803136, 140583651811327, -SNULL, 140583654023167, 140583654027263, -STORE, 140583654019072, 140583654023167, -STORE, 140583654023168, 140583654027263, -SNULL, 94133881212927, 94133881217023, -STORE, 94133881208832, 94133881212927, -STORE, 94133881212928, 94133881217023, -SNULL, 140583656288255, 140583656292351, -STORE, 140583656284160, 140583656288255, -STORE, 140583656288256, 140583656292351, -ERASE, 140583656255488, 140583656284159, -STORE, 94133881733120, 94133881868287, -STORE, 140583639638016, 140583648030719, -SNULL, 140583639642111, 140583648030719, -STORE, 140583639638016, 140583639642111, -STORE, 140583639642112, 140583648030719, -STORE, 140583631245312, 140583639638015, -STORE, 140583497027584, 140583631245311, -SNULL, 140583497027584, 140583540621311, -STORE, 140583540621312, 140583631245311, -STORE, 140583497027584, 140583540621311, -ERASE, 140583497027584, 140583540621311, -SNULL, 140583607730175, 140583631245311, -STORE, 140583540621312, 140583607730175, -STORE, 140583607730176, 140583631245311, -ERASE, 140583607730176, 140583631245311, -SNULL, 140583540756479, 140583607730175, -STORE, 140583540621312, 140583540756479, -STORE, 140583540756480, 140583607730175, -SNULL, 140583631249407, 140583639638015, -STORE, 140583631245312, 140583631249407, -STORE, 140583631249408, 140583639638015, -STORE, 140583622852608, 140583631245311, -SNULL, 140583622856703, 140583631245311, -STORE, 140583622852608, 140583622856703, -STORE, 140583622856704, 140583631245311, -STORE, 140583614459904, 140583622852607, -SNULL, 140583614463999, 140583622852607, -STORE, 140583614459904, 140583614463999, -STORE, 140583614464000, 140583622852607, -STORE, 140583532228608, 140583540621311, -SNULL, 140583532232703, 140583540621311, -STORE, 140583532228608, 140583532232703, -STORE, 140583532232704, 140583540621311, -STORE, 140583523835904, 140583532228607, -STORE, 140583515443200, 140583532228607, -STORE, 140583507050496, 140583532228607, -STORE, 140583372832768, 140583507050495, -STORE, 140583364440064, 140583372832767, -STORE, 140583230222336, 140583364440063, -STORE, 140583096004608, 140583364440063, -SNULL, 140583230222335, 140583364440063, -STORE, 140583096004608, 140583230222335, -STORE, 140583230222336, 140583364440063, -SNULL, 140583230222336, 140583272185855, -STORE, 140583272185856, 140583364440063, -STORE, 140583230222336, 140583272185855, -ERASE, 140583230222336, 140583272185855, -STORE, 140582961786880, 140583230222335, -SNULL, 140583372832768, 140583406403583, -STORE, 140583406403584, 140583507050495, -STORE, 140583372832768, 140583406403583, -ERASE, 140583372832768, 140583406403583, -SNULL, 140583473512447, 140583507050495, -STORE, 140583406403584, 140583473512447, -STORE, 140583473512448, 140583507050495, -ERASE, 140583473512448, 140583507050495, -SNULL, 140583096004607, 140583230222335, -STORE, 140582961786880, 140583096004607, -STORE, 140583096004608, 140583230222335, -SNULL, 140583096004608, 140583137968127, -STORE, 140583137968128, 140583230222335, -STORE, 140583096004608, 140583137968127, -ERASE, 140583096004608, 140583137968127, -SNULL, 140583339294719, 140583364440063, -STORE, 140583272185856, 140583339294719, -STORE, 140583339294720, 140583364440063, -ERASE, 140583339294720, 140583364440063, -SNULL, 140583272321023, 140583339294719, -STORE, 140583272185856, 140583272321023, -STORE, 140583272321024, 140583339294719, -SNULL, 140582961786880, 140583003750399, -STORE, 140583003750400, 140583096004607, -STORE, 140582961786880, 140583003750399, -ERASE, 140582961786880, 140583003750399, - }; - - unsigned long set34[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140731327180800, 140737488351231, -SNULL, 140731327184895, 140737488351231, -STORE, 140731327180800, 140731327184895, -STORE, 140731327049728, 140731327184895, -STORE, 94632924487680, 94632926740479, -SNULL, 94632924618751, 94632926740479, -STORE, 94632924487680, 94632924618751, -STORE, 94632924618752, 94632926740479, -ERASE, 94632924618752, 94632926740479, -STORE, 94632926711808, 94632926719999, -STORE, 94632926720000, 94632926740479, -STORE, 140012544888832, 140012547141631, -SNULL, 140012545032191, 140012547141631, -STORE, 140012544888832, 140012545032191, -STORE, 140012545032192, 140012547141631, -ERASE, 140012545032192, 140012547141631, -STORE, 140012547129344, 140012547137535, -STORE, 140012547137536, 140012547141631, -STORE, 140731327725568, 140731327729663, -STORE, 140731327713280, 140731327725567, -STORE, 140012547100672, 140012547129343, -STORE, 140012547092480, 140012547100671, -STORE, 140012542672896, 140012544888831, -SNULL, 140012542672896, 140012542771199, -STORE, 140012542771200, 140012544888831, -STORE, 140012542672896, 140012542771199, -SNULL, 140012544864255, 140012544888831, -STORE, 140012542771200, 140012544864255, -STORE, 140012544864256, 140012544888831, -SNULL, 140012544864256, 140012544872447, -STORE, 140012544872448, 140012544888831, -STORE, 140012544864256, 140012544872447, -ERASE, 140012544864256, 140012544872447, -STORE, 140012544864256, 140012544872447, -ERASE, 140012544872448, 140012544888831, -STORE, 140012544872448, 140012544888831, -STORE, 140012538875904, 140012542672895, -SNULL, 140012538875904, 140012540534783, -STORE, 140012540534784, 140012542672895, -STORE, 140012538875904, 140012540534783, -SNULL, 140012542631935, 140012542672895, -STORE, 140012540534784, 140012542631935, -STORE, 140012542631936, 140012542672895, -SNULL, 140012542631936, 140012542656511, -STORE, 140012542656512, 140012542672895, -STORE, 140012542631936, 140012542656511, -ERASE, 140012542631936, 140012542656511, -STORE, 140012542631936, 140012542656511, -ERASE, 140012542656512, 140012542672895, -STORE, 140012542656512, 140012542672895, -STORE, 140012547084288, 140012547100671, -SNULL, 140012542648319, 140012542656511, -STORE, 140012542631936, 140012542648319, -STORE, 140012542648320, 140012542656511, -SNULL, 140012544868351, 140012544872447, -STORE, 140012544864256, 140012544868351, -STORE, 140012544868352, 140012544872447, -SNULL, 94632926715903, 94632926719999, -STORE, 94632926711808, 94632926715903, -STORE, 94632926715904, 94632926719999, -SNULL, 140012547133439, 140012547137535, -STORE, 140012547129344, 140012547133439, -STORE, 140012547133440, 140012547137535, -ERASE, 140012547100672, 140012547129343, -STORE, 94632939606016, 94632939741183, -STORE, 140012530483200, 140012538875903, -SNULL, 140012530487295, 140012538875903, -STORE, 140012530483200, 140012530487295, -STORE, 140012530487296, 140012538875903, -STORE, 140012522090496, 140012530483199, -STORE, 140012387872768, 140012522090495, -SNULL, 140012387872768, 140012444188671, -STORE, 140012444188672, 140012522090495, -STORE, 140012387872768, 140012444188671, -ERASE, 140012387872768, 140012444188671, -SNULL, 140012511297535, 140012522090495, -STORE, 140012444188672, 140012511297535, -STORE, 140012511297536, 140012522090495, -ERASE, 140012511297536, 140012522090495, -SNULL, 140012444323839, 140012511297535, -STORE, 140012444188672, 140012444323839, -STORE, 140012444323840, 140012511297535, -SNULL, 140012522094591, 140012530483199, -STORE, 140012522090496, 140012522094591, -STORE, 140012522094592, 140012530483199, -STORE, 140012513697792, 140012522090495, -SNULL, 140012513701887, 140012522090495, -STORE, 140012513697792, 140012513701887, -STORE, 140012513701888, 140012522090495, -STORE, 140012435795968, 140012444188671, -SNULL, 140012435800063, 140012444188671, -STORE, 140012435795968, 140012435800063, -STORE, 140012435800064, 140012444188671, -STORE, 140012427403264, 140012435795967, -SNULL, 140012427407359, 140012435795967, -STORE, 140012427403264, 140012427407359, -STORE, 140012427407360, 140012435795967, -STORE, 140012419010560, 140012427403263, -STORE, 140012410617856, 140012427403263, -STORE, 140012276400128, 140012410617855, -STORE, 140012268007424, 140012276400127, -STORE, 140012133789696, 140012268007423, -SNULL, 140012133789696, 140012175753215, -STORE, 140012175753216, 140012268007423, -STORE, 140012133789696, 140012175753215, -ERASE, 140012133789696, 140012175753215, -STORE, 140012041535488, 140012268007423, -SNULL, 140012108644351, 140012268007423, -STORE, 140012041535488, 140012108644351, -STORE, 140012108644352, 140012268007423, -SNULL, 140012108644352, 140012175753215, -STORE, 140012175753216, 140012268007423, -STORE, 140012108644352, 140012175753215, -ERASE, 140012108644352, 140012175753215, -SNULL, 140012276400128, 140012309970943, -STORE, 140012309970944, 140012410617855, -STORE, 140012276400128, 140012309970943, -ERASE, 140012276400128, 140012309970943, -STORE, 140012301578240, 140012309970943, -STORE, 140012041535488, 140012268007423, -SNULL, 140012242862079, 140012268007423, -STORE, 140012041535488, 140012242862079, -STORE, 140012242862080, 140012268007423, -ERASE, 140012242862080, 140012268007423, -SNULL, 140012041670655, 140012242862079, -STORE, 140012041535488, 140012041670655, -STORE, 140012041670656, 140012242862079, -SNULL, 140012041670656, 140012108644351, -STORE, 140012108644352, 140012242862079, -STORE, 140012041670656, 140012108644351, -SNULL, 140012108779519, 140012242862079, -STORE, 140012108644352, 140012108779519, -STORE, 140012108779520, 140012242862079, -SNULL, 140012377079807, 140012410617855, -STORE, 140012309970944, 140012377079807, -STORE, 140012377079808, 140012410617855, -ERASE, 140012377079808, 140012410617855, -SNULL, 140012310106111, 140012377079807, -STORE, 140012309970944, 140012310106111, -STORE, 140012310106112, 140012377079807, -SNULL, 140012410621951, 140012427403263, -STORE, 140012410617856, 140012410621951, -STORE, 140012410621952, 140012427403263, -SNULL, 140012108779520, 140012175753215, -STORE, 140012175753216, 140012242862079, -STORE, 140012108779520, 140012175753215, -SNULL, 140012175888383, 140012242862079, -STORE, 140012175753216, 140012175888383, -STORE, 140012175888384, 140012242862079, -SNULL, 140012301582335, 140012309970943, -STORE, 140012301578240, 140012301582335, -STORE, 140012301582336, 140012309970943, -SNULL, 140012410621952, 140012419010559, -STORE, 140012419010560, 140012427403263, -STORE, 140012410621952, 140012419010559, -SNULL, 140012419014655, 140012427403263, -STORE, 140012419010560, 140012419014655, -STORE, 140012419014656, 140012427403263, -SNULL, 140012268011519, 140012276400127, -STORE, 140012268007424, 140012268011519, -STORE, 140012268011520, 140012276400127, -STORE, 140012402225152, 140012410617855, -STORE, 140012393832448, 140012410617855, -SNULL, 140012393832448, 140012402225151, -STORE, 140012402225152, 140012410617855, -STORE, 140012393832448, 140012402225151, -SNULL, 140012402229247, 140012410617855, -STORE, 140012402225152, 140012402229247, -STORE, 140012402229248, 140012410617855, -STORE, 140012385439744, 140012402225151, -SNULL, 140012385439744, 140012393832447, -STORE, 140012393832448, 140012402225151, -STORE, 140012385439744, 140012393832447, -SNULL, 140012393836543, 140012402225151, -STORE, 140012393832448, 140012393836543, -STORE, 140012393836544, 140012402225151, -STORE, 140012293185536, 140012301578239, -STORE, 140012284792832, 140012301578239, -SNULL, 140012284792832, 140012293185535, -STORE, 140012293185536, 140012301578239, -STORE, 140012284792832, 140012293185535, -SNULL, 140012293189631, 140012301578239, -STORE, 140012293185536, 140012293189631, -STORE, 140012293189632, 140012301578239, -STORE, 140012268011520, 140012284792831, -SNULL, 140012385443839, 140012393832447, -STORE, 140012385439744, 140012385443839, -STORE, 140012385443840, 140012393832447, -STORE, 140012259614720, 140012268007423, -SNULL, 140012259618815, 140012268007423, -STORE, 140012259614720, 140012259618815, -STORE, 140012259618816, 140012268007423, -STORE, 140012251222016, 140012259614719, -SNULL, 140012251226111, 140012259614719, -STORE, 140012251222016, 140012251226111, -STORE, 140012251226112, 140012259614719, -SNULL, 140012284796927, 140012293185535, -STORE, 140012284792832, 140012284796927, -STORE, 140012284796928, 140012293185535, -SNULL, 140012268011520, 140012276400127, -STORE, 140012276400128, 140012284792831, -STORE, 140012268011520, 140012276400127, -SNULL, 140012276404223, 140012284792831, -STORE, 140012276400128, 140012276404223, -STORE, 140012276404224, 140012284792831, -STORE, 140012033142784, 140012041535487, -SNULL, 140012033146879, 140012041535487, -STORE, 140012033142784, 140012033146879, -STORE, 140012033146880, 140012041535487, -STORE, 140012024750080, 140012033142783, -STORE, 140012016357376, 140012033142783, -SNULL, 140012016357376, 140012024750079, -STORE, 140012024750080, 140012033142783, -STORE, 140012016357376, 140012024750079, -SNULL, 140012024754175, 140012033142783, -STORE, 140012024750080, 140012024754175, -STORE, 140012024754176, 140012033142783, -SNULL, 140012016361471, 140012024750079, -STORE, 140012016357376, 140012016361471, -STORE, 140012016361472, 140012024750079, -STORE, 140012007964672, 140012016357375, -SNULL, 140012007968767, 140012016357375, -STORE, 140012007964672, 140012007968767, -STORE, 140012007968768, 140012016357375, -STORE, 140011999571968, 140012007964671, -STORE, 140011991179264, 140012007964671, -STORE, 140011856961536, 140011991179263, -STORE, 140011848568832, 140011856961535, -STORE, 140011714351104, 140011848568831, -SNULL, 140011714351104, 140011773100031, -STORE, 140011773100032, 140011848568831, -STORE, 140011714351104, 140011773100031, -ERASE, 140011714351104, 140011773100031, -STORE, 140011764707328, 140011773100031, -STORE, 140011756314624, 140011773100031, -STORE, 140011622096896, 140011756314623, -STORE, 140011613704192, 140011622096895, -STORE, 140011479486464, 140011613704191, -STORE, 140011471093760, 140011479486463, -SNULL, 140011479486464, 140011504664575, -STORE, 140011504664576, 140011613704191, -STORE, 140011479486464, 140011504664575, -ERASE, 140011479486464, 140011504664575, -STORE, 140011496271872, 140011504664575, -STORE, 140011487879168, 140011504664575, -STORE, 140011336876032, 140011471093759, -SNULL, 140011336876032, 140011370446847, -STORE, 140011370446848, 140011471093759, -STORE, 140011336876032, 140011370446847, -ERASE, 140011336876032, 140011370446847, -STORE, 140011471093760, 140011487879167, -STORE, 140011362054144, 140011370446847, -SNULL, 140011362058239, 140011370446847, -STORE, 140011362054144, 140011362058239, -STORE, 140011362058240, 140011370446847, -STORE, 140011353661440, 140011362054143, -STORE, 140011345268736, 140011362054143, -SNULL, 140011345272831, 140011362054143, -STORE, 140011345268736, 140011345272831, -STORE, 140011345272832, 140011362054143, -STORE, 140011336876032, 140011345268735, -STORE, 140011328483328, 140011345268735, -SNULL, 140011328487423, 140011345268735, -STORE, 140011328483328, 140011328487423, -STORE, 140011328487424, 140011345268735, -STORE, 140011320090624, 140011328483327, -STORE, 140011185872896, 140011320090623, -SNULL, 140011185872896, 140011236229119, -STORE, 140011236229120, 140011320090623, -STORE, 140011185872896, 140011236229119, -ERASE, 140011185872896, 140011236229119, -SNULL, 140011856961536, 140011907317759, -STORE, 140011907317760, 140011991179263, -STORE, 140011856961536, 140011907317759, -ERASE, 140011856961536, 140011907317759, -SNULL, 140011974426623, 140011991179263, -STORE, 140011907317760, 140011974426623, -STORE, 140011974426624, 140011991179263, -ERASE, 140011974426624, 140011991179263, -SNULL, 140011840208895, 140011848568831, -STORE, 140011773100032, 140011840208895, -STORE, 140011840208896, 140011848568831, -ERASE, 140011840208896, 140011848568831, -SNULL, 140011773235199, 140011840208895, -STORE, 140011773100032, 140011773235199, -STORE, 140011773235200, 140011840208895, -STORE, 140011102011392, 140011320090623, -SNULL, 140011169120255, 140011320090623, -STORE, 140011102011392, 140011169120255, -STORE, 140011169120256, 140011320090623, -SNULL, 140011169120256, 140011236229119, -STORE, 140011236229120, 140011320090623, -STORE, 140011169120256, 140011236229119, -ERASE, 140011169120256, 140011236229119, -SNULL, 140011622096896, 140011638882303, -STORE, 140011638882304, 140011756314623, -STORE, 140011622096896, 140011638882303, -ERASE, 140011622096896, 140011638882303, -SNULL, 140011705991167, 140011756314623, -STORE, 140011638882304, 140011705991167, -STORE, 140011705991168, 140011756314623, -ERASE, 140011705991168, 140011756314623, -SNULL, 140011571773439, 140011613704191, -STORE, 140011504664576, 140011571773439, -STORE, 140011571773440, 140011613704191, -ERASE, 140011571773440, 140011613704191, -STORE, 140010967793664, 140011169120255, -SNULL, 140011034902527, 140011169120255, -STORE, 140010967793664, 140011034902527, -STORE, 140011034902528, 140011169120255, -SNULL, 140011034902528, 140011102011391, -STORE, 140011102011392, 140011169120255, -STORE, 140011034902528, 140011102011391, -ERASE, 140011034902528, 140011102011391, -STORE, 140010833575936, 140011034902527, -SNULL, 140011437555711, 140011471093759, -STORE, 140011370446848, 140011437555711, -STORE, 140011437555712, 140011471093759, -ERASE, 140011437555712, 140011471093759, -SNULL, 140011370582015, 140011437555711, -STORE, 140011370446848, 140011370582015, -STORE, 140011370582016, 140011437555711, -STORE, 140010699358208, 140011034902527, -SNULL, 140011487883263, 140011504664575, -STORE, 140011487879168, 140011487883263, -STORE, 140011487883264, 140011504664575, -SNULL, 140011345272832, 140011353661439, -STORE, 140011353661440, 140011362054143, -STORE, 140011345272832, 140011353661439, -SNULL, 140011353665535, 140011362054143, -STORE, 140011353661440, 140011353665535, -STORE, 140011353665536, 140011362054143, -SNULL, 140011328487424, 140011336876031, -STORE, 140011336876032, 140011345268735, -STORE, 140011328487424, 140011336876031, -SNULL, 140011336880127, 140011345268735, -STORE, 140011336876032, 140011336880127, -STORE, 140011336880128, 140011345268735, -SNULL, 140011303337983, 140011320090623, -STORE, 140011236229120, 140011303337983, -STORE, 140011303337984, 140011320090623, -ERASE, 140011303337984, 140011320090623, -SNULL, 140011907452927, 140011974426623, -STORE, 140011907317760, 140011907452927, -STORE, 140011907452928, 140011974426623, -SNULL, 140011102146559, 140011169120255, -STORE, 140011102011392, 140011102146559, -STORE, 140011102146560, 140011169120255, -SNULL, 140011639017471, 140011705991167, -STORE, 140011638882304, 140011639017471, -STORE, 140011639017472, 140011705991167, -SNULL, 140011504799743, 140011571773439, -STORE, 140011504664576, 140011504799743, -STORE, 140011504799744, 140011571773439, -SNULL, 140011613708287, 140011622096895, -STORE, 140011613704192, 140011613708287, -STORE, 140011613708288, 140011622096895, -SNULL, 140010699358208, 140010967793663, -STORE, 140010967793664, 140011034902527, -STORE, 140010699358208, 140010967793663, -SNULL, 140010967928831, 140011034902527, -STORE, 140010967793664, 140010967928831, -STORE, 140010967928832, 140011034902527, -SNULL, 140010900684799, 140010967793663, -STORE, 140010699358208, 140010900684799, -STORE, 140010900684800, 140010967793663, -ERASE, 140010900684800, 140010967793663, -SNULL, 140010766467071, 140010900684799, -STORE, 140010699358208, 140010766467071, -STORE, 140010766467072, 140010900684799, -SNULL, 140010766467072, 140010833575935, -STORE, 140010833575936, 140010900684799, -STORE, 140010766467072, 140010833575935, -ERASE, 140010766467072, 140010833575935, -SNULL, 140010699493375, 140010766467071, -STORE, 140010699358208, 140010699493375, -STORE, 140010699493376, 140010766467071, -SNULL, 140011848572927, 140011856961535, -STORE, 140011848568832, 140011848572927, -STORE, 140011848572928, 140011856961535, -STORE, 140011982786560, 140012007964671, -STORE, 140011898925056, 140011907317759, -SNULL, 140011898929151, 140011907317759, -STORE, 140011898925056, 140011898929151, -STORE, 140011898929152, 140011907317759, -SNULL, 140011320094719, 140011328483327, -STORE, 140011320090624, 140011320094719, -STORE, 140011320094720, 140011328483327, -STORE, 140011890532352, 140011898925055, -STORE, 140011882139648, 140011898925055, -SNULL, 140011882143743, 140011898925055, -STORE, 140011882139648, 140011882143743, -STORE, 140011882143744, 140011898925055, -STORE, 140011873746944, 140011882139647, -SNULL, 140011873751039, 140011882139647, -STORE, 140011873746944, 140011873751039, -STORE, 140011873751040, 140011882139647, -SNULL, 140011236364287, 140011303337983, -STORE, 140011236229120, 140011236364287, -STORE, 140011236364288, 140011303337983, -SNULL, 140011756318719, 140011773100031, -STORE, 140011756314624, 140011756318719, -STORE, 140011756318720, 140011773100031, -SNULL, 140011756318720, 140011764707327, -STORE, 140011764707328, 140011773100031, -STORE, 140011756318720, 140011764707327, -SNULL, 140011764711423, 140011773100031, -STORE, 140011764707328, 140011764711423, -STORE, 140011764711424, 140011773100031, -SNULL, 140011471097855, 140011487879167, -STORE, 140011471093760, 140011471097855, -STORE, 140011471097856, 140011487879167, -SNULL, 140010833711103, 140010900684799, -STORE, 140010833575936, 140010833711103, -STORE, 140010833711104, 140010900684799, -SNULL, 140011982790655, 140012007964671, -STORE, 140011982786560, 140011982790655, -STORE, 140011982790656, 140012007964671, -STORE, 140011865354240, 140011873746943, -STORE, 140011848572928, 140011865354239, -SNULL, 140011848572928, 140011856961535, -STORE, 140011856961536, 140011865354239, -STORE, 140011848572928, 140011856961535, -SNULL, 140011856965631, 140011865354239, -STORE, 140011856961536, 140011856965631, -STORE, 140011856965632, 140011865354239, -STORE, 140011747921920, 140011756314623, -STORE, 140011739529216, 140011756314623, -SNULL, 140011471097856, 140011479486463, -STORE, 140011479486464, 140011487879167, -STORE, 140011471097856, 140011479486463, -SNULL, 140011479490559, 140011487879167, -STORE, 140011479486464, 140011479490559, -STORE, 140011479490560, 140011487879167, -STORE, 140011731136512, 140011756314623, -STORE, 140011722743808, 140011756314623, -SNULL, 140011982790656, 140011999571967, -STORE, 140011999571968, 140012007964671, -STORE, 140011982790656, 140011999571967, -SNULL, 140011999576063, 140012007964671, -STORE, 140011999571968, 140011999576063, -STORE, 140011999576064, 140012007964671, -STORE, 140011714351104, 140011756314623, -SNULL, 140011882143744, 140011890532351, -STORE, 140011890532352, 140011898925055, -STORE, 140011882143744, 140011890532351, -SNULL, 140011890536447, 140011898925055, -STORE, 140011890532352, 140011890536447, -STORE, 140011890536448, 140011898925055, -STORE, 140011630489600, 140011638882303, -STORE, 140011613708288, 140011638882303, -STORE, 140011605311488, 140011613704191, -STORE, 140011596918784, 140011613704191, -STORE, 140011588526080, 140011613704191, -SNULL, 140011487883264, 140011496271871, -STORE, 140011496271872, 140011504664575, -STORE, 140011487883264, 140011496271871, -SNULL, 140011496275967, 140011504664575, -STORE, 140011496271872, 140011496275967, -STORE, 140011496275968, 140011504664575, -STORE, 140011580133376, 140011613704191, -SNULL, 140011580137471, 140011613704191, -STORE, 140011580133376, 140011580137471, -STORE, 140011580137472, 140011613704191, -SNULL, 140011982790656, 140011991179263, -STORE, 140011991179264, 140011999571967, -STORE, 140011982790656, 140011991179263, -SNULL, 140011991183359, 140011999571967, -STORE, 140011991179264, 140011991183359, -STORE, 140011991183360, 140011999571967, -SNULL, 140011865358335, 140011873746943, -STORE, 140011865354240, 140011865358335, -STORE, 140011865358336, 140011873746943, -STORE, 140011462701056, 140011471093759, -SNULL, 140011714351104, 140011739529215, -STORE, 140011739529216, 140011756314623, -STORE, 140011714351104, 140011739529215, -SNULL, 140011739533311, 140011756314623, -STORE, 140011739529216, 140011739533311, -STORE, 140011739533312, 140011756314623, -SNULL, 140011739533312, 140011747921919, -STORE, 140011747921920, 140011756314623, -STORE, 140011739533312, 140011747921919, -SNULL, 140011747926015, 140011756314623, -STORE, 140011747921920, 140011747926015, -STORE, 140011747926016, 140011756314623, -SNULL, 140011613708288, 140011630489599, -STORE, 140011630489600, 140011638882303, -STORE, 140011613708288, 140011630489599, -SNULL, 140011630493695, 140011638882303, -STORE, 140011630489600, 140011630493695, -STORE, 140011630493696, 140011638882303, -SNULL, 140011714351104, 140011722743807, -STORE, 140011722743808, 140011739529215, -STORE, 140011714351104, 140011722743807, -SNULL, 140011722747903, 140011739529215, -STORE, 140011722743808, 140011722747903, -STORE, 140011722747904, 140011739529215, -SNULL, 140011714355199, 140011722743807, -STORE, 140011714351104, 140011714355199, -STORE, 140011714355200, 140011722743807, -SNULL, 140011722747904, 140011731136511, -STORE, 140011731136512, 140011739529215, -STORE, 140011722747904, 140011731136511, -SNULL, 140011731140607, 140011739529215, -STORE, 140011731136512, 140011731140607, -STORE, 140011731140608, 140011739529215, -STORE, 140011454308352, 140011471093759, -STORE, 140011445915648, 140011471093759, -SNULL, 140011580137472, 140011588526079, -STORE, 140011588526080, 140011613704191, -STORE, 140011580137472, 140011588526079, -SNULL, 140011588530175, 140011613704191, -STORE, 140011588526080, 140011588530175, -STORE, 140011588530176, 140011613704191, -SNULL, 140011445915648, 140011462701055, -STORE, 140011462701056, 140011471093759, -STORE, 140011445915648, 140011462701055, -SNULL, 140011462705151, 140011471093759, -STORE, 140011462701056, 140011462705151, -STORE, 140011462705152, 140011471093759, -SNULL, 140011588530176, 140011596918783, -STORE, 140011596918784, 140011613704191, -STORE, 140011588530176, 140011596918783, -SNULL, 140011596922879, 140011613704191, -STORE, 140011596918784, 140011596922879, -STORE, 140011596922880, 140011613704191, -SNULL, 140011596922880, 140011605311487, -STORE, 140011605311488, 140011613704191, -STORE, 140011596922880, 140011605311487, -SNULL, 140011605315583, 140011613704191, -STORE, 140011605311488, 140011605315583, -STORE, 140011605315584, 140011613704191, -SNULL, 140011613708288, 140011622096895, -STORE, 140011622096896, 140011630489599, -STORE, 140011613708288, 140011622096895, -SNULL, 140011622100991, 140011630489599, -STORE, 140011622096896, 140011622100991, -STORE, 140011622100992, 140011630489599, -STORE, 140011311697920, 140011320090623, -STORE, 140011227836416, 140011236229119, -STORE, 140011219443712, 140011236229119, -SNULL, 140011219447807, 140011236229119, -STORE, 140011219443712, 140011219447807, -STORE, 140011219447808, 140011236229119, -STORE, 140011211051008, 140011219443711, -STORE, 140011202658304, 140011219443711, -SNULL, 140011202662399, 140011219443711, -STORE, 140011202658304, 140011202662399, -STORE, 140011202662400, 140011219443711, -STORE, 140011194265600, 140011202658303, -STORE, 140011185872896, 140011202658303, -STORE, 140011177480192, 140011202658303, -STORE, 140011093618688, 140011102011391, -SNULL, 140011445915648, 140011454308351, -STORE, 140011454308352, 140011462701055, -STORE, 140011445915648, 140011454308351, -SNULL, 140011454312447, 140011462701055, -STORE, 140011454308352, 140011454312447, -STORE, 140011454312448, 140011462701055, -STORE, 140011085225984, 140011102011391, -SNULL, 140011085230079, 140011102011391, -STORE, 140011085225984, 140011085230079, -STORE, 140011085230080, 140011102011391, -SNULL, 140011177484287, 140011202658303, -STORE, 140011177480192, 140011177484287, -STORE, 140011177484288, 140011202658303, -SNULL, 140011445919743, 140011454308351, -STORE, 140011445915648, 140011445919743, -STORE, 140011445919744, 140011454308351, -SNULL, 140011177484288, 140011185872895, -STORE, 140011185872896, 140011202658303, -STORE, 140011177484288, 140011185872895, -SNULL, 140011185876991, 140011202658303, -STORE, 140011185872896, 140011185876991, -STORE, 140011185876992, 140011202658303, -STORE, 140011076833280, 140011085225983, -SNULL, 140011202662400, 140011211051007, -STORE, 140011211051008, 140011219443711, -STORE, 140011202662400, 140011211051007, -SNULL, 140011211055103, 140011219443711, -STORE, 140011211051008, 140011211055103, -STORE, 140011211055104, 140011219443711, -SNULL, 140011185876992, 140011194265599, -STORE, 140011194265600, 140011202658303, -STORE, 140011185876992, 140011194265599, -SNULL, 140011194269695, 140011202658303, -STORE, 140011194265600, 140011194269695, -STORE, 140011194269696, 140011202658303, -STORE, 140011068440576, 140011085225983, -SNULL, 140011311702015, 140011320090623, -STORE, 140011311697920, 140011311702015, -STORE, 140011311702016, 140011320090623, -STORE, 140011060047872, 140011085225983, -SNULL, 140011060051967, 140011085225983, -STORE, 140011060047872, 140011060051967, -STORE, 140011060051968, 140011085225983, -STORE, 140011051655168, 140011060047871, -STORE, 140011043262464, 140011060047871, -SNULL, 140011043266559, 140011060047871, -STORE, 140011043262464, 140011043266559, -STORE, 140011043266560, 140011060047871, -SNULL, 140011219447808, 140011227836415, -STORE, 140011227836416, 140011236229119, -STORE, 140011219447808, 140011227836415, -SNULL, 140011227840511, 140011236229119, -STORE, 140011227836416, 140011227840511, -STORE, 140011227840512, 140011236229119, -SNULL, 140011085230080, 140011093618687, -STORE, 140011093618688, 140011102011391, -STORE, 140011085230080, 140011093618687, -SNULL, 140011093622783, 140011102011391, -STORE, 140011093618688, 140011093622783, -STORE, 140011093622784, 140011102011391, -STORE, 140010959400960, 140010967793663, -STORE, 140010951008256, 140010967793663, -SNULL, 140010951008256, 140010959400959, -STORE, 140010959400960, 140010967793663, -STORE, 140010951008256, 140010959400959, -SNULL, 140010959405055, 140010967793663, -STORE, 140010959400960, 140010959405055, -STORE, 140010959405056, 140010967793663, -STORE, 140010942615552, 140010959400959, -STORE, 140010934222848, 140010959400959, -SNULL, 140011060051968, 140011076833279, -STORE, 140011076833280, 140011085225983, -STORE, 140011060051968, 140011076833279, -SNULL, 140011076837375, 140011085225983, -STORE, 140011076833280, 140011076837375, -STORE, 140011076837376, 140011085225983, -SNULL, 140011043266560, 140011051655167, -STORE, 140011051655168, 140011060047871, -STORE, 140011043266560, 140011051655167, -SNULL, 140011051659263, 140011060047871, -STORE, 140011051655168, 140011051659263, -STORE, 140011051659264, 140011060047871, -STORE, 140010925830144, 140010959400959, -SNULL, 140011060051968, 140011068440575, -STORE, 140011068440576, 140011076833279, -STORE, 140011060051968, 140011068440575, -SNULL, 140011068444671, 140011076833279, -STORE, 140011068440576, 140011068444671, -STORE, 140011068444672, 140011076833279, -STORE, 140010917437440, 140010959400959, -STORE, 140010909044736, 140010959400959, -STORE, 140010825183232, 140010833575935, -SNULL, 140010909044736, 140010942615551, -STORE, 140010942615552, 140010959400959, -STORE, 140010909044736, 140010942615551, -SNULL, 140010942619647, 140010959400959, -STORE, 140010942615552, 140010942619647, -STORE, 140010942619648, 140010959400959, -SNULL, 140010909044736, 140010934222847, -STORE, 140010934222848, 140010942615551, -STORE, 140010909044736, 140010934222847, -SNULL, 140010934226943, 140010942615551, -STORE, 140010934222848, 140010934226943, -STORE, 140010934226944, 140010942615551, -SNULL, 140010909048831, 140010934222847, -STORE, 140010909044736, 140010909048831, -STORE, 140010909048832, 140010934222847, -STORE, 140010816790528, 140010833575935, -SNULL, 140010816794623, 140010833575935, -STORE, 140010816790528, 140010816794623, -STORE, 140010816794624, 140010833575935, -STORE, 140010808397824, 140010816790527, -SNULL, 140010942619648, 140010951008255, -STORE, 140010951008256, 140010959400959, -STORE, 140010942619648, 140010951008255, -SNULL, 140010951012351, 140010959400959, -STORE, 140010951008256, 140010951012351, -STORE, 140010951012352, 140010959400959, -STORE, 140010800005120, 140010816790527, -SNULL, 140010800009215, 140010816790527, -STORE, 140010800005120, 140010800009215, -STORE, 140010800009216, 140010816790527, -SNULL, 140010909048832, 140010925830143, -STORE, 140010925830144, 140010934222847, -STORE, 140010909048832, 140010925830143, -SNULL, 140010925834239, 140010934222847, -STORE, 140010925830144, 140010925834239, -STORE, 140010925834240, 140010934222847, -SNULL, 140010816794624, 140010825183231, -STORE, 140010825183232, 140010833575935, -STORE, 140010816794624, 140010825183231, -SNULL, 140010825187327, 140010833575935, -STORE, 140010825183232, 140010825187327, -STORE, 140010825187328, 140010833575935, -SNULL, 140010909048832, 140010917437439, -STORE, 140010917437440, 140010925830143, -STORE, 140010909048832, 140010917437439, -SNULL, 140010917441535, 140010925830143, -STORE, 140010917437440, 140010917441535, -STORE, 140010917441536, 140010925830143, -SNULL, 140010800009216, 140010808397823, -STORE, 140010808397824, 140010816790527, -STORE, 140010800009216, 140010808397823, -SNULL, 140010808401919, 140010816790527, -STORE, 140010808397824, 140010808401919, -STORE, 140010808401920, 140010816790527, -STORE, 140010791612416, 140010800005119, -SNULL, 140010791616511, 140010800005119, -STORE, 140010791612416, 140010791616511, -STORE, 140010791616512, 140010800005119, -STORE, 140012547100672, 140012547129343, -STORE, 140012511506432, 140012513697791, -SNULL, 140012511506432, 140012511596543, -STORE, 140012511596544, 140012513697791, -STORE, 140012511506432, 140012511596543, -SNULL, 140012513689599, 140012513697791, -STORE, 140012511596544, 140012513689599, -STORE, 140012513689600, 140012513697791, -ERASE, 140012513689600, 140012513697791, -STORE, 140012513689600, 140012513697791, -SNULL, 140012513693695, 140012513697791, -STORE, 140012513689600, 140012513693695, -STORE, 140012513693696, 140012513697791, -ERASE, 140012547100672, 140012547129343, -ERASE, 140011362054144, 140011362058239, -ERASE, 140011362058240, 140011370446847, -ERASE, 140011882139648, 140011882143743, -ERASE, 140011882143744, 140011890532351, -ERASE, 140011873746944, 140011873751039, -ERASE, 140011873751040, 140011882139647, -ERASE, 140011588526080, 140011588530175, -ERASE, 140011588530176, 140011596918783, -ERASE, 140011328483328, 140011328487423, -ERASE, 140011328487424, 140011336876031, -ERASE, 140011898925056, 140011898929151, -ERASE, 140011898929152, 140011907317759, -ERASE, 140011353661440, 140011353665535, -ERASE, 140011353665536, 140011362054143, -ERASE, 140011336876032, 140011336880127, -ERASE, 140011336880128, 140011345268735, -ERASE, 140011731136512, 140011731140607, -ERASE, 140011731140608, 140011739529215, -ERASE, 140011479486464, 140011479490559, -ERASE, 140011479490560, 140011487879167, -ERASE, 140011756314624, 140011756318719, -ERASE, 140011756318720, 140011764707327, -ERASE, 140011580133376, 140011580137471, -ERASE, 140011580137472, 140011588526079, -ERASE, 140011219443712, 140011219447807, -ERASE, 140011219447808, 140011227836415, -ERASE, 140011051655168, 140011051659263, -ERASE, 140011051659264, 140011060047871, -ERASE, 140011999571968, 140011999576063, -ERASE, 140011999576064, 140012007964671, -ERASE, 140011714351104, 140011714355199, -ERASE, 140011714355200, 140011722743807, -ERASE, 140011739529216, 140011739533311, -ERASE, 140011739533312, 140011747921919, -ERASE, 140011320090624, 140011320094719, -ERASE, 140011320094720, 140011328483327, -ERASE, 140011630489600, 140011630493695, -ERASE, 140011630493696, 140011638882303, -ERASE, 140011345268736, 140011345272831, -ERASE, 140011345272832, 140011353661439, -ERASE, 140011496271872, 140011496275967, -ERASE, 140011496275968, 140011504664575, -ERASE, 140011194265600, 140011194269695, -ERASE, 140011194269696, 140011202658303, -ERASE, 140011068440576, 140011068444671, -ERASE, 140011068444672, 140011076833279, -ERASE, 140010909044736, 140010909048831, -ERASE, 140010909048832, 140010917437439, -ERASE, 140011764707328, 140011764711423, -ERASE, 140011764711424, 140011773100031, -ERASE, 140011462701056, 140011462705151, -ERASE, 140011462705152, 140011471093759, -ERASE, 140011076833280, 140011076837375, -ERASE, 140011076837376, 140011085225983, -ERASE, 140011991179264, 140011991183359, -ERASE, 140011991183360, 140011999571967, -ERASE, 140011211051008, 140011211055103, -ERASE, 140011211055104, 140011219443711, -ERASE, 140010917437440, 140010917441535, -ERASE, 140010917441536, 140010925830143, -ERASE, 140011085225984, 140011085230079, -ERASE, 140011085230080, 140011093618687, -ERASE, 140011487879168, 140011487883263, -ERASE, 140011487883264, 140011496271871, -ERASE, 140011856961536, 140011856965631, -ERASE, 140011856965632, 140011865354239, -ERASE, 140011982786560, 140011982790655, -ERASE, 140011982790656, 140011991179263, -ERASE, 140011722743808, 140011722747903, -ERASE, 140011722747904, 140011731136511, -ERASE, 140011177480192, 140011177484287, -ERASE, 140011177484288, 140011185872895, -ERASE, 140011848568832, 140011848572927, -ERASE, 140011848572928, 140011856961535, -ERASE, 140011890532352, 140011890536447, -ERASE, 140011890536448, 140011898925055, -ERASE, 140011622096896, 140011622100991, -ERASE, 140011622100992, 140011630489599, -ERASE, 140011311697920, 140011311702015, -ERASE, 140011311702016, 140011320090623, -ERASE, 140011471093760, 140011471097855, -ERASE, 140011471097856, 140011479486463, -ERASE, 140011605311488, 140011605315583, -ERASE, 140011605315584, 140011613704191, -ERASE, 140010791612416, 140010791616511, -ERASE, 140010791616512, 140010800005119, -ERASE, 140010959400960, 140010959405055, -ERASE, 140010959405056, 140010967793663, -ERASE, 140011185872896, 140011185876991, -ERASE, 140011185876992, 140011194265599, -ERASE, 140011454308352, 140011454312447, -ERASE, 140011454312448, 140011462701055, -ERASE, 140011596918784, 140011596922879, -ERASE, 140011596922880, 140011605311487, -ERASE, 140011060047872, 140011060051967, -ERASE, 140011060051968, 140011068440575, -ERASE, 140010925830144, 140010925834239, -ERASE, 140010925834240, 140010934222847, -ERASE, 140011747921920, 140011747926015, -ERASE, 140011747926016, 140011756314623, -ERASE, 140011202658304, 140011202662399, -ERASE, 140011202662400, 140011211051007, -ERASE, 140010800005120, 140010800009215, -ERASE, 140010800009216, 140010808397823, -ERASE, 140011093618688, 140011093622783, -ERASE, 140011093622784, 140011102011391, -ERASE, 140010808397824, 140010808401919, -ERASE, 140010808401920, 140010816790527, -ERASE, 140012419010560, 140012419014655, -ERASE, 140012419014656, 140012427403263, -ERASE, 140010934222848, 140010934226943, -ERASE, 140010934226944, 140010942615551, -ERASE, 140010942615552, 140010942619647, -ERASE, 140010942619648, 140010951008255, -ERASE, 140011613704192, 140011613708287, -ERASE, 140011613708288, 140011622096895, -ERASE, 140011865354240, 140011865358335, -ERASE, 140011865358336, 140011873746943, -ERASE, 140012301578240, 140012301582335, -ERASE, 140012301582336, 140012309970943, -ERASE, 140012393832448, 140012393836543, -ERASE, 140012393836544, 140012402225151, -ERASE, 140012410617856, 140012410621951, -ERASE, 140012410621952, 140012419010559, -ERASE, 140012402225152, 140012402229247, -ERASE, 140012402229248, 140012410617855, -ERASE, 140012259614720, 140012259618815, -ERASE, 140012259618816, 140012268007423, -ERASE, 140012251222016, 140012251226111, -ERASE, 140012251226112, 140012259614719, -ERASE, 140012284792832, 140012284796927, -ERASE, 140012284796928, 140012293185535, -ERASE, 140011445915648, 140011445919743, -ERASE, 140011445919744, 140011454308351, -ERASE, 140010951008256, 140010951012351, -ERASE, 140010951012352, 140010959400959, -ERASE, 140011043262464, 140011043266559, -ERASE, 140011043266560, 140011051655167, -ERASE, 140010825183232, 140010825187327, -ERASE, 140010825187328, 140010833575935, -ERASE, 140012293185536, 140012293189631, -ERASE, 140012293189632, 140012301578239, -ERASE, 140012276400128, 140012276404223, -ERASE, 140012276404224, 140012284792831, -ERASE, 140012016357376, 140012016361471, -ERASE, 140012016361472, 140012024750079, -ERASE, 140012024750080, 140012024754175, -ERASE, 140012024754176, 140012033142783, -ERASE, 140011227836416, 140011227840511, -ERASE, 140011227840512, 140011236229119, -ERASE, 140010816790528, 140010816794623, -ERASE, 140010816794624, 140010825183231, -ERASE, 140012268007424, 140012268011519, -ERASE, 140012268011520, 140012276400127, -ERASE, 140012385439744, 140012385443839, -ERASE, 140012385443840, 140012393832447, -ERASE, 140012522090496, 140012522094591, -ERASE, 140012522094592, 140012530483199, -ERASE, 140012033142784, 140012033146879, -ERASE, 140012033146880, 140012041535487, - }; - unsigned long set35[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140730536939520, 140737488351231, -SNULL, 140730536943615, 140737488351231, -STORE, 140730536939520, 140730536943615, -STORE, 140730536808448, 140730536943615, -STORE, 94245239877632, 94245242130431, -SNULL, 94245240008703, 94245242130431, -STORE, 94245239877632, 94245240008703, -STORE, 94245240008704, 94245242130431, -ERASE, 94245240008704, 94245242130431, -STORE, 94245242101760, 94245242109951, -STORE, 94245242109952, 94245242130431, -STORE, 140475575263232, 140475577516031, -SNULL, 140475575406591, 140475577516031, -STORE, 140475575263232, 140475575406591, -STORE, 140475575406592, 140475577516031, -ERASE, 140475575406592, 140475577516031, -STORE, 140475577503744, 140475577511935, -STORE, 140475577511936, 140475577516031, -STORE, 140730538164224, 140730538168319, -STORE, 140730538151936, 140730538164223, -STORE, 140475577475072, 140475577503743, -STORE, 140475577466880, 140475577475071, -STORE, 140475573047296, 140475575263231, -SNULL, 140475573047296, 140475573145599, -STORE, 140475573145600, 140475575263231, -STORE, 140475573047296, 140475573145599, -SNULL, 140475575238655, 140475575263231, -STORE, 140475573145600, 140475575238655, -STORE, 140475575238656, 140475575263231, -SNULL, 140475575238656, 140475575246847, -STORE, 140475575246848, 140475575263231, -STORE, 140475575238656, 140475575246847, -ERASE, 140475575238656, 140475575246847, -STORE, 140475575238656, 140475575246847, -ERASE, 140475575246848, 140475575263231, -STORE, 140475575246848, 140475575263231, -STORE, 140475569250304, 140475573047295, -SNULL, 140475569250304, 140475570909183, -STORE, 140475570909184, 140475573047295, -STORE, 140475569250304, 140475570909183, -SNULL, 140475573006335, 140475573047295, -STORE, 140475570909184, 140475573006335, -STORE, 140475573006336, 140475573047295, -SNULL, 140475573006336, 140475573030911, -STORE, 140475573030912, 140475573047295, -STORE, 140475573006336, 140475573030911, -ERASE, 140475573006336, 140475573030911, -STORE, 140475573006336, 140475573030911, -ERASE, 140475573030912, 140475573047295, -STORE, 140475573030912, 140475573047295, -STORE, 140475577458688, 140475577475071, -SNULL, 140475573022719, 140475573030911, -STORE, 140475573006336, 140475573022719, -STORE, 140475573022720, 140475573030911, -SNULL, 140475575242751, 140475575246847, -STORE, 140475575238656, 140475575242751, -STORE, 140475575242752, 140475575246847, -SNULL, 94245242105855, 94245242109951, -STORE, 94245242101760, 94245242105855, -STORE, 94245242105856, 94245242109951, -SNULL, 140475577507839, 140475577511935, -STORE, 140475577503744, 140475577507839, -STORE, 140475577507840, 140475577511935, -ERASE, 140475577475072, 140475577503743, -STORE, 94245271216128, 94245271351295, -STORE, 140475560857600, 140475569250303, -SNULL, 140475560861695, 140475569250303, -STORE, 140475560857600, 140475560861695, -STORE, 140475560861696, 140475569250303, -STORE, 140475552464896, 140475560857599, -STORE, 140475418247168, 140475552464895, -SNULL, 140475418247168, 140475428241407, -STORE, 140475428241408, 140475552464895, -STORE, 140475418247168, 140475428241407, -ERASE, 140475418247168, 140475428241407, -SNULL, 140475495350271, 140475552464895, -STORE, 140475428241408, 140475495350271, -STORE, 140475495350272, 140475552464895, -ERASE, 140475495350272, 140475552464895, -SNULL, 140475428376575, 140475495350271, -STORE, 140475428241408, 140475428376575, -STORE, 140475428376576, 140475495350271, -SNULL, 140475552468991, 140475560857599, -STORE, 140475552464896, 140475552468991, -STORE, 140475552468992, 140475560857599, -STORE, 140475544072192, 140475552464895, -SNULL, 140475544076287, 140475552464895, -STORE, 140475544072192, 140475544076287, -STORE, 140475544076288, 140475552464895, -STORE, 140475535679488, 140475544072191, -SNULL, 140475535683583, 140475544072191, -STORE, 140475535679488, 140475535683583, -STORE, 140475535683584, 140475544072191, -STORE, 140475527286784, 140475535679487, -SNULL, 140475527290879, 140475535679487, -STORE, 140475527286784, 140475527290879, -STORE, 140475527290880, 140475535679487, -STORE, 140475518894080, 140475527286783, -STORE, 140475510501376, 140475527286783, -STORE, 140475502108672, 140475527286783, -STORE, 140475419848704, 140475428241407, -STORE, 140475285630976, 140475419848703, -SNULL, 140475285630976, 140475294023679, -STORE, 140475294023680, 140475419848703, -STORE, 140475285630976, 140475294023679, -ERASE, 140475285630976, 140475294023679, -STORE, 140475159805952, 140475419848703, -STORE, 140475025588224, 140475419848703, -SNULL, 140475092697087, 140475419848703, -STORE, 140475025588224, 140475092697087, -STORE, 140475092697088, 140475419848703, -SNULL, 140475092697088, 140475159805951, -STORE, 140475159805952, 140475419848703, -STORE, 140475092697088, 140475159805951, -ERASE, 140475092697088, 140475159805951, -STORE, 140474891370496, 140475092697087, -SNULL, 140474958479359, 140475092697087, -STORE, 140474891370496, 140474958479359, -STORE, 140474958479360, 140475092697087, -SNULL, 140474958479360, 140475025588223, -STORE, 140475025588224, 140475092697087, -STORE, 140474958479360, 140475025588223, -ERASE, 140474958479360, 140475025588223, -SNULL, 140475361132543, 140475419848703, -STORE, 140475159805952, 140475361132543, -STORE, 140475361132544, 140475419848703, -ERASE, 140475361132544, 140475419848703, -SNULL, 140475159805952, 140475294023679, -STORE, 140475294023680, 140475361132543, -STORE, 140475159805952, 140475294023679, -SNULL, 140475294158847, 140475361132543, -STORE, 140475294023680, 140475294158847, -STORE, 140475294158848, 140475361132543, -SNULL, 140475226914815, 140475294023679, -STORE, 140475159805952, 140475226914815, -STORE, 140475226914816, 140475294023679, -ERASE, 140475226914816, 140475294023679, -SNULL, 140475025723391, 140475092697087, -STORE, 140475025588224, 140475025723391, -STORE, 140475025723392, 140475092697087, -SNULL, 140475159941119, 140475226914815, -STORE, 140475159805952, 140475159941119, -STORE, 140475159941120, 140475226914815, -SNULL, 140474891505663, 140474958479359, -STORE, 140474891370496, 140474891505663, -STORE, 140474891505664, 140474958479359, -SNULL, 140475502108672, 140475518894079, -STORE, 140475518894080, 140475527286783, -STORE, 140475502108672, 140475518894079, -SNULL, 140475518898175, 140475527286783, -STORE, 140475518894080, 140475518898175, -STORE, 140475518898176, 140475527286783, -STORE, 140475411456000, 140475428241407, -SNULL, 140475502112767, 140475518894079, -STORE, 140475502108672, 140475502112767, -STORE, 140475502112768, 140475518894079, -SNULL, 140475411460095, 140475428241407, -STORE, 140475411456000, 140475411460095, -STORE, 140475411460096, 140475428241407, -SNULL, 140475411460096, 140475419848703, -STORE, 140475419848704, 140475428241407, -STORE, 140475411460096, 140475419848703, -SNULL, 140475419852799, 140475428241407, -STORE, 140475419848704, 140475419852799, -STORE, 140475419852800, 140475428241407, -STORE, 140475403063296, 140475411455999, -SNULL, 140475502112768, 140475510501375, -STORE, 140475510501376, 140475518894079, -STORE, 140475502112768, 140475510501375, -SNULL, 140475510505471, 140475518894079, -STORE, 140475510501376, 140475510505471, -STORE, 140475510505472, 140475518894079, -SNULL, 140475403067391, 140475411455999, -STORE, 140475403063296, 140475403067391, -STORE, 140475403067392, 140475411455999, -STORE, 140475394670592, 140475403063295, -SNULL, 140475394674687, 140475403063295, -STORE, 140475394670592, 140475394674687, -STORE, 140475394674688, 140475403063295, -STORE, 140475386277888, 140475394670591, -STORE, 140475377885184, 140475394670591, -STORE, 140475369492480, 140475394670591, -SNULL, 140475369496575, 140475394670591, -STORE, 140475369492480, 140475369496575, -STORE, 140475369496576, 140475394670591, -SNULL, 140475369496576, 140475377885183, -STORE, 140475377885184, 140475394670591, -STORE, 140475369496576, 140475377885183, -SNULL, 140475377889279, 140475394670591, -STORE, 140475377885184, 140475377889279, -STORE, 140475377889280, 140475394670591, -STORE, 140475285630976, 140475294023679, -SNULL, 140475377889280, 140475386277887, -STORE, 140475386277888, 140475394670591, -STORE, 140475377889280, 140475386277887, -SNULL, 140475386281983, 140475394670591, -STORE, 140475386277888, 140475386281983, -STORE, 140475386281984, 140475394670591, -SNULL, 140475285635071, 140475294023679, -STORE, 140475285630976, 140475285635071, -STORE, 140475285635072, 140475294023679, -STORE, 140475277238272, 140475285630975, -STORE, 140475268845568, 140475285630975, -SNULL, 140475268845568, 140475277238271, -STORE, 140475277238272, 140475285630975, -STORE, 140475268845568, 140475277238271, -SNULL, 140475277242367, 140475285630975, -STORE, 140475277238272, 140475277242367, -STORE, 140475277242368, 140475285630975, -STORE, 140475260452864, 140475277238271, -SNULL, 140475260452864, 140475268845567, -STORE, 140475268845568, 140475277238271, -STORE, 140475260452864, 140475268845567, -SNULL, 140475268849663, 140475277238271, -STORE, 140475268845568, 140475268849663, -STORE, 140475268849664, 140475277238271, -SNULL, 140475260456959, 140475268845567, -STORE, 140475260452864, 140475260456959, -STORE, 140475260456960, 140475268845567, -STORE, 140475252060160, 140475260452863, -SNULL, 140475252064255, 140475260452863, -STORE, 140475252060160, 140475252064255, -STORE, 140475252064256, 140475260452863, -STORE, 140475243667456, 140475252060159, -SNULL, 140475243671551, 140475252060159, -STORE, 140475243667456, 140475243671551, -STORE, 140475243671552, 140475252060159, -STORE, 140475235274752, 140475243667455, -STORE, 140475151413248, 140475159805951, -STORE, 140474891505664, 140475025588223, -STORE, 140475143020544, 140475159805951, -SNULL, 140474891505664, 140474958479359, -STORE, 140474958479360, 140475025588223, -STORE, 140474891505664, 140474958479359, -SNULL, 140474958614527, 140475025588223, -STORE, 140474958479360, 140474958614527, -STORE, 140474958614528, 140475025588223, -STORE, 140474824261632, 140474891370495, -SNULL, 140474824396799, 140474891370495, -STORE, 140474824261632, 140474824396799, -STORE, 140474824396800, 140474891370495, -STORE, 140475134627840, 140475159805951, -STORE, 140474690043904, 140474824261631, -STORE, 140475126235136, 140475159805951, -STORE, 140475117842432, 140475159805951, -STORE, 140474622935040, 140474824261631, -STORE, 140475109449728, 140475159805951, -STORE, 140474488717312, 140474824261631, -STORE, 140475101057024, 140475159805951, -STORE, 140474480324608, 140474488717311, -STORE, 140474413215744, 140474480324607, -STORE, 140474404823040, 140474413215743, -ERASE, 140474413215744, 140474480324607, -STORE, 140474471931904, 140474488717311, -STORE, 140474270605312, 140474404823039, -SNULL, 140475101057024, 140475126235135, -STORE, 140475126235136, 140475159805951, -STORE, 140475101057024, 140475126235135, -SNULL, 140475126239231, 140475159805951, -STORE, 140475126235136, 140475126239231, -STORE, 140475126239232, 140475159805951, -STORE, 140474463539200, 140474488717311, -STORE, 140474455146496, 140474488717311, -SNULL, 140474455150591, 140474488717311, -STORE, 140474455146496, 140474455150591, -STORE, 140474455150592, 140474488717311, -STORE, 140474446753792, 140474455146495, -SNULL, 140474446757887, 140474455146495, -STORE, 140474446753792, 140474446757887, -STORE, 140474446757888, 140474455146495, -STORE, 140474438361088, 140474446753791, -STORE, 140474429968384, 140474446753791, -SNULL, 140474429972479, 140474446753791, -STORE, 140474429968384, 140474429972479, -STORE, 140474429972480, 140474446753791, -SNULL, 140475235278847, 140475243667455, -STORE, 140475235274752, 140475235278847, -STORE, 140475235278848, 140475243667455, -SNULL, 140474757152767, 140474824261631, -STORE, 140474488717312, 140474757152767, -STORE, 140474757152768, 140474824261631, -ERASE, 140474757152768, 140474824261631, -SNULL, 140474488717312, 140474690043903, -STORE, 140474690043904, 140474757152767, -STORE, 140474488717312, 140474690043903, -SNULL, 140474690179071, 140474757152767, -STORE, 140474690043904, 140474690179071, -STORE, 140474690179072, 140474757152767, -SNULL, 140474488717312, 140474622935039, -STORE, 140474622935040, 140474690043903, -STORE, 140474488717312, 140474622935039, -SNULL, 140474623070207, 140474690043903, -STORE, 140474622935040, 140474623070207, -STORE, 140474623070208, 140474690043903, -SNULL, 140475101057024, 140475117842431, -STORE, 140475117842432, 140475126235135, -STORE, 140475101057024, 140475117842431, -SNULL, 140475117846527, 140475126235135, -STORE, 140475117842432, 140475117846527, -STORE, 140475117846528, 140475126235135, -SNULL, 140474555826175, 140474622935039, -STORE, 140474488717312, 140474555826175, -STORE, 140474555826176, 140474622935039, -ERASE, 140474555826176, 140474622935039, -STORE, 140474136387584, 140474404823039, -SNULL, 140474136387584, 140474153172991, -STORE, 140474153172992, 140474404823039, -STORE, 140474136387584, 140474153172991, -ERASE, 140474136387584, 140474153172991, -STORE, 140474018955264, 140474404823039, -STORE, 140473884737536, 140474404823039, -SNULL, 140474086064127, 140474404823039, -STORE, 140473884737536, 140474086064127, -STORE, 140474086064128, 140474404823039, -SNULL, 140474086064128, 140474153172991, -STORE, 140474153172992, 140474404823039, -STORE, 140474086064128, 140474153172991, -ERASE, 140474086064128, 140474153172991, -STORE, 140473750519808, 140474086064127, -SNULL, 140473817628671, 140474086064127, -STORE, 140473750519808, 140473817628671, -STORE, 140473817628672, 140474086064127, -SNULL, 140473817628672, 140473884737535, -STORE, 140473884737536, 140474086064127, -STORE, 140473817628672, 140473884737535, -ERASE, 140473817628672, 140473884737535, -SNULL, 140475126239232, 140475151413247, -STORE, 140475151413248, 140475159805951, -STORE, 140475126239232, 140475151413247, -SNULL, 140475151417343, 140475159805951, -STORE, 140475151413248, 140475151417343, -STORE, 140475151417344, 140475159805951, -SNULL, 140474270605311, 140474404823039, -STORE, 140474153172992, 140474270605311, -STORE, 140474270605312, 140474404823039, -SNULL, 140474270605312, 140474287390719, -STORE, 140474287390720, 140474404823039, -STORE, 140474270605312, 140474287390719, -ERASE, 140474270605312, 140474287390719, -SNULL, 140474429972480, 140474438361087, -STORE, 140474438361088, 140474446753791, -STORE, 140474429972480, 140474438361087, -SNULL, 140474438365183, 140474446753791, -STORE, 140474438361088, 140474438365183, -STORE, 140474438365184, 140474446753791, -STORE, 140474815868928, 140474824261631, -SNULL, 140474815873023, 140474824261631, -STORE, 140474815868928, 140474815873023, -STORE, 140474815873024, 140474824261631, -SNULL, 140474220281855, 140474270605311, -STORE, 140474153172992, 140474220281855, -STORE, 140474220281856, 140474270605311, -ERASE, 140474220281856, 140474270605311, -SNULL, 140474488852479, 140474555826175, -STORE, 140474488717312, 140474488852479, -STORE, 140474488852480, 140474555826175, -SNULL, 140475101057024, 140475109449727, -STORE, 140475109449728, 140475117842431, -STORE, 140475101057024, 140475109449727, -SNULL, 140475109453823, 140475117842431, -STORE, 140475109449728, 140475109453823, -STORE, 140475109453824, 140475117842431, -SNULL, 140473951846399, 140474086064127, -STORE, 140473884737536, 140473951846399, -STORE, 140473951846400, 140474086064127, -SNULL, 140473951846400, 140474018955263, -STORE, 140474018955264, 140474086064127, -STORE, 140473951846400, 140474018955263, -ERASE, 140473951846400, 140474018955263, -SNULL, 140473884872703, 140473951846399, -STORE, 140473884737536, 140473884872703, -STORE, 140473884872704, 140473951846399, -SNULL, 140474019090431, 140474086064127, -STORE, 140474018955264, 140474019090431, -STORE, 140474019090432, 140474086064127, -SNULL, 140473750654975, 140473817628671, -STORE, 140473750519808, 140473750654975, -STORE, 140473750654976, 140473817628671, -SNULL, 140474455150592, 140474463539199, -STORE, 140474463539200, 140474488717311, -STORE, 140474455150592, 140474463539199, -SNULL, 140474463543295, 140474488717311, -STORE, 140474463539200, 140474463543295, -STORE, 140474463543296, 140474488717311, -STORE, 140474807476224, 140474815868927, -SNULL, 140474463543296, 140474471931903, -STORE, 140474471931904, 140474488717311, -STORE, 140474463543296, 140474471931903, -SNULL, 140474471935999, 140474488717311, -STORE, 140474471931904, 140474471935999, -STORE, 140474471936000, 140474488717311, -STORE, 140474799083520, 140474815868927, -STORE, 140474790690816, 140474815868927, -SNULL, 140474790690816, 140474799083519, -STORE, 140474799083520, 140474815868927, -STORE, 140474790690816, 140474799083519, -SNULL, 140474799087615, 140474815868927, -STORE, 140474799083520, 140474799087615, -STORE, 140474799087616, 140474815868927, -SNULL, 140474354499583, 140474404823039, -STORE, 140474287390720, 140474354499583, -STORE, 140474354499584, 140474404823039, -ERASE, 140474354499584, 140474404823039, -SNULL, 140474287525887, 140474354499583, -STORE, 140474287390720, 140474287525887, -STORE, 140474287525888, 140474354499583, -STORE, 140474782298112, 140474799083519, -STORE, 140474773905408, 140474799083519, -SNULL, 140474773909503, 140474799083519, -STORE, 140474773905408, 140474773909503, -STORE, 140474773909504, 140474799083519, -SNULL, 140475126239232, 140475134627839, -STORE, 140475134627840, 140475151413247, -STORE, 140475126239232, 140475134627839, -SNULL, 140475134631935, 140475151413247, -STORE, 140475134627840, 140475134631935, -STORE, 140475134631936, 140475151413247, -STORE, 140474765512704, 140474773905407, -STORE, 140474614542336, 140474622935039, -SNULL, 140474153308159, 140474220281855, -STORE, 140474153172992, 140474153308159, -STORE, 140474153308160, 140474220281855, -SNULL, 140474404827135, 140474413215743, -STORE, 140474404823040, 140474404827135, -STORE, 140474404827136, 140474413215743, -STORE, 140474606149632, 140474622935039, -SNULL, 140474606153727, 140474622935039, -STORE, 140474606149632, 140474606153727, -STORE, 140474606153728, 140474622935039, -STORE, 140474597756928, 140474606149631, -SNULL, 140474597761023, 140474606149631, -STORE, 140474597756928, 140474597761023, -STORE, 140474597761024, 140474606149631, -SNULL, 140475134631936, 140475143020543, -STORE, 140475143020544, 140475151413247, -STORE, 140475134631936, 140475143020543, -SNULL, 140475143024639, 140475151413247, -STORE, 140475143020544, 140475143024639, -STORE, 140475143024640, 140475151413247, -STORE, 140474589364224, 140474597756927, -SNULL, 140474606153728, 140474614542335, -STORE, 140474614542336, 140474622935039, -STORE, 140474606153728, 140474614542335, -SNULL, 140474614546431, 140474622935039, -STORE, 140474614542336, 140474614546431, -STORE, 140474614546432, 140474622935039, -SNULL, 140474765516799, 140474773905407, -STORE, 140474765512704, 140474765516799, -STORE, 140474765516800, 140474773905407, -STORE, 140474580971520, 140474597756927, -SNULL, 140474773909504, 140474782298111, -STORE, 140474782298112, 140474799083519, -STORE, 140474773909504, 140474782298111, -SNULL, 140474782302207, 140474799083519, -STORE, 140474782298112, 140474782302207, -STORE, 140474782302208, 140474799083519, -SNULL, 140474471936000, 140474480324607, -STORE, 140474480324608, 140474488717311, -STORE, 140474471936000, 140474480324607, -SNULL, 140474480328703, 140474488717311, -STORE, 140474480324608, 140474480328703, -STORE, 140474480328704, 140474488717311, -STORE, 140474572578816, 140474597756927, -SNULL, 140474572582911, 140474597756927, -STORE, 140474572578816, 140474572582911, -STORE, 140474572582912, 140474597756927, -SNULL, 140474782302208, 140474790690815, -STORE, 140474790690816, 140474799083519, -STORE, 140474782302208, 140474790690815, -SNULL, 140474790694911, 140474799083519, -STORE, 140474790690816, 140474790694911, -STORE, 140474790694912, 140474799083519, -STORE, 140474564186112, 140474572578815, -STORE, 140474421575680, 140474429968383, -STORE, 140474396430336, 140474404823039, -SNULL, 140474396434431, 140474404823039, -STORE, 140474396430336, 140474396434431, -STORE, 140474396434432, 140474404823039, -STORE, 140474388037632, 140474396430335, -SNULL, 140474799087616, 140474807476223, -STORE, 140474807476224, 140474815868927, -STORE, 140474799087616, 140474807476223, -SNULL, 140474807480319, 140474815868927, -STORE, 140474807476224, 140474807480319, -STORE, 140474807480320, 140474815868927, -SNULL, 140475101061119, 140475109449727, -STORE, 140475101057024, 140475101061119, -STORE, 140475101061120, 140475109449727, -STORE, 140474379644928, 140474396430335, -SNULL, 140474572582912, 140474589364223, -STORE, 140474589364224, 140474597756927, -STORE, 140474572582912, 140474589364223, -SNULL, 140474589368319, 140474597756927, -STORE, 140474589364224, 140474589368319, -STORE, 140474589368320, 140474597756927, -STORE, 140474371252224, 140474396430335, -STORE, 140474362859520, 140474396430335, -STORE, 140474278998016, 140474287390719, -STORE, 140474270605312, 140474287390719, -STORE, 140474262212608, 140474287390719, -SNULL, 140474262216703, 140474287390719, -STORE, 140474262212608, 140474262216703, -STORE, 140474262216704, 140474287390719, -STORE, 140474253819904, 140474262212607, -SNULL, 140474253823999, 140474262212607, -STORE, 140474253819904, 140474253823999, -STORE, 140474253824000, 140474262212607, -SNULL, 140474362859520, 140474388037631, -STORE, 140474388037632, 140474396430335, -STORE, 140474362859520, 140474388037631, -SNULL, 140474388041727, 140474396430335, -STORE, 140474388037632, 140474388041727, -STORE, 140474388041728, 140474396430335, -SNULL, 140474362859520, 140474379644927, -STORE, 140474379644928, 140474388037631, -STORE, 140474362859520, 140474379644927, -SNULL, 140474379649023, 140474388037631, -STORE, 140474379644928, 140474379649023, -STORE, 140474379649024, 140474388037631, -STORE, 140474245427200, 140474253819903, -STORE, 140474237034496, 140474253819903, -STORE, 140474228641792, 140474253819903, -STORE, 140474144780288, 140474153172991, -SNULL, 140474228645887, 140474253819903, -STORE, 140474228641792, 140474228645887, -STORE, 140474228645888, 140474253819903, -SNULL, 140474564190207, 140474572578815, -STORE, 140474564186112, 140474564190207, -STORE, 140474564190208, 140474572578815, -STORE, 140474136387584, 140474153172991, -SNULL, 140474362859520, 140474371252223, -STORE, 140474371252224, 140474379644927, -STORE, 140474362859520, 140474371252223, -SNULL, 140474371256319, 140474379644927, -STORE, 140474371252224, 140474371256319, -STORE, 140474371256320, 140474379644927, -STORE, 140474127994880, 140474153172991, -STORE, 140474119602176, 140474153172991, -SNULL, 140474421579775, 140474429968383, -STORE, 140474421575680, 140474421579775, -STORE, 140474421579776, 140474429968383, -STORE, 140474111209472, 140474153172991, -SNULL, 140474111213567, 140474153172991, -STORE, 140474111209472, 140474111213567, -STORE, 140474111213568, 140474153172991, -SNULL, 140474262216704, 140474270605311, -STORE, 140474270605312, 140474287390719, -STORE, 140474262216704, 140474270605311, -SNULL, 140474270609407, 140474287390719, -STORE, 140474270605312, 140474270609407, -STORE, 140474270609408, 140474287390719, -STORE, 140474102816768, 140474111209471, -SNULL, 140474102820863, 140474111209471, -STORE, 140474102816768, 140474102820863, -STORE, 140474102820864, 140474111209471, -SNULL, 140474270609408, 140474278998015, -STORE, 140474278998016, 140474287390719, -STORE, 140474270609408, 140474278998015, -SNULL, 140474279002111, 140474287390719, -STORE, 140474278998016, 140474279002111, -STORE, 140474279002112, 140474287390719, -STORE, 140474094424064, 140474102816767, -SNULL, 140474572582912, 140474580971519, -STORE, 140474580971520, 140474589364223, -STORE, 140474572582912, 140474580971519, -SNULL, 140474580975615, 140474589364223, -STORE, 140474580971520, 140474580975615, -STORE, 140474580975616, 140474589364223, -SNULL, 140474362863615, 140474371252223, -STORE, 140474362859520, 140474362863615, -STORE, 140474362863616, 140474371252223, -STORE, 140474010562560, 140474018955263, -SNULL, 140474228645888, 140474245427199, -STORE, 140474245427200, 140474253819903, -STORE, 140474228645888, 140474245427199, -SNULL, 140474245431295, 140474253819903, -STORE, 140474245427200, 140474245431295, -STORE, 140474245431296, 140474253819903, -SNULL, 140474111213568, 140474136387583, -STORE, 140474136387584, 140474153172991, -STORE, 140474111213568, 140474136387583, -SNULL, 140474136391679, 140474153172991, -STORE, 140474136387584, 140474136391679, -STORE, 140474136391680, 140474153172991, -STORE, 140474002169856, 140474018955263, -STORE, 140473993777152, 140474018955263, -SNULL, 140474111213568, 140474127994879, -STORE, 140474127994880, 140474136387583, -STORE, 140474111213568, 140474127994879, -SNULL, 140474127998975, 140474136387583, -STORE, 140474127994880, 140474127998975, -STORE, 140474127998976, 140474136387583, -SNULL, 140474228645888, 140474237034495, -STORE, 140474237034496, 140474245427199, -STORE, 140474228645888, 140474237034495, -SNULL, 140474237038591, 140474245427199, -STORE, 140474237034496, 140474237038591, -STORE, 140474237038592, 140474245427199, -SNULL, 140474136391680, 140474144780287, -STORE, 140474144780288, 140474153172991, -STORE, 140474136391680, 140474144780287, -SNULL, 140474144784383, 140474153172991, -STORE, 140474144780288, 140474144784383, -STORE, 140474144784384, 140474153172991, -STORE, 140473985384448, 140474018955263, -STORE, 140473976991744, 140474018955263, -STORE, 140473968599040, 140474018955263, -SNULL, 140473968603135, 140474018955263, -STORE, 140473968599040, 140473968603135, -STORE, 140473968603136, 140474018955263, -SNULL, 140474111213568, 140474119602175, -STORE, 140474119602176, 140474127994879, -STORE, 140474111213568, 140474119602175, -SNULL, 140474119606271, 140474127994879, -STORE, 140474119602176, 140474119606271, -STORE, 140474119606272, 140474127994879, -STORE, 140473960206336, 140473968599039, -SNULL, 140474094428159, 140474102816767, -STORE, 140474094424064, 140474094428159, -STORE, 140474094428160, 140474102816767, -STORE, 140473876344832, 140473884737535, -STORE, 140473867952128, 140473884737535, -STORE, 140473859559424, 140473884737535, -SNULL, 140473859563519, 140473884737535, -STORE, 140473859559424, 140473859563519, -STORE, 140473859563520, 140473884737535, -SNULL, 140473968603136, 140473993777151, -STORE, 140473993777152, 140474018955263, -STORE, 140473968603136, 140473993777151, -SNULL, 140473993781247, 140474018955263, -STORE, 140473993777152, 140473993781247, -STORE, 140473993781248, 140474018955263, -SNULL, 140473960210431, 140473968599039, -STORE, 140473960206336, 140473960210431, -STORE, 140473960210432, 140473968599039, -SNULL, 140473993781248, 140474010562559, -STORE, 140474010562560, 140474018955263, -STORE, 140473993781248, 140474010562559, -SNULL, 140474010566655, 140474018955263, -STORE, 140474010562560, 140474010566655, -STORE, 140474010566656, 140474018955263, -SNULL, 140473968603136, 140473985384447, -STORE, 140473985384448, 140473993777151, -STORE, 140473968603136, 140473985384447, -SNULL, 140473985388543, 140473993777151, -STORE, 140473985384448, 140473985388543, -STORE, 140473985388544, 140473993777151, -SNULL, 140473993781248, 140474002169855, -STORE, 140474002169856, 140474010562559, -STORE, 140473993781248, 140474002169855, -SNULL, 140474002173951, 140474010562559, -STORE, 140474002169856, 140474002173951, -STORE, 140474002173952, 140474010562559, -STORE, 140473851166720, 140473859559423, -SNULL, 140473851170815, 140473859559423, -STORE, 140473851166720, 140473851170815, -STORE, 140473851170816, 140473859559423, -SNULL, 140473968603136, 140473976991743, -STORE, 140473976991744, 140473985384447, -STORE, 140473968603136, 140473976991743, -SNULL, 140473976995839, 140473985384447, -STORE, 140473976991744, 140473976995839, -STORE, 140473976995840, 140473985384447, -STORE, 140473842774016, 140473851166719, -SNULL, 140473859563520, 140473867952127, -STORE, 140473867952128, 140473884737535, -STORE, 140473859563520, 140473867952127, -SNULL, 140473867956223, 140473884737535, -STORE, 140473867952128, 140473867956223, -STORE, 140473867956224, 140473884737535, -SNULL, 140473867956224, 140473876344831, -STORE, 140473876344832, 140473884737535, -STORE, 140473867956224, 140473876344831, -SNULL, 140473876348927, 140473884737535, -STORE, 140473876344832, 140473876348927, -STORE, 140473876348928, 140473884737535, -STORE, 140473834381312, 140473851166719, -SNULL, 140473834385407, 140473851166719, -STORE, 140473834381312, 140473834385407, -STORE, 140473834385408, 140473851166719, -SNULL, 140473834385408, 140473842774015, -STORE, 140473842774016, 140473851166719, -STORE, 140473834385408, 140473842774015, -SNULL, 140473842778111, 140473851166719, -STORE, 140473842774016, 140473842778111, -STORE, 140473842778112, 140473851166719, -STORE, 140473825988608, 140473834381311, -SNULL, 140473825992703, 140473834381311, -STORE, 140473825988608, 140473825992703, -STORE, 140473825992704, 140473834381311, -STORE, 140475577475072, 140475577503743, -STORE, 140475499917312, 140475502108671, -SNULL, 140475499917312, 140475500007423, -STORE, 140475500007424, 140475502108671, -STORE, 140475499917312, 140475500007423, -SNULL, 140475502100479, 140475502108671, -STORE, 140475500007424, 140475502100479, -STORE, 140475502100480, 140475502108671, -ERASE, 140475502100480, 140475502108671, -STORE, 140475502100480, 140475502108671, -SNULL, 140475502104575, 140475502108671, -STORE, 140475502100480, 140475502104575, -STORE, 140475502104576, 140475502108671, -ERASE, 140475577475072, 140475577503743, -ERASE, 140475235274752, 140475235278847, -ERASE, 140475235278848, 140475243667455, -ERASE, 140474815868928, 140474815873023, -ERASE, 140474815873024, 140474824261631, -ERASE, 140474606149632, 140474606153727, -ERASE, 140474606153728, 140474614542335, -ERASE, 140474270605312, 140474270609407, -ERASE, 140474270609408, 140474278998015, -ERASE, 140474438361088, 140474438365183, -ERASE, 140474438365184, 140474446753791, -ERASE, 140474597756928, 140474597761023, -ERASE, 140474597761024, 140474606149631, -ERASE, 140475126235136, 140475126239231, -ERASE, 140475126239232, 140475134627839, -ERASE, 140474463539200, 140474463543295, -ERASE, 140474463543296, 140474471931903, -ERASE, 140474388037632, 140474388041727, -ERASE, 140474388041728, 140474396430335, -ERASE, 140474404823040, 140474404827135, -ERASE, 140474404827136, 140474413215743, -ERASE, 140474278998016, 140474279002111, -ERASE, 140474279002112, 140474287390719, -ERASE, 140474094424064, 140474094428159, -ERASE, 140474094428160, 140474102816767, -ERASE, 140473867952128, 140473867956223, -ERASE, 140473867956224, 140473876344831, -ERASE, 140475151413248, 140475151417343, -ERASE, 140475151417344, 140475159805951, -ERASE, 140474455146496, 140474455150591, -ERASE, 140474455150592, 140474463539199, -ERASE, 140474807476224, 140474807480319, -ERASE, 140474807480320, 140474815868927, -ERASE, 140475117842432, 140475117846527, -ERASE, 140475117846528, 140475126235135, -ERASE, 140474446753792, 140474446757887, -ERASE, 140474446757888, 140474455146495, -ERASE, 140474429968384, 140474429972479, -ERASE, 140474429972480, 140474438361087, -ERASE, 140474782298112, 140474782302207, -ERASE, 140474782302208, 140474790690815, -ERASE, 140474136387584, 140474136391679, -ERASE, 140474136391680, 140474144780287, -ERASE, 140474002169856, 140474002173951, -ERASE, 140474002173952, 140474010562559, -ERASE, 140475134627840, 140475134631935, -ERASE, 140475134631936, 140475143020543, -ERASE, 140474471931904, 140474471935999, -ERASE, 140474471936000, 140474480324607, -ERASE, 140474396430336, 140474396434431, -ERASE, 140474396434432, 140474404823039, - }; - unsigned long set36[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140723893125120, 140737488351231, -SNULL, 140723893129215, 140737488351231, -STORE, 140723893125120, 140723893129215, -STORE, 140723892994048, 140723893129215, -STORE, 94076829786112, 94076832038911, -SNULL, 94076829917183, 94076832038911, -STORE, 94076829786112, 94076829917183, -STORE, 94076829917184, 94076832038911, -ERASE, 94076829917184, 94076832038911, -STORE, 94076832010240, 94076832018431, -STORE, 94076832018432, 94076832038911, -STORE, 140122444345344, 140122446598143, -SNULL, 140122444488703, 140122446598143, -STORE, 140122444345344, 140122444488703, -STORE, 140122444488704, 140122446598143, -ERASE, 140122444488704, 140122446598143, -STORE, 140122446585856, 140122446594047, -STORE, 140122446594048, 140122446598143, -STORE, 140723893538816, 140723893542911, -STORE, 140723893526528, 140723893538815, -STORE, 140122446557184, 140122446585855, -STORE, 140122446548992, 140122446557183, -STORE, 140122442129408, 140122444345343, -SNULL, 140122442129408, 140122442227711, -STORE, 140122442227712, 140122444345343, -STORE, 140122442129408, 140122442227711, -SNULL, 140122444320767, 140122444345343, -STORE, 140122442227712, 140122444320767, -STORE, 140122444320768, 140122444345343, -SNULL, 140122444320768, 140122444328959, -STORE, 140122444328960, 140122444345343, -STORE, 140122444320768, 140122444328959, -ERASE, 140122444320768, 140122444328959, -STORE, 140122444320768, 140122444328959, -ERASE, 140122444328960, 140122444345343, -STORE, 140122444328960, 140122444345343, -STORE, 140122438332416, 140122442129407, -SNULL, 140122438332416, 140122439991295, -STORE, 140122439991296, 140122442129407, -STORE, 140122438332416, 140122439991295, -SNULL, 140122442088447, 140122442129407, -STORE, 140122439991296, 140122442088447, -STORE, 140122442088448, 140122442129407, -SNULL, 140122442088448, 140122442113023, -STORE, 140122442113024, 140122442129407, -STORE, 140122442088448, 140122442113023, -ERASE, 140122442088448, 140122442113023, -STORE, 140122442088448, 140122442113023, -ERASE, 140122442113024, 140122442129407, -STORE, 140122442113024, 140122442129407, -STORE, 140122446540800, 140122446557183, -SNULL, 140122442104831, 140122442113023, -STORE, 140122442088448, 140122442104831, -STORE, 140122442104832, 140122442113023, -SNULL, 140122444324863, 140122444328959, -STORE, 140122444320768, 140122444324863, -STORE, 140122444324864, 140122444328959, -SNULL, 94076832014335, 94076832018431, -STORE, 94076832010240, 94076832014335, -STORE, 94076832014336, 94076832018431, -SNULL, 140122446589951, 140122446594047, -STORE, 140122446585856, 140122446589951, -STORE, 140122446589952, 140122446594047, -ERASE, 140122446557184, 140122446585855, -STORE, 94076845723648, 94076845858815, -STORE, 140122429939712, 140122438332415, -SNULL, 140122429943807, 140122438332415, -STORE, 140122429939712, 140122429943807, -STORE, 140122429943808, 140122438332415, -STORE, 140122421547008, 140122429939711, -STORE, 140122287329280, 140122421547007, -SNULL, 140122287329280, 140122301399039, -STORE, 140122301399040, 140122421547007, -STORE, 140122287329280, 140122301399039, -ERASE, 140122287329280, 140122301399039, -SNULL, 140122368507903, 140122421547007, -STORE, 140122301399040, 140122368507903, -STORE, 140122368507904, 140122421547007, -ERASE, 140122368507904, 140122421547007, -SNULL, 140122301534207, 140122368507903, -STORE, 140122301399040, 140122301534207, -STORE, 140122301534208, 140122368507903, -SNULL, 140122421551103, 140122429939711, -STORE, 140122421547008, 140122421551103, -STORE, 140122421551104, 140122429939711, -STORE, 140122413154304, 140122421547007, -SNULL, 140122413158399, 140122421547007, -STORE, 140122413154304, 140122413158399, -STORE, 140122413158400, 140122421547007, -STORE, 140122404761600, 140122413154303, -SNULL, 140122404765695, 140122413154303, -STORE, 140122404761600, 140122404765695, -STORE, 140122404765696, 140122413154303, -STORE, 140122396368896, 140122404761599, -SNULL, 140122396372991, 140122404761599, -STORE, 140122396368896, 140122396372991, -STORE, 140122396372992, 140122404761599, -STORE, 140122387976192, 140122396368895, -STORE, 140122167181312, 140122301399039, -SNULL, 140122234290175, 140122301399039, -STORE, 140122167181312, 140122234290175, -STORE, 140122234290176, 140122301399039, -ERASE, 140122234290176, 140122301399039, -SNULL, 140122167316479, 140122234290175, -STORE, 140122167181312, 140122167316479, -STORE, 140122167316480, 140122234290175, -STORE, 140122379583488, 140122396368895, -STORE, 140122371190784, 140122396368895, -STORE, 140122167316480, 140122301399039, -STORE, 140122158788608, 140122167181311, -SNULL, 140122371190784, 140122387976191, -STORE, 140122387976192, 140122396368895, -STORE, 140122371190784, 140122387976191, -SNULL, 140122387980287, 140122396368895, -STORE, 140122387976192, 140122387980287, -STORE, 140122387980288, 140122396368895, -SNULL, 140122167316480, 140122234290175, -STORE, 140122234290176, 140122301399039, -STORE, 140122167316480, 140122234290175, -SNULL, 140122234425343, 140122301399039, -STORE, 140122234290176, 140122234425343, -STORE, 140122234425344, 140122301399039, -STORE, 140122024570880, 140122158788607, -SNULL, 140122024570880, 140122032963583, -STORE, 140122032963584, 140122158788607, -STORE, 140122024570880, 140122032963583, -ERASE, 140122024570880, 140122032963583, -STORE, 140121898745856, 140122158788607, -STORE, 140121890353152, 140121898745855, -SNULL, 140122100072447, 140122158788607, -STORE, 140121898745856, 140122100072447, -STORE, 140122100072448, 140122158788607, -ERASE, 140122100072448, 140122158788607, -SNULL, 140121965854719, 140122100072447, -STORE, 140121898745856, 140121965854719, -STORE, 140121965854720, 140122100072447, -SNULL, 140121965854720, 140122032963583, -STORE, 140122032963584, 140122100072447, -STORE, 140121965854720, 140122032963583, -ERASE, 140121965854720, 140122032963583, -SNULL, 140121898881023, 140121965854719, -STORE, 140121898745856, 140121898881023, -STORE, 140121898881024, 140121965854719, -SNULL, 140121890357247, 140121898745855, -STORE, 140121890353152, 140121890357247, -STORE, 140121890357248, 140121898745855, -SNULL, 140122371190784, 140122379583487, -STORE, 140122379583488, 140122387976191, -STORE, 140122371190784, 140122379583487, -SNULL, 140122379587583, 140122387976191, -STORE, 140122379583488, 140122379587583, -STORE, 140122379587584, 140122387976191, -SNULL, 140122033098751, 140122100072447, -STORE, 140122032963584, 140122033098751, -STORE, 140122033098752, 140122100072447, -SNULL, 140122158792703, 140122167181311, -STORE, 140122158788608, 140122158792703, -STORE, 140122158792704, 140122167181311, -STORE, 140122150395904, 140122158788607, -STORE, 140122142003200, 140122158788607, -SNULL, 140122142007295, 140122158788607, -STORE, 140122142003200, 140122142007295, -STORE, 140122142007296, 140122158788607, -SNULL, 140122371194879, 140122379583487, -STORE, 140122371190784, 140122371194879, -STORE, 140122371194880, 140122379583487, -SNULL, 140122142007296, 140122150395903, -STORE, 140122150395904, 140122158788607, -STORE, 140122142007296, 140122150395903, -SNULL, 140122150399999, 140122158788607, -STORE, 140122150395904, 140122150399999, -STORE, 140122150400000, 140122158788607, -STORE, 140122133610496, 140122142003199, -STORE, 140122125217792, 140122142003199, -STORE, 140122116825088, 140122142003199, -SNULL, 140122116829183, 140122142003199, -STORE, 140122116825088, 140122116829183, -STORE, 140122116829184, 140122142003199, -SNULL, 140122116829184, 140122133610495, -STORE, 140122133610496, 140122142003199, -STORE, 140122116829184, 140122133610495, -SNULL, 140122133614591, 140122142003199, -STORE, 140122133610496, 140122133614591, -STORE, 140122133614592, 140122142003199, -SNULL, 140122116829184, 140122125217791, -STORE, 140122125217792, 140122133610495, -STORE, 140122116829184, 140122125217791, -SNULL, 140122125221887, 140122133610495, -STORE, 140122125217792, 140122125221887, -STORE, 140122125221888, 140122133610495, -STORE, 140122108432384, 140122116825087, -SNULL, 140122108436479, 140122116825087, -STORE, 140122108432384, 140122108436479, -STORE, 140122108436480, 140122116825087, -STORE, 140122024570880, 140122032963583, -STORE, 140122016178176, 140122032963583, -SNULL, 140122016182271, 140122032963583, -STORE, 140122016178176, 140122016182271, -STORE, 140122016182272, 140122032963583, -SNULL, 140122016182272, 140122024570879, -STORE, 140122024570880, 140122032963583, -STORE, 140122016182272, 140122024570879, -SNULL, 140122024574975, 140122032963583, -STORE, 140122024570880, 140122024574975, -STORE, 140122024574976, 140122032963583, -STORE, 140122007785472, 140122016178175, -SNULL, 140122007789567, 140122016178175, -STORE, 140122007785472, 140122007789567, -STORE, 140122007789568, 140122016178175, -STORE, 140121999392768, 140122007785471, -STORE, 140121991000064, 140122007785471, -SNULL, 140121991004159, 140122007785471, -STORE, 140121991000064, 140121991004159, -STORE, 140121991004160, 140122007785471, -SNULL, 140121991004160, 140121999392767, -STORE, 140121999392768, 140122007785471, -STORE, 140121991004160, 140121999392767, -SNULL, 140121999396863, 140122007785471, -STORE, 140121999392768, 140121999396863, -STORE, 140121999396864, 140122007785471, -STORE, 140121982607360, 140121991000063, -STORE, 140121823244288, 140121890353151, -ERASE, 140121823244288, 140121890353151, -STORE, 140121756135424, 140121890353151, -SNULL, 140121756135424, 140121764528127, -STORE, 140121764528128, 140121890353151, -STORE, 140121756135424, 140121764528127, -ERASE, 140121756135424, 140121764528127, -SNULL, 140121831636991, 140121890353151, -STORE, 140121764528128, 140121831636991, -STORE, 140121831636992, 140121890353151, -ERASE, 140121831636992, 140121890353151, -STORE, 140121974214656, 140121991000063, -STORE, 140121630310400, 140121831636991, -SNULL, 140121697419263, 140121831636991, -STORE, 140121630310400, 140121697419263, -STORE, 140121697419264, 140121831636991, -SNULL, 140121697419264, 140121764528127, -STORE, 140121764528128, 140121831636991, -STORE, 140121697419264, 140121764528127, -ERASE, 140121697419264, 140121764528127, -STORE, 140121881960448, 140121890353151, -STORE, 140121630310400, 140121831636991, -STORE, 140121873567744, 140121890353151, -SNULL, 140121630310400, 140121697419263, -STORE, 140121697419264, 140121831636991, -STORE, 140121630310400, 140121697419263, -SNULL, 140121697554431, 140121831636991, -STORE, 140121697419264, 140121697554431, -STORE, 140121697554432, 140121831636991, -STORE, 140121865175040, 140121890353151, -STORE, 140121856782336, 140121890353151, -STORE, 140121848389632, 140121890353151, -STORE, 140121839996928, 140121890353151, -STORE, 140121496092672, 140121697419263, -STORE, 140121487699968, 140121496092671, -STORE, 140121420591104, 140121487699967, -STORE, 140121412198400, 140121420591103, -ERASE, 140121420591104, 140121487699967, -STORE, 140121479307264, 140121496092671, -STORE, 140121277980672, 140121412198399, -SNULL, 140121277980672, 140121294766079, -STORE, 140121294766080, 140121412198399, -STORE, 140121277980672, 140121294766079, -ERASE, 140121277980672, 140121294766079, -STORE, 140121470914560, 140121496092671, -STORE, 140121462521856, 140121496092671, -STORE, 140121160548352, 140121412198399, -STORE, 140121454129152, 140121496092671, -SNULL, 140121227657215, 140121412198399, -STORE, 140121160548352, 140121227657215, -STORE, 140121227657216, 140121412198399, -SNULL, 140121227657216, 140121294766079, -STORE, 140121294766080, 140121412198399, -STORE, 140121227657216, 140121294766079, -ERASE, 140121227657216, 140121294766079, -STORE, 140121445736448, 140121496092671, -STORE, 140121437343744, 140121496092671, -SNULL, 140121437343744, 140121445736447, -STORE, 140121445736448, 140121496092671, -STORE, 140121437343744, 140121445736447, -SNULL, 140121445740543, 140121496092671, -STORE, 140121445736448, 140121445740543, -STORE, 140121445740544, 140121496092671, -SNULL, 140121697554432, 140121764528127, -STORE, 140121764528128, 140121831636991, -STORE, 140121697554432, 140121764528127, -SNULL, 140121764663295, 140121831636991, -STORE, 140121764528128, 140121764663295, -STORE, 140121764663296, 140121831636991, -SNULL, 140121496092672, 140121630310399, -STORE, 140121630310400, 140121697419263, -STORE, 140121496092672, 140121630310399, -SNULL, 140121630445567, 140121697419263, -STORE, 140121630310400, 140121630445567, -STORE, 140121630445568, 140121697419263, -SNULL, 140121445740544, 140121454129151, -STORE, 140121454129152, 140121496092671, -STORE, 140121445740544, 140121454129151, -SNULL, 140121454133247, 140121496092671, -STORE, 140121454129152, 140121454133247, -STORE, 140121454133248, 140121496092671, -STORE, 140121026330624, 140121227657215, -SNULL, 140121093439487, 140121227657215, -STORE, 140121026330624, 140121093439487, -STORE, 140121093439488, 140121227657215, -SNULL, 140121093439488, 140121160548351, -STORE, 140121160548352, 140121227657215, -STORE, 140121093439488, 140121160548351, -ERASE, 140121093439488, 140121160548351, -SNULL, 140121563201535, 140121630310399, -STORE, 140121496092672, 140121563201535, -STORE, 140121563201536, 140121630310399, -ERASE, 140121563201536, 140121630310399, -STORE, 140120892112896, 140121093439487, -SNULL, 140120959221759, 140121093439487, -STORE, 140120892112896, 140120959221759, -STORE, 140120959221760, 140121093439487, -SNULL, 140120959221760, 140121026330623, -STORE, 140121026330624, 140121093439487, -STORE, 140120959221760, 140121026330623, -ERASE, 140120959221760, 140121026330623, -STORE, 140120757895168, 140120959221759, -SNULL, 140121361874943, 140121412198399, -STORE, 140121294766080, 140121361874943, -STORE, 140121361874944, 140121412198399, -ERASE, 140121361874944, 140121412198399, -SNULL, 140121294901247, 140121361874943, -STORE, 140121294766080, 140121294901247, -STORE, 140121294901248, 140121361874943, -STORE, 140120623677440, 140120959221759, -SNULL, 140120690786303, 140120959221759, -STORE, 140120623677440, 140120690786303, -STORE, 140120690786304, 140120959221759, -SNULL, 140120690786304, 140120757895167, -STORE, 140120757895168, 140120959221759, -STORE, 140120690786304, 140120757895167, -ERASE, 140120690786304, 140120757895167, -SNULL, 140121160683519, 140121227657215, -STORE, 140121160548352, 140121160683519, -STORE, 140121160683520, 140121227657215, -SNULL, 140121974214656, 140121982607359, -STORE, 140121982607360, 140121991000063, -STORE, 140121974214656, 140121982607359, -SNULL, 140121982611455, 140121991000063, -STORE, 140121982607360, 140121982611455, -STORE, 140121982611456, 140121991000063, -SNULL, 140121839996928, 140121873567743, -STORE, 140121873567744, 140121890353151, -STORE, 140121839996928, 140121873567743, -SNULL, 140121873571839, 140121890353151, -STORE, 140121873567744, 140121873571839, -STORE, 140121873571840, 140121890353151, -SNULL, 140121873571840, 140121881960447, -STORE, 140121881960448, 140121890353151, -STORE, 140121873571840, 140121881960447, -SNULL, 140121881964543, 140121890353151, -STORE, 140121881960448, 140121881964543, -STORE, 140121881964544, 140121890353151, -SNULL, 140121840001023, 140121873567743, -STORE, 140121839996928, 140121840001023, -STORE, 140121840001024, 140121873567743, -SNULL, 140121840001024, 140121865175039, -STORE, 140121865175040, 140121873567743, -STORE, 140121840001024, 140121865175039, -SNULL, 140121865179135, 140121873567743, -STORE, 140121865175040, 140121865179135, -STORE, 140121865179136, 140121873567743, -SNULL, 140121437347839, 140121445736447, -STORE, 140121437343744, 140121437347839, -STORE, 140121437347840, 140121445736447, -STORE, 140121621917696, 140121630310399, -STORE, 140121613524992, 140121630310399, -SNULL, 140121026465791, 140121093439487, -STORE, 140121026330624, 140121026465791, -STORE, 140121026465792, 140121093439487, -SNULL, 140121496227839, 140121563201535, -STORE, 140121496092672, 140121496227839, -STORE, 140121496227840, 140121563201535, -SNULL, 140120757895168, 140120892112895, -STORE, 140120892112896, 140120959221759, -STORE, 140120757895168, 140120892112895, -SNULL, 140120892248063, 140120959221759, -STORE, 140120892112896, 140120892248063, -STORE, 140120892248064, 140120959221759, -SNULL, 140120825004031, 140120892112895, -STORE, 140120757895168, 140120825004031, -STORE, 140120825004032, 140120892112895, -ERASE, 140120825004032, 140120892112895, -SNULL, 140120623812607, 140120690786303, -STORE, 140120623677440, 140120623812607, -STORE, 140120623812608, 140120690786303, -SNULL, 140120758030335, 140120825004031, -STORE, 140120757895168, 140120758030335, -STORE, 140120758030336, 140120825004031, -SNULL, 140121454133248, 140121462521855, -STORE, 140121462521856, 140121496092671, -STORE, 140121454133248, 140121462521855, -SNULL, 140121462525951, 140121496092671, -STORE, 140121462521856, 140121462525951, -STORE, 140121462525952, 140121496092671, -STORE, 140121605132288, 140121630310399, -SNULL, 140121605136383, 140121630310399, -STORE, 140121605132288, 140121605136383, -STORE, 140121605136384, 140121630310399, -STORE, 140121596739584, 140121605132287, -SNULL, 140121605136384, 140121621917695, -STORE, 140121621917696, 140121630310399, -STORE, 140121605136384, 140121621917695, -SNULL, 140121621921791, 140121630310399, -STORE, 140121621917696, 140121621921791, -STORE, 140121621921792, 140121630310399, -STORE, 140121588346880, 140121605132287, -STORE, 140121579954176, 140121605132287, -SNULL, 140121412202495, 140121420591103, -STORE, 140121412198400, 140121412202495, -STORE, 140121412202496, 140121420591103, -SNULL, 140121974218751, 140121982607359, -STORE, 140121974214656, 140121974218751, -STORE, 140121974218752, 140121982607359, -SNULL, 140121462525952, 140121479307263, -STORE, 140121479307264, 140121496092671, -STORE, 140121462525952, 140121479307263, -SNULL, 140121479311359, 140121496092671, -STORE, 140121479307264, 140121479311359, -STORE, 140121479311360, 140121496092671, -STORE, 140121571561472, 140121605132287, -SNULL, 140121571565567, 140121605132287, -STORE, 140121571561472, 140121571565567, -STORE, 140121571565568, 140121605132287, -STORE, 140121428951040, 140121437343743, -SNULL, 140121428955135, 140121437343743, -STORE, 140121428951040, 140121428955135, -STORE, 140121428955136, 140121437343743, -SNULL, 140121840001024, 140121856782335, -STORE, 140121856782336, 140121865175039, -STORE, 140121840001024, 140121856782335, -SNULL, 140121856786431, 140121865175039, -STORE, 140121856782336, 140121856786431, -STORE, 140121856786432, 140121865175039, -STORE, 140121403805696, 140121412198399, -SNULL, 140121840001024, 140121848389631, -STORE, 140121848389632, 140121856782335, -STORE, 140121840001024, 140121848389631, -SNULL, 140121848393727, 140121856782335, -STORE, 140121848389632, 140121848393727, -STORE, 140121848393728, 140121856782335, -SNULL, 140121479311360, 140121487699967, -STORE, 140121487699968, 140121496092671, -STORE, 140121479311360, 140121487699967, -SNULL, 140121487704063, 140121496092671, -STORE, 140121487699968, 140121487704063, -STORE, 140121487704064, 140121496092671, -STORE, 140121395412992, 140121412198399, -STORE, 140121387020288, 140121412198399, -SNULL, 140121387024383, 140121412198399, -STORE, 140121387020288, 140121387024383, -STORE, 140121387024384, 140121412198399, -SNULL, 140121605136384, 140121613524991, -STORE, 140121613524992, 140121621917695, -STORE, 140121605136384, 140121613524991, -SNULL, 140121613529087, 140121621917695, -STORE, 140121613524992, 140121613529087, -STORE, 140121613529088, 140121621917695, -SNULL, 140121462525952, 140121470914559, -STORE, 140121470914560, 140121479307263, -STORE, 140121462525952, 140121470914559, -SNULL, 140121470918655, 140121479307263, -STORE, 140121470914560, 140121470918655, -STORE, 140121470918656, 140121479307263, -STORE, 140121378627584, 140121387020287, -SNULL, 140121378631679, 140121387020287, -STORE, 140121378627584, 140121378631679, -STORE, 140121378631680, 140121387020287, -SNULL, 140121571565568, 140121596739583, -STORE, 140121596739584, 140121605132287, -STORE, 140121571565568, 140121596739583, -SNULL, 140121596743679, 140121605132287, -STORE, 140121596739584, 140121596743679, -STORE, 140121596743680, 140121605132287, -SNULL, 140121387024384, 140121403805695, -STORE, 140121403805696, 140121412198399, -STORE, 140121387024384, 140121403805695, -SNULL, 140121403809791, 140121412198399, -STORE, 140121403805696, 140121403809791, -STORE, 140121403809792, 140121412198399, -STORE, 140121370234880, 140121378627583, -SNULL, 140121387024384, 140121395412991, -STORE, 140121395412992, 140121403805695, -STORE, 140121387024384, 140121395412991, -SNULL, 140121395417087, 140121403805695, -STORE, 140121395412992, 140121395417087, -STORE, 140121395417088, 140121403805695, -SNULL, 140121571565568, 140121588346879, -STORE, 140121588346880, 140121596739583, -STORE, 140121571565568, 140121588346879, -SNULL, 140121588350975, 140121596739583, -STORE, 140121588346880, 140121588350975, -STORE, 140121588350976, 140121596739583, -SNULL, 140121571565568, 140121579954175, -STORE, 140121579954176, 140121588346879, -STORE, 140121571565568, 140121579954175, -SNULL, 140121579958271, 140121588346879, -STORE, 140121579954176, 140121579958271, -STORE, 140121579958272, 140121588346879, -STORE, 140121286373376, 140121294766079, -STORE, 140121277980672, 140121294766079, -SNULL, 140121277980672, 140121286373375, -STORE, 140121286373376, 140121294766079, -STORE, 140121277980672, 140121286373375, -SNULL, 140121286377471, 140121294766079, -STORE, 140121286373376, 140121286377471, -STORE, 140121286377472, 140121294766079, -STORE, 140121269587968, 140121286373375, -STORE, 140121261195264, 140121286373375, -SNULL, 140121261195264, 140121269587967, -STORE, 140121269587968, 140121286373375, -STORE, 140121261195264, 140121269587967, -SNULL, 140121269592063, 140121286373375, -STORE, 140121269587968, 140121269592063, -STORE, 140121269592064, 140121286373375, -STORE, 140121252802560, 140121269587967, -SNULL, 140121252806655, 140121269587967, -STORE, 140121252802560, 140121252806655, -STORE, 140121252806656, 140121269587967, -STORE, 140121244409856, 140121252802559, -STORE, 140121236017152, 140121252802559, -SNULL, 140121236017152, 140121244409855, -STORE, 140121244409856, 140121252802559, -STORE, 140121236017152, 140121244409855, -SNULL, 140121244413951, 140121252802559, -STORE, 140121244409856, 140121244413951, -STORE, 140121244413952, 140121252802559, -SNULL, 140121370238975, 140121378627583, -STORE, 140121370234880, 140121370238975, -STORE, 140121370238976, 140121378627583, -STORE, 140121152155648, 140121160548351, -STORE, 140121143762944, 140121160548351, -STORE, 140121135370240, 140121160548351, -SNULL, 140121135374335, 140121160548351, -STORE, 140121135370240, 140121135374335, -STORE, 140121135374336, 140121160548351, -STORE, 140121126977536, 140121135370239, -STORE, 140121118584832, 140121135370239, -STORE, 140121110192128, 140121135370239, -SNULL, 140121110192128, 140121118584831, -STORE, 140121118584832, 140121135370239, -STORE, 140121110192128, 140121118584831, -SNULL, 140121118588927, 140121135370239, -STORE, 140121118584832, 140121118588927, -STORE, 140121118588928, 140121135370239, -STORE, 140121101799424, 140121118584831, -STORE, 140121017937920, 140121026330623, -STORE, 140121009545216, 140121026330623, -SNULL, 140121009545216, 140121017937919, -STORE, 140121017937920, 140121026330623, -STORE, 140121009545216, 140121017937919, -SNULL, 140121017942015, 140121026330623, -STORE, 140121017937920, 140121017942015, -STORE, 140121017942016, 140121026330623, -SNULL, 140121269592064, 140121277980671, -STORE, 140121277980672, 140121286373375, -STORE, 140121269592064, 140121277980671, -SNULL, 140121277984767, 140121286373375, -STORE, 140121277980672, 140121277984767, -STORE, 140121277984768, 140121286373375, -STORE, 140121001152512, 140121017937919, -SNULL, 140121252806656, 140121261195263, -STORE, 140121261195264, 140121269587967, -STORE, 140121252806656, 140121261195263, -SNULL, 140121261199359, 140121269587967, -STORE, 140121261195264, 140121261199359, -STORE, 140121261199360, 140121269587967, -SNULL, 140121135374336, 140121152155647, -STORE, 140121152155648, 140121160548351, -STORE, 140121135374336, 140121152155647, -SNULL, 140121152159743, 140121160548351, -STORE, 140121152155648, 140121152159743, -STORE, 140121152159744, 140121160548351, -STORE, 140120992759808, 140121017937919, -STORE, 140120984367104, 140121017937919, -STORE, 140120975974400, 140121017937919, -SNULL, 140121101799424, 140121110192127, -STORE, 140121110192128, 140121118584831, -STORE, 140121101799424, 140121110192127, -SNULL, 140121110196223, 140121118584831, -STORE, 140121110192128, 140121110196223, -STORE, 140121110196224, 140121118584831, -SNULL, 140121118588928, 140121126977535, -STORE, 140121126977536, 140121135370239, -STORE, 140121118588928, 140121126977535, -SNULL, 140121126981631, 140121135370239, -STORE, 140121126977536, 140121126981631, -STORE, 140121126981632, 140121135370239, -STORE, 140120967581696, 140121017937919, -STORE, 140120883720192, 140120892112895, -SNULL, 140120883724287, 140120892112895, -STORE, 140120883720192, 140120883724287, -STORE, 140120883724288, 140120892112895, -STORE, 140120875327488, 140120883720191, -SNULL, 140121101803519, 140121110192127, -STORE, 140121101799424, 140121101803519, -STORE, 140121101803520, 140121110192127, -SNULL, 140121135374336, 140121143762943, -STORE, 140121143762944, 140121152155647, -STORE, 140121135374336, 140121143762943, -SNULL, 140121143767039, 140121152155647, -STORE, 140121143762944, 140121143767039, -STORE, 140121143767040, 140121152155647, -STORE, 140120866934784, 140120883720191, -SNULL, 140120967581696, 140120984367103, -STORE, 140120984367104, 140121017937919, -STORE, 140120967581696, 140120984367103, -SNULL, 140120984371199, 140121017937919, -STORE, 140120984367104, 140120984371199, -STORE, 140120984371200, 140121017937919, -STORE, 140120858542080, 140120883720191, -SNULL, 140121236021247, 140121244409855, -STORE, 140121236017152, 140121236021247, -STORE, 140121236021248, 140121244409855, -SNULL, 140120984371200, 140121009545215, -STORE, 140121009545216, 140121017937919, -STORE, 140120984371200, 140121009545215, -SNULL, 140121009549311, 140121017937919, -STORE, 140121009545216, 140121009549311, -STORE, 140121009549312, 140121017937919, -SNULL, 140120984371200, 140120992759807, -STORE, 140120992759808, 140121009545215, -STORE, 140120984371200, 140120992759807, -SNULL, 140120992763903, 140121009545215, -STORE, 140120992759808, 140120992763903, -STORE, 140120992763904, 140121009545215, -SNULL, 140120992763904, 140121001152511, -STORE, 140121001152512, 140121009545215, -STORE, 140120992763904, 140121001152511, -SNULL, 140121001156607, 140121009545215, -STORE, 140121001152512, 140121001156607, -STORE, 140121001156608, 140121009545215, -STORE, 140120850149376, 140120883720191, -SNULL, 140120850153471, 140120883720191, -STORE, 140120850149376, 140120850153471, -STORE, 140120850153472, 140120883720191, -SNULL, 140120967585791, 140120984367103, -STORE, 140120967581696, 140120967585791, -STORE, 140120967585792, 140120984367103, -SNULL, 140120850153472, 140120866934783, -STORE, 140120866934784, 140120883720191, -STORE, 140120850153472, 140120866934783, -SNULL, 140120866938879, 140120883720191, -STORE, 140120866934784, 140120866938879, -STORE, 140120866938880, 140120883720191, -STORE, 140120841756672, 140120850149375, -SNULL, 140120967585792, 140120975974399, -STORE, 140120975974400, 140120984367103, -STORE, 140120967585792, 140120975974399, -SNULL, 140120975978495, 140120984367103, -STORE, 140120975974400, 140120975978495, -STORE, 140120975978496, 140120984367103, -SNULL, 140120866938880, 140120875327487, -STORE, 140120875327488, 140120883720191, -STORE, 140120866938880, 140120875327487, -SNULL, 140120875331583, 140120883720191, -STORE, 140120875327488, 140120875331583, -STORE, 140120875331584, 140120883720191, -STORE, 140120833363968, 140120850149375, -STORE, 140120749502464, 140120757895167, -STORE, 140120741109760, 140120757895167, -STORE, 140120732717056, 140120757895167, -STORE, 140120724324352, 140120757895167, -SNULL, 140120724324352, 140120732717055, -STORE, 140120732717056, 140120757895167, -STORE, 140120724324352, 140120732717055, -SNULL, 140120732721151, 140120757895167, -STORE, 140120732717056, 140120732721151, -STORE, 140120732721152, 140120757895167, -STORE, 140120715931648, 140120732717055, -SNULL, 140120715935743, 140120732717055, -STORE, 140120715931648, 140120715935743, -STORE, 140120715935744, 140120732717055, -SNULL, 140120850153472, 140120858542079, -STORE, 140120858542080, 140120866934783, -STORE, 140120850153472, 140120858542079, -SNULL, 140120858546175, 140120866934783, -STORE, 140120858542080, 140120858546175, -STORE, 140120858546176, 140120866934783, -STORE, 140120707538944, 140120715931647, -SNULL, 140120707543039, 140120715931647, -STORE, 140120707538944, 140120707543039, -STORE, 140120707543040, 140120715931647, -SNULL, 140120833368063, 140120850149375, -STORE, 140120833363968, 140120833368063, -STORE, 140120833368064, 140120850149375, -SNULL, 140120833368064, 140120841756671, -STORE, 140120841756672, 140120850149375, -STORE, 140120833368064, 140120841756671, -SNULL, 140120841760767, 140120850149375, -STORE, 140120841756672, 140120841760767, -STORE, 140120841760768, 140120850149375, -STORE, 140120699146240, 140120707538943, -SNULL, 140120715935744, 140120724324351, -STORE, 140120724324352, 140120732717055, -STORE, 140120715935744, 140120724324351, -SNULL, 140120724328447, 140120732717055, -STORE, 140120724324352, 140120724328447, -STORE, 140120724328448, 140120732717055, -SNULL, 140120732721152, 140120741109759, -STORE, 140120741109760, 140120757895167, -STORE, 140120732721152, 140120741109759, -SNULL, 140120741113855, 140120757895167, -STORE, 140120741109760, 140120741113855, -STORE, 140120741113856, 140120757895167, -SNULL, 140120741113856, 140120749502463, -STORE, 140120749502464, 140120757895167, -STORE, 140120741113856, 140120749502463, -SNULL, 140120749506559, 140120757895167, -STORE, 140120749502464, 140120749506559, -STORE, 140120749506560, 140120757895167, -SNULL, 140120699150335, 140120707538943, -STORE, 140120699146240, 140120699150335, -STORE, 140120699150336, 140120707538943, -STORE, 140122446557184, 140122446585855, -STORE, 140122368999424, 140122371190783, -SNULL, 140122368999424, 140122369089535, -STORE, 140122369089536, 140122371190783, -STORE, 140122368999424, 140122369089535, -SNULL, 140122371182591, 140122371190783, -STORE, 140122369089536, 140122371182591, -STORE, 140122371182592, 140122371190783, -ERASE, 140122371182592, 140122371190783, -STORE, 140122371182592, 140122371190783, -SNULL, 140122371186687, 140122371190783, -STORE, 140122371182592, 140122371186687, -STORE, 140122371186688, 140122371190783, -ERASE, 140122446557184, 140122446585855, -ERASE, 140121445736448, 140121445740543, -ERASE, 140121445740544, 140121454129151, -ERASE, 140121621917696, 140121621921791, -ERASE, 140121621921792, 140121630310399, -ERASE, 140121579954176, 140121579958271, -ERASE, 140121579958272, 140121588346879, -ERASE, 140121261195264, 140121261199359, -ERASE, 140121261199360, 140121269587967, -ERASE, 140121454129152, 140121454133247, -ERASE, 140121454133248, 140121462521855, -ERASE, 140121588346880, 140121588350975, -ERASE, 140121588350976, 140121596739583, -ERASE, 140121135370240, 140121135374335, -ERASE, 140121135374336, 140121143762943, -ERASE, 140121881960448, 140121881964543, -ERASE, 140121881964544, 140121890353151, -ERASE, 140121428951040, 140121428955135, -ERASE, 140121428955136, 140121437343743, -ERASE, 140121387020288, 140121387024383, -ERASE, 140121387024384, 140121395412991, -ERASE, 140121487699968, 140121487704063, -ERASE, 140121487704064, 140121496092671, -ERASE, 140121437343744, 140121437347839, -ERASE, 140121437347840, 140121445736447, -ERASE, 140121613524992, 140121613529087, -ERASE, 140121613529088, 140121621917695, -ERASE, 140121856782336, 140121856786431, -ERASE, 140121856786432, 140121865175039, -ERASE, 140121252802560, 140121252806655, -ERASE, 140121252806656, 140121261195263, -ERASE, 140121839996928, 140121840001023, -ERASE, 140121840001024, 140121848389631, -ERASE, 140121596739584, 140121596743679, -ERASE, 140121596743680, 140121605132287, -ERASE, 140121009545216, 140121009549311, -ERASE, 140121009549312, 140121017937919, -ERASE, 140120724324352, 140120724328447, -ERASE, 140120724328448, 140120732717055, -ERASE, 140120883720192, 140120883724287, -ERASE, 140120883724288, 140120892112895, -ERASE, 140121982607360, 140121982611455, -ERASE, 140121982611456, 140121991000063, -ERASE, 140121571561472, 140121571565567, -ERASE, 140121571565568, 140121579954175, -ERASE, 140121286373376, 140121286377471, -ERASE, 140121286377472, 140121294766079, -ERASE, 140120875327488, 140120875331583, -ERASE, 140120875331584, 140120883720191, -ERASE, 140121848389632, 140121848393727, -ERASE, 140121848393728, 140121856782335, -ERASE, 140121370234880, 140121370238975, -ERASE, 140121370238976, 140121378627583, -ERASE, 140121143762944, 140121143767039, -ERASE, 140121143767040, 140121152155647, -ERASE, 140121118584832, 140121118588927, -ERASE, 140121118588928, 140121126977535, -ERASE, 140120866934784, 140120866938879, -ERASE, 140120866938880, 140120875327487, -ERASE, 140120741109760, 140120741113855, -ERASE, 140120741113856, 140120749502463, -ERASE, 140121865175040, 140121865179135, -ERASE, 140121865179136, 140121873567743, -ERASE, 140121403805696, 140121403809791, -ERASE, 140121403809792, 140121412198399, -ERASE, 140121236017152, 140121236021247, -ERASE, 140121236021248, 140121244409855, -ERASE, 140120732717056, 140120732721151, -ERASE, 140120732721152, 140120741109759, -ERASE, 140121017937920, 140121017942015, -ERASE, 140121017942016, 140121026330623, -ERASE, 140121873567744, 140121873571839, -ERASE, 140121873571840, 140121881960447, -ERASE, 140121470914560, 140121470918655, -ERASE, 140121470918656, 140121479307263, -ERASE, 140121126977536, 140121126981631, -ERASE, 140121126981632, 140121135370239, -ERASE, 140120850149376, 140120850153471, -ERASE, 140120850153472, 140120858542079, -ERASE, 140120707538944, 140120707543039, -ERASE, 140120707543040, 140120715931647, -ERASE, 140121479307264, 140121479311359, -ERASE, 140121479311360, 140121487699967, -ERASE, 140120967581696, 140120967585791, -ERASE, 140120967585792, 140120975974399, -ERASE, 140120841756672, 140120841760767, -ERASE, 140120841760768, 140120850149375, -ERASE, 140121412198400, 140121412202495, -ERASE, 140121412202496, 140121420591103, -ERASE, 140122158788608, 140122158792703, -ERASE, 140122158792704, 140122167181311, -ERASE, 140122142003200, 140122142007295, -ERASE, 140122142007296, 140122150395903, -ERASE, 140121101799424, 140121101803519, -ERASE, 140121101803520, 140121110192127, -ERASE, 140120858542080, 140120858546175, -ERASE, 140120858546176, 140120866934783, -ERASE, 140120833363968, 140120833368063, -ERASE, 140120833368064, 140120841756671, -ERASE, 140121277980672, 140121277984767, -ERASE, 140121277984768, 140121286373375, -ERASE, 140121001152512, 140121001156607, -ERASE, 140121001156608, 140121009545215, -ERASE, 140120749502464, 140120749506559, -ERASE, 140120749506560, 140120757895167, -ERASE, 140121605132288, 140121605136383, -ERASE, 140121605136384, 140121613524991, -ERASE, 140121378627584, 140121378631679, -ERASE, 140121378631680, 140121387020287, -ERASE, 140121110192128, 140121110196223, -ERASE, 140121110196224, 140121118584831, -ERASE, 140121462521856, 140121462525951, -ERASE, 140121462525952, 140121470914559, -ERASE, 140121395412992, 140121395417087, -ERASE, 140121395417088, 140121403805695, -ERASE, 140121152155648, 140121152159743, -ERASE, 140121152159744, 140121160548351, -ERASE, 140120992759808, 140120992763903, -ERASE, 140120992763904, 140121001152511, -ERASE, 140122387976192, 140122387980287, -ERASE, 140122387980288, 140122396368895, -ERASE, 140121890353152, 140121890357247, -ERASE, 140121890357248, 140121898745855, -ERASE, 140121269587968, 140121269592063, -ERASE, 140121269592064, 140121277980671, - }; - unsigned long set37[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140722404016128, 140737488351231, -SNULL, 140722404020223, 140737488351231, -STORE, 140722404016128, 140722404020223, -STORE, 140722403885056, 140722404020223, -STORE, 94637010001920, 94637012254719, -SNULL, 94637010132991, 94637012254719, -STORE, 94637010001920, 94637010132991, -STORE, 94637010132992, 94637012254719, -ERASE, 94637010132992, 94637012254719, -STORE, 94637012226048, 94637012234239, -STORE, 94637012234240, 94637012254719, -STORE, 139760240594944, 139760242847743, -SNULL, 139760240738303, 139760242847743, -STORE, 139760240594944, 139760240738303, -STORE, 139760240738304, 139760242847743, -ERASE, 139760240738304, 139760242847743, -STORE, 139760242835456, 139760242843647, -STORE, 139760242843648, 139760242847743, -STORE, 140722405232640, 140722405236735, -STORE, 140722405220352, 140722405232639, -STORE, 139760242806784, 139760242835455, -STORE, 139760242798592, 139760242806783, -STORE, 139760238379008, 139760240594943, -SNULL, 139760238379008, 139760238477311, -STORE, 139760238477312, 139760240594943, -STORE, 139760238379008, 139760238477311, -SNULL, 139760240570367, 139760240594943, -STORE, 139760238477312, 139760240570367, -STORE, 139760240570368, 139760240594943, -SNULL, 139760240570368, 139760240578559, -STORE, 139760240578560, 139760240594943, -STORE, 139760240570368, 139760240578559, -ERASE, 139760240570368, 139760240578559, -STORE, 139760240570368, 139760240578559, -ERASE, 139760240578560, 139760240594943, -STORE, 139760240578560, 139760240594943, -STORE, 139760234582016, 139760238379007, -SNULL, 139760234582016, 139760236240895, -STORE, 139760236240896, 139760238379007, -STORE, 139760234582016, 139760236240895, -SNULL, 139760238338047, 139760238379007, -STORE, 139760236240896, 139760238338047, -STORE, 139760238338048, 139760238379007, -SNULL, 139760238338048, 139760238362623, -STORE, 139760238362624, 139760238379007, -STORE, 139760238338048, 139760238362623, -ERASE, 139760238338048, 139760238362623, -STORE, 139760238338048, 139760238362623, -ERASE, 139760238362624, 139760238379007, -STORE, 139760238362624, 139760238379007, -STORE, 139760242790400, 139760242806783, -SNULL, 139760238354431, 139760238362623, -STORE, 139760238338048, 139760238354431, -STORE, 139760238354432, 139760238362623, -SNULL, 139760240574463, 139760240578559, -STORE, 139760240570368, 139760240574463, -STORE, 139760240574464, 139760240578559, -SNULL, 94637012230143, 94637012234239, -STORE, 94637012226048, 94637012230143, -STORE, 94637012230144, 94637012234239, -SNULL, 139760242839551, 139760242843647, -STORE, 139760242835456, 139760242839551, -STORE, 139760242839552, 139760242843647, -ERASE, 139760242806784, 139760242835455, -STORE, 94637033324544, 94637033459711, -STORE, 139760226189312, 139760234582015, -SNULL, 139760226193407, 139760234582015, -STORE, 139760226189312, 139760226193407, -STORE, 139760226193408, 139760234582015, -STORE, 139760217796608, 139760226189311, -STORE, 139760083578880, 139760217796607, -SNULL, 139760083578880, 139760114860031, -STORE, 139760114860032, 139760217796607, -STORE, 139760083578880, 139760114860031, -ERASE, 139760083578880, 139760114860031, -SNULL, 139760181968895, 139760217796607, -STORE, 139760114860032, 139760181968895, -STORE, 139760181968896, 139760217796607, -ERASE, 139760181968896, 139760217796607, -SNULL, 139760114995199, 139760181968895, -STORE, 139760114860032, 139760114995199, -STORE, 139760114995200, 139760181968895, -SNULL, 139760217800703, 139760226189311, -STORE, 139760217796608, 139760217800703, -STORE, 139760217800704, 139760226189311, -STORE, 139760209403904, 139760217796607, -SNULL, 139760209407999, 139760217796607, -STORE, 139760209403904, 139760209407999, -STORE, 139760209408000, 139760217796607, -STORE, 139760201011200, 139760209403903, -SNULL, 139760201015295, 139760209403903, -STORE, 139760201011200, 139760201015295, -STORE, 139760201015296, 139760209403903, -STORE, 139760192618496, 139760201011199, -SNULL, 139760192622591, 139760201011199, -STORE, 139760192618496, 139760192622591, -STORE, 139760192622592, 139760201011199, -STORE, 139760184225792, 139760192618495, -STORE, 139759980642304, 139760114860031, -STORE, 139759972249600, 139759980642303, -STORE, 139759963856896, 139759980642303, -STORE, 139759955464192, 139759980642303, -STORE, 139759888355328, 139759955464191, -SNULL, 139760047751167, 139760114860031, -STORE, 139759980642304, 139760047751167, -STORE, 139760047751168, 139760114860031, -ERASE, 139760047751168, 139760114860031, -SNULL, 139759980777471, 139760047751167, -STORE, 139759980642304, 139759980777471, -STORE, 139759980777472, 139760047751167, -STORE, 139759980777472, 139760114860031, -SNULL, 139759980777472, 139760047751167, -STORE, 139760047751168, 139760114860031, -STORE, 139759980777472, 139760047751167, -SNULL, 139760047886335, 139760114860031, -STORE, 139760047751168, 139760047886335, -STORE, 139760047886336, 139760114860031, -STORE, 139759821246464, 139759955464191, -SNULL, 139759821246464, 139759888355327, -STORE, 139759888355328, 139759955464191, -STORE, 139759821246464, 139759888355327, -ERASE, 139759821246464, 139759888355327, -ERASE, 139759888355328, 139759955464191, - }; - unsigned long set38[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140730666221568, 140737488351231, -SNULL, 140730666225663, 140737488351231, -STORE, 140730666221568, 140730666225663, -STORE, 140730666090496, 140730666225663, -STORE, 94177584803840, 94177587056639, -SNULL, 94177584934911, 94177587056639, -STORE, 94177584803840, 94177584934911, -STORE, 94177584934912, 94177587056639, -ERASE, 94177584934912, 94177587056639, -STORE, 94177587027968, 94177587036159, -STORE, 94177587036160, 94177587056639, -STORE, 140614382714880, 140614384967679, -SNULL, 140614382858239, 140614384967679, -STORE, 140614382714880, 140614382858239, -STORE, 140614382858240, 140614384967679, -ERASE, 140614382858240, 140614384967679, -STORE, 140614384955392, 140614384963583, -STORE, 140614384963584, 140614384967679, -STORE, 140730666315776, 140730666319871, -STORE, 140730666303488, 140730666315775, -STORE, 140614384926720, 140614384955391, -STORE, 140614384918528, 140614384926719, -STORE, 140614380498944, 140614382714879, -SNULL, 140614380498944, 140614380597247, -STORE, 140614380597248, 140614382714879, -STORE, 140614380498944, 140614380597247, -SNULL, 140614382690303, 140614382714879, -STORE, 140614380597248, 140614382690303, -STORE, 140614382690304, 140614382714879, -SNULL, 140614382690304, 140614382698495, -STORE, 140614382698496, 140614382714879, -STORE, 140614382690304, 140614382698495, -ERASE, 140614382690304, 140614382698495, -STORE, 140614382690304, 140614382698495, -ERASE, 140614382698496, 140614382714879, -STORE, 140614382698496, 140614382714879, -STORE, 140614376701952, 140614380498943, -SNULL, 140614376701952, 140614378360831, -STORE, 140614378360832, 140614380498943, -STORE, 140614376701952, 140614378360831, -SNULL, 140614380457983, 140614380498943, -STORE, 140614378360832, 140614380457983, -STORE, 140614380457984, 140614380498943, -SNULL, 140614380457984, 140614380482559, -STORE, 140614380482560, 140614380498943, -STORE, 140614380457984, 140614380482559, -ERASE, 140614380457984, 140614380482559, -STORE, 140614380457984, 140614380482559, -ERASE, 140614380482560, 140614380498943, -STORE, 140614380482560, 140614380498943, -STORE, 140614384910336, 140614384926719, -SNULL, 140614380474367, 140614380482559, -STORE, 140614380457984, 140614380474367, -STORE, 140614380474368, 140614380482559, -SNULL, 140614382694399, 140614382698495, -STORE, 140614382690304, 140614382694399, -STORE, 140614382694400, 140614382698495, -SNULL, 94177587032063, 94177587036159, -STORE, 94177587027968, 94177587032063, -STORE, 94177587032064, 94177587036159, -SNULL, 140614384959487, 140614384963583, -STORE, 140614384955392, 140614384959487, -STORE, 140614384959488, 140614384963583, -ERASE, 140614384926720, 140614384955391, -STORE, 94177619791872, 94177619927039, -STORE, 140614368309248, 140614376701951, -SNULL, 140614368313343, 140614376701951, -STORE, 140614368309248, 140614368313343, -STORE, 140614368313344, 140614376701951, -STORE, 140614359916544, 140614368309247, -STORE, 140614225698816, 140614359916543, -SNULL, 140614225698816, 140614276481023, -STORE, 140614276481024, 140614359916543, -STORE, 140614225698816, 140614276481023, -ERASE, 140614225698816, 140614276481023, -SNULL, 140614343589887, 140614359916543, -STORE, 140614276481024, 140614343589887, -STORE, 140614343589888, 140614359916543, -ERASE, 140614343589888, 140614359916543, -SNULL, 140614276616191, 140614343589887, -STORE, 140614276481024, 140614276616191, -STORE, 140614276616192, 140614343589887, -SNULL, 140614359920639, 140614368309247, -STORE, 140614359916544, 140614359920639, -STORE, 140614359920640, 140614368309247, -STORE, 140614351523840, 140614359916543, -SNULL, 140614351527935, 140614359916543, -STORE, 140614351523840, 140614351527935, -STORE, 140614351527936, 140614359916543, -STORE, 140614268088320, 140614276481023, -SNULL, 140614268092415, 140614276481023, -STORE, 140614268088320, 140614268092415, -STORE, 140614268092416, 140614276481023, -STORE, 140614259695616, 140614268088319, -SNULL, 140614259699711, 140614268088319, -STORE, 140614259695616, 140614259699711, -STORE, 140614259699712, 140614268088319, -STORE, 140614251302912, 140614259695615, -STORE, 140614242910208, 140614259695615, -STORE, 140614108692480, 140614242910207, -SNULL, 140614108692480, 140614142263295, -STORE, 140614142263296, 140614242910207, -STORE, 140614108692480, 140614142263295, -ERASE, 140614108692480, 140614142263295, -STORE, 140614133870592, 140614142263295, -STORE, 140613999652864, 140614133870591, -SNULL, 140613999652864, 140614008045567, -STORE, 140614008045568, 140614133870591, -STORE, 140613999652864, 140614008045567, -ERASE, 140613999652864, 140614008045567, -STORE, 140613999652864, 140614008045567, -STORE, 140613865435136, 140613999652863, -SNULL, 140613865435136, 140613873827839, -STORE, 140613873827840, 140613999652863, -STORE, 140613865435136, 140613873827839, -ERASE, 140613865435136, 140613873827839, -SNULL, 140614209372159, 140614242910207, -STORE, 140614142263296, 140614209372159, -STORE, 140614209372160, 140614242910207, -ERASE, 140614209372160, 140614242910207, -SNULL, 140614142398463, 140614209372159, -STORE, 140614142263296, 140614142398463, -STORE, 140614142398464, 140614209372159, -SNULL, 140614075154431, 140614133870591, -STORE, 140614008045568, 140614075154431, -STORE, 140614075154432, 140614133870591, -ERASE, 140614075154432, 140614133870591, -SNULL, 140614008180735, 140614075154431, -STORE, 140614008045568, 140614008180735, -STORE, 140614008180736, 140614075154431, -SNULL, 140613940936703, 140613999652863, -STORE, 140613873827840, 140613940936703, -STORE, 140613940936704, 140613999652863, -ERASE, 140613940936704, 140613999652863, -SNULL, 140614242914303, 140614259695615, -STORE, 140614242910208, 140614242914303, -STORE, 140614242914304, 140614259695615, -STORE, 140613739610112, 140613940936703, -STORE, 140614234517504, 140614242910207, -SNULL, 140614242914304, 140614251302911, -STORE, 140614251302912, 140614259695615, -STORE, 140614242914304, 140614251302911, -SNULL, 140614251307007, 140614259695615, -STORE, 140614251302912, 140614251307007, -STORE, 140614251307008, 140614259695615, -SNULL, 140613739610112, 140613873827839, -STORE, 140613873827840, 140613940936703, -STORE, 140613739610112, 140613873827839, -SNULL, 140613873963007, 140613940936703, -STORE, 140613873827840, 140613873963007, -STORE, 140613873963008, 140613940936703, -SNULL, 140614133874687, 140614142263295, -STORE, 140614133870592, 140614133874687, -STORE, 140614133874688, 140614142263295, -SNULL, 140613806718975, 140613873827839, -STORE, 140613739610112, 140613806718975, -STORE, 140613806718976, 140613873827839, -ERASE, 140613806718976, 140613873827839, -STORE, 140614226124800, 140614242910207, -SNULL, 140613739745279, 140613806718975, -STORE, 140613739610112, 140613739745279, -STORE, 140613739745280, 140613806718975, -SNULL, 140613999656959, 140614008045567, -STORE, 140613999652864, 140613999656959, -STORE, 140613999656960, 140614008045567, -SNULL, 140614226124800, 140614234517503, -STORE, 140614234517504, 140614242910207, -STORE, 140614226124800, 140614234517503, -SNULL, 140614234521599, 140614242910207, -STORE, 140614234517504, 140614234521599, -STORE, 140614234521600, 140614242910207, -STORE, 140614217732096, 140614234517503, -STORE, 140614125477888, 140614133870591, -SNULL, 140614125481983, 140614133870591, -STORE, 140614125477888, 140614125481983, -STORE, 140614125481984, 140614133870591, -STORE, 140614117085184, 140614125477887, -SNULL, 140614217736191, 140614234517503, -STORE, 140614217732096, 140614217736191, -STORE, 140614217736192, 140614234517503, -SNULL, 140614117089279, 140614125477887, -STORE, 140614117085184, 140614117089279, -STORE, 140614117089280, 140614125477887, -SNULL, 140614217736192, 140614226124799, -STORE, 140614226124800, 140614234517503, -STORE, 140614217736192, 140614226124799, -SNULL, 140614226128895, 140614234517503, -STORE, 140614226124800, 140614226128895, -STORE, 140614226128896, 140614234517503, -STORE, 140614108692480, 140614117085183, -STORE, 140614100299776, 140614117085183, -STORE, 140614091907072, 140614117085183, -SNULL, 140614091907072, 140614108692479, -STORE, 140614108692480, 140614117085183, -STORE, 140614091907072, 140614108692479, -SNULL, 140614108696575, 140614117085183, -STORE, 140614108692480, 140614108696575, -STORE, 140614108696576, 140614117085183, -SNULL, 140614091907072, 140614100299775, -STORE, 140614100299776, 140614108692479, -STORE, 140614091907072, 140614100299775, -SNULL, 140614100303871, 140614108692479, -STORE, 140614100299776, 140614100303871, -STORE, 140614100303872, 140614108692479, -STORE, 140614083514368, 140614100299775, -SNULL, 140614083518463, 140614100299775, -STORE, 140614083514368, 140614083518463, -STORE, 140614083518464, 140614100299775, -STORE, 140613991260160, 140613999652863, -SNULL, 140614083518464, 140614091907071, -STORE, 140614091907072, 140614100299775, -STORE, 140614083518464, 140614091907071, -SNULL, 140614091911167, 140614100299775, -STORE, 140614091907072, 140614091911167, -STORE, 140614091911168, 140614100299775, -SNULL, 140613991264255, 140613999652863, -STORE, 140613991260160, 140613991264255, -STORE, 140613991264256, 140613999652863, -STORE, 140613982867456, 140613991260159, -SNULL, 140613982871551, 140613991260159, -STORE, 140613982867456, 140613982871551, -STORE, 140613982871552, 140613991260159, -STORE, 140613974474752, 140613982867455, -SNULL, 140613974478847, 140613982867455, -STORE, 140613974474752, 140613974478847, -STORE, 140613974478848, 140613982867455, -STORE, 140613966082048, 140613974474751, -STORE, 140613739745280, 140613873827839, -SNULL, 140613739745280, 140613806718975, -STORE, 140613806718976, 140613873827839, -STORE, 140613739745280, 140613806718975, -SNULL, 140613806854143, 140613873827839, -STORE, 140613806718976, 140613806854143, -STORE, 140613806854144, 140613873827839, -SNULL, 140613966086143, 140613974474751, -STORE, 140613966082048, 140613966086143, -STORE, 140613966086144, 140613974474751, -STORE, 140613957689344, 140613966082047, -STORE, 140613605392384, 140613739610111, -STORE, 140613949296640, 140613966082047, -STORE, 140613596999680, 140613605392383, -STORE, 140613529890816, 140613596999679, -STORE, 140613521498112, 140613529890815, -STORE, 140613513105408, 140613529890815, -STORE, 140613378887680, 140613513105407, -SNULL, 140613378887680, 140613404065791, -STORE, 140613404065792, 140613513105407, -STORE, 140613378887680, 140613404065791, -ERASE, 140613378887680, 140613404065791, -STORE, 140613395673088, 140613404065791, -STORE, 140613261455360, 140613395673087, -SNULL, 140613261455360, 140613269848063, -STORE, 140613269848064, 140613395673087, -STORE, 140613261455360, 140613269848063, -ERASE, 140613261455360, 140613269848063, -STORE, 140613261455360, 140613269848063, -STORE, 140613253062656, 140613269848063, -STORE, 140613118844928, 140613253062655, -STORE, 140613110452224, 140613118844927, -SNULL, 140613118844928, 140613135630335, -STORE, 140613135630336, 140613253062655, -STORE, 140613118844928, 140613135630335, -ERASE, 140613118844928, 140613135630335, -STORE, 140613127237632, 140613135630335, -STORE, 140613110452224, 140613135630335, -STORE, 140612976234496, 140613110452223, -STORE, 140612967841792, 140612976234495, -STORE, 140612833624064, 140612967841791, -STORE, 140612825231360, 140612833624063, -STORE, 140612816838656, 140612833624063, -STORE, 140612682620928, 140612816838655, -STORE, 140612674228224, 140612682620927, -SNULL, 140612682620928, 140612732977151, -STORE, 140612732977152, 140612816838655, -STORE, 140612682620928, 140612732977151, -ERASE, 140612682620928, 140612732977151, -SNULL, 140613672501247, 140613739610111, -STORE, 140613605392384, 140613672501247, -STORE, 140613672501248, 140613739610111, -ERASE, 140613672501248, 140613739610111, -SNULL, 140613605527551, 140613672501247, -STORE, 140613605392384, 140613605527551, -STORE, 140613605527552, 140613672501247, -ERASE, 140613529890816, 140613596999679, -STORE, 140612540010496, 140612674228223, -SNULL, 140612540010496, 140612598759423, -STORE, 140612598759424, 140612674228223, -STORE, 140612540010496, 140612598759423, -ERASE, 140612540010496, 140612598759423, -SNULL, 140613471174655, 140613513105407, -STORE, 140613404065792, 140613471174655, -STORE, 140613471174656, 140613513105407, -ERASE, 140613471174656, 140613513105407, -SNULL, 140613404200959, 140613471174655, -STORE, 140613404065792, 140613404200959, -STORE, 140613404200960, 140613471174655, -SNULL, 140613336956927, 140613395673087, -STORE, 140613269848064, 140613336956927, -STORE, 140613336956928, 140613395673087, -ERASE, 140613336956928, 140613395673087, -SNULL, 140612833624064, 140612867194879, -STORE, 140612867194880, 140612967841791, -STORE, 140612833624064, 140612867194879, -ERASE, 140612833624064, 140612867194879, -SNULL, 140612976234496, 140613001412607, -STORE, 140613001412608, 140613110452223, -STORE, 140612976234496, 140613001412607, -ERASE, 140612976234496, 140613001412607, -SNULL, 140613202739199, 140613253062655, -STORE, 140613135630336, 140613202739199, -STORE, 140613202739200, 140613253062655, -ERASE, 140613202739200, 140613253062655, -SNULL, 140613135765503, 140613202739199, -STORE, 140613135630336, 140613135765503, -STORE, 140613135765504, 140613202739199, -SNULL, 140612816842751, 140612833624063, -STORE, 140612816838656, 140612816842751, -STORE, 140612816842752, 140612833624063, -SNULL, 140613110456319, 140613135630335, -STORE, 140613110452224, 140613110456319, -STORE, 140613110456320, 140613135630335, -SNULL, 140613949300735, 140613966082047, -STORE, 140613949296640, 140613949300735, -STORE, 140613949300736, 140613966082047, -SNULL, 140613110456320, 140613118844927, -STORE, 140613118844928, 140613135630335, -STORE, 140613110456320, 140613118844927, -SNULL, 140613118849023, 140613135630335, -STORE, 140613118844928, 140613118849023, -STORE, 140613118849024, 140613135630335, -SNULL, 140612800086015, 140612816838655, -STORE, 140612732977152, 140612800086015, -STORE, 140612800086016, 140612816838655, -ERASE, 140612800086016, 140612816838655, -SNULL, 140613253062656, 140613261455359, -STORE, 140613261455360, 140613269848063, -STORE, 140613253062656, 140613261455359, -SNULL, 140613261459455, 140613269848063, -STORE, 140613261455360, 140613261459455, -STORE, 140613261459456, 140613269848063, -SNULL, 140612674232319, 140612682620927, -STORE, 140612674228224, 140612674232319, -STORE, 140612674232320, 140612682620927, -STORE, 140613731217408, 140613739610111, -STORE, 140613722824704, 140613739610111, -SNULL, 140613949300736, 140613957689343, -STORE, 140613957689344, 140613966082047, -STORE, 140613949300736, 140613957689343, -SNULL, 140613957693439, 140613966082047, -STORE, 140613957689344, 140613957693439, -STORE, 140613957693440, 140613966082047, -STORE, 140612464541696, 140612674228223, -SNULL, 140612531650559, 140612674228223, -STORE, 140612464541696, 140612531650559, -STORE, 140612531650560, 140612674228223, -SNULL, 140612531650560, 140612598759423, -STORE, 140612598759424, 140612674228223, -STORE, 140612531650560, 140612598759423, -ERASE, 140612531650560, 140612598759423, -SNULL, 140612665868287, 140612674228223, -STORE, 140612598759424, 140612665868287, -STORE, 140612665868288, 140612674228223, -ERASE, 140612665868288, 140612674228223, -SNULL, 140613269983231, 140613336956927, -STORE, 140613269848064, 140613269983231, -STORE, 140613269983232, 140613336956927, -SNULL, 140612934303743, 140612967841791, -STORE, 140612867194880, 140612934303743, -STORE, 140612934303744, 140612967841791, -ERASE, 140612934303744, 140612967841791, -SNULL, 140613068521471, 140613110452223, -STORE, 140613001412608, 140613068521471, -STORE, 140613068521472, 140613110452223, -ERASE, 140613068521472, 140613110452223, -STORE, 140613714432000, 140613739610111, -SNULL, 140613001547775, 140613068521471, -STORE, 140613001412608, 140613001547775, -STORE, 140613001547776, 140613068521471, -SNULL, 140612733112319, 140612800086015, -STORE, 140612732977152, 140612733112319, -STORE, 140612733112320, 140612800086015, -SNULL, 140613513109503, 140613529890815, -STORE, 140613513105408, 140613513109503, -STORE, 140613513109504, 140613529890815, -STORE, 140613706039296, 140613739610111, -STORE, 140613697646592, 140613739610111, -STORE, 140613689253888, 140613739610111, -SNULL, 140613689257983, 140613739610111, -STORE, 140613689253888, 140613689257983, -STORE, 140613689257984, 140613739610111, -SNULL, 140613253066751, 140613261455359, -STORE, 140613253062656, 140613253066751, -STORE, 140613253066752, 140613261455359, -STORE, 140613680861184, 140613689253887, -STORE, 140613588606976, 140613605392383, -SNULL, 140613689257984, 140613731217407, -STORE, 140613731217408, 140613739610111, -STORE, 140613689257984, 140613731217407, -SNULL, 140613731221503, 140613739610111, -STORE, 140613731217408, 140613731221503, -STORE, 140613731221504, 140613739610111, -STORE, 140613580214272, 140613605392383, -SNULL, 140612464676863, 140612531650559, -STORE, 140612464541696, 140612464676863, -STORE, 140612464676864, 140612531650559, -SNULL, 140612598894591, 140612665868287, -STORE, 140612598759424, 140612598894591, -STORE, 140612598894592, 140612665868287, -SNULL, 140612867330047, 140612934303743, -STORE, 140612867194880, 140612867330047, -STORE, 140612867330048, 140612934303743, -STORE, 140613571821568, 140613605392383, -SNULL, 140613571825663, 140613605392383, -STORE, 140613571821568, 140613571825663, -STORE, 140613571825664, 140613605392383, -SNULL, 140613689257984, 140613722824703, -STORE, 140613722824704, 140613731217407, -STORE, 140613689257984, 140613722824703, -SNULL, 140613722828799, 140613731217407, -STORE, 140613722824704, 140613722828799, -STORE, 140613722828800, 140613731217407, -SNULL, 140613689257984, 140613714431999, -STORE, 140613714432000, 140613722824703, -STORE, 140613689257984, 140613714431999, -SNULL, 140613714436095, 140613722824703, -STORE, 140613714432000, 140613714436095, -STORE, 140613714436096, 140613722824703, -SNULL, 140612816842752, 140612825231359, -STORE, 140612825231360, 140612833624063, -STORE, 140612816842752, 140612825231359, -SNULL, 140612825235455, 140612833624063, -STORE, 140612825231360, 140612825235455, -STORE, 140612825235456, 140612833624063, -SNULL, 140613395677183, 140613404065791, -STORE, 140613395673088, 140613395677183, -STORE, 140613395677184, 140613404065791, -SNULL, 140613689257984, 140613706039295, -STORE, 140613706039296, 140613714431999, -STORE, 140613689257984, 140613706039295, -SNULL, 140613706043391, 140613714431999, -STORE, 140613706039296, 140613706043391, -STORE, 140613706043392, 140613714431999, -SNULL, 140613118849024, 140613127237631, -STORE, 140613127237632, 140613135630335, -STORE, 140613118849024, 140613127237631, -SNULL, 140613127241727, 140613135630335, -STORE, 140613127237632, 140613127241727, -STORE, 140613127241728, 140613135630335, -SNULL, 140613571825664, 140613580214271, -STORE, 140613580214272, 140613605392383, -STORE, 140613571825664, 140613580214271, -SNULL, 140613580218367, 140613605392383, -STORE, 140613580214272, 140613580218367, -STORE, 140613580218368, 140613605392383, -SNULL, 140613689257984, 140613697646591, -STORE, 140613697646592, 140613706039295, -STORE, 140613689257984, 140613697646591, -SNULL, 140613697650687, 140613706039295, -STORE, 140613697646592, 140613697650687, -STORE, 140613697650688, 140613706039295, -SNULL, 140613680865279, 140613689253887, -STORE, 140613680861184, 140613680865279, -STORE, 140613680865280, 140613689253887, -STORE, 140613563428864, 140613571821567, -SNULL, 140613563432959, 140613571821567, -STORE, 140613563428864, 140613563432959, -STORE, 140613563432960, 140613571821567, -SNULL, 140613580218368, 140613588606975, -STORE, 140613588606976, 140613605392383, -STORE, 140613580218368, 140613588606975, -SNULL, 140613588611071, 140613605392383, -STORE, 140613588606976, 140613588611071, -STORE, 140613588611072, 140613605392383, -SNULL, 140613513109504, 140613521498111, -STORE, 140613521498112, 140613529890815, -STORE, 140613513109504, 140613521498111, -SNULL, 140613521502207, 140613529890815, -STORE, 140613521498112, 140613521502207, -STORE, 140613521502208, 140613529890815, -SNULL, 140613588611072, 140613596999679, -STORE, 140613596999680, 140613605392383, -STORE, 140613588611072, 140613596999679, -SNULL, 140613597003775, 140613605392383, -STORE, 140613596999680, 140613597003775, -STORE, 140613597003776, 140613605392383, -STORE, 140613555036160, 140613563428863, -SNULL, 140613555040255, 140613563428863, -STORE, 140613555036160, 140613555040255, -STORE, 140613555040256, 140613563428863, -STORE, 140613546643456, 140613555036159, -STORE, 140613538250752, 140613555036159, -SNULL, 140613538250752, 140613546643455, -STORE, 140613546643456, 140613555036159, -STORE, 140613538250752, 140613546643455, -SNULL, 140613546647551, 140613555036159, -STORE, 140613546643456, 140613546647551, -STORE, 140613546647552, 140613555036159, -STORE, 140613504712704, 140613513105407, -STORE, 140613496320000, 140613513105407, -SNULL, 140613496324095, 140613513105407, -STORE, 140613496320000, 140613496324095, -STORE, 140613496324096, 140613513105407, -STORE, 140613487927296, 140613496319999, -SNULL, 140613487931391, 140613496319999, -STORE, 140613487927296, 140613487931391, -STORE, 140613487931392, 140613496319999, -STORE, 140613479534592, 140613487927295, -SNULL, 140612967845887, 140612976234495, -STORE, 140612967841792, 140612967845887, -STORE, 140612967845888, 140612976234495, -STORE, 140613387280384, 140613395673087, -STORE, 140613378887680, 140613395673087, -SNULL, 140613378887680, 140613387280383, -STORE, 140613387280384, 140613395673087, -STORE, 140613378887680, 140613387280383, -SNULL, 140613387284479, 140613395673087, -STORE, 140613387280384, 140613387284479, -STORE, 140613387284480, 140613395673087, -STORE, 140613370494976, 140613387280383, -STORE, 140613362102272, 140613387280383, -SNULL, 140613479538687, 140613487927295, -STORE, 140613479534592, 140613479538687, -STORE, 140613479538688, 140613487927295, -STORE, 140613353709568, 140613387280383, -STORE, 140613345316864, 140613387280383, -STORE, 140613244669952, 140613253062655, -SNULL, 140613345320959, 140613387280383, -STORE, 140613345316864, 140613345320959, -STORE, 140613345320960, 140613387280383, -SNULL, 140613538254847, 140613546643455, -STORE, 140613538250752, 140613538254847, -STORE, 140613538254848, 140613546643455, -STORE, 140613236277248, 140613253062655, -STORE, 140613227884544, 140613253062655, -STORE, 140613219491840, 140613253062655, -STORE, 140613211099136, 140613253062655, -SNULL, 140613211103231, 140613253062655, -STORE, 140613211099136, 140613211103231, -STORE, 140613211103232, 140613253062655, -STORE, 140613102059520, 140613110452223, -STORE, 140613093666816, 140613110452223, -SNULL, 140613093670911, 140613110452223, -STORE, 140613093666816, 140613093670911, -STORE, 140613093670912, 140613110452223, -STORE, 140613085274112, 140613093666815, -SNULL, 140613496324096, 140613504712703, -STORE, 140613504712704, 140613513105407, -STORE, 140613496324096, 140613504712703, -SNULL, 140613504716799, 140613513105407, -STORE, 140613504712704, 140613504716799, -STORE, 140613504716800, 140613513105407, -SNULL, 140613345320960, 140613378887679, -STORE, 140613378887680, 140613387280383, -STORE, 140613345320960, 140613378887679, -SNULL, 140613378891775, 140613387280383, -STORE, 140613378887680, 140613378891775, -STORE, 140613378891776, 140613387280383, -SNULL, 140613345320960, 140613362102271, -STORE, 140613362102272, 140613378887679, -STORE, 140613345320960, 140613362102271, -SNULL, 140613362106367, 140613378887679, -STORE, 140613362102272, 140613362106367, -STORE, 140613362106368, 140613378887679, -SNULL, 140613362106368, 140613370494975, -STORE, 140613370494976, 140613378887679, -STORE, 140613362106368, 140613370494975, -SNULL, 140613370499071, 140613378887679, -STORE, 140613370494976, 140613370499071, -STORE, 140613370499072, 140613378887679, -STORE, 140613076881408, 140613093666815, -STORE, 140612993019904, 140613001412607, -SNULL, 140613076885503, 140613093666815, -STORE, 140613076881408, 140613076885503, -STORE, 140613076885504, 140613093666815, -SNULL, 140613093670912, 140613102059519, -STORE, 140613102059520, 140613110452223, -STORE, 140613093670912, 140613102059519, -SNULL, 140613102063615, 140613110452223, -STORE, 140613102059520, 140613102063615, -STORE, 140613102063616, 140613110452223, -SNULL, 140613076885504, 140613085274111, -STORE, 140613085274112, 140613093666815, -STORE, 140613076885504, 140613085274111, -SNULL, 140613085278207, 140613093666815, -STORE, 140613085274112, 140613085278207, -STORE, 140613085278208, 140613093666815, -STORE, 140612984627200, 140613001412607, -STORE, 140612967845888, 140612984627199, -SNULL, 140613211103232, 140613219491839, -STORE, 140613219491840, 140613253062655, -STORE, 140613211103232, 140613219491839, -SNULL, 140613219495935, 140613253062655, -STORE, 140613219491840, 140613219495935, -STORE, 140613219495936, 140613253062655, -STORE, 140612959449088, 140612967841791, -STORE, 140612951056384, 140612967841791, -SNULL, 140612951060479, 140612967841791, -STORE, 140612951056384, 140612951060479, -STORE, 140612951060480, 140612967841791, -SNULL, 140613345320960, 140613353709567, -STORE, 140613353709568, 140613362102271, -STORE, 140613345320960, 140613353709567, -SNULL, 140613353713663, 140613362102271, -STORE, 140613353709568, 140613353713663, -STORE, 140613353713664, 140613362102271, -SNULL, 140613219495936, 140613244669951, -STORE, 140613244669952, 140613253062655, -STORE, 140613219495936, 140613244669951, -SNULL, 140613244674047, 140613253062655, -STORE, 140613244669952, 140613244674047, -STORE, 140613244674048, 140613253062655, -STORE, 140612942663680, 140612951056383, -SNULL, 140613219495936, 140613236277247, -STORE, 140613236277248, 140613244669951, -STORE, 140613219495936, 140613236277247, -SNULL, 140613236281343, 140613244669951, -STORE, 140613236277248, 140613236281343, -STORE, 140613236281344, 140613244669951, -SNULL, 140613219495936, 140613227884543, -STORE, 140613227884544, 140613236277247, -STORE, 140613219495936, 140613227884543, -SNULL, 140613227888639, 140613236277247, -STORE, 140613227884544, 140613227888639, -STORE, 140613227888640, 140613236277247, -SNULL, 140612984627200, 140612993019903, -STORE, 140612993019904, 140613001412607, -STORE, 140612984627200, 140612993019903, -SNULL, 140612993023999, 140613001412607, -STORE, 140612993019904, 140612993023999, -STORE, 140612993024000, 140613001412607, -STORE, 140612858802176, 140612867194879, -STORE, 140612850409472, 140612867194879, -SNULL, 140612951060480, 140612959449087, -STORE, 140612959449088, 140612967841791, -STORE, 140612951060480, 140612959449087, -SNULL, 140612959453183, 140612967841791, -STORE, 140612959449088, 140612959453183, -STORE, 140612959453184, 140612967841791, -SNULL, 140612967845888, 140612976234495, -STORE, 140612976234496, 140612984627199, -STORE, 140612967845888, 140612976234495, -SNULL, 140612976238591, 140612984627199, -STORE, 140612976234496, 140612976238591, -STORE, 140612976238592, 140612984627199, -STORE, 140612842016768, 140612867194879, -SNULL, 140612842020863, 140612867194879, -STORE, 140612842016768, 140612842020863, -STORE, 140612842020864, 140612867194879, -SNULL, 140612984631295, 140612993019903, -STORE, 140612984627200, 140612984631295, -STORE, 140612984631296, 140612993019903, -STORE, 140612825235456, 140612842016767, -STORE, 140612808445952, 140612816838655, -SNULL, 140612942667775, 140612951056383, -STORE, 140612942663680, 140612942667775, -STORE, 140612942667776, 140612951056383, -STORE, 140612724584448, 140612732977151, -SNULL, 140612724588543, 140612732977151, -STORE, 140612724584448, 140612724588543, -STORE, 140612724588544, 140612732977151, -STORE, 140612716191744, 140612724584447, -SNULL, 140612842020864, 140612850409471, -STORE, 140612850409472, 140612867194879, -STORE, 140612842020864, 140612850409471, -SNULL, 140612850413567, 140612867194879, -STORE, 140612850409472, 140612850413567, -STORE, 140612850413568, 140612867194879, -SNULL, 140612850413568, 140612858802175, -STORE, 140612858802176, 140612867194879, -STORE, 140612850413568, 140612858802175, -SNULL, 140612858806271, 140612867194879, -STORE, 140612858802176, 140612858806271, -STORE, 140612858806272, 140612867194879, -STORE, 140612707799040, 140612724584447, -SNULL, 140612707803135, 140612724584447, -STORE, 140612707799040, 140612707803135, -STORE, 140612707803136, 140612724584447, -SNULL, 140612707803136, 140612716191743, -STORE, 140612716191744, 140612724584447, -STORE, 140612707803136, 140612716191743, -SNULL, 140612716195839, 140612724584447, -STORE, 140612716191744, 140612716195839, -STORE, 140612716195840, 140612724584447, -SNULL, 140612808450047, 140612816838655, -STORE, 140612808445952, 140612808450047, -STORE, 140612808450048, 140612816838655, -SNULL, 140612825235456, 140612833624063, -STORE, 140612833624064, 140612842016767, -STORE, 140612825235456, 140612833624063, -SNULL, 140612833628159, 140612842016767, -STORE, 140612833624064, 140612833628159, -STORE, 140612833628160, 140612842016767, -STORE, 140612699406336, 140612707799039, -SNULL, 140612699410431, 140612707799039, -STORE, 140612699406336, 140612699410431, -STORE, 140612699410432, 140612707799039, -STORE, 140614384926720, 140614384955391, -STORE, 140614349332480, 140614351523839, -SNULL, 140614349332480, 140614349422591, -STORE, 140614349422592, 140614351523839, -STORE, 140614349332480, 140614349422591, -SNULL, 140614351515647, 140614351523839, -STORE, 140614349422592, 140614351515647, -STORE, 140614351515648, 140614351523839, -ERASE, 140614351515648, 140614351523839, -STORE, 140614351515648, 140614351523839, -SNULL, 140614351519743, 140614351523839, -STORE, 140614351515648, 140614351519743, -STORE, 140614351519744, 140614351523839, -ERASE, 140614384926720, 140614384955391, -ERASE, 140613949296640, 140613949300735, -ERASE, 140613949300736, 140613957689343, -ERASE, 140613689253888, 140613689257983, -ERASE, 140613689257984, 140613697646591, -ERASE, 140613563428864, 140613563432959, -ERASE, 140613563432960, 140613571821567, -ERASE, 140613211099136, 140613211103231, -ERASE, 140613211103232, 140613219491839, -ERASE, 140614133870592, 140614133874687, -ERASE, 140614133874688, 140614142263295, -ERASE, 140612967841792, 140612967845887, -ERASE, 140612967845888, 140612976234495, -ERASE, 140613076881408, 140613076885503, -ERASE, 140613076885504, 140613085274111, -ERASE, 140612850409472, 140612850413567, -ERASE, 140612850413568, 140612858802175, -ERASE, 140613110452224, 140613110456319, -ERASE, 140613110456320, 140613118844927, -ERASE, 140613706039296, 140613706043391, -ERASE, 140613706043392, 140613714431999, -ERASE, 140613521498112, 140613521502207, -ERASE, 140613521502208, 140613529890815, -ERASE, 140613362102272, 140613362106367, -ERASE, 140613362106368, 140613370494975, -ERASE, 140613253062656, 140613253066751, -ERASE, 140613253066752, 140613261455359, -ERASE, 140612816838656, 140612816842751, -ERASE, 140612816842752, 140612825231359, -ERASE, 140613261455360, 140613261459455, -ERASE, 140613261459456, 140613269848063, -ERASE, 140613118844928, 140613118849023, -ERASE, 140613118849024, 140613127237631, -ERASE, 140613714432000, 140613714436095, -ERASE, 140613714436096, 140613722824703, -ERASE, 140613496320000, 140613496324095, -ERASE, 140613496324096, 140613504712703, -ERASE, 140613513105408, 140613513109503, -ERASE, 140613513109504, 140613521498111, -ERASE, 140613697646592, 140613697650687, -ERASE, 140613697650688, 140613706039295, -ERASE, 140613093666816, 140613093670911, -ERASE, 140613093670912, 140613102059519, -ERASE, 140612993019904, 140612993023999, -ERASE, 140612993024000, 140613001412607, -ERASE, 140613127237632, 140613127241727, -ERASE, 140613127241728, 140613135630335, -ERASE, 140613957689344, 140613957693439, -ERASE, 140613957693440, 140613966082047, -ERASE, 140613571821568, 140613571825663, -ERASE, 140613571825664, 140613580214271, -ERASE, 140613479534592, 140613479538687, -ERASE, 140613479538688, 140613487927295, -ERASE, 140612984627200, 140612984631295, -ERASE, 140612984631296, 140612993019903, -ERASE, 140613588606976, 140613588611071, -ERASE, 140613588611072, 140613596999679, -ERASE, 140613680861184, 140613680865279, -ERASE, 140613680865280, 140613689253887, -ERASE, 140613345316864, 140613345320959, -ERASE, 140613345320960, 140613353709567, -ERASE, 140613596999680, 140613597003775, -ERASE, 140613597003776, 140613605392383, -ERASE, 140613966082048, 140613966086143, -ERASE, 140613966086144, 140613974474751, -ERASE, 140613731217408, 140613731221503, -ERASE, 140613731221504, 140613739610111, -ERASE, 140613395673088, 140613395677183, -ERASE, 140613395677184, 140613404065791, -ERASE, 140612825231360, 140612825235455, -ERASE, 140612825235456, 140612833624063, -ERASE, 140612674228224, 140612674232319, -ERASE, 140612674232320, 140612682620927, -ERASE, 140613722824704, 140613722828799, -ERASE, 140613722828800, 140613731217407, -ERASE, 140613487927296, 140613487931391, -ERASE, 140613487931392, 140613496319999, -ERASE, 140613102059520, 140613102063615, -ERASE, 140613102063616, 140613110452223, -ERASE, 140614242910208, 140614242914303, -ERASE, 140614242914304, 140614251302911, -ERASE, 140612808445952, 140612808450047, -ERASE, 140612808450048, 140612816838655, -ERASE, 140613236277248, 140613236281343, -ERASE, 140613236281344, 140613244669951, -ERASE, 140613580214272, 140613580218367, -ERASE, 140613580218368, 140613588606975, -ERASE, 140613370494976, 140613370499071, -ERASE, 140613370499072, 140613378887679, -ERASE, 140613244669952, 140613244674047, -ERASE, 140613244674048, 140613253062655, -ERASE, 140612724584448, 140612724588543, -ERASE, 140612724588544, 140612732977151, -ERASE, 140612707799040, 140612707803135, -ERASE, 140612707803136, 140612716191743, -ERASE, 140613504712704, 140613504716799, -ERASE, 140613504716800, 140613513105407, - }; - - unsigned long set39[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140736271417344, 140737488351231, -SNULL, 140736271421439, 140737488351231, -STORE, 140736271417344, 140736271421439, -STORE, 140736271286272, 140736271421439, -STORE, 94412930822144, 94412933074943, -SNULL, 94412930953215, 94412933074943, -STORE, 94412930822144, 94412930953215, -STORE, 94412930953216, 94412933074943, -ERASE, 94412930953216, 94412933074943, -STORE, 94412933046272, 94412933054463, -STORE, 94412933054464, 94412933074943, -STORE, 140326136901632, 140326139154431, -SNULL, 140326137044991, 140326139154431, -STORE, 140326136901632, 140326137044991, -STORE, 140326137044992, 140326139154431, -ERASE, 140326137044992, 140326139154431, -STORE, 140326139142144, 140326139150335, -STORE, 140326139150336, 140326139154431, -STORE, 140736271585280, 140736271589375, -STORE, 140736271572992, 140736271585279, -STORE, 140326139113472, 140326139142143, -STORE, 140326139105280, 140326139113471, -STORE, 140326134685696, 140326136901631, -SNULL, 140326134685696, 140326134783999, -STORE, 140326134784000, 140326136901631, -STORE, 140326134685696, 140326134783999, -SNULL, 140326136877055, 140326136901631, -STORE, 140326134784000, 140326136877055, -STORE, 140326136877056, 140326136901631, -SNULL, 140326136877056, 140326136885247, -STORE, 140326136885248, 140326136901631, -STORE, 140326136877056, 140326136885247, -ERASE, 140326136877056, 140326136885247, -STORE, 140326136877056, 140326136885247, -ERASE, 140326136885248, 140326136901631, -STORE, 140326136885248, 140326136901631, -STORE, 140326130888704, 140326134685695, -SNULL, 140326130888704, 140326132547583, -STORE, 140326132547584, 140326134685695, -STORE, 140326130888704, 140326132547583, -SNULL, 140326134644735, 140326134685695, -STORE, 140326132547584, 140326134644735, -STORE, 140326134644736, 140326134685695, -SNULL, 140326134644736, 140326134669311, -STORE, 140326134669312, 140326134685695, -STORE, 140326134644736, 140326134669311, -ERASE, 140326134644736, 140326134669311, -STORE, 140326134644736, 140326134669311, -ERASE, 140326134669312, 140326134685695, -STORE, 140326134669312, 140326134685695, -STORE, 140326139097088, 140326139113471, -SNULL, 140326134661119, 140326134669311, -STORE, 140326134644736, 140326134661119, -STORE, 140326134661120, 140326134669311, -SNULL, 140326136881151, 140326136885247, -STORE, 140326136877056, 140326136881151, -STORE, 140326136881152, 140326136885247, -SNULL, 94412933050367, 94412933054463, -STORE, 94412933046272, 94412933050367, -STORE, 94412933050368, 94412933054463, -SNULL, 140326139146239, 140326139150335, -STORE, 140326139142144, 140326139146239, -STORE, 140326139146240, 140326139150335, -ERASE, 140326139113472, 140326139142143, -STORE, 94412939493376, 94412939628543, -STORE, 140326122496000, 140326130888703, -SNULL, 140326122500095, 140326130888703, -STORE, 140326122496000, 140326122500095, -STORE, 140326122500096, 140326130888703, -STORE, 140326114103296, 140326122495999, -STORE, 140325979885568, 140326114103295, -SNULL, 140325979885568, 140326043910143, -STORE, 140326043910144, 140326114103295, -STORE, 140325979885568, 140326043910143, -ERASE, 140325979885568, 140326043910143, -SNULL, 140326111019007, 140326114103295, -STORE, 140326043910144, 140326111019007, -STORE, 140326111019008, 140326114103295, -ERASE, 140326111019008, 140326114103295, -SNULL, 140326044045311, 140326111019007, -STORE, 140326043910144, 140326044045311, -STORE, 140326044045312, 140326111019007, -SNULL, 140326114107391, 140326122495999, -STORE, 140326114103296, 140326114107391, -STORE, 140326114107392, 140326122495999, -STORE, 140326035517440, 140326043910143, -SNULL, 140326035521535, 140326043910143, -STORE, 140326035517440, 140326035521535, -STORE, 140326035521536, 140326043910143, -STORE, 140326027124736, 140326035517439, -SNULL, 140326027128831, 140326035517439, -STORE, 140326027124736, 140326027128831, -STORE, 140326027128832, 140326035517439, -STORE, 140326018732032, 140326027124735, -SNULL, 140326018736127, 140326027124735, -STORE, 140326018732032, 140326018736127, -STORE, 140326018736128, 140326027124735, -STORE, 140326010339328, 140326018732031, -STORE, 140326001946624, 140326018732031, -STORE, 140325993553920, 140326018732031, -STORE, 140325859336192, 140325993553919, -SNULL, 140325859336192, 140325909692415, -STORE, 140325909692416, 140325993553919, -STORE, 140325859336192, 140325909692415, -ERASE, 140325859336192, 140325909692415, -SNULL, 140325976801279, 140325993553919, -STORE, 140325909692416, 140325976801279, -STORE, 140325976801280, 140325993553919, -ERASE, 140325976801280, 140325993553919, -STORE, 140325985161216, 140326018732031, -STORE, 140325775474688, 140325976801279, -STORE, 140325708365824, 140325976801279, -SNULL, 140325708500991, 140325976801279, -STORE, 140325708365824, 140325708500991, -STORE, 140325708500992, 140325976801279, -SNULL, 140325708500992, 140325909692415, -STORE, 140325909692416, 140325976801279, -STORE, 140325708500992, 140325909692415, -SNULL, 140325909827583, 140325976801279, -STORE, 140325909692416, 140325909827583, -STORE, 140325909827584, 140325976801279, -SNULL, 140325842583551, 140325909692415, -STORE, 140325708500992, 140325842583551, -STORE, 140325842583552, 140325909692415, -ERASE, 140325842583552, 140325909692415, -SNULL, 140325708500992, 140325775474687, -STORE, 140325775474688, 140325842583551, -STORE, 140325708500992, 140325775474687, -SNULL, 140325775609855, 140325842583551, -STORE, 140325775474688, 140325775609855, -STORE, 140325775609856, 140325842583551, -STORE, 140325775609856, 140325909692415, -SNULL, 140325775609856, 140325842583551, -STORE, 140325842583552, 140325909692415, -STORE, 140325775609856, 140325842583551, -SNULL, 140325842718719, 140325909692415, -STORE, 140325842583552, 140325842718719, -STORE, 140325842718720, 140325909692415, -SNULL, 140325985161216, 140325993553919, -STORE, 140325993553920, 140326018732031, -STORE, 140325985161216, 140325993553919, -SNULL, 140325993558015, 140326018732031, -STORE, 140325993553920, 140325993558015, -STORE, 140325993558016, 140326018732031, -SNULL, 140325985165311, 140325993553919, -STORE, 140325985161216, 140325985165311, -STORE, 140325985165312, 140325993553919, -SNULL, 140325993558016, 140326001946623, -STORE, 140326001946624, 140326018732031, -STORE, 140325993558016, 140326001946623, -SNULL, 140326001950719, 140326018732031, -STORE, 140326001946624, 140326001950719, -STORE, 140326001950720, 140326018732031, -SNULL, 140326001950720, 140326010339327, -STORE, 140326010339328, 140326018732031, -STORE, 140326001950720, 140326010339327, -SNULL, 140326010343423, 140326018732031, -STORE, 140326010339328, 140326010343423, -STORE, 140326010343424, 140326018732031, -STORE, 140325699973120, 140325708365823, -STORE, 140325691580416, 140325708365823, -STORE, 140325683187712, 140325708365823, -SNULL, 140325683191807, 140325708365823, -STORE, 140325683187712, 140325683191807, -STORE, 140325683191808, 140325708365823, -SNULL, 140325683191808, 140325699973119, -STORE, 140325699973120, 140325708365823, -STORE, 140325683191808, 140325699973119, -SNULL, 140325699977215, 140325708365823, -STORE, 140325699973120, 140325699977215, -STORE, 140325699977216, 140325708365823, -STORE, 140325674795008, 140325683187711, -STORE, 140325666402304, 140325683187711, -STORE, 140325658009600, 140325683187711, -SNULL, 140325658009600, 140325666402303, -STORE, 140325666402304, 140325683187711, -STORE, 140325658009600, 140325666402303, -SNULL, 140325666406399, 140325683187711, -STORE, 140325666402304, 140325666406399, -STORE, 140325666406400, 140325683187711, -SNULL, 140325683191808, 140325691580415, -STORE, 140325691580416, 140325699973119, -STORE, 140325683191808, 140325691580415, -SNULL, 140325691584511, 140325699973119, -STORE, 140325691580416, 140325691584511, -STORE, 140325691584512, 140325699973119, -SNULL, 140325666406400, 140325674795007, -STORE, 140325674795008, 140325683187711, -STORE, 140325666406400, 140325674795007, -SNULL, 140325674799103, 140325683187711, -STORE, 140325674795008, 140325674799103, -STORE, 140325674799104, 140325683187711, -STORE, 140325649616896, 140325666402303, -SNULL, 140325649616896, 140325658009599, -STORE, 140325658009600, 140325666402303, -STORE, 140325649616896, 140325658009599, -SNULL, 140325658013695, 140325666402303, -STORE, 140325658009600, 140325658013695, -STORE, 140325658013696, 140325666402303, -SNULL, 140325649620991, 140325658009599, -STORE, 140325649616896, 140325649620991, -STORE, 140325649620992, 140325658009599, -STORE, 140325641224192, 140325649616895, -STORE, 140325632831488, 140325649616895, -SNULL, 140325632835583, 140325649616895, -STORE, 140325632831488, 140325632835583, -STORE, 140325632835584, 140325649616895, -STORE, 140325624438784, 140325632831487, -SNULL, 140325624442879, 140325632831487, -STORE, 140325624438784, 140325624442879, -STORE, 140325624442880, 140325632831487, -SNULL, 140325632835584, 140325641224191, -STORE, 140325641224192, 140325649616895, -STORE, 140325632835584, 140325641224191, -SNULL, 140325641228287, 140325649616895, -STORE, 140325641224192, 140325641228287, -STORE, 140325641228288, 140325649616895, -STORE, 140325616046080, 140325624438783, -SNULL, 140325616050175, 140325624438783, -STORE, 140325616046080, 140325616050175, -STORE, 140325616050176, 140325624438783, -STORE, 140325607653376, 140325616046079, -SNULL, 140325607657471, 140325616046079, -STORE, 140325607653376, 140325607657471, -STORE, 140325607657472, 140325616046079, -STORE, 140325599260672, 140325607653375, -STORE, 140325590867968, 140325607653375, -STORE, 140325456650240, 140325590867967, -SNULL, 140325456650240, 140325507039231, -STORE, 140325507039232, 140325590867967, -STORE, 140325456650240, 140325507039231, -ERASE, 140325456650240, 140325507039231, -STORE, 140325498646528, 140325507039231, -STORE, 140325364428800, 140325498646527, -SNULL, 140325364428800, 140325372821503, -STORE, 140325372821504, 140325498646527, -STORE, 140325364428800, 140325372821503, -ERASE, 140325364428800, 140325372821503, -STORE, 140325364428800, 140325372821503, -STORE, 140325356036096, 140325372821503, -STORE, 140325221818368, 140325356036095, -SNULL, 140325221818368, 140325238603775, -STORE, 140325238603776, 140325356036095, -STORE, 140325221818368, 140325238603775, -ERASE, 140325221818368, 140325238603775, -STORE, 140325230211072, 140325238603775, -STORE, 140325221818368, 140325238603775, -STORE, 140325087600640, 140325221818367, -STORE, 140325079207936, 140325087600639, -SNULL, 140325087600640, 140325104386047, -STORE, 140325104386048, 140325221818367, -STORE, 140325087600640, 140325104386047, -ERASE, 140325087600640, 140325104386047, -STORE, 140325095993344, 140325104386047, -STORE, 140325079207936, 140325104386047, -STORE, 140324944990208, 140325079207935, -SNULL, 140324944990208, 140324970168319, -STORE, 140324970168320, 140325079207935, -STORE, 140324944990208, 140324970168319, -ERASE, 140324944990208, 140324970168319, -STORE, 140324961775616, 140324970168319, -STORE, 140324953382912, 140324970168319, -STORE, 140324819165184, 140324953382911, -STORE, 140324684947456, 140324953382911, -STORE, 140324676554752, 140324684947455, -STORE, 140324668162048, 140324684947455, -STORE, 140324533944320, 140324668162047, -STORE, 140324525551616, 140324533944319, -SNULL, 140324533944320, 140324567515135, -STORE, 140324567515136, 140324668162047, -STORE, 140324533944320, 140324567515135, -ERASE, 140324533944320, 140324567515135, -STORE, 140324559122432, 140324567515135, -STORE, 140324391333888, 140324525551615, -SNULL, 140325574148095, 140325590867967, -STORE, 140325507039232, 140325574148095, -STORE, 140325574148096, 140325590867967, -ERASE, 140325574148096, 140325590867967, -SNULL, 140325439930367, 140325498646527, -STORE, 140325372821504, 140325439930367, -STORE, 140325439930368, 140325498646527, -ERASE, 140325439930368, 140325498646527, -SNULL, 140325305712639, 140325356036095, -STORE, 140325238603776, 140325305712639, -STORE, 140325305712640, 140325356036095, -ERASE, 140325305712640, 140325356036095, -SNULL, 140325171494911, 140325221818367, -STORE, 140325104386048, 140325171494911, -STORE, 140325171494912, 140325221818367, -ERASE, 140325171494912, 140325221818367, -SNULL, 140325104521215, 140325171494911, -STORE, 140325104386048, 140325104521215, -STORE, 140325104521216, 140325171494911, -STORE, 140324257116160, 140324525551615, -SNULL, 140324257116160, 140324299079679, -STORE, 140324299079680, 140324525551615, -STORE, 140324257116160, 140324299079679, -ERASE, 140324257116160, 140324299079679, -SNULL, 140325037277183, 140325079207935, -STORE, 140324970168320, 140325037277183, -STORE, 140325037277184, 140325079207935, -ERASE, 140325037277184, 140325079207935, -SNULL, 140324819165183, 140324953382911, -STORE, 140324684947456, 140324819165183, -STORE, 140324819165184, 140324953382911, -SNULL, 140324819165184, 140324835950591, -STORE, 140324835950592, 140324953382911, -STORE, 140324819165184, 140324835950591, -ERASE, 140324819165184, 140324835950591, -SNULL, 140324903059455, 140324953382911, -STORE, 140324835950592, 140324903059455, -STORE, 140324903059456, 140324953382911, -ERASE, 140324903059456, 140324953382911, -SNULL, 140324684947456, 140324701732863, -STORE, 140324701732864, 140324819165183, -STORE, 140324684947456, 140324701732863, -ERASE, 140324684947456, 140324701732863, -SNULL, 140324768841727, 140324819165183, -STORE, 140324701732864, 140324768841727, -STORE, 140324768841728, 140324819165183, -ERASE, 140324768841728, 140324819165183, -SNULL, 140324634623999, 140324668162047, -STORE, 140324567515136, 140324634623999, -STORE, 140324634624000, 140324668162047, -ERASE, 140324634624000, 140324668162047, -SNULL, 140324391333887, 140324525551615, -STORE, 140324299079680, 140324391333887, -STORE, 140324391333888, 140324525551615, -SNULL, 140324391333888, 140324433297407, -STORE, 140324433297408, 140324525551615, -STORE, 140324391333888, 140324433297407, -ERASE, 140324391333888, 140324433297407, -SNULL, 140325507174399, 140325574148095, -STORE, 140325507039232, 140325507174399, -STORE, 140325507174400, 140325574148095, -SNULL, 140325590867968, 140325599260671, -STORE, 140325599260672, 140325607653375, -STORE, 140325590867968, 140325599260671, -SNULL, 140325599264767, 140325607653375, -STORE, 140325599260672, 140325599264767, -STORE, 140325599264768, 140325607653375, -SNULL, 140325372956671, 140325439930367, -STORE, 140325372821504, 140325372956671, -STORE, 140325372956672, 140325439930367, -SNULL, 140324668166143, 140324684947455, -STORE, 140324668162048, 140324668166143, -STORE, 140324668166144, 140324684947455, -SNULL, 140324525555711, 140324533944319, -STORE, 140324525551616, 140324525555711, -STORE, 140324525555712, 140324533944319, -SNULL, 140324953382912, 140324961775615, -STORE, 140324961775616, 140324970168319, -STORE, 140324953382912, 140324961775615, -SNULL, 140324961779711, 140324970168319, -STORE, 140324961775616, 140324961779711, -STORE, 140324961779712, 140324970168319, -SNULL, 140325079212031, 140325104386047, -STORE, 140325079207936, 140325079212031, -STORE, 140325079212032, 140325104386047, -SNULL, 140325221818368, 140325230211071, -STORE, 140325230211072, 140325238603775, -STORE, 140325221818368, 140325230211071, -SNULL, 140325230215167, 140325238603775, -STORE, 140325230211072, 140325230215167, -STORE, 140325230215168, 140325238603775, -SNULL, 140325356036096, 140325364428799, -STORE, 140325364428800, 140325372821503, -STORE, 140325356036096, 140325364428799, -SNULL, 140325364432895, 140325372821503, - }; - unsigned long set40[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140734309167104, 140737488351231, -SNULL, 140734309171199, 140737488351231, -STORE, 140734309167104, 140734309171199, -STORE, 140734309036032, 140734309171199, -STORE, 94270500081664, 94270502334463, -SNULL, 94270500212735, 94270502334463, -STORE, 94270500081664, 94270500212735, -STORE, 94270500212736, 94270502334463, -ERASE, 94270500212736, 94270502334463, -STORE, 94270502305792, 94270502313983, -STORE, 94270502313984, 94270502334463, -STORE, 140321935110144, 140321937362943, -SNULL, 140321935253503, 140321937362943, -STORE, 140321935110144, 140321935253503, -STORE, 140321935253504, 140321937362943, -ERASE, 140321935253504, 140321937362943, -STORE, 140321937350656, 140321937358847, -STORE, 140321937358848, 140321937362943, -STORE, 140734309625856, 140734309629951, -STORE, 140734309613568, 140734309625855, -STORE, 140321937321984, 140321937350655, -STORE, 140321937313792, 140321937321983, -STORE, 140321932894208, 140321935110143, -SNULL, 140321932894208, 140321932992511, -STORE, 140321932992512, 140321935110143, -STORE, 140321932894208, 140321932992511, -SNULL, 140321935085567, 140321935110143, -STORE, 140321932992512, 140321935085567, -STORE, 140321935085568, 140321935110143, -SNULL, 140321935085568, 140321935093759, -STORE, 140321935093760, 140321935110143, -STORE, 140321935085568, 140321935093759, -ERASE, 140321935085568, 140321935093759, -STORE, 140321935085568, 140321935093759, -ERASE, 140321935093760, 140321935110143, -STORE, 140321935093760, 140321935110143, -STORE, 140321929097216, 140321932894207, -SNULL, 140321929097216, 140321930756095, -STORE, 140321930756096, 140321932894207, -STORE, 140321929097216, 140321930756095, -SNULL, 140321932853247, 140321932894207, -STORE, 140321930756096, 140321932853247, -STORE, 140321932853248, 140321932894207, -SNULL, 140321932853248, 140321932877823, -STORE, 140321932877824, 140321932894207, -STORE, 140321932853248, 140321932877823, -ERASE, 140321932853248, 140321932877823, -STORE, 140321932853248, 140321932877823, -ERASE, 140321932877824, 140321932894207, -STORE, 140321932877824, 140321932894207, -STORE, 140321937305600, 140321937321983, -SNULL, 140321932869631, 140321932877823, -STORE, 140321932853248, 140321932869631, -STORE, 140321932869632, 140321932877823, -SNULL, 140321935089663, 140321935093759, -STORE, 140321935085568, 140321935089663, -STORE, 140321935089664, 140321935093759, -SNULL, 94270502309887, 94270502313983, -STORE, 94270502305792, 94270502309887, -STORE, 94270502309888, 94270502313983, -SNULL, 140321937354751, 140321937358847, -STORE, 140321937350656, 140321937354751, -STORE, 140321937354752, 140321937358847, -ERASE, 140321937321984, 140321937350655, -STORE, 94270507364352, 94270507499519, -STORE, 140321920704512, 140321929097215, -SNULL, 140321920708607, 140321929097215, -STORE, 140321920704512, 140321920708607, -STORE, 140321920708608, 140321929097215, -STORE, 140321912311808, 140321920704511, -STORE, 140321778094080, 140321912311807, -SNULL, 140321778094080, 140321816051711, -STORE, 140321816051712, 140321912311807, -STORE, 140321778094080, 140321816051711, -ERASE, 140321778094080, 140321816051711, -SNULL, 140321883160575, 140321912311807, -STORE, 140321816051712, 140321883160575, -STORE, 140321883160576, 140321912311807, -ERASE, 140321883160576, 140321912311807, -SNULL, 140321816186879, 140321883160575, -STORE, 140321816051712, 140321816186879, -STORE, 140321816186880, 140321883160575, -SNULL, 140321912315903, 140321920704511, -STORE, 140321912311808, 140321912315903, -STORE, 140321912315904, 140321920704511, -STORE, 140321903919104, 140321912311807, -SNULL, 140321903923199, 140321912311807, -STORE, 140321903919104, 140321903923199, -STORE, 140321903923200, 140321912311807, -STORE, 140321895526400, 140321903919103, -SNULL, 140321895530495, 140321903919103, -STORE, 140321895526400, 140321895530495, -STORE, 140321895530496, 140321903919103, -STORE, 140321887133696, 140321895526399, -SNULL, 140321887137791, 140321895526399, -STORE, 140321887133696, 140321887137791, -STORE, 140321887137792, 140321895526399, -STORE, 140321807659008, 140321816051711, -STORE, 140321673441280, 140321807659007, -SNULL, 140321673441280, 140321681833983, -STORE, 140321681833984, 140321807659007, -STORE, 140321673441280, 140321681833983, -ERASE, 140321673441280, 140321681833983, -SNULL, 140321748942847, 140321807659007, -STORE, 140321681833984, 140321748942847, -STORE, 140321748942848, 140321807659007, -ERASE, 140321748942848, 140321807659007, -STORE, 140321799266304, 140321816051711, -STORE, 140321790873600, 140321816051711, -STORE, 140321782480896, 140321816051711, -STORE, 140321547616256, 140321748942847, -SNULL, 140321614725119, 140321748942847, -STORE, 140321547616256, 140321614725119, -STORE, 140321614725120, 140321748942847, -SNULL, 140321614725120, 140321681833983, -STORE, 140321681833984, 140321748942847, -STORE, 140321614725120, 140321681833983, -ERASE, 140321614725120, 140321681833983, -SNULL, 140321681969151, 140321748942847, -STORE, 140321681833984, 140321681969151, -STORE, 140321681969152, 140321748942847, -STORE, 140321547616256, 140321681833983, -SNULL, 140321547616256, 140321614725119, -STORE, 140321614725120, 140321681833983, -STORE, 140321547616256, 140321614725119, -SNULL, 140321614860287, 140321681833983, -STORE, 140321614725120, 140321614860287, -STORE, 140321614860288, 140321681833983, -SNULL, 140321547751423, 140321614725119, -STORE, 140321547616256, 140321547751423, -STORE, 140321547751424, 140321614725119, -STORE, 140321480507392, 140321547616255, -SNULL, 140321782480896, 140321799266303, -STORE, 140321799266304, 140321816051711, -STORE, 140321782480896, 140321799266303, -SNULL, 140321799270399, 140321816051711, -STORE, 140321799266304, 140321799270399, -STORE, 140321799270400, 140321816051711, -STORE, 140321774088192, 140321799266303, -SNULL, 140321774088192, 140321790873599, -STORE, 140321790873600, 140321799266303, -STORE, 140321774088192, 140321790873599, -SNULL, 140321790877695, 140321799266303, -STORE, 140321790873600, 140321790877695, -STORE, 140321790877696, 140321799266303, -SNULL, 140321480642559, 140321547616255, -STORE, 140321480507392, 140321480642559, -STORE, 140321480642560, 140321547616255, -SNULL, 140321774088192, 140321782480895, -STORE, 140321782480896, 140321790873599, -STORE, 140321774088192, 140321782480895, -SNULL, 140321782484991, 140321790873599, -STORE, 140321782480896, 140321782484991, -STORE, 140321782484992, 140321790873599, -SNULL, 140321799270400, 140321807659007, -STORE, 140321807659008, 140321816051711, -STORE, 140321799270400, 140321807659007, -SNULL, 140321807663103, 140321816051711, -STORE, 140321807659008, 140321807663103, -STORE, 140321807663104, 140321816051711, -STORE, 140321765695488, 140321782480895, -STORE, 140321757302784, 140321782480895, -SNULL, 140321757306879, 140321782480895, -STORE, 140321757302784, 140321757306879, -STORE, 140321757306880, 140321782480895, -STORE, 140321472114688, 140321480507391, -STORE, 140321463721984, 140321480507391, -SNULL, 140321463726079, 140321480507391, -STORE, 140321463721984, 140321463726079, -STORE, 140321463726080, 140321480507391, -SNULL, 140321757306880, 140321774088191, -STORE, 140321774088192, 140321782480895, -STORE, 140321757306880, 140321774088191, -SNULL, 140321774092287, 140321782480895, -STORE, 140321774088192, 140321774092287, -STORE, 140321774092288, 140321782480895, -SNULL, 140321463726080, 140321472114687, -STORE, 140321472114688, 140321480507391, -STORE, 140321463726080, 140321472114687, -SNULL, 140321472118783, 140321480507391, -STORE, 140321472114688, 140321472118783, -STORE, 140321472118784, 140321480507391, -SNULL, 140321757306880, 140321765695487, -STORE, 140321765695488, 140321774088191, -STORE, 140321757306880, 140321765695487, -SNULL, 140321765699583, 140321774088191, -STORE, 140321765695488, 140321765699583, -STORE, 140321765699584, 140321774088191, -STORE, 140321455329280, 140321463721983, -SNULL, 140321455333375, 140321463721983, -STORE, 140321455329280, 140321455333375, -STORE, 140321455333376, 140321463721983, -STORE, 140321446936576, 140321455329279, -STORE, 140321438543872, 140321455329279, -STORE, 140321430151168, 140321455329279, -SNULL, 140321430155263, 140321455329279, -STORE, 140321430151168, 140321430155263, -STORE, 140321430155264, 140321455329279, -SNULL, 140321430155264, 140321446936575, -STORE, 140321446936576, 140321455329279, -STORE, 140321430155264, 140321446936575, -SNULL, 140321446940671, 140321455329279, -STORE, 140321446936576, 140321446940671, -STORE, 140321446940672, 140321455329279, -SNULL, 140321430155264, 140321438543871, -STORE, 140321438543872, 140321446936575, -STORE, 140321430155264, 140321438543871, -SNULL, 140321438547967, 140321446936575, -STORE, 140321438543872, 140321438547967, -STORE, 140321438547968, 140321446936575, -STORE, 140321421758464, 140321430151167, -SNULL, 140321421762559, 140321430151167, -STORE, 140321421758464, 140321421762559, -STORE, 140321421762560, 140321430151167, -STORE, 140321413365760, 140321421758463, -SNULL, 140321413369855, 140321421758463, -STORE, 140321413365760, 140321413369855, -STORE, 140321413369856, 140321421758463, -STORE, 140321404973056, 140321413365759, -SNULL, 140321404977151, 140321413365759, -STORE, 140321404973056, 140321404977151, -STORE, 140321404977152, 140321413365759, -STORE, 140321396580352, 140321404973055, -STORE, 140321388187648, 140321404973055, -STORE, 140321253969920, 140321388187647, -SNULL, 140321253969920, 140321279180799, -STORE, 140321279180800, 140321388187647, -STORE, 140321253969920, 140321279180799, -ERASE, 140321253969920, 140321279180799, -SNULL, 140321346289663, 140321388187647, -STORE, 140321279180800, 140321346289663, -STORE, 140321346289664, 140321388187647, -ERASE, 140321346289664, 140321388187647, -STORE, 140321144963072, 140321346289663, -STORE, 140321379794944, 140321404973055, -STORE, 140321371402240, 140321404973055, -STORE, 140321010745344, 140321346289663, -STORE, 140321363009536, 140321404973055, -SNULL, 140321077854207, 140321346289663, -STORE, 140321010745344, 140321077854207, -STORE, 140321077854208, 140321346289663, -SNULL, 140321077854208, 140321144963071, -STORE, 140321144963072, 140321346289663, -STORE, 140321077854208, 140321144963071, -ERASE, 140321077854208, 140321144963071, -STORE, 140321354616832, 140321404973055, -STORE, 140321136570368, 140321144963071, -STORE, 140320943636480, 140321077854207, -STORE, 140320876527616, 140321077854207, -STORE, 140321128177664, 140321144963071, -SNULL, 140320876662783, 140321077854207, -STORE, 140320876527616, 140320876662783, -STORE, 140320876662784, 140321077854207, -STORE, 140321119784960, 140321144963071, -STORE, 140321111392256, 140321144963071, -STORE, 140320742309888, 140320876527615, -STORE, 140321102999552, 140321144963071, -STORE, 140320608092160, 140320876527615, -SNULL, 140320675201023, 140320876527615, -STORE, 140320608092160, 140320675201023, -STORE, 140320675201024, 140320876527615, -SNULL, 140320675201024, 140320742309887, -STORE, 140320742309888, 140320876527615, -STORE, 140320675201024, 140320742309887, -ERASE, 140320675201024, 140320742309887, -STORE, 140321094606848, 140321144963071, -STORE, 140321086214144, 140321144963071, -STORE, 140320608092160, 140320876527615, -SNULL, 140320608092160, 140320675201023, -STORE, 140320675201024, 140320876527615, -STORE, 140320608092160, 140320675201023, -SNULL, 140320675336191, 140320876527615, -STORE, 140320675201024, 140320675336191, -STORE, 140320675336192, 140320876527615, -STORE, 140320599699456, 140320608092159, -STORE, 140320591306752, 140320608092159, -STORE, 140320457089024, 140320591306751, -STORE, 140320448696320, 140320457089023, -STORE, 140320314478592, 140320448696319, -SNULL, 140321144963072, 140321279180799, -STORE, 140321279180800, 140321346289663, -STORE, 140321144963072, 140321279180799, -SNULL, 140321279315967, 140321346289663, -STORE, 140321279180800, 140321279315967, -STORE, 140321279315968, 140321346289663, -SNULL, 140321086214144, 140321136570367, -STORE, 140321136570368, 140321144963071, -STORE, 140321086214144, 140321136570367, -SNULL, 140321136574463, 140321144963071, -STORE, 140321136570368, 140321136574463, -STORE, 140321136574464, 140321144963071, -SNULL, 140321212071935, 140321279180799, -STORE, 140321144963072, 140321212071935, -STORE, 140321212071936, 140321279180799, -ERASE, 140321212071936, 140321279180799, -SNULL, 140321145098239, 140321212071935, -STORE, 140321144963072, 140321145098239, -STORE, 140321145098240, 140321212071935, -SNULL, 140320876662784, 140321010745343, -STORE, 140321010745344, 140321077854207, -STORE, 140320876662784, 140321010745343, -SNULL, 140321010880511, 140321077854207, -STORE, 140321010745344, 140321010880511, -STORE, 140321010880512, 140321077854207, -SNULL, 140321354616832, 140321379794943, -STORE, 140321379794944, 140321404973055, -STORE, 140321354616832, 140321379794943, -SNULL, 140321379799039, 140321404973055, -STORE, 140321379794944, 140321379799039, -STORE, 140321379799040, 140321404973055, -SNULL, 140320876662784, 140320943636479, -STORE, 140320943636480, 140321010745343, -STORE, 140320876662784, 140320943636479, -SNULL, 140320943771647, 140321010745343, -STORE, 140320943636480, 140320943771647, -STORE, 140320943771648, 140321010745343, -SNULL, 140320809418751, 140320876527615, -STORE, 140320675336192, 140320809418751, -STORE, 140320809418752, 140320876527615, -ERASE, 140320809418752, 140320876527615, -SNULL, 140320675336192, 140320742309887, -STORE, 140320742309888, 140320809418751, -STORE, 140320675336192, 140320742309887, -SNULL, 140320742445055, 140320809418751, -STORE, 140320742309888, 140320742445055, -STORE, 140320742445056, 140320809418751, -SNULL, 140320608227327, 140320675201023, -STORE, 140320608092160, 140320608227327, -STORE, 140320608227328, 140320675201023, -SNULL, 140320457089024, 140320473874431, -STORE, 140320473874432, 140320591306751, -STORE, 140320457089024, 140320473874431, -ERASE, 140320457089024, 140320473874431, -SNULL, 140320540983295, 140320591306751, -STORE, 140320473874432, 140320540983295, -STORE, 140320540983296, 140320591306751, -ERASE, 140320540983296, 140320591306751, -SNULL, 140320314478592, 140320339656703, -STORE, 140320339656704, 140320448696319, -STORE, 140320314478592, 140320339656703, -ERASE, 140320314478592, 140320339656703, -SNULL, 140321086214144, 140321128177663, -STORE, 140321128177664, 140321136570367, -STORE, 140321086214144, 140321128177663, -SNULL, 140321128181759, 140321136570367, -STORE, 140321128177664, 140321128181759, -STORE, 140321128181760, 140321136570367, -SNULL, 140321354616832, 140321371402239, -STORE, 140321371402240, 140321379794943, -STORE, 140321354616832, 140321371402239, -SNULL, 140321371406335, 140321379794943, -STORE, 140321371402240, 140321371406335, -STORE, 140321371406336, 140321379794943, -SNULL, 140320591310847, 140320608092159, -STORE, 140320591306752, 140320591310847, -STORE, 140320591310848, 140320608092159, -SNULL, 140321354616832, 140321363009535, -STORE, 140321363009536, 140321371402239, -STORE, 140321354616832, 140321363009535, -SNULL, 140321363013631, 140321371402239, -STORE, 140321363009536, 140321363013631, -STORE, 140321363013632, 140321371402239, -SNULL, 140321086214144, 140321119784959, -STORE, 140321119784960, 140321128177663, -STORE, 140321086214144, 140321119784959, -SNULL, 140321119789055, 140321128177663, -STORE, 140321119784960, 140321119789055, -STORE, 140321119789056, 140321128177663, -SNULL, 140321086218239, 140321119784959, -STORE, 140321086214144, 140321086218239, -STORE, 140321086218240, 140321119784959, -SNULL, 140321086218240, 140321094606847, -STORE, 140321094606848, 140321119784959, -STORE, 140321086218240, 140321094606847, -SNULL, 140321094610943, 140321119784959, -STORE, 140321094606848, 140321094610943, -STORE, 140321094610944, 140321119784959, -SNULL, 140320474009599, 140320540983295, -STORE, 140320473874432, 140320474009599, -STORE, 140320474009600, 140320540983295, -SNULL, 140320406765567, 140320448696319, -STORE, 140320339656704, 140320406765567, -STORE, 140320406765568, 140320448696319, -ERASE, 140320406765568, 140320448696319, -SNULL, 140320339791871, 140320406765567, -STORE, 140320339656704, 140320339791871, -STORE, 140320339791872, 140320406765567, -STORE, 140321270788096, 140321279180799, -STORE, 140321262395392, 140321279180799, -STORE, 140321254002688, 140321279180799, -SNULL, 140321254002688, 140321262395391, -STORE, 140321262395392, 140321279180799, -STORE, 140321254002688, 140321262395391, -SNULL, 140321262399487, 140321279180799, -STORE, 140321262395392, 140321262399487, -STORE, 140321262399488, 140321279180799, -STORE, 140321245609984, 140321262395391, -STORE, 140321237217280, 140321262395391, -SNULL, 140321237217280, 140321245609983, -STORE, 140321245609984, 140321262395391, -STORE, 140321237217280, 140321245609983, -SNULL, 140321245614079, 140321262395391, -STORE, 140321245609984, 140321245614079, -STORE, 140321245614080, 140321262395391, -SNULL, 140321379799040, 140321388187647, -STORE, 140321388187648, 140321404973055, -STORE, 140321379799040, 140321388187647, -SNULL, 140321388191743, 140321404973055, -STORE, 140321388187648, 140321388191743, -STORE, 140321388191744, 140321404973055, -SNULL, 140321354620927, 140321363009535, -STORE, 140321354616832, 140321354620927, -STORE, 140321354620928, 140321363009535, -SNULL, 140321388191744, 140321396580351, -STORE, 140321396580352, 140321404973055, -STORE, 140321388191744, 140321396580351, -SNULL, 140321396584447, 140321404973055, -STORE, 140321396580352, 140321396584447, -STORE, 140321396584448, 140321404973055, -SNULL, 140321094610944, 140321111392255, -STORE, 140321111392256, 140321119784959, -STORE, 140321094610944, 140321111392255, -SNULL, 140321111396351, 140321119784959, -STORE, 140321111392256, 140321111396351, -STORE, 140321111396352, 140321119784959, -STORE, 140321228824576, 140321245609983, -SNULL, 140321094610944, 140321102999551, -STORE, 140321102999552, 140321111392255, -STORE, 140321094610944, 140321102999551, -SNULL, 140321103003647, 140321111392255, -STORE, 140321102999552, 140321103003647, -STORE, 140321103003648, 140321111392255, -STORE, 140321220431872, 140321245609983, -SNULL, 140321220435967, 140321245609983, -STORE, 140321220431872, 140321220435967, -STORE, 140321220435968, 140321245609983, -STORE, 140320868134912, 140320876527615, -SNULL, 140320868139007, 140320876527615, -STORE, 140320868134912, 140320868139007, -STORE, 140320868139008, 140320876527615, -SNULL, 140320591310848, 140320599699455, -STORE, 140320599699456, 140320608092159, -STORE, 140320591310848, 140320599699455, -SNULL, 140320599703551, 140320608092159, -STORE, 140320599699456, 140320599703551, -STORE, 140320599703552, 140320608092159, -STORE, 140320859742208, 140320868134911, -SNULL, 140321262399488, 140321270788095, -STORE, 140321270788096, 140321279180799, -STORE, 140321262399488, 140321270788095, -SNULL, 140321270792191, 140321279180799, -STORE, 140321270788096, 140321270792191, -STORE, 140321270792192, 140321279180799, -STORE, 140320851349504, 140320868134911, -STORE, 140320842956800, 140320868134911, -STORE, 140320834564096, 140320868134911, -STORE, 140320826171392, 140320868134911, -SNULL, 140320826171392, 140320834564095, -STORE, 140320834564096, 140320868134911, -STORE, 140320826171392, 140320834564095, -SNULL, 140320834568191, 140320868134911, -STORE, 140320834564096, 140320834568191, -STORE, 140320834568192, 140320868134911, -SNULL, 140321220435968, 140321228824575, -STORE, 140321228824576, 140321245609983, -STORE, 140321220435968, 140321228824575, -SNULL, 140321228828671, 140321245609983, -STORE, 140321228824576, 140321228828671, -STORE, 140321228828672, 140321245609983, -STORE, 140320817778688, 140320834564095, -SNULL, 140320817782783, 140320834564095, -STORE, 140320817778688, 140320817782783, -STORE, 140320817782784, 140320834564095, -STORE, 140320582914048, 140320591306751, -SNULL, 140321228828672, 140321237217279, -STORE, 140321237217280, 140321245609983, -STORE, 140321228828672, 140321237217279, -SNULL, 140321237221375, 140321245609983, -STORE, 140321237217280, 140321237221375, -STORE, 140321237221376, 140321245609983, -SNULL, 140320448700415, 140320457089023, -STORE, 140320448696320, 140320448700415, -STORE, 140320448700416, 140320457089023, -SNULL, 140321245614080, 140321254002687, -STORE, 140321254002688, 140321262395391, -STORE, 140321245614080, 140321254002687, -SNULL, 140321254006783, 140321262395391, -STORE, 140321254002688, 140321254006783, -STORE, 140321254006784, 140321262395391, -STORE, 140320574521344, 140320591306751, -SNULL, 140320574525439, 140320591306751, -STORE, 140320574521344, 140320574525439, -STORE, 140320574525440, 140320591306751, -STORE, 140320566128640, 140320574521343, -SNULL, 140320566132735, 140320574521343, -STORE, 140320566128640, 140320566132735, -STORE, 140320566132736, 140320574521343, -SNULL, 140320574525440, 140320582914047, -STORE, 140320582914048, 140320591306751, -STORE, 140320574525440, 140320582914047, -SNULL, 140320582918143, 140320591306751, -STORE, 140320582914048, 140320582918143, -STORE, 140320582918144, 140320591306751, -STORE, 140320557735936, 140320566128639, -SNULL, 140320557740031, 140320566128639, -STORE, 140320557735936, 140320557740031, -STORE, 140320557740032, 140320566128639, -STORE, 140320549343232, 140320557735935, -STORE, 140320465481728, 140320473874431, -STORE, 140320448700416, 140320473874431, -SNULL, 140320834568192, 140320859742207, -STORE, 140320859742208, 140320868134911, -STORE, 140320834568192, 140320859742207, -SNULL, 140320859746303, 140320868134911, -STORE, 140320859742208, 140320859746303, -STORE, 140320859746304, 140320868134911, -STORE, 140320440303616, 140320448696319, -STORE, 140320431910912, 140320448696319, -SNULL, 140320834568192, 140320851349503, -STORE, 140320851349504, 140320859742207, -STORE, 140320834568192, 140320851349503, -SNULL, 140320851353599, 140320859742207, -STORE, 140320851349504, 140320851353599, -STORE, 140320851353600, 140320859742207, -SNULL, 140320817782784, 140320826171391, -STORE, 140320826171392, 140320834564095, -STORE, 140320817782784, 140320826171391, -SNULL, 140320826175487, 140320834564095, -STORE, 140320826171392, 140320826175487, -STORE, 140320826175488, 140320834564095, -SNULL, 140320834568192, 140320842956799, -STORE, 140320842956800, 140320851349503, -STORE, 140320834568192, 140320842956799, -SNULL, 140320842960895, 140320851349503, -STORE, 140320842956800, 140320842960895, -STORE, 140320842960896, 140320851349503, -STORE, 140320423518208, 140320448696319, -SNULL, 140320423522303, 140320448696319, -STORE, 140320423518208, 140320423522303, -STORE, 140320423522304, 140320448696319, -STORE, 140320415125504, 140320423518207, -STORE, 140320331264000, 140320339656703, -STORE, 140320322871296, 140320339656703, -STORE, 140320314478592, 140320339656703, -SNULL, 140320314482687, 140320339656703, -STORE, 140320314478592, 140320314482687, -STORE, 140320314482688, 140320339656703, -STORE, 140320306085888, 140320314478591, -SNULL, 140320306089983, 140320314478591, -STORE, 140320306085888, 140320306089983, -STORE, 140320306089984, 140320314478591, -STORE, 140320297693184, 140320306085887, -SNULL, 140320297697279, 140320306085887, -STORE, 140320297693184, 140320297697279, -STORE, 140320297697280, 140320306085887, -STORE, 140320289300480, 140320297693183, -STORE, 140320280907776, 140320297693183, -SNULL, 140320280911871, 140320297693183, -STORE, 140320280907776, 140320280911871, -STORE, 140320280911872, 140320297693183, -SNULL, 140320423522304, 140320431910911, -STORE, 140320431910912, 140320448696319, -STORE, 140320423522304, 140320431910911, -SNULL, 140320431915007, 140320448696319, -STORE, 140320431910912, 140320431915007, -STORE, 140320431915008, 140320448696319, -SNULL, 140320549347327, 140320557735935, -STORE, 140320549343232, 140320549347327, -STORE, 140320549347328, 140320557735935, -STORE, 140320272515072, 140320280907775, -SNULL, 140320448700416, 140320457089023, -STORE, 140320457089024, 140320473874431, -STORE, 140320448700416, 140320457089023, -SNULL, 140320457093119, 140320473874431, -STORE, 140320457089024, 140320457093119, -STORE, 140320457093120, 140320473874431, -STORE, 140320264122368, 140320280907775, -SNULL, 140320457093120, 140320465481727, -STORE, 140320465481728, 140320473874431, -STORE, 140320457093120, 140320465481727, -SNULL, 140320465485823, 140320473874431, -STORE, 140320465481728, 140320465485823, -STORE, 140320465485824, 140320473874431, -SNULL, 140320431915008, 140320440303615, -STORE, 140320440303616, 140320448696319, -STORE, 140320431915008, 140320440303615, -SNULL, 140320440307711, 140320448696319, -STORE, 140320440303616, 140320440307711, -STORE, 140320440307712, 140320448696319, -STORE, 140320255729664, 140320280907775, -STORE, 140320247336960, 140320280907775, -SNULL, 140320247341055, 140320280907775, -STORE, 140320247336960, 140320247341055, -STORE, 140320247341056, 140320280907775, -STORE, 140320238944256, 140320247336959, -STORE, 140320230551552, 140320247336959, -SNULL, 140320230551552, 140320238944255, -STORE, 140320238944256, 140320247336959, -STORE, 140320230551552, 140320238944255, -SNULL, 140320238948351, 140320247336959, -STORE, 140320238944256, 140320238948351, -STORE, 140320238948352, 140320247336959, -SNULL, 140320314482688, 140320331263999, -STORE, 140320331264000, 140320339656703, -STORE, 140320314482688, 140320331263999, -SNULL, 140320331268095, 140320339656703, -STORE, 140320331264000, 140320331268095, -STORE, 140320331268096, 140320339656703, -SNULL, 140320280911872, 140320289300479, -STORE, 140320289300480, 140320297693183, -STORE, 140320280911872, 140320289300479, -SNULL, 140320289304575, 140320297693183, -STORE, 140320289300480, 140320289304575, -STORE, 140320289304576, 140320297693183, -SNULL, 140320415129599, 140320423518207, -STORE, 140320415125504, 140320415129599, -STORE, 140320415129600, 140320423518207, -STORE, 140320222158848, 140320238944255, -STORE, 140320213766144, 140320238944255, -STORE, 140320205373440, 140320238944255, -SNULL, 140320205377535, 140320238944255, -STORE, 140320205373440, 140320205377535, -STORE, 140320205377536, 140320238944255, -SNULL, 140320314482688, 140320322871295, -STORE, 140320322871296, 140320331263999, -STORE, 140320314482688, 140320322871295, -SNULL, 140320322875391, 140320331263999, -STORE, 140320322871296, 140320322875391, -STORE, 140320322875392, 140320331263999, -SNULL, 140320247341056, 140320272515071, -STORE, 140320272515072, 140320280907775, -STORE, 140320247341056, 140320272515071, -SNULL, 140320272519167, 140320280907775, -STORE, 140320272515072, 140320272519167, -STORE, 140320272519168, 140320280907775, -SNULL, 140320247341056, 140320264122367, -STORE, 140320264122368, 140320272515071, -STORE, 140320247341056, 140320264122367, -SNULL, 140320264126463, 140320272515071, -STORE, 140320264122368, 140320264126463, -STORE, 140320264126464, 140320272515071, -SNULL, 140320205377536, 140320230551551, -STORE, 140320230551552, 140320238944255, -STORE, 140320205377536, 140320230551551, -SNULL, 140320230555647, 140320238944255, -STORE, 140320230551552, 140320230555647, -STORE, 140320230555648, 140320238944255, -STORE, 140320196980736, 140320205373439, -SNULL, 140320196984831, 140320205373439, -STORE, 140320196980736, 140320196984831, -STORE, 140320196984832, 140320205373439, -STORE, 140320188588032, 140320196980735, -SNULL, 140320247341056, 140320255729663, -STORE, 140320255729664, 140320264122367, -STORE, 140320247341056, 140320255729663, -SNULL, 140320255733759, 140320264122367, -STORE, 140320255729664, 140320255733759, -STORE, 140320255733760, 140320264122367, -STORE, 140320180195328, 140320196980735, -SNULL, 140320180199423, 140320196980735, -STORE, 140320180195328, 140320180199423, -STORE, 140320180199424, 140320196980735, -STORE, 140320171802624, 140320180195327, -STORE, 140320163409920, 140320180195327, -SNULL, 140320163414015, 140320180195327, -STORE, 140320163409920, 140320163414015, -STORE, 140320163414016, 140320180195327, -SNULL, 140320205377536, 140320222158847, -STORE, 140320222158848, 140320230551551, -STORE, 140320205377536, 140320222158847, -SNULL, 140320222162943, 140320230551551, -STORE, 140320222158848, 140320222162943, -STORE, 140320222162944, 140320230551551, -SNULL, 140320205377536, 140320213766143, -STORE, 140320213766144, 140320222158847, -STORE, 140320205377536, 140320213766143, -SNULL, 140320213770239, 140320222158847, -STORE, 140320213766144, 140320213770239, -STORE, 140320213770240, 140320222158847, -STORE, 140320155017216, 140320163409919, -SNULL, 140320180199424, 140320188588031, -STORE, 140320188588032, 140320196980735, -STORE, 140320180199424, 140320188588031, -SNULL, 140320188592127, 140320196980735, -STORE, 140320188588032, 140320188592127, -STORE, 140320188592128, 140320196980735, -SNULL, 140320155021311, 140320163409919, -STORE, 140320155017216, 140320155021311, -STORE, 140320155021312, 140320163409919, -SNULL, 140320163414016, 140320171802623, -STORE, 140320171802624, 140320180195327, -STORE, 140320163414016, 140320171802623, -SNULL, 140320171806719, 140320180195327, -STORE, 140320171802624, 140320171806719, -STORE, 140320171806720, 140320180195327, -STORE, 140320146624512, 140320155017215, -SNULL, 140320146628607, 140320155017215, -STORE, 140320146624512, 140320146628607, -STORE, 140320146628608, 140320155017215, -STORE, 140321937321984, 140321937350655, -STORE, 140321884942336, 140321887133695, -SNULL, 140321884942336, 140321885032447, -STORE, 140321885032448, 140321887133695, -STORE, 140321884942336, 140321885032447, -SNULL, 140321887125503, 140321887133695, -STORE, 140321885032448, 140321887125503, -STORE, 140321887125504, 140321887133695, -ERASE, 140321887125504, 140321887133695, -STORE, 140321887125504, 140321887133695, -SNULL, 140321887129599, 140321887133695, -STORE, 140321887125504, 140321887129599, -STORE, 140321887129600, 140321887133695, -ERASE, 140321937321984, 140321937350655, -ERASE, 140321086214144, 140321086218239, -ERASE, 140321086218240, 140321094606847, -ERASE, 140321119784960, 140321119789055, -ERASE, 140321119789056, 140321128177663, -ERASE, 140321245609984, 140321245614079, -ERASE, 140321245614080, 140321254002687, -ERASE, 140320574521344, 140320574525439, -ERASE, 140320574525440, 140320582914047, -ERASE, 140320297693184, 140320297697279, -ERASE, 140320297697280, 140320306085887, -ERASE, 140321354616832, 140321354620927, -ERASE, 140321354620928, 140321363009535, -ERASE, 140320834564096, 140320834568191, -ERASE, 140320834568192, 140320842956799, -ERASE, 140320591306752, 140320591310847, -ERASE, 140320591310848, 140320599699455, -ERASE, 140321136570368, 140321136574463, -ERASE, 140321136574464, 140321144963071, -ERASE, 140321237217280, 140321237221375, -ERASE, 140321237221376, 140321245609983, -ERASE, 140321363009536, 140321363013631, -ERASE, 140321363013632, 140321371402239, -ERASE, 140320599699456, 140320599703551, -ERASE, 140320599703552, 140320608092159, -ERASE, 140321396580352, 140321396584447, -ERASE, 140321396584448, 140321404973055, -ERASE, 140320566128640, 140320566132735, -ERASE, 140320566132736, 140320574521343, -ERASE, 140321094606848, 140321094610943, -ERASE, 140321094610944, 140321102999551, -ERASE, 140320582914048, 140320582918143, -ERASE, 140320582918144, 140320591306751, -ERASE, 140320289300480, 140320289304575, -ERASE, 140320289304576, 140320297693183, -ERASE, 140320163409920, 140320163414015, - }; - unsigned long set41[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140728157171712, 140737488351231, -SNULL, 140728157175807, 140737488351231, -STORE, 140728157171712, 140728157175807, -STORE, 140728157040640, 140728157175807, -STORE, 94376106364928, 94376108613631, -SNULL, 94376106487807, 94376108613631, -STORE, 94376106364928, 94376106487807, -STORE, 94376106487808, 94376108613631, -SNULL, 94376106487808, 94376108613631, -STORE, 94376108584960, 94376108593151, -STORE, 94376108593152, 94376108613631, -STORE, 140113496432640, 140113498685439, -SNULL, 140113496575999, 140113498685439, -STORE, 140113496432640, 140113496575999, -STORE, 140113496576000, 140113498685439, -SNULL, 140113496576000, 140113498685439, -STORE, 140113498673152, 140113498681343, -STORE, 140113498681344, 140113498685439, -STORE, 140728157609984, 140728157618175, -STORE, 140728157593600, 140728157609983, -STORE, 140113498636288, 140113498673151, -STORE, 140113498628096, 140113498636287, -STORE, 140113492635648, 140113496432639, -SNULL, 140113492635648, 140113494294527, -STORE, 140113494294528, 140113496432639, -STORE, 140113492635648, 140113494294527, -SNULL, 140113496391679, 140113496432639, -STORE, 140113494294528, 140113496391679, -STORE, 140113496391680, 140113496432639, -SNULL, 140113496391680, 140113496416255, -STORE, 140113496416256, 140113496432639, -STORE, 140113496391680, 140113496416255, -SNULL, 140113496391680, 140113496416255, -STORE, 140113496391680, 140113496416255, -SNULL, 140113496416256, 140113496432639, -STORE, 140113496416256, 140113496432639, -SNULL, 140113496408063, 140113496416255, -STORE, 140113496391680, 140113496408063, -STORE, 140113496408064, 140113496416255, -SNULL, 94376108589055, 94376108593151, -STORE, 94376108584960, 94376108589055, -STORE, 94376108589056, 94376108593151, -SNULL, 140113498677247, 140113498681343, -STORE, 140113498673152, 140113498677247, -STORE, 140113498677248, 140113498681343, -SNULL, 140113498636288, 140113498673151, -STORE, 94376135090176, 94376135094271, -STORE, 94376135090176, 94376135098367, -STORE, 94376139288576, 94376139292671, -STORE, 94376143482880, 94376143486975, -STORE, 94376147677184, 94376147681279, -STORE, 94376151871488, 94376151875583, -STORE, 94376156065792, 94376156069887, -STORE, 94376160260096, 94376160264191, -STORE, 94376164454400, 94376164458495, -STORE, 94376168648704, 94376168652799, -STORE, 94376172843008, 94376172847103, -STORE, 94376177037312, 94376177041407, -STORE, 94376181231616, 94376181235711, -STORE, 94376185425920, 94376185430015, -STORE, 94376189620224, 94376189624319, -STORE, 94376193814528, 94376193818623, -STORE, 94376198008832, 94376198012927, -STORE, 94376202203136, 94376202207231, -STORE, 94376206397440, 94376206401535, -STORE, 94376210591744, 94376210595839, -STORE, 94376214786048, 94376214790143, -STORE, 94376218980352, 94376218984447, -STORE, 94376223174656, 94376223178751, -STORE, 94376227368960, 94376227373055, -STORE, 94376231563264, 94376231567359, -STORE, 94376235757568, 94376235761663, -STORE, 94376239951872, 94376239955967, -STORE, 94376244146176, 94376244150271, -STORE, 94376248340480, 94376248344575, -STORE, 94376252534784, 94376252538879, -STORE, 94376256729088, 94376256733183, -STORE, 94376260923392, 94376260927487, -STORE, 94376265117696, 94376265121791, -STORE, 94376269312000, 94376269316095, -STORE, 94376273506304, 94376273510399, -STORE, 94376277700608, 94376277704703, -STORE, 94376281894912, 94376281899007, -STORE, 94376286089216, 94376286093311, -STORE, 94376290283520, 94376290287615, -STORE, 94376294477824, 94376294481919, -STORE, 94376298672128, 94376298676223, -STORE, 94376302866432, 94376302870527, -STORE, 94376307060736, 94376307064831, -STORE, 94376311255040, 94376311259135, -STORE, 94376315449344, 94376315453439, -STORE, 94376319643648, 94376319647743, -STORE, 94376323837952, 94376323842047, -STORE, 94376328032256, 94376328036351, -STORE, 94376332226560, 94376332230655, -STORE, 94376336420864, 94376336424959, -STORE, 94376340615168, 94376340619263, -STORE, 94376344809472, 94376344813567, -STORE, 94376349003776, 94376349007871, -STORE, 94376353198080, 94376353202175, -STORE, 94376357392384, 94376357396479, -STORE, 94376361586688, 94376361590783, -STORE, 94376365780992, 94376365785087, -STORE, 94376369975296, 94376369979391, -STORE, 94376374169600, 94376374173695, -STORE, 94376378363904, 94376378367999, -STORE, 94376382558208, 94376382562303, -STORE, 94376386752512, 94376386756607, -STORE, 94376390946816, 94376390950911, -STORE, 94376395141120, 94376395145215, -STORE, 94376399335424, 94376399339519, -STORE, 94376403529728, 94376403533823, -STORE, 94376407724032, 94376407728127, -STORE, 94376411918336, 94376411922431, -STORE, 94376416112640, 94376416116735, -STORE, 94376420306944, 94376420311039, -STORE, 94376424501248, 94376424505343, -STORE, 94376428695552, 94376428699647, -STORE, 94376432889856, 94376432893951, -STORE, 94376437084160, 94376437088255, -STORE, 94376441278464, 94376441282559, -STORE, 94376445472768, 94376445476863, -STORE, 94376449667072, 94376449671167, -STORE, 94376453861376, 94376453865471, -STORE, 94376458055680, 94376458059775, -STORE, 94376462249984, 94376462254079, -STORE, 94376466444288, 94376466448383, -STORE, 94376470638592, 94376470642687, -STORE, 94376474832896, 94376474836991, -STORE, 94376479027200, 94376479031295, -STORE, 94376483221504, 94376483225599, -STORE, 94376487415808, 94376487419903, -STORE, 94376491610112, 94376491614207, -STORE, 94376495804416, 94376495808511, -STORE, 94376499998720, 94376500002815, -STORE, 94376504193024, 94376504197119, -STORE, 94376508387328, 94376508391423, -STORE, 94376512581632, 94376512585727, -STORE, 94376516775936, 94376516780031, -STORE, 94376520970240, 94376520974335, -STORE, 94376525164544, 94376525168639, -STORE, 94376529358848, 94376529362943, -STORE, 94376533553152, 94376533557247, -STORE, 94376537747456, 94376537751551, -STORE, 94376541941760, 94376541945855, -STORE, 94376546136064, 94376546140159, -STORE, 94376550330368, 94376550334463, -STORE, 94376554524672, 94376554528767, -STORE, 94376558718976, 94376558723071, -STORE, 94376562913280, 94376562917375, -STORE, 94376567107584, 94376567111679, -STORE, 94376571301888, 94376571305983, -STORE, 94376575496192, 94376575500287, -STORE, 94376579690496, 94376579694591, -STORE, 94376583884800, 94376583888895, -STORE, 94376588079104, 94376588083199, -STORE, 94376592273408, 94376592277503, -STORE, 94376596467712, 94376596471807, -STORE, 94376600662016, 94376600666111, -STORE, 94376604856320, 94376604860415, -STORE, 94376609050624, 94376609054719, -STORE, 94376613244928, 94376613249023, -STORE, 94376617439232, 94376617443327, -STORE, 94376621633536, 94376621637631, -STORE, 94376625827840, 94376625831935, -STORE, 94376630022144, 94376630026239, -STORE, 94376634216448, 94376634220543, -STORE, 94376638410752, 94376638414847, -STORE, 94376642605056, 94376642609151, -STORE, 94376646799360, 94376646803455, -STORE, 94376650993664, 94376650997759, -STORE, 94376655187968, 94376655192063, -STORE, 94376659382272, 94376659386367, -STORE, 94376663576576, 94376663580671, -STORE, 94376667770880, 94376667774975, -STORE, 94376671965184, 94376671969279, -STORE, 94376676159488, 94376676163583, -STORE, 94376680353792, 94376680357887, -STORE, 94376684548096, 94376684552191, -STORE, 94376688742400, 94376688746495, -STORE, 94376692936704, 94376692940799, -STORE, 94376697131008, 94376697135103, -STORE, 94376701325312, 94376701329407, -STORE, 94376705519616, 94376705523711, -STORE, 94376709713920, 94376709718015, -STORE, 94376713908224, 94376713912319, -STORE, 94376718102528, 94376718106623, -STORE, 94376722296832, 94376722300927, -STORE, 94376726491136, 94376726495231, -STORE, 94376730685440, 94376730689535, -STORE, 94376734879744, 94376734883839, -STORE, 94376739074048, 94376739078143, -STORE, 94376743268352, 94376743272447, -STORE, 94376747462656, 94376747466751, -STORE, 94376751656960, 94376751661055, -STORE, 94376755851264, 94376755855359, -STORE, 94376760045568, 94376760049663, -STORE, 94376764239872, 94376764243967, -STORE, 94376768434176, 94376768438271, -STORE, 94376772628480, 94376772632575, -STORE, 94376776822784, 94376776826879, -STORE, 94376781017088, 94376781021183, -STORE, 94376785211392, 94376785215487, -STORE, 94376789405696, 94376789409791, -STORE, 94376793600000, 94376793604095, -STORE, 94376797794304, 94376797798399, -STORE, 94376801988608, 94376801992703, -STORE, 94376806182912, 94376806187007, -STORE, 94376810377216, 94376810381311, -STORE, 94376814571520, 94376814575615, -STORE, 94376818765824, 94376818769919, -STORE, 94376822960128, 94376822964223, -STORE, 94376827154432, 94376827158527, -STORE, 94376831348736, 94376831352831, -STORE, 94376835543040, 94376835547135, -STORE, 94376839737344, 94376839741439, -STORE, 94376843931648, 94376843935743, -STORE, 94376848125952, 94376848130047, -STORE, 94376852320256, 94376852324351, -STORE, 94376856514560, 94376856518655, -STORE, 94376860708864, 94376860712959, -STORE, 94376864903168, 94376864907263, -STORE, 94376869097472, 94376869101567, -STORE, 94376873291776, 94376873295871, -STORE, 94376877486080, 94376877490175, -STORE, 94376881680384, 94376881684479, -STORE, 94376885874688, 94376885878783, -STORE, 94376890068992, 94376890073087, -STORE, 94376894263296, 94376894267391, -STORE, 94376898457600, 94376898461695, -STORE, 94376902651904, 94376902655999, -STORE, 94376906846208, 94376906850303, -STORE, 94376911040512, 94376911044607, -STORE, 94376915234816, 94376915238911, -STORE, 94376919429120, 94376919433215, -STORE, 94376923623424, 94376923627519, -STORE, 94376927817728, 94376927821823, -STORE, 94376932012032, 94376932016127, -STORE, 94376936206336, 94376936210431, -STORE, 94376940400640, 94376940404735, -STORE, 94376944594944, 94376944599039, -STORE, 94376948789248, 94376948793343, -STORE, 94376952983552, 94376952987647, -STORE, 94376957177856, 94376957181951, -STORE, 94376961372160, 94376961376255, -STORE, 94376965566464, 94376965570559, -STORE, 94376969760768, 94376969764863, -STORE, 94376973955072, 94376973959167, -STORE, 94376978149376, 94376978153471, -STORE, 94376982343680, 94376982347775, -STORE, 94376986537984, 94376986542079, -STORE, 94376990732288, 94376990736383, -STORE, 94376994926592, 94376994930687, -STORE, 94376999120896, 94376999124991, -STORE, 94377003315200, 94377003319295, -STORE, 94377007509504, 94377007513599, -STORE, 94377011703808, 94377011707903, -STORE, 94377015898112, 94377015902207, -STORE, 94377020092416, 94377020096511, -STORE, 94377024286720, 94377024290815, -STORE, 94377028481024, 94377028485119, -STORE, 94377032675328, 94377032679423, -STORE, 94377036869632, 94377036873727, -STORE, 94377041063936, 94377041068031, -STORE, 94377045258240, 94377045262335, -STORE, 94377049452544, 94377049456639, -STORE, 94377053646848, 94377053650943, -STORE, 94377057841152, 94377057845247, -STORE, 94377062035456, 94377062039551, -STORE, 94377066229760, 94377066233855, -STORE, 94377070424064, 94377070428159, -STORE, 94377074618368, 94377074622463, -STORE, 94377078812672, 94377078816767, -STORE, 94377083006976, 94377083011071, -STORE, 94377087201280, 94377087205375, -STORE, 94377091395584, 94377091399679, -STORE, 94377095589888, 94377095593983, -STORE, 94377099784192, 94377099788287, -STORE, 94377103978496, 94377103982591, -STORE, 94377108172800, 94377108176895, -STORE, 94377112367104, 94377112371199, -STORE, 94377116561408, 94377116565503, -STORE, 94377120755712, 94377120759807, -STORE, 94377124950016, 94377124954111, -STORE, 94377129144320, 94377129148415, -STORE, 94377133338624, 94377133342719, -STORE, 94377137532928, 94377137537023, -STORE, 94377141727232, 94377141731327, -STORE, 94377145921536, 94377145925631, -STORE, 94377150115840, 94377150119935, -STORE, 94377154310144, 94377154314239, -STORE, 94377158504448, 94377158508543, -STORE, 94377162698752, 94377162702847, -STORE, 94377166893056, 94377166897151, -STORE, 94377171087360, 94377171091455, -STORE, 94377175281664, 94377175285759, -STORE, 94377179475968, 94377179480063, -STORE, 94377183670272, 94377183674367, -STORE, 94377187864576, 94377187868671, -STORE, 94377192058880, 94377192062975, -STORE, 94377196253184, 94377196257279, -STORE, 94377200447488, 94377200451583, -STORE, 94377204641792, 94377204645887, -SNULL, 94376135094271, 94376135098367, -STORE, 94376135090176, 94376135094271, -STORE, 94376135094272, 94376135098367, -SNULL, 94376135094272, 94377208836095, - }; - unsigned long set42[] = { -STORE, 314572800, 1388314623, -STORE, 1462157312, 1462169599, -STORE, 1462169600, 1462185983, -STORE, 1462185984, 1462190079, -STORE, 1462190080, 1462194175, -STORE, 1462194176, 1462198271, -STORE, 1879986176, 1881800703, -STORE, 1881800704, 1882034175, -STORE, 1882034176, 1882193919, -STORE, 1882193920, 1882406911, -STORE, 1882406912, 1882451967, -STORE, 1882451968, 1882996735, -STORE, 1882996736, 1885892607, -STORE, 1885892608, 1885896703, -STORE, 1885896704, 1885904895, -STORE, 1885904896, 1885908991, -STORE, 1885908992, 1885913087, -STORE, 1885913088, 1885966335, -STORE, 1885966336, 1886232575, -STORE, 1886232576, 1886236671, -STORE, 1886236672, 1886240767, -STORE, 1886240768, 1886244863, -STORE, 1886244864, 1886248959, -STORE, 1886248960, 1886294015, -STORE, 1886294016, 1886494719, -STORE, 1886494720, 1886498815, -STORE, 1886498816, 1886502911, -STORE, 1886502912, 1886507007, -STORE, 1886507008, 1886511103, -STORE, 1886511104, 1886556159, -STORE, 1886556160, 1886629887, -STORE, 1886629888, 1886633983, -STORE, 1886633984, 1886638079, -STORE, 1886638080, 1886642175, -STORE, 1886642176, 1886646271, -STORE, 1886646272, 1886666751, -STORE, 1886666752, 1886670847, -STORE, 1886670848, 1886674943, -STORE, 1886674944, 1886679039, -STORE, 1886679040, 1895419903, -STORE, 1895419904, 1895550975, -STORE, 1895550976, 1896148991, -STORE, 1896148992, 1897189375, -STORE, 1897189376, 1897701375, -STORE, 1897701376, 1897803775, -STORE, 1897803776, 1897816063, -STORE, 1897816064, 1899913215, -STORE, 1899913216, 1909379071, -STORE, 1909379072, 1909387263, -STORE, 1909387264, 1909391359, -STORE, 1909391360, 1909432319, -STORE, 1909432320, 1909436415, -STORE, 1909436416, 1909440511, -STORE, 1909440512, 1909460991, -STORE, 1909460992, 1909547007, -STORE, 1909547008, 1909551103, -STORE, 1909551104, 1909555199, -STORE, 1909555200, 1909559295, -STORE, 1909559296, 1909563391, -STORE, 1909563392, 1909739519, -STORE, 1909739520, 1910566911, -STORE, 1910566912, 1910571007, -STORE, 1910571008, 1910575103, -STORE, 1910575104, 1910579199, -STORE, 1910579200, 1910583295, -STORE, 1910583296, 1910587391, -STORE, 1910587392, 1910620159, -STORE, 1910620160, 1910624255, -STORE, 1910624256, 1910628351, -STORE, 1910628352, 1910632447, -STORE, 1910632448, 1910652927, -STORE, 1910652928, 1910657023, -STORE, 1910657024, 1910661119, -STORE, 1910661120, 1910665215, -STORE, 1910665216, 1910669311, -STORE, 1910669312, 1910677503, -STORE, 1910677504, 1910681599, -STORE, 1910681600, 1910685695, -STORE, 1910685696, 1910689791, -STORE, 1910689792, 1910697983, -STORE, 1910697984, 1910702079, -STORE, 1910702080, 1910706175, -STORE, 1910706176, 1910710271, -STORE, 1910710272, 1914093567, -STORE, 1914093568, 1914097663, -STORE, 1914097664, 1969434623, -STORE, 1969434624, 1977819135, -STORE, 3290435584, 3426750463, -STORE, 3426750464, 3426754559, -STORE, 3426754560, 3426762751, -STORE, 3426762752, 3426766847, -STORE, 3426766848, 3426770943, -STORE, 3427037184, 3427061759, -STORE, 3427061760, 3427135487, -STORE, 3427135488, 3427143679, -STORE, 3427143680, 3427147775, -STORE, 3427147776, 3427209215, -STORE, 3427319808, 3432116223, -STORE, 3432116224, 3450130431, -STORE, 3450130432, 3451027455, -STORE, 3451027456, 3451031551, -STORE, 3451031552, 3451461631, -STORE, 3451736064, 3456688127, -STORE, 3456688128, 3475222527, -STORE, 3475222528, 3476119551, -STORE, 3476119552, 3476127743, -STORE, 3476127744, 3476553727, -STORE, 3476631552, 3477315583, -STORE, 3477315584, 3479949311, -STORE, 3479949312, 3480002559, -STORE, 3480002560, 3480006655, -STORE, 3480006656, 3480432639, -STORE, 3480539136, 3480543231, -STORE, 3480543232, 3480547327, -STORE, 3480547328, 3480555519, -STORE, 3480854528, 3480903679, -STORE, 3480903680, 3480969215, -STORE, 3480969216, 3480977407, -STORE, 3480977408, 3480981503, -STORE, 3481030656, 3481092095, -STORE, 3481092096, 3481235455, -STORE, 3481235456, 3481243647, -STORE, 3481243648, 3481247743, -STORE, 3481436160, 3481444351, -STORE, 3481444352, 3481456639, -STORE, 3481456640, 3481460735, -STORE, 3481460736, 3481464831, -STORE, 3481587712, 3481645055, -STORE, 3481645056, 3481772031, -STORE, 3481772032, 3481776127, -STORE, 3481776128, 3481780223, -STORE, 3481874432, 3481935871, -STORE, 3481935872, 3482030079, -STORE, 3482030080, 3482038271, -STORE, 3482038272, 3482042367, -STORE, 3482198016, 3482230783, -STORE, 3482230784, 3482271743, -STORE, 3482271744, 3482279935, -STORE, 3482279936, 3482284031, -STORE, 3482562560, 3482566655, -STORE, 3482566656, 3482570751, -STORE, 3482570752, 3482574847, -STORE, 3482636288, 3482689535, -STORE, 3482689536, 3482746879, -STORE, 3482746880, 3482755071, -STORE, 3482755072, 3482759167, -STORE, 3482972160, 3483062271, -STORE, 3483062272, 3483242495, -STORE, 3483242496, 3483246591, -STORE, 3483246592, 3483250687, -STORE, 3483398144, 3483688959, -STORE, 3483688960, 3484114943, -STORE, 3484114944, 3484131327, -STORE, 3484131328, 3484135423, -STORE, 3484135424, 3484143615, -STORE, 3484184576, 3484475391, -STORE, 3484475392, 3485028351, -STORE, 3485028352, 3485057023, -STORE, 3485057024, 3485061119, -STORE, 3485360128, 3485364223, -STORE, 3485364224, 3485368319, -STORE, 3485368320, 3485372415, -STORE, 3485589504, 3485593599, -STORE, 3485593600, 3485597695, -STORE, 3485597696, 3485601791, -STORE, 3485913088, 3485937663, -STORE, 3485937664, 3485974527, -STORE, 3485974528, 3485982719, -STORE, 3485982720, 3485986815, -STORE, 3486052352, 3486056447, -STORE, 3486056448, 3486064639, -STORE, 3486064640, 3486068735, -STORE, 3486068736, 3486072831, -STORE, 3486294016, 3486302207, -STORE, 3486302208, 3486306303, -STORE, 3486306304, 3486310399, -STORE, 3486310400, 3486314495, -STORE, 3486670848, 3486679039, -STORE, 3486679040, 3486683135, -STORE, 3486683136, 3486687231, -STORE, 3486687232, 3486691327, -STORE, 3486863360, 3486871551, -STORE, 3486871552, 3486875647, -STORE, 3486875648, 3486879743, -STORE, 3486879744, 3486883839, -STORE, 3487584256, 3522543615, -STORE, 3522543616, 3523321855, -STORE, 3523321856, 3523342335, -STORE, 3523342336, 3523387391, -STORE, 3523387392, 3523391487, -STORE, 3523391488, 3523395583, -STORE, 3523477504, 3523686399, -STORE, 3523686400, 3523981311, -STORE, 3523981312, 3523997695, -STORE, 3523997696, 3524001791, -STORE, 3524177920, 3525013503, -STORE, 3525013504, 3526582271, -STORE, 3526582272, 3526606847, -STORE, 3526606848, 3526610943, -STORE, 3526610944, 3526615039, -STORE, 3526672384, 3526746111, -STORE, 3526746112, 3526860799, -STORE, 3526860800, 3526868991, -STORE, 3526868992, 3526873087, -STORE, 3527000064, 3527475199, -STORE, 3527475200, 3527479295, -STORE, 3527479296, 3527573503, -STORE, 3527573504, 3527581695, -STORE, 3527581696, 3527585791, -STORE, 3527585792, 3527606271, -STORE, 3527909376, 3527913471, -STORE, 3527913472, 3527917567, -STORE, 3527917568, 3527921663, -STORE, 3527950336, 3528011775, -STORE, 3528011776, 3528093695, -STORE, 3528093696, 3528101887, -STORE, 3528101888, 3528105983, -STORE, 3528228864, 3528241151, -STORE, 3528241152, 3528261631, -STORE, 3528261632, 3528265727, -STORE, 3528273920, 3528593407, -STORE, 3528593408, 3528609791, -STORE, 3528609792, 3528638463, -STORE, 3528638464, 3528642559, -STORE, 3528642560, 3528646655, -STORE, 3528880128, 3528912895, -STORE, 3528912896, 3528962047, -STORE, 3528962048, 3528966143, -STORE, 3528966144, 3528970239, -STORE, 3528982528, 3530293247, -STORE, 3530366976, 3530825727, -STORE, 3530825728, 3531317247, -STORE, 3531317248, 3541041151, -STORE, 3541041152, 3541303295, -STORE, 3541430272, 3566206975, -STORE, 3566206976, 3566993407, -STORE, 3567239168, 3587571711, -STORE, 3587571712, 3588284415, -STORE, 3588284416, 3588661247, -STORE, 3588661248, 3589066751, -STORE, 3589066752, 3589574655, -STORE, 3589574656, 3590078463, -STORE, 3590078464, 3590373375, -STORE, 3590373376, 3590668287, -STORE, 3590668288, 3590963199, -STORE, 3590963200, 3591294975, -STORE, 3591294976, 3591602175, -STORE, 3591602176, 3591933951, -STORE, 3591933952, 3592241151, -STORE, 3592241152, 3592572927, -STORE, 3592572928, 3592876031, -STORE, 3592876032, 3593211903, -STORE, 3593211904, 3593547775, -STORE, 3593547776, 3593650175, -STORE, 3593650176, 3593928703, -STORE, 3593928704, 3593936895, -STORE, 3593936896, 3593940991, -STORE, 3594006528, 3594301439, -STORE, 3594301440, 3594739711, -STORE, 3594739712, 3594756095, -STORE, 3594756096, 3594760191, -STORE, 3594760192, 3594768383, -STORE, 3594952704, 3595051007, -STORE, 3595051008, 3595223039, -STORE, 3595223040, 3595227135, -STORE, 3595227136, 3595235327, -STORE, 3595431936, 3595775999, -STORE, 3595776000, 3596701695, -STORE, 3596701696, 3596742655, -STORE, 3596742656, 3596746751, -STORE, 3596746752, 3596750847, -STORE, 3596767232, 3597070335, -STORE, 3597070336, 3597402111, -STORE, 3597402112, 3598188543, -STORE, 3598262272, 3623428095, -STORE, 3623428096, 3623432191, -STORE, 3623432192, 3623436287, -STORE, 3623436288, 3623440383, -STORE, 3623616512, 3623878655, -STORE, 3624169472, 3624300543, -STORE, 3627524096, 3628523519, -STORE, 3628523520, 3629522943, -STORE, 3696631808, 3730186239, -STORE, 3730186240, 3763740671, -STORE, 3763740672, 3764027391, -STORE, 3764027392, 3765133311, -STORE, 3765133312, 3765145599, -STORE, 3765145600, 3765149695, -STORE, 3765178368, 3766022143, -STORE, 3766022144, 3768791039, -STORE, 3768791040, 3768840191, -STORE, 3768840192, 3768844287, -STORE, 3768897536, 3768913919, -STORE, 3768913920, 3768934399, -STORE, 3768934400, 3768938495, -STORE, 3769016320, 3769147391, -STORE, 3769147392, 3769233407, -STORE, 3769233408, 3769356287, -STORE, 3769356288, 3769360383, -STORE, 3769360384, 3769368575, -STORE, 3769376768, 3794542591, -STORE, 3794542592, 3794599935, -STORE, 3794599936, 3794731007, -STORE, 3794731008, 3794735103, -STORE, 3794735104, 3794743295, -STORE, 3794849792, 3794980863, -STORE, 3794980864, 3794984959, -STORE, 3794984960, 3794989055, -STORE, 3794989056, 3794993151, -STORE, 3794993152, 3794997247, -STORE, 3795103744, 3795128319, -STORE, 3795128320, 3795165183, -STORE, 3795165184, 3795169279, -STORE, 3795169280, 3795173375, -STORE, 3795210240, 3795357695, -STORE, 3795357696, 3795365887, -STORE, 3795365888, 3795374079, -STORE, 3795374080, 3795378175, -STORE, 3795378176, 3795382271, -STORE, 3795406848, 3795738623, -STORE, 3795738624, 3795742719, -STORE, 3795742720, 3795755007, -STORE, 3795755008, 3795759103, -STORE, 3795763200, 3795894271, -STORE, 3795894272, 3796041727, -STORE, 3796041728, 3796054015, -STORE, 3796054016, 3796066303, -STORE, 3796066304, 3796070399, -STORE, 3796176896, 3796205567, -STORE, 3796205568, 3796250623, -STORE, 3796250624, 3796254719, -STORE, 3796254720, 3796258815, -STORE, 3796262912, 3796393983, -STORE, 3796393984, 3796516863, -STORE, 3796516864, 3796873215, -STORE, 3796873216, 3796885503, -STORE, 3796885504, 3796889599, -STORE, 3796963328, 3796967423, -STORE, 3796967424, 3796975615, -STORE, 3796975616, 3796979711, -STORE, 3797000192, 3797307391, -STORE, 3797307392, 3797311487, -STORE, 3797311488, 3797315583, -STORE, 3797315584, 3797323775, -STORE, 3797327872, 3797450751, -STORE, 3797450752, 3797458943, -STORE, 3797458944, 3797471231, -STORE, 3797471232, 3797475327, -STORE, 3797577728, 3797700607, -STORE, 3797700608, 3797721087, -STORE, 3797721088, 3797733375, -STORE, 3797733376, 3797741567, -STORE, 3797741568, 3797864447, -STORE, 3797864448, 3797995519, -STORE, 3797995520, 3798048767, -STORE, 3798048768, 3798179839, -STORE, 3798179840, 3798188031, -STORE, 3798188032, 3798192127, -STORE, 3798290432, 3798302719, -STORE, 3798302720, 3798323199, -STORE, 3798323200, 3798327295, -STORE, 3798327296, 3798331391, -STORE, 3798429696, 3798433791, -STORE, 3798433792, 3798552575, -STORE, 3798552576, 3798556671, -STORE, 3798556672, 3798568959, -STORE, 3798568960, 3798573055, -STORE, 3798573056, 3798581247, -STORE, 3798618112, 3798749183, -STORE, 3798749184, 3798855679, -STORE, 3798855680, 3798966271, -STORE, 3798966272, 3798982655, -STORE, 3798982656, 3798986751, -STORE, 3799101440, 3799171071, -STORE, 3799171072, 3799240703, -STORE, 3799240704, 3799248895, -STORE, 3799248896, 3799252991, -STORE, 3799326720, 3799650303, -STORE, 3799650304, 3800629247, -STORE, 3800629248, 3800641535, -STORE, 3800641536, 3800645631, -STORE, 3800645632, 3800649727, -STORE, 3800649728, 3800903679, -STORE, 3800903680, 3800936447, -STORE, 3800936448, 3800969215, -STORE, 3800969216, 3800981503, -STORE, 3800981504, 3800985599, -STORE, 3801001984, 3801133055, -STORE, 3801133056, 3801202687, -STORE, 3801202688, 3801591807, -STORE, 3801591808, 3801599999, -STORE, 3801600000, 3801604095, -STORE, 3801604096, 3801608191, -STORE, 3801608192, 3801739263, -STORE, 3801739264, 3801755647, -STORE, 3801755648, 3801796607, -STORE, 3801796608, 3801804799, -STORE, 3801804800, 3801808895, -STORE, 3801878528, 3801944063, -STORE, 3801944064, 3802116095, -STORE, 3802116096, 3802124287, -STORE, 3802124288, 3802128383, -STORE, 3802136576, 3803447295, -STORE, 3803492352, 3803553791, -STORE, 3803553792, 3804233727, -STORE, 3804233728, 3806068735, -STORE, 3806121984, 3806253055, -STORE, 3806253056, 3806674943, -STORE, 3806674944, 3807117311, -STORE, 3807117312, 3807379455, -STORE, 3807379456, 3807432703, -STORE, 3807432704, 3807563775, -STORE, 3807563776, 3809202175, -STORE, 3809202176, 3810250751, -STORE, 3810250752, 3827027967, -STORE, 3827027968, 3829125119, -STORE, 3829125120, 3837513727, -STORE, 3837513728, 3839610879, -STORE, 3839610880, 3847999487, -STORE, 3847999488, 3856392191, -STORE, 3856392192, 3864784895, -STORE, 3864784896, 3868983295, -STORE, 3868983296, 3885760511, -STORE, 3885760512, 3886809087, -STORE, 3886809088, 3887857663, -STORE, 3887857664, 3888119807, -STORE, 3888144384, 3888148479, -STORE, 3888148480, 3888218111, -STORE, 3888218112, 3888222207, -STORE, 3888222208, 3888353279, -STORE, 3888353280, 3889172479, -STORE, 3889172480, 3892314111, -STORE, 3892314112, 3892576255, -STORE, 3892588544, 3892637695, -STORE, 3892637696, 3892686847, -STORE, 3892686848, 3892744191, -STORE, 3892748288, 3892785151, -STORE, 3892785152, 3895459839, -STORE, 3895459840, 3895721983, -STORE, 3895738368, 3895885823, -STORE, 3895885824, 3897081855, -STORE, 3897081856, 3906482175, -STORE, 3906482176, 3916144639, -STORE, 3916144640, 3925766143, -STORE, 3925766144, 3926974463, -STORE, 3926974464, 3928367103, -STORE, 3928367104, 3928911871, -STORE, 3928911872, 3933995007, -STORE, 3933995008, 3935830015, -STORE, 3935830016, 3935846399, -STORE, 3935879168, 3936010239, -STORE, 3936010240, 3936026623, -STORE, 3936026624, 3936034815, -STORE, 3936034816, 3936051199, -STORE, 3936051200, 3936055295, -STORE, 3936071680, 3936137215, -STORE, 3936137216, 3936202751, -STORE, 3936202752, 3936219135, -STORE, 3936235520, 3936251903, -STORE, 3936268288, 3936276479, -STORE, 3936276480, 3936284671, -STORE, 3936284672, 3936288767, -STORE, 3936288768, 3936292863, -STORE, 3936296960, 3936354303, -STORE, 3936354304, 3936616447, -STORE, 3936628736, 3936669695, -STORE, 3936669696, 3936747519, -STORE, 3936747520, 3936870399, -STORE, 3936870400, 3936874495, -STORE, 3936874496, 3936878591, -STORE, 3936882688, 3936903167, -STORE, 3936911360, 3936948223, -STORE, 3936948224, 3936964607, -STORE, 3936964608, 3937103871, -STORE, 3937103872, 3937107967, -STORE, 3937132544, 3937161215, -STORE, 3937189888, 3937255423, -STORE, 3937255424, 3938512895, -STORE, 3938512896, 3945435135, -STORE, 3945435136, 3945476095, -STORE, 3945476096, 3945484287, -STORE, 3945484288, 3945496575, -STORE, 3945500672, 3945541631, -STORE, 3945558016, 3945566207, -STORE, 3945566208, 3945594879, -STORE, 3945594880, 3945598975, -STORE, 3945598976, 3945603071, -STORE, 3945611264, 3945742335, -STORE, 3945742336, 3945844735, -STORE, 3945844736, 3945848831, -STORE, 3945848832, 3945861119, -STORE, 3945861120, 3945865215, -STORE, 3945869312, 3945897983, -STORE, 3945897984, 3946303487, -STORE, 3946303488, 3946397695, -STORE, 3946397696, 3946569727, -STORE, 3946569728, 3946573823, -STORE, 3946573824, 3946594303, -STORE, 3946594304, 3946663935, -STORE, 3946663936, 3946708991, -STORE, 3946708992, 3946823679, -STORE, 3946823680, 3946827775, -STORE, 3946827776, 3946831871, -STORE, 3946831872, 3946860543, -STORE, 3946893312, 3946897407, -STORE, 3946897408, 3946905599, -STORE, 3946905600, 3946909695, -STORE, 3946909696, 3946913791, -STORE, 3946913792, 3946930175, -STORE, 3946930176, 3946967039, -STORE, 3946967040, 3947102207, -STORE, 3947102208, 3948412927, -STORE, 3948441600, 3948556287, -STORE, 3948556288, 3948576767, -STORE, 3948576768, 3948597247, -STORE, 3948597248, 3948605439, -STORE, 3948605440, 3948609535, -STORE, 3948609536, 3948654591, -STORE, 3948654592, 3948781567, -STORE, 3948781568, 3948822527, -STORE, 3948822528, 3948904447, -STORE, 3948904448, 3948908543, -STORE, 3948908544, 3948912639, -STORE, 3948945408, 3949043711, -STORE, 3949043712, 3949174783, -STORE, 3949174784, 3949191167, -STORE, 3949191168, 3949195263, -STORE, 3949207552, 3949252607, -STORE, 3949252608, 3949256703, -STORE, 3949256704, 3949363199, -STORE, 3949363200, 3949367295, -STORE, 3949367296, 3949379583, -STORE, 3949379584, 3949383679, -STORE, 3949383680, 3949400063, -STORE, 3949400064, 3949404159, -STORE, 3949416448, 3949481983, -STORE, 3949481984, 3949486079, -STORE, 3949486080, 3949592575, -STORE, 3949592576, 3949596671, -STORE, 3949596672, 3949621247, -STORE, 3949621248, 3949662207, -STORE, 3949662208, 3949666303, -STORE, 3949694976, 3949727743, -STORE, 3949727744, 3949731839, -STORE, 3949731840, 3949838335, -STORE, 3949838336, 3949842431, -STORE, 3949842432, 3949846527, -STORE, 3949846528, 3949854719, -STORE, 3949854720, 3949858815, -STORE, 3949858816, 3949862911, -STORE, 3949867008, 3949891583, -STORE, 3949891584, 3949928447, -STORE, 3949928448, 3949993983, -STORE, 3949993984, 3950043135, -STORE, 3950043136, 3950059519, -STORE, 3950059520, 3950096383, -STORE, 3950096384, 3950100479, -STORE, 3950100480, 3950104575, -STORE, 3950104576, 3950157823, -STORE, 3950157824, 3950292991, -STORE, 3950292992, 3950346239, -STORE, 3950346240, 3950477311, -STORE, 3950477312, 3950485503, -STORE, 3950485504, 3950489599, -STORE, 3950493696, 3950510079, -STORE, 3950510080, 3950661631, -STORE, 3950661632, 3951005695, -STORE, 3951005696, 3951026175, -STORE, 3951026176, 3951030271, -STORE, 3951030272, 3951054847, -STORE, 3951054848, 3951116287, -STORE, 3951116288, 3951144959, -STORE, 3951144960, 3951149055, -STORE, 3951149056, 3951194111, -STORE, 3951194112, 3951202303, -STORE, 3951202304, 3951206399, -STORE, 3951210496, 3951226879, -STORE, 3951226880, 3951329279, -STORE, 3951329280, 3951366143, -STORE, 3951366144, 3951411199, -STORE, 3951411200, 3951415295, -STORE, 3951415296, 3951419391, -STORE, 3951419392, 3951452159, -STORE, 3951452160, 3951566847, -STORE, 3951566848, 3951812607, -STORE, 3951812608, 3952173055, -STORE, 3952173056, 3952214015, -STORE, 3952214016, 3952218111, -STORE, 3952222208, 3952250879, -STORE, 3952250880, 3952369663, -STORE, 3952369664, 3952488447, -STORE, 3952488448, 3952627711, -STORE, 3952627712, 3952635903, -STORE, 3952635904, 3952639999, -STORE, 3952652288, 3952668671, -STORE, 3952668672, 3953000447, -STORE, 3953000448, 3953004543, -STORE, 3953004544, 3953008639, -STORE, 3953008640, 3953012735, -STORE, 3953012736, 3953037311, -STORE, 3953037312, 3953151999, -STORE, 3953152000, 3953291263, -STORE, 3953291264, 3953324031, -STORE, 3953324032, 3953364991, -STORE, 3953364992, 3953373183, -STORE, 3953373184, 3953377279, -STORE, 3953381376, 3953410047, -STORE, 3953410048, 3953491967, -STORE, 3953491968, 3953643519, -STORE, 3953643520, 3953651711, -STORE, 3953651712, 3953655807, -STORE, 3953659904, 3953766399, -STORE, 3953766400, 3953774591, -STORE, 3953774592, 3953786879, -STORE, 3953786880, 3953790975, -STORE, 3953790976, 3953823743, -STORE, 3953823744, 3953963007, -STORE, 3953963008, 3954024447, -STORE, 3954024448, 3954118655, -STORE, 3954118656, 3954122751, -STORE, 3954122752, 3954126847, -STORE, 3954130944, 3954184191, -STORE, 3954184192, 3954294783, -STORE, 3954294784, 3954323455, -STORE, 3954323456, 3954393087, -STORE, 3954393088, 3954397183, -STORE, 3954397184, 3954401279, -STORE, 3954401280, 3954405375, -STORE, 3954409472, 3954528255, -STORE, 3954528256, 3954737151, -STORE, 3954737152, 3955052543, -STORE, 3955052544, 3955060735, -STORE, 3955060736, 3955064831, -STORE, 3955068928, 3955105791, -STORE, 3955105792, 3955167231, -STORE, 3955167232, 3955277823, -STORE, 3955277824, 3955310591, -STORE, 3955310592, 3955351551, -STORE, 3955351552, 3955359743, -STORE, 3955359744, 3955363839, -STORE, 3955363840, 3955392511, -STORE, 3955392512, 3955453951, -STORE, 3955453952, 3955601407, -STORE, 3955601408, 3955777535, -STORE, 3955777536, 3955982335, -STORE, 3955982336, 3956011007, -STORE, 3956011008, 3956015103, -STORE, 3956023296, 3956039679, -STORE, 3956039680, 3956125695, -STORE, 3956125696, 3956129791, -STORE, 3956129792, 3956133887, -STORE, 3956133888, 3956137983, -STORE, 3956142080, 3956449279, -STORE, 3956449280, 3956543487, -STORE, 3956543488, 3956719615, -STORE, 3956719616, 3956731903, -STORE, 3956731904, 3956735999, -STORE, 3956744192, 3956793343, -STORE, 3956793344, 3956887551, -STORE, 3956887552, 3956953087, -STORE, 3956953088, 3957035007, -STORE, 3957035008, 3957039103, -STORE, 3957039104, 3957047295, -STORE, 3957047296, 3957071871, -STORE, 3957071872, 3957231615, -STORE, 3957231616, 3957563391, -STORE, 3957563392, 3957579775, -STORE, 3957579776, 3957583871, -STORE, 3957592064, 3957608447, -STORE, 3957608448, 3957878783, -STORE, 3957878784, 3958591487, -STORE, 3958591488, 3958599679, -STORE, 3958599680, 3958607871, -STORE, 3958607872, 3958620159, -STORE, 3958620160, 3958624255, -STORE, 3958624256, 3963199487, -STORE, 3963199488, 3963285503, -STORE, 3963285504, 3963371519, -STORE, 3963371520, 3963428863, -STORE, 3963428864, 3963555839, -STORE, 3963555840, 3963559935, -STORE, 3963559936, 3963564031, -STORE, 3963568128, 3963596799, -STORE, 3963596800, 3963682815, -STORE, 3963682816, 3963695103, -STORE, 3963695104, 3963711487, -STORE, 3963711488, 3963715583, -STORE, 3963719680, 3963752447, -STORE, 3963752448, 3963846655, -STORE, 3963846656, 3963932671, -STORE, 3963932672, 3964444671, -STORE, 3964444672, 3964448767, -STORE, 3964448768, 3965808639, -STORE, 3965808640, 3965845503, -STORE, 3965845504, 3965849599, -STORE, 3965853696, 3965935615, -STORE, 3965935616, 3966017535, -STORE, 3966017536, 3966103551, -STORE, 3966103552, 3966685183, -STORE, 3966685184, 3967705087, -STORE, 3967705088, 3967758335, -STORE, 3967758336, 3967762431, -STORE, 3967762432, 3967770623, -STORE, 3967770624, 3967799295, -STORE, 3967799296, 3967848447, -STORE, 3967848448, 3967868927, -STORE, 3967868928, 3967901695, -STORE, 3967901696, 3967905791, -STORE, 3967905792, 3967909887, -STORE, 3967909888, 3967995903, -STORE, 3967995904, 3968077823, -STORE, 3968077824, 3968159743, -STORE, 3968159744, 3968167935, -STORE, 3968167936, 3968172031, -STORE, 3968172032, 3968192511, -STORE, 3968192512, 3968196607, -STORE, 3968196608, 3968200703, -STORE, 3968208896, 3968516095, -STORE, 3968516096, 3968528383, -STORE, 3968528384, 3968552959, -STORE, 3968552960, 3968557055, -STORE, 3968561152, 3968593919, -STORE, 3968593920, 3968626687, -STORE, 3968626688, 3971153919, -STORE, 3971153920, 3973754879, -STORE, 3973754880, 3973804031, -STORE, 3973804032, 3973820415, -STORE, 3973820416, 3973832703, -STORE, 3973840896, 3973873663, -STORE, 3973873664, 3973967871, -STORE, 3973967872, 3973976063, -STORE, 3973976064, 3973984255, -STORE, 3973984256, 3973988351, -STORE, 3973988352, 3973992447, -STORE, 3973996544, 3974008831, -STORE, 3974008832, 3974045695, -STORE, 3974045696, 3974139903, -STORE, 3974139904, 3974254591, -STORE, 3974254592, 3974275071, -STORE, 3974275072, 3974291455, -STORE, 3974291456, 3974295551, -STORE, 3974295552, 3974373375, -STORE, 3974373376, 3974524927, -STORE, 3974524928, 3974529023, -STORE, 3974529024, 3974537215, -STORE, 3974537216, 3974541311, -STORE, 3974541312, 3974545407, -STORE, 3974545408, 3974627327, -STORE, 3974627328, 3974680575, -STORE, 3974680576, 3974811647, -STORE, 3974811648, 3974819839, -STORE, 3974819840, 3974823935, -STORE, 3974832128, 3974918143, -STORE, 3974918144, 3974963199, -STORE, 3974963200, 3975077887, -STORE, 3975077888, 3975090175, -STORE, 3975090176, 3975094271, -STORE, 3975094272, 3975102463, -STORE, 3975102464, 3975114751, -STORE, 3975114752, 3975266303, -STORE, 3975266304, 3975274495, -STORE, 3975274496, 3975286783, -STORE, 3975286784, 3975290879, -STORE, 3975290880, 3975299071, -STORE, 3975299072, 3975315455, -STORE, 3975315456, 3975430143, -STORE, 3975430144, 3975536639, -STORE, 3975536640, 3975651327, -STORE, 3975651328, 3975655423, -STORE, 3975655424, 3975659519, -STORE, 3975659520, 3975770111, -STORE, 3975770112, 3975778303, -STORE, 3975778304, 3975790591, -STORE, 3975790592, 3975794687, -STORE, 3975794688, 3975798783, -STORE, 3975798784, 3975831551, -STORE, 3975831552, 3975872511, -STORE, 3975872512, 3975987199, -STORE, 3975987200, 3976134655, -STORE, 3976134656, 3977175039, -STORE, 3977175040, 3977183231, -STORE, 3977183232, 3977191423, -STORE, 3977191424, 3977195519, -STORE, 3977199616, 3977248767, -STORE, 3977248768, 3977539583, -STORE, 3977539584, 3977965567, -STORE, 3977965568, 3977981951, -STORE, 3977981952, 3977986047, -STORE, 3977986048, 3977994239, -STORE, 3977994240, 3978002431, -STORE, 3978002432, 3978084351, -STORE, 3978084352, 3978125311, -STORE, 3978125312, 3978174463, -STORE, 3978174464, 3978178559, -STORE, 3978178560, 3978182655, -STORE, 3978182656, 3978207231, -STORE, 3978207232, 3978297343, -STORE, 3978297344, 3978301439, -STORE, 3978301440, 3978305535, -STORE, 3978305536, 3978309631, -STORE, 3978309632, 3978317823, -STORE, 3978317824, 3978625023, -STORE, 3978625024, 3978657791, -STORE, 3978657792, 3978727423, -STORE, 3978727424, 3978735615, -STORE, 3978735616, 3978739711, -STORE, 3978739712, 3978760191, -STORE, 3978760192, 3978842111, -STORE, 3978842112, 3978850303, -STORE, 3978850304, 3978858495, -STORE, 3978858496, 3978862591, -STORE, 3978862592, 3978895359, -STORE, 3978895360, 3979014143, -STORE, 3979014144, 3979132927, -STORE, 3979132928, 3979288575, -STORE, 3979288576, 3979481087, -STORE, 3979481088, 3979489279, -STORE, 3979489280, 3979493375, -STORE, 3979497472, 3979583487, -STORE, 3979583488, 3979673599, -STORE, 3979673600, 3979718655, -STORE, 3979718656, 3979829247, -STORE, 3979829248, 3979841535, -STORE, 3979841536, 3979882495, -STORE, 3979882496, 3979964415, -STORE, 3979964416, 3980013567, -STORE, 3980013568, 3980148735, -STORE, 3980148736, 3980152831, -STORE, 3980152832, 3980320767, -STORE, 3980320768, 3980337151, -STORE, 3980337152, 3980341247, -STORE, 3980345344, 3980365823, -STORE, 3980365824, 3980423167, -STORE, 3980423168, 3980460031, -STORE, 3980460032, 3980500991, -STORE, 3980500992, 3980509183, -STORE, 3980509184, 3980513279, -STORE, 3980513280, 3980546047, -STORE, 3980546048, 3980660735, -STORE, 3980660736, 3980951551, -STORE, 3980951552, 3981500415, -STORE, 3981500416, 3981529087, -STORE, 3981529088, 3981533183, -STORE, 3981537280, 3981549567, -STORE, 3981549568, 3981598719, -STORE, 3981598720, 3981717503, -STORE, 3981717504, 3982127103, -STORE, 3982127104, 3982675967, -STORE, 3982675968, 3982733311, -STORE, 3982733312, 3982737407, -STORE, 3982741504, 3982860287, -STORE, 3982860288, 3982905343, -STORE, 3982905344, 3982966783, -STORE, 3982966784, 3982974975, -STORE, 3982974976, 3982979071, -STORE, 3982979072, 3983032319, -STORE, 3983032320, 3983085567, -STORE, 3983085568, 3983208447, -STORE, 3983208448, 3983212543, -STORE, 3983212544, 3983220735, -STORE, 3983220736, 3983224831, -STORE, 3983224832, 3983237119, -STORE, 3983237120, 3983351807, -STORE, 3983351808, 3983376383, -STORE, 3983376384, 3983392767, -STORE, 3983392768, 3983396863, -STORE, 3983396864, 3983400959, -STORE, 3983400960, 3983417343, -STORE, 3983417344, 3983753215, -STORE, 3983753216, 3983757311, -STORE, 3983757312, 3983761407, -STORE, 3983761408, 3983765503, -STORE, 3983765504, 3983769599, -STORE, 3983769600, 3983880191, -STORE, 3983880192, 3983892479, -STORE, 3983892480, 3983900671, -STORE, 3983900672, 3983904767, -STORE, 3983904768, 3983908863, -STORE, 3983908864, 3983941631, -STORE, 3983941632, 3983990783, -STORE, 3983990784, 3984097279, -STORE, 3984097280, 3984105471, -STORE, 3984105472, 3984117759, -STORE, 3984117760, 3984121855, -STORE, 3984121856, 3984125951, -STORE, 3984125952, 3984134143, -STORE, 3984134144, 3984150527, -STORE, 3984150528, 3984416767, -STORE, 3984416768, 3984470015, -STORE, 3984470016, 3984564223, -STORE, 3984564224, 3984568319, -STORE, 3984572416, 3984629759, -STORE, 3984629760, 3984805887, -STORE, 3984805888, 3985096703, -STORE, 3985096704, 3985104895, -STORE, 3985104896, 3985108991, -STORE, 3985113088, 3986862079, -STORE, 3986862080, 3993640959, -STORE, 3993640960, 3993739263, -STORE, 3993739264, 3993743359, -STORE, 3993743360, 3993759743, -STORE, 3993759744, 3993780223, -STORE, 3993780224, 3993784319, -STORE, 3993784320, 3993792511, -STORE, 3993792512, 3993796607, -STORE, 3993796608, 3993800703, -STORE, 3993804800, 3994214399, -STORE, 3994214400, 3994218495, -STORE, 3994218496, 3994222591, -STORE, 3994222592, 3994226687, -STORE, 3994230784, 3994243071, -STORE, 3994243072, 3994255359, -STORE, 3994255360, 3994304511, -STORE, 3994304512, 3994386431, -STORE, 3994386432, 3994509311, -STORE, 3994509312, 3994521599, -STORE, 3994521600, 3994525695, -STORE, 3994529792, 3994542079, -STORE, 3994542080, 3994660863, -STORE, 3994660864, 3994705919, -STORE, 3994705920, 3994796031, -STORE, 3994796032, 3994800127, -STORE, 3994800128, 3994804223, -STORE, 3994804224, 3994812415, -STORE, 3994812416, 3994845183, -STORE, 3994845184, 3994898431, -STORE, 3994898432, 3994902527, -STORE, 3994902528, 3994906623, -STORE, 3994910720, 3994931199, -STORE, 3994931200, 3995181055, -STORE, 3995181056, 3995222015, -STORE, 3995222016, 3995275263, -STORE, 3995275264, 3995279359, -STORE, 3995279360, 3995283455, -STORE, 3995283456, 3995291647, -STORE, 3995291648, 3995324415, -STORE, 3995324416, 3995451391, -STORE, 3995451392, 3995697151, -STORE, 3995697152, 3996078079, -STORE, 3996078080, 3996086271, -STORE, 3996086272, 3996090367, -STORE, 3996094464, 3996119039, -STORE, 3996119040, 3996200959, -STORE, 3996200960, 3996229631, -STORE, 3996229632, 3996233727, -STORE, 3996233728, 3996282879, -STORE, 3996282880, 3996291071, -STORE, 3996291072, 3996295167, -STORE, 3996299264, 3996311551, -STORE, 3996311552, 3996430335, -STORE, 3996430336, 3996467199, -STORE, 3996467200, 3996504063, -STORE, 3996504064, 3996512255, -STORE, 3996512256, 3996516351, -STORE, 3996516352, 3996540927, -STORE, 3996540928, 3996671999, -STORE, 3996672000, 3996676095, -STORE, 3996676096, 3996684287, -STORE, 3996684288, 3996688383, -STORE, 3996688384, 3996692479, -STORE, 3996692480, 3996717055, -STORE, 3996717056, 3997048831, -STORE, 3997048832, 3997057023, -STORE, 3997057024, 3997073407, -STORE, 3997073408, 3997077503, -STORE, 3997077504, 3997081599, -STORE, 3997081600, 3997097983, -STORE, 3997097984, 3997179903, -STORE, 3997179904, 3997356031, -STORE, 3997356032, 3997650943, -STORE, 3997650944, 3997675519, -STORE, 3997675520, 3997679615, -STORE, 3997683712, 3997700095, -STORE, 3997700096, 3997745151, -STORE, 3997745152, 3997802495, -STORE, 3997802496, 3997810687, -STORE, 3997810688, 3997814783, -STORE, 3997814784, 3998064639, -STORE, 3998064640, 3998081023, -STORE, 3998081024, 3998085119, -STORE, 3998085120, 3998130175, -STORE, 3998130176, 3998134271, -STORE, 3998134272, 3998142463, -STORE, 3998142464, 3998179327, -STORE, 3998179328, 3998212095, -STORE, 3998212096, 3998326783, -STORE, 3998326784, 3998351359, -STORE, 3998351360, 3998392319, -STORE, 3998392320, 3998396415, -STORE, 3998396416, 3998400511, -STORE, 3998400512, 3998433279, -STORE, 3998433280, 3998466047, -STORE, 3998466048, 3998613503, -STORE, 3998613504, 3998666751, -STORE, 3998666752, 3998724095, -STORE, 3998724096, 3998732287, -STORE, 3998732288, 3998736383, -STORE, 3998736384, 3998760959, -STORE, 3998760960, 3998777343, -STORE, 3998777344, 3998822399, -STORE, 3998822400, 3998826495, -STORE, 3998826496, 3998830591, -STORE, 3998830592, 3998863359, -STORE, 3998863360, 3998900223, -STORE, 3998900224, 3999043583, -STORE, 3999043584, 3999121407, -STORE, 3999121408, 3999215615, -STORE, 3999215616, 3999223807, -STORE, 3999223808, 3999227903, -STORE, 3999227904, 3999236095, -STORE, 3999236096, 3999268863, -STORE, 3999268864, 3999301631, -STORE, 3999301632, 3999354879, -STORE, 3999354880, 3999428607, -STORE, 3999428608, 3999436799, -STORE, 3999436800, 3999440895, -STORE, 3999444992, 3999461375, -STORE, 3999461376, 3999584255, -STORE, 3999584256, 3999760383, -STORE, 3999760384, 4000219135, -STORE, 4000219136, 4000235519, -STORE, 4000235520, 4000251903, -STORE, 4000251904, 4000501759, -STORE, 4000501760, 4000505855, -STORE, 4000505856, 4000509951, -STORE, 4000509952, 4000518143, -STORE, 4000518144, 4000522239, -STORE, 4000522240, 4000587775, -STORE, 4000587776, 4000645119, -STORE, 4000645120, 4000813055, -STORE, 4000813056, 4000817151, -STORE, 4000821248, 4000837631, -STORE, 4000837632, 4000870399, -STORE, 4000870400, 4000874495, -STORE, 4000874496, 4000878591, -STORE, 4000878592, 4000882687, -STORE, 4000882688, 4000886783, -STORE, 4000886784, 4000890879, -STORE, 4000890880, 4000907263, -STORE, 4000907264, 4001214463, -STORE, 4001214464, 4001558527, -STORE, 4001558528, 4002484223, -STORE, 4002484224, 4002525183, -STORE, 4002525184, 4002529279, -STORE, 4002529280, 4002533375, -STORE, 4002533376, 4002537471, -STORE, 4002537472, 4002660351, -STORE, 4002660352, 4002779135, -STORE, 4002779136, 4002791423, -STORE, 4002791424, 4002799615, -STORE, 4002799616, 4002807807, -STORE, 4002807808, 4002811903, -STORE, 4002811904, 4002828287, -STORE, 4002828288, 4002910207, -STORE, 4002910208, 4003028991, -STORE, 4003028992, 4003037183, -STORE, 4003037184, 4003045375, -STORE, 4003045376, 4003049471, -STORE, 4003049472, 4003053567, -STORE, 4003053568, 4003057663, -STORE, 4003057664, 4003065855, -STORE, 4003065856, 4003135487, -STORE, 4003135488, 4003446783, -STORE, 4003446784, 4003450879, -STORE, 4003450880, 4003454975, -STORE, 4003454976, 4003459071, -STORE, 4003459072, 4003463167, -STORE, 4003463168, 4003495935, -STORE, 4003495936, 4003569663, -STORE, 4003569664, 4003573759, -STORE, 4003573760, 4003704831, -STORE, 4003704832, 4003708927, -STORE, 4003708928, 4003713023, -STORE, 4003713024, 4003737599, -STORE, 4003737600, 4003770367, -STORE, 4003770368, 4003876863, -STORE, 4003876864, 4003880959, -STORE, 4003880960, 4003885055, -STORE, 4003885056, 4003889151, -STORE, 4003889152, 4003893247, -STORE, 4003893248, 4003897343, -STORE, 4003897344, 4003962879, -STORE, 4003962880, 4004069375, -STORE, 4004069376, 4004093951, -STORE, 4004093952, 4004118527, -STORE, 4004118528, 4004122623, -STORE, 4004122624, 4004126719, -STORE, 4004126720, 4004155391, -STORE, 4004155392, 4004286463, -STORE, 4004286464, 4004384767, -STORE, 4004384768, 4004388863, -STORE, 4004388864, 4004646911, -STORE, 4004646912, 4004655103, -STORE, 4004655104, 4004659199, -STORE, 4004659200, 4004667391, -STORE, 4004667392, 4004683775, -STORE, 4004683776, 4004814847, -STORE, 4004814848, 4004818943, -STORE, 4004818944, 4004823039, -STORE, 4004823040, 4004827135, -STORE, 4004827136, 4004835327, -STORE, 4004835328, 4004954111, -STORE, 4004954112, 4005085183, -STORE, 4005085184, 4005306367, -STORE, 4005306368, 4005765119, -STORE, 4005765120, 4005789695, -STORE, 4005789696, 4005793791, -STORE, 4005793792, 4005801983, -STORE, 4005801984, 4005920767, -STORE, 4005920768, 4005945343, -STORE, 4005945344, 4005949439, -STORE, 4005949440, 4005986303, -STORE, 4005986304, 4005990399, -STORE, 4005990400, 4005994495, -STORE, 4005994496, 4006002687, -STORE, 4006002688, 4006109183, -STORE, 4006109184, 4006117375, -STORE, 4006117376, 4006121471, -STORE, 4006121472, 4006133759, -STORE, 4006133760, 4006137855, -STORE, 4006137856, 4006141951, -STORE, 4006141952, 4006150143, -STORE, 4006150144, 4006391807, -STORE, 4006391808, 4006445055, -STORE, 4006445056, 4006563839, -STORE, 4006563840, 4006572031, -STORE, 4006572032, 4006576127, -STORE, 4006576128, 4006584319, -STORE, 4006584320, 4006694911, -STORE, 4006694912, 4006739967, -STORE, 4006739968, 4006776831, -STORE, 4006776832, 4006785023, -STORE, 4006785024, 4006789119, -STORE, 4006789120, 4006797311, -STORE, 4006797312, 4006813695, -STORE, 4006813696, 4006846463, -STORE, 4006846464, 4006977535, -STORE, 4006977536, 4007006207, -STORE, 4007006208, 4007010303, -STORE, 4007010304, 4007067647, -STORE, 4007067648, 4007075839, -STORE, 4007075840, 4007084031, -STORE, 4007084032, 4007100415, -STORE, 4007100416, 4007116799, -STORE, 4007116800, 4007133183, -STORE, 4007133184, 4007153663, -STORE, 4007153664, 4007178239, -STORE, 4007178240, 4007202815, -STORE, 4007202816, 4007206911, -STORE, 4007206912, 4007272447, -STORE, 4007272448, 4007276543, -STORE, 4007276544, 4007280639, -STORE, 4007280640, 4007284735, -STORE, 4007284736, 4007292927, -STORE, 4007292928, 4007423999, -STORE, 4007424000, 4007448575, -STORE, 4007448576, 4007452671, -STORE, 4007452672, 4007505919, -STORE, 4007505920, 4007510015, -STORE, 4007510016, 4007514111, -STORE, 4007514112, 4007645183, -STORE, 4007645184, 4007776255, -STORE, 4007776256, 4007780351, -STORE, 4007780352, 4007784447, -STORE, 4007784448, 4007788543, -STORE, 4007788544, 4007809023, -STORE, 4007809024, 4007829503, -STORE, 4007829504, 4007960575, -STORE, 4007960576, 4008091647, -STORE, 4008091648, 4008296447, -STORE, 4008296448, 4008890367, -STORE, 4008890368, 4008898559, -STORE, 4008898560, 4008902655, -STORE, 4008902656, 4008996863, -STORE, 4008996864, 4009041919, -STORE, 4009041920, 4009082879, -STORE, 4009082880, 4009091071, -STORE, 4009091072, 4009107455, -STORE, 4009107456, 4009349119, -STORE, 4009349120, 4009373695, -STORE, 4009373696, 4009414655, -STORE, 4009414656, 4009422847, -STORE, 4009422848, 4009426943, -STORE, 4009426944, 4009447423, -STORE, 4009447424, 4009471999, -STORE, 4009472000, 4009512959, -STORE, 4009512960, 4009594879, -STORE, 4009594880, 4009598975, -STORE, 4009598976, 4009697279, -STORE, 4009697280, 4009713663, -STORE, 4009713664, 4009717759, -STORE, 4009717760, 4009721855, -STORE, 4009721856, 4009730047, -STORE, 4009730048, 4009861119, -STORE, 4009861120, 4009951231, -STORE, 4009951232, 4010131455, -STORE, 4010131456, 4010135551, -STORE, 4010135552, 4010139647, -STORE, 4010139648, 4010143743, -STORE, 4010143744, 4010164223, -STORE, 4010164224, 4010295295, -STORE, 4010295296, 4010299391, -STORE, 4010299392, 4010491903, -STORE, 4010491904, 4010495999, -STORE, 4010496000, 4010668031, -STORE, 4010668032, 4011028479, -STORE, 4011028480, 4011053055, -STORE, 4011053056, 4011057151, -STORE, 4011057152, 4011118591, -STORE, 4011118592, 4011126783, -STORE, 4011126784, 4011130879, -STORE, 4011130880, 4011143167, -STORE, 4011143168, 4011147263, -STORE, 4011147264, 4011167743, -STORE, 4011167744, 4011171839, -STORE, 4011171840, 4011360255, -STORE, 4011360256, 4011364351, -STORE, 4011364352, 4011626495, -STORE, 4011626496, 4012216319, -STORE, 4012216320, 4012228607, -STORE, 4012228608, 4012232703, -STORE, 4012232704, 4012236799, -STORE, 4012236800, 4012240895, -STORE, 4012240896, 4012261375, -STORE, 4012261376, 4012392447, -STORE, 4012392448, 4012466175, -STORE, 4012466176, 4012597247, -STORE, 4012597248, 4012601343, -STORE, 4012601344, 4012605439, -STORE, 4012605440, 4012609535, -STORE, 4012609536, 4012679167, -STORE, 4012679168, 4013563903, -STORE, 4013563904, 4015366143, -STORE, 4015366144, 4015411199, -STORE, 4015411200, 4015415295, -STORE, 4015415296, 4015419391, -STORE, 4015419392, 4015542271, -STORE, 4015542272, 4015550463, -STORE, 4015550464, 4015558655, -STORE, 4015558656, 4015562751, -STORE, 4015562752, 4015583231, -STORE, 4015583232, 4015587327, -STORE, 4015587328, 4015603711, -STORE, 4015665152, 4015669247, -STORE, 4015669248, 4015812607, -STORE, 4015812608, 4015816703, -STORE, 4015816704, 4016111615, -STORE, 4016111616, 4016467967, -STORE, 4016467968, 4016508927, -STORE, 4016508928, 4016517119, -STORE, 4016517120, 4016525311, -STORE, 4016525312, 4016586751, -STORE, 4016586752, 4016664575, -STORE, 4016664576, 4016697343, -STORE, 4016697344, 4016742399, -STORE, 4016742400, 4016746495, -STORE, 4016746496, 4016750591, -STORE, 4016750592, 4016758783, -STORE, 4016799744, 4016844799, -STORE, 4016844800, 4016902143, -STORE, 4016902144, 4016992255, -STORE, 4016992256, 4017000447, -STORE, 4017000448, 4017004543, -STORE, 4017004544, 4017008639, -STORE, 4017008640, 4017016831, -STORE, 4017016832, 4017020927, -STORE, 4017020928, 4017127423, -STORE, 4017127424, 4017131519, -STORE, 4017131520, 4017229823, -STORE, 4017229824, 4017422335, -STORE, 4017422336, 4017438719, -STORE, 4017438720, 4017442815, -STORE, 4017442816, 4017446911, -STORE, 4017446912, 4017455103, -STORE, 4017455104, 4017766399, -STORE, 4017766400, 4017909759, -STORE, 4017909760, 4018081791, -STORE, 4018081792, 4018089983, -STORE, 4018089984, 4018094079, -STORE, 4018094080, 4018098175, -STORE, 4018098176, 4018327551, -STORE, 4018327552, 4018331647, -STORE, 4018331648, 4018339839, -STORE, 4018339840, 4018348031, -STORE, 4018348032, 4018610175, -STORE, 4018610176, 4018626559, -STORE, 4018626560, 4018647039, -STORE, 4018647040, 4018651135, -STORE, 4018651136, 4018749439, -STORE, 4018749440, 4018761727, -STORE, 4018761728, 4018802687, -STORE, 4018802688, 4018806783, -STORE, 4018806784, 4018810879, -STORE, 4018810880, 4018814975, -STORE, 4018814976, 4018823167, -STORE, 4018823168, 4018954239, -STORE, 4018954240, 4019007487, -STORE, 4019007488, 4019068927, -STORE, 4019068928, 4019077119, -STORE, 4019077120, 4019081215, -STORE, 4019081216, 4019093503, -STORE, 4019093504, 4019208191, -STORE, 4019208192, 4019232767, -STORE, 4019232768, 4019265535, -STORE, 4019265536, 4019269631, -STORE, 4019269632, 4019277823, -STORE, 4019277824, 4019458047, -STORE, 4019458048, 4019519487, -STORE, 4019519488, 4019613695, -STORE, 4019613696, 4019621887, -STORE, 4019621888, 4019625983, -STORE, 4019625984, 4019630079, -STORE, 4019630080, 4019744767, -STORE, 4019744768, 4019822591, -STORE, 4019822592, 4019929087, -STORE, 4019929088, 4019941375, -STORE, 4019941376, 4019945471, -STORE, 4019945472, 4019961855, -STORE, 4019961856, 4019994623, -STORE, 4019994624, 4019998719, -STORE, 4019998720, 4020002815, -STORE, 4020002816, 4020006911, -STORE, 4020006912, 4020011007, -STORE, 4020011008, 4020256767, -STORE, 4020256768, 4020326399, -STORE, 4020326400, 4020457471, -STORE, 4020457472, 4020469759, -STORE, 4020469760, 4020473855, -STORE, 4020473856, 4020482047, -STORE, 4020482048, 4020711423, -STORE, 4020711424, 4020715519, -STORE, 4020715520, 4020719615, -STORE, 4020719616, 4020723711, -STORE, 4020723712, 4020805631, -STORE, 4020805632, 4021051391, -STORE, 4021051392, 4021460991, -STORE, 4021460992, 4021469183, -STORE, 4021469184, 4021473279, -STORE, 4021473280, 4021571583, -STORE, 4021571584, 4021633023, -STORE, 4021633024, 4021727231, -STORE, 4021727232, 4021735423, -STORE, 4021735424, 4021739519, -STORE, 4021739520, 4021747711, -STORE, 4021747712, 4021829631, -STORE, 4021829632, 4021866495, -STORE, 4021866496, 4021919743, -STORE, 4021919744, 4021927935, -STORE, 4021927936, 4021932031, -STORE, 4021932032, 4021944319, -STORE, 4021944320, 4022157311, -STORE, 4022157312, 4022161407, -STORE, 4022161408, 4022173695, -STORE, 4022173696, 4022177791, -STORE, 4022177792, 4022472703, -STORE, 4022472704, 4022509567, -STORE, 4022509568, 4022583295, -STORE, 4022583296, 4022587391, -STORE, 4022587392, 4022591487, -STORE, 4022591488, 4022607871, -STORE, 4022607872, 4022657023, -STORE, 4022657024, 4022722559, -STORE, 4022722560, 4022730751, -STORE, 4022730752, 4022734847, -STORE, 4022734848, 4022865919, -STORE, 4022865920, 4022943743, -STORE, 4022943744, 4023062527, -STORE, 4023062528, 4023074815, -STORE, 4023074816, 4023078911, -STORE, 4023078912, 4023128063, -STORE, 4023128064, 4023218175, -STORE, 4023218176, 4023361535, -STORE, 4023361536, 4023373823, -STORE, 4023373824, 4023377919, -STORE, 4023377920, 4023558143, -STORE, 4023558144, 4023631871, -STORE, 4023631872, 4023816191, -STORE, 4023816192, 4023820287, -STORE, 4023820288, 4023824383, -STORE, 4023824384, 4023832575, -STORE, 4023832576, 4024078335, -STORE, 4024078336, 4024197119, -STORE, 4024197120, 4024389631, -STORE, 4024389632, 4024406015, -STORE, 4024406016, 4024410111, -STORE, 4024410112, 4024422399, -STORE, 4024422400, 4024619007, -STORE, 4024619008, 4024639487, -STORE, 4024639488, 4024655871, -STORE, 4024655872, 4024664063, -STORE, 4024664064, 4024668159, -STORE, 4024668160, 4024676351, -STORE, 4024676352, 4024905727, -STORE, 4024905728, 4024909823, -STORE, 4024909824, 4024918015, -STORE, 4024918016, 4024922111, -STORE, 4024922112, 4024930303, -STORE, 4024930304, 4025110527, -STORE, 4025110528, 4025176063, -STORE, 4025176064, 4025208831, -STORE, 4025208832, 4025212927, -STORE, 4025212928, 4025217023, -STORE, 4025217024, 4025348095, -STORE, 4025348096, 4025372671, -STORE, 4025372672, 4025458687, -STORE, 4025458688, 4025466879, -STORE, 4025466880, 4025565183, -STORE, 4025565184, 4025757695, -STORE, 4025757696, 4026249215, -STORE, 4026249216, 4026261503, -STORE, 4026261504, 4026265599, -STORE, 4026265600, 4026269695, -STORE, 4026269696, 4026302463, -STORE, 4026302464, 4026306559, -STORE, 4026306560, 4026314751, -STORE, 4026314752, 4026318847, -STORE, 4026318848, 4026322943, -STORE, 4026322944, 4026327039, -STORE, 4026327040, 4026654719, -STORE, 4026654720, 4026671103, -STORE, 4026671104, 4026720255, -STORE, 4026720256, 4026724351, -STORE, 4026724352, 4026728447, -STORE, 4026728448, 4026732543, -STORE, 4026732544, 4026863615, -STORE, 4026863616, 4027027455, -STORE, 4027027456, 4027031551, -STORE, 4027031552, 4027514879, -STORE, 4027514880, 4027531263, -STORE, 4027531264, 4027535359, -STORE, 4027535360, 4027539455, -STORE, 4027539456, 4027785215, -STORE, 4027785216, 4027789311, -STORE, 4027789312, 4027793407, -STORE, 4027793408, 4027797503, -STORE, 4027797504, 4027863039, -STORE, 4027863040, 4027899903, -STORE, 4027899904, 4027949055, -STORE, 4027949056, 4027957247, -STORE, 4027957248, 4027961343, -STORE, 4027961344, 4027965439, -STORE, 4027965440, 4028194815, -STORE, 4028194816, 4028252159, -STORE, 4028252160, 4028338175, -STORE, 4028338176, 4028350463, -STORE, 4028350464, 4028354559, -STORE, 4028354560, 4028452863, -STORE, 4028452864, 4028489727, -STORE, 4028489728, 4028530687, -STORE, 4028530688, 4028538879, -STORE, 4028538880, 4028542975, -STORE, 4028542976, 4028551167, -STORE, 4028551168, 4028665855, -STORE, 4028665856, 4029349887, -STORE, 4029349888, 4030468095, -STORE, 4030468096, 4030513151, -STORE, 4030513152, 4030517247, -STORE, 4030517248, 4030525439, -STORE, 4030525440, 4030529535, -STORE, 4030529536, 4030758911, -STORE, 4030758912, 4030828543, -STORE, 4030828544, 4030943231, -STORE, 4030943232, 4030951423, -STORE, 4030951424, 4030955519, -STORE, 4030955520, 4030967807, -STORE, 4030967808, 4031131647, -STORE, 4031131648, 4031135743, -STORE, 4031135744, 4031139839, -STORE, 4031139840, 4031148031, -STORE, 4031148032, 4031152127, -STORE, 4031152128, 4031160319, -STORE, 4031160320, 4031504383, -STORE, 4031504384, 4031598591, -STORE, 4031598592, 4031754239, -STORE, 4031754240, 4031766527, -STORE, 4031766528, 4031770623, -STORE, 4031770624, 4031774719, -STORE, 4031774720, 4031782911, -STORE, 4031782912, 4031799295, -STORE, 4031799296, 4031856639, -STORE, 4031856640, 4031983615, -STORE, 4031983616, 4031987711, -STORE, 4031987712, 4031991807, -STORE, 4031991808, 4032270335, -STORE, 4032270336, 4032274431, -STORE, 4032274432, 4032282623, -STORE, 4032282624, 4032286719, -STORE, 4032286720, 4032290815, -STORE, 4032290816, 4032389119, -STORE, 4032389120, 4032397311, -STORE, 4032397312, 4032405503, -STORE, 4032405504, 4032413695, -STORE, 4032413696, 4032417791, -STORE, 4032417792, 4032565247, -STORE, 4032565248, 4032593919, -STORE, 4032593920, 4032737279, -STORE, 4032737280, 4032741375, -STORE, 4032741376, 4032745471, -STORE, 4032745472, 4032770047, -STORE, 4032770048, 4032933887, -STORE, 4032933888, 4032999423, -STORE, 4032999424, 4033032191, -STORE, 4033032192, 4033036287, -STORE, 4033036288, 4033040383, -STORE, 4033040384, 4033105919, -STORE, 4033105920, 4033396735, -STORE, 4033396736, 4033822719, -STORE, 4033822720, 4033839103, -STORE, 4033839104, 4033843199, -STORE, 4033843200, 4033851391, -STORE, 4033851392, 4033863679, -STORE, 4033863680, 4033880063, -STORE, 4033880064, 4033933311, -STORE, 4033933312, 4034023423, -STORE, 4034023424, 4034031615, -STORE, 4034031616, 4034035711, -STORE, 4034035712, 4034043903, -STORE, 4034043904, 4034142207, -STORE, 4034142208, 4034191359, -STORE, 4034191360, 4034260991, -STORE, 4034260992, 4034269183, -STORE, 4034269184, 4034273279, -STORE, 4034273280, 4034281471, -STORE, 4034281472, 4034412543, -STORE, 4034412544, 4034445311, -STORE, 4034445312, 4034490367, -STORE, 4034490368, 4034494463, -STORE, 4034494464, 4034498559, -STORE, 4034498560, 4034662399, -STORE, 4034662400, 4034666495, -STORE, 4034666496, 4034670591, -STORE, 4034670592, 4034674687, -STORE, 4034674688, 4034678783, -STORE, 4034678784, 4034682879, -STORE, 4034682880, 4034781183, -STORE, 4034781184, 4035043327, -STORE, 4035043328, 4035047423, -STORE, 4035047424, 4035055615, -STORE, 4035055616, 4035059711, -STORE, 4035059712, 4035063807, -STORE, 4035063808, 4035067903, -STORE, 4035067904, 4035100671, -STORE, 4035100672, 4035375103, -STORE, 4035375104, 4035383295, -STORE, 4035383296, 4035395583, -STORE, 4035395584, 4035399679, -STORE, 4035399680, 4035403775, -STORE, 4035403776, 4035407871, -STORE, 4035407872, 4035411967, -STORE, 4035411968, 4035477503, -STORE, 4035477504, 4035608575, -STORE, 4035608576, 4035641343, -STORE, 4035641344, 4035682303, -STORE, 4035682304, 4035686399, -STORE, 4035686400, 4035690495, -STORE, 4035690496, 4035694591, -STORE, 4035694592, 4035743743, -STORE, 4035743744, 4035784703, -STORE, 4035784704, 4035829759, -STORE, 4035829760, 4035837951, -STORE, 4035837952, 4035842047, -STORE, 4035842048, 4035846143, -STORE, 4035846144, 4035850239, -STORE, 4035850240, 4036001791, -STORE, 4036001792, 4036005887, -STORE, 4036005888, 4036214783, -STORE, 4036214784, 4036218879, -STORE, 4036218880, 4036603903, -STORE, 4036603904, 4036648959, -STORE, 4036648960, 4036653055, -STORE, 4036653056, 4036657151, -STORE, 4036657152, 4036665343, -STORE, 4036665344, 4036780031, -STORE, 4036780032, 4036829183, -STORE, 4036829184, 4036984831, -STORE, 4036984832, 4036993023, -STORE, 4036993024, 4036997119, -STORE, 4036997120, 4037001215, -STORE, 4037001216, 4037009407, -STORE, 4037009408, 4037025791, -STORE, 4037025792, 4037095423, -STORE, 4037095424, 4037181439, -STORE, 4037181440, 4037193727, -STORE, 4037193728, 4037197823, -STORE, 4037197824, 4037206015, -STORE, 4037206016, 4037320703, -STORE, 4037320704, 4037337087, -STORE, 4037337088, 4037349375, -STORE, 4037349376, 4037357567, -STORE, 4037357568, 4037361663, -STORE, 4037369856, 4037386239, -STORE, 4037386240, 4037672959, -STORE, 4037672960, 4037689343, -STORE, 4037689344, 4037730303, -STORE, 4037730304, 4037734399, -STORE, 4037734400, 4037738495, -STORE, 4037738496, 4037742591, -STORE, 4037742592, 4037758975, -STORE, 4037758976, 4037890047, -STORE, 4037890048, 4037931007, -STORE, 4037931008, 4037976063, -STORE, 4037976064, 4037984255, -STORE, 4037984256, 4037988351, -STORE, 4037988352, 4038053887, -STORE, 4038053888, 4038184959, -STORE, 4038184960, 4038189055, -STORE, 4038189056, 4038197247, -STORE, 4038197248, 4038201343, -STORE, 4038201344, 4038205439, -STORE, 4038205440, 4038209535, -STORE, 4038217728, 4038250495, -STORE, 4038250496, 4038512639, -STORE, 4038512640, 4038516735, -STORE, 4038516736, 4038520831, -STORE, 4038520832, 4038524927, -STORE, 4038524928, 4038529023, -STORE, 4038529024, 4038533119, -STORE, 4038541312, 4038623231, -STORE, 4038623232, 4038754303, -STORE, 4038754304, 4038885375, -STORE, 4038885376, 4038889471, -STORE, 4038897664, 4038963199, -STORE, 4038963200, 4038967295, -STORE, 4038967296, 4038983679, -STORE, 4038983680, 4039114751, -STORE, 4039114752, 4039245823, -STORE, 4039245824, 4039376895, -STORE, 4039376896, 4040687615, -STORE, 4040687616, 4040691711, -STORE, 4040691712, 4040806399, -STORE, 4040806400, 4040937471, -STORE, 4040937472, 4040941567, -STORE, 4040945664, 4040949759, -STORE, 4040949760, 4041080831, -STORE, 4041080832, 4041211903, -STORE, 4041211904, 4043046911, -STORE, 4043046912, 4043051007, -STORE, 4043051008, 4043055103, -STORE, 4043055104, 4043137023, -STORE, 4043137024, 4043141119, -STORE, 4043141120, 4043145215, -STORE, 4043145216, 4043153407, -STORE, 4043153408, 4043186175, -STORE, 4043186176, 4043317247, -STORE, 4043317248, 4043448319, -STORE, 4043448320, 4043579391, -STORE, 4043579392, 4043583487, -STORE, 4043583488, 4043599871, -STORE, 4043599872, 4043661311, -STORE, 4043661312, 4043792383, -STORE, 4043792384, 4043796479, -STORE, 4043796480, 4043800575, -STORE, 4043800576, 4043816959, -STORE, 4043816960, 4043821055, -STORE, 4043821056, 4043825151, -STORE, 4043825152, 4043829247, -STORE, 4043829248, 4043833343, -STORE, 4043833344, 4047241215, -STORE, 4047241216, 4047249407, -STORE, 4047249408, 4047253503, -STORE, 4047253504, 4047323135, -STORE, 4047323136, 4047327231, -STORE, 4047327232, 4047458303, -STORE, 4047458304, 4047589375, -STORE, 4047589376, 4047720447, -STORE, 4047720448, 4047773695, -STORE, 4047773696, 4047790079, -STORE, 4047790080, 4047921151, -STORE, 4047921152, 4048052223, -STORE, 4048052224, 4048183295, -STORE, 4048183296, 4049002495, -STORE, 4049002496, 4049133567, -STORE, 4049133568, 4049154047, -STORE, 4049154048, 4049158143, -STORE, 4049158144, 4049162239, -STORE, 4049162240, 4049166335, -STORE, 4049166336, 4049174527, -STORE, 4049174528, 4049182719, -STORE, 4049182720, 4049186815, -STORE, 4049186816, 4049190911, -STORE, 4049190912, 4049195007, -STORE, 4049195008, 4049203199, -STORE, 4049203200, 4049207295, -STORE, 4049207296, 4049211391, -STORE, 4049211392, 4049215487, -STORE, 4049215488, 4049219583, -STORE, 4049219584, 4049227775, -STORE, 4049227776, 4049231871, -STORE, 4049231872, 4049235967, -STORE, 4049235968, 4049244159, -STORE, 4049244160, 4049248255, -STORE, 4049248256, 4049252351, -STORE, 4049252352, 4049256447, -STORE, 4049256448, 4049268735, -STORE, 4049268736, 4049272831, -STORE, 4049272832, 4049313791, -STORE, 4049313792, 4049723391, -STORE, 4049723392, 4049727487, -STORE, 4049727488, 4049858559, -STORE, 4049858560, 4049989631, -STORE, 4049989632, 4049993727, -STORE, 4049993728, 4050026495, -STORE, 4050026496, 4050030591, -STORE, 4050030592, 4050161663, -STORE, 4050161664, 4050169855, -STORE, 4050169856, 4050223103, -STORE, 4050223104, 4050632703, -STORE, 4050632704, 4050636799, -STORE, 4050636800, 4050640895, -STORE, 4050640896, 4050644991, -STORE, 4050644992, 4050661375, -STORE, 4050661376, 4050665471, -STORE, 4050665472, 4050673663, -STORE, 4050673664, 4050677759, -STORE, 4050677760, 4050694143, -STORE, 4050694144, 4050702335, -STORE, 4050702336, 4050956287, -STORE, 4050956288, 4051963903, -STORE, 4051963904, 4051980287, -STORE, 4051980288, 4051988479, -STORE, 4051988480, 4052000767, -STORE, 4052000768, 4052004863, -STORE, 4052004864, 4052029439, -STORE, 4284014592, 4284018687, -STORE, 4284018688, 4292403199, -SNULL, 4041080832, 4041211903, -SNULL, 3795763200, 3795894271, -STORE, 3629522944, 3696631807, -SNULL, 3663077375, 3696631807, -STORE, 3629522944, 3663077375, -STORE, 3663077376, 3696631807, -SNULL, 3663077376, 3696631807, -STORE, 3663077376, 3696631807, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3626471424, 3627524095, -SNULL, 3626471424, 3626475519, -STORE, 3626475520, 3627524095, -STORE, 3626471424, 3626475519, -SNULL, 3627519999, 3627524095, -STORE, 3626475520, 3627519999, -STORE, 3627520000, 3627524095, -STORE, 3625418752, 3626475519, -SNULL, 3625418752, 3625422847, -STORE, 3625422848, 3626475519, -STORE, 3625418752, 3625422847, -SNULL, 3626467327, 3626475519, -STORE, 3625422848, 3626467327, -STORE, 3626467328, 3626475519, -STORE, 3624366080, 3625422847, -SNULL, 3624366080, 3624370175, -STORE, 3624370176, 3625422847, -STORE, 3624366080, 3624370175, -SNULL, 3625414655, 3625422847, -STORE, 3624370176, 3625414655, -STORE, 3625414656, 3625422847, -STORE, 4041191424, 4041211903, -SNULL, 4041195519, 4041211903, -STORE, 4041191424, 4041195519, -STORE, 4041195520, 4041211903, -STORE, 4041170944, 4041191423, -SNULL, 4041175039, 4041191423, -STORE, 4041170944, 4041175039, -STORE, 4041175040, 4041191423, -SNULL, 3625426943, 3626467327, -STORE, 3625422848, 3625426943, -STORE, 3625426944, 3626467327, -STORE, 4041162752, 4041170943, -SNULL, 3626479615, 3627519999, -STORE, 3626475520, 3626479615, -STORE, 3626479616, 3627519999, -STORE, 4041154560, 4041162751, -STORE, 4041154560, 4041170943, -STORE, 4041134080, 4041154559, -SNULL, 4041138175, 4041154559, -STORE, 4041134080, 4041138175, -STORE, 4041138176, 4041154559, -SNULL, 3624374271, 3625414655, -STORE, 3624370176, 3624374271, -STORE, 3624374272, 3625414655, -STORE, 4041125888, 4041134079, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -STORE, 3487174656, 3487584255, -STORE, 4041121792, 4041125887, -SNULL, 4041121792, 4041125887, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 3487174656, 3487584255, -STORE, 3222274048, 3223326719, -SNULL, 3222274048, 3222278143, -STORE, 3222278144, 3223326719, -STORE, 3222274048, 3222278143, -SNULL, 3223322623, 3223326719, -STORE, 3222278144, 3223322623, -STORE, 3223322624, 3223326719, -STORE, 3221221376, 3222278143, -SNULL, 3221221376, 3221225471, -STORE, 3221225472, 3222278143, -STORE, 3221221376, 3221225471, -SNULL, 3222269951, 3222278143, -STORE, 3221225472, 3222269951, -STORE, 3222269952, 3222278143, -STORE, 3220168704, 3221225471, -SNULL, 3220168704, 3220172799, -STORE, 3220172800, 3221225471, -STORE, 3220168704, 3220172799, -SNULL, 3221217279, 3221225471, -STORE, 3220172800, 3221217279, -STORE, 3221217280, 3221225471, -STORE, 4041117696, 4041125887, -STORE, 4041117696, 4041134079, -STORE, 3219083264, 3220172799, -SNULL, 3219083264, 3219087359, -STORE, 3219087360, 3220172799, -STORE, 3219083264, 3219087359, -SNULL, 3220164607, 3220172799, -STORE, 3219087360, 3220164607, -STORE, 3220164608, 3220172799, -STORE, 4041109504, 4041117695, -STORE, 4041109504, 4041134079, -STORE, 3217997824, 3219087359, -SNULL, 3217997824, 3218001919, -STORE, 3218001920, 3219087359, -STORE, 3217997824, 3218001919, -SNULL, 3219079167, 3219087359, -STORE, 3218001920, 3219079167, -STORE, 3219079168, 3219087359, -STORE, 4041101312, 4041109503, -STORE, 4041101312, 4041134079, -STORE, 3216912384, 3218001919, -SNULL, 3216912384, 3216916479, -STORE, 3216916480, 3218001919, -STORE, 3216912384, 3216916479, -SNULL, 3217993727, 3218001919, -STORE, 3216916480, 3217993727, -STORE, 3217993728, 3218001919, -STORE, 4041093120, 4041101311, -STORE, 4041093120, 4041134079, -STORE, 3215826944, 3216916479, -SNULL, 3215826944, 3215831039, -STORE, 3215831040, 3216916479, -STORE, 3215826944, 3215831039, -SNULL, 3216908287, 3216916479, -STORE, 3215831040, 3216908287, -STORE, 3216908288, 3216916479, -STORE, 4016779264, 4016799743, -SNULL, 4016783359, 4016799743, -STORE, 4016779264, 4016783359, -STORE, 4016783360, 4016799743, -STORE, 4016758784, 4016779263, -SNULL, 4016762879, 4016779263, -STORE, 4016758784, 4016762879, -STORE, 4016762880, 4016779263, -SNULL, 3222282239, 3223322623, -STORE, 3222278144, 3222282239, -STORE, 3222282240, 3223322623, -STORE, 4041084928, 4041093119, -STORE, 4041084928, 4041134079, -SNULL, 3221229567, 3222269951, -STORE, 3221225472, 3221229567, -STORE, 3221229568, 3222269951, -STORE, 4015644672, 4015665151, -STORE, 4038889472, 4038897663, -SNULL, 4015648767, 4015665151, -STORE, 4015644672, 4015648767, -STORE, 4015648768, 4015665151, -STORE, 4015624192, 4015644671, -SNULL, 4015628287, 4015644671, -STORE, 4015624192, 4015628287, -STORE, 4015628288, 4015644671, -SNULL, 3219091455, 3220164607, -STORE, 3219087360, 3219091455, -STORE, 3219091456, 3220164607, -STORE, 4015603712, 4015624191, -SNULL, 4015607807, 4015624191, -STORE, 4015603712, 4015607807, -STORE, 4015607808, 4015624191, -SNULL, 3218006015, 3219079167, -STORE, 3218001920, 3218006015, -STORE, 3218006016, 3219079167, -STORE, 3949674496, 3949694975, -SNULL, 3949678591, 3949694975, -STORE, 3949674496, 3949678591, -STORE, 3949678592, 3949694975, -SNULL, 3216920575, 3217993727, -STORE, 3216916480, 3216920575, -STORE, 3216920576, 3217993727, -STORE, 3948924928, 3948945407, -SNULL, 3948929023, 3948945407, -STORE, 3948924928, 3948929023, -STORE, 3948929024, 3948945407, -SNULL, 3215835135, 3216908287, -STORE, 3215831040, 3215835135, -STORE, 3215835136, 3216908287, -SNULL, 3220176895, 3221217279, -STORE, 3220172800, 3220176895, -STORE, 3220176896, 3221217279, -STORE, 3214786560, 3215826943, -STORE, 3213733888, 3214786559, -SNULL, 3213733888, 3213737983, -STORE, 3213737984, 3214786559, -STORE, 3213733888, 3213737983, -SNULL, 3214782463, 3214786559, -STORE, 3213737984, 3214782463, -STORE, 3214782464, 3214786559, -STORE, 4038533120, 4038541311, -STORE, 3948421120, 3948441599, -SNULL, 3948425215, 3948441599, -STORE, 3948421120, 3948425215, -STORE, 3948425216, 3948441599, -SNULL, 3213742079, 3214782463, -STORE, 3213737984, 3213742079, -STORE, 3213742080, 3214782463, -STORE, 4038209536, 4038217727, -STORE, 3212681216, 3213737983, -SNULL, 3212681216, 3212685311, -STORE, 3212685312, 3213737983, -STORE, 3212681216, 3212685311, -SNULL, 3213729791, 3213737983, -STORE, 3212685312, 3213729791, -STORE, 3213729792, 3213737983, -STORE, 3795763200, 3795894271, -STORE, 3946872832, 3946893311, -SNULL, 3946876927, 3946893311, -STORE, 3946872832, 3946876927, -STORE, 3946876928, 3946893311, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -STORE, 3487174656, 3487584255, -SNULL, 3212689407, 3213729791, -STORE, 3212685312, 3212689407, -STORE, 3212689408, 3213729791, -STORE, 4041080832, 4041084927, -STORE, 4040941568, 4040945663, -STORE, 4037361664, 4037369855, -STORE, 4000817152, 4000821247, -STORE, 3999440896, 3999444991, -STORE, 3212161024, 3212681215, -SNULL, 3212161024, 3212439551, -STORE, 3212439552, 3212681215, -STORE, 3212161024, 3212439551, -SNULL, 3212161024, 3212439551, -SNULL, 3212464127, 3212681215, -STORE, 3212439552, 3212464127, -STORE, 3212464128, 3212681215, -SNULL, 3212464128, 3212681215, -SNULL, 3212439552, 3212451839, -STORE, 3212451840, 3212464127, -STORE, 3212439552, 3212451839, -SNULL, 3212439552, 3212451839, -STORE, 3212439552, 3212451839, -SNULL, 3212451840, 3212455935, -STORE, 3212455936, 3212464127, -STORE, 3212451840, 3212455935, -SNULL, 3212451840, 3212455935, -STORE, 3212451840, 3212455935, -SNULL, 3212455936, 3212460031, -STORE, 3212460032, 3212464127, -STORE, 3212455936, 3212460031, -SNULL, 3212455936, 3212460031, -STORE, 3212455936, 3212460031, -SNULL, 3212460032, 3212464127, -STORE, 3212460032, 3212464127, -STORE, 3997679616, 3997683711, -SNULL, 4049235968, 4049240063, -STORE, 4049240064, 4049244159, -STORE, 4049235968, 4049240063, -SNULL, 4049240064, 4049244159, -STORE, 4049240064, 4049244159, -SNULL, 3997679616, 3997683711, -SNULL, 3999440896, 3999444991, -SNULL, 4000817152, 4000821247, -SNULL, 4040941568, 4040945663, -SNULL, 4041080832, 4041084927, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 3487174656, 3487584255, -SNULL, 3212451840, 3212455935, -STORE, 3212451840, 3212455935, -STORE, 4041080832, 4041084927, -STORE, 3623890944, 3624169471, -SNULL, 4041080832, 4041084927, -STORE, 4041080832, 4041084927, -SNULL, 4041080832, 4041084927, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -STORE, 4041080832, 4041084927, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -STORE, 3211386880, 3212439551, -SNULL, 3211386880, 3211390975, -STORE, 3211390976, 3212439551, -STORE, 3211386880, 3211390975, -SNULL, 3212435455, 3212439551, -STORE, 3211390976, 3212435455, -STORE, 3212435456, 3212439551, -STORE, 4040941568, 4040945663, -STORE, 3937169408, 3937189887, -STORE, 3623485440, 3623616511, -SNULL, 717225983, 1388314623, -STORE, 314572800, 717225983, -STORE, 717225984, 1388314623, -SNULL, 717225984, 1388314623, -STORE, 3937112064, 3937132543, -SNULL, 3937116159, 3937132543, -STORE, 3937112064, 3937116159, -STORE, 3937116160, 3937132543, -SNULL, 3211395071, 3212435455, -STORE, 3211390976, 3211395071, -STORE, 3211395072, 3212435455, -STORE, 4000817152, 4000821247, -STORE, 3974823936, 3974832127, -STORE, 3595284480, 3595431935, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -STORE, 3487174656, 3487584255, -STORE, 3999440896, 3999444991, -STORE, 3997679616, 3997683711, -STORE, 3996295168, 3996299263, -STORE, 3996090368, 3996094463, -STORE, 3210866688, 3211386879, -SNULL, 3210866688, 3211001855, -STORE, 3211001856, 3211386879, -STORE, 3210866688, 3211001855, -SNULL, 3210866688, 3211001855, -SNULL, 3211038719, 3211386879, -STORE, 3211001856, 3211038719, -STORE, 3211038720, 3211386879, -SNULL, 3211038720, 3211386879, -SNULL, 3211001856, 3211022335, -STORE, 3211022336, 3211038719, -STORE, 3211001856, 3211022335, -SNULL, 3211001856, 3211022335, -STORE, 3211001856, 3211022335, -SNULL, 3211022336, 3211030527, -STORE, 3211030528, 3211038719, -STORE, 3211022336, 3211030527, -SNULL, 3211022336, 3211030527, -STORE, 3211022336, 3211030527, -SNULL, 3211030528, 3211034623, -STORE, 3211034624, 3211038719, -STORE, 3211030528, 3211034623, -SNULL, 3211030528, 3211034623, -STORE, 3211030528, 3211034623, -SNULL, 3211034624, 3211038719, -STORE, 3211034624, 3211038719, -STORE, 3994906624, 3994910719, -SNULL, 4049240064, 4049244159, -STORE, 4049240064, 4049244159, -SNULL, 3994906624, 3994910719, -SNULL, 3996090368, 3996094463, -SNULL, 3996295168, 3996299263, -SNULL, 3997679616, 3997683711, -SNULL, 3999440896, 3999444991, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 3487174656, 3487584255, -SNULL, 3211022336, 3211030527, -STORE, 3211022336, 3211030527, -STORE, 3999440896, 3999444991, -STORE, 3210199040, 3211001855, -SNULL, 3999440896, 3999444991, -STORE, 3999440896, 3999444991, -SNULL, 3999440896, 3999444991, -STORE, 3594821632, 3594952703, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 4048183296, 4048592895, -STORE, 4048592896, 4049002495, -STORE, 4048183296, 4048592895, -STORE, 4048183296, 4049002495, -SNULL, 1914101759, 1969434623, -STORE, 1914097664, 1914101759, -STORE, 1914101760, 1969434623, -STORE, 3567108096, 3567239167, -STORE, 3973832704, 3973840895, -STORE, 3209113600, 3210199039, -SNULL, 3209113600, 3209117695, -STORE, 3209117696, 3210199039, -STORE, 3209113600, 3209117695, -SNULL, 3210194943, 3210199039, -STORE, 3209117696, 3210194943, -STORE, 3210194944, 3210199039, -STORE, 3935858688, 3935879167, -SNULL, 3935862783, 3935879167, -STORE, 3935858688, 3935862783, -STORE, 3935862784, 3935879167, -SNULL, 3209121791, 3210194943, -STORE, 3209117696, 3209121791, -STORE, 3209121792, 3210194943, -STORE, 3528749056, 3528880127, -STORE, 3968200704, 3968208895, -STORE, 3208028160, 3209117695, -SNULL, 3208028160, 3208032255, -STORE, 3208032256, 3209117695, -STORE, 3208028160, 3208032255, -SNULL, 3209109503, 3209117695, -STORE, 3208032256, 3209109503, -STORE, 3209109504, 3209117695, -STORE, 3888123904, 3888144383, -SNULL, 3888127999, 3888144383, -STORE, 3888123904, 3888127999, -STORE, 3888128000, 3888144383, -SNULL, 3208036351, 3209109503, -STORE, 3208032256, 3208036351, -STORE, 3208036352, 3209109503, -SNULL, 3968200704, 3968208895, -SNULL, 3888123904, 3888144383, -SNULL, 3209109504, 3209113599, -STORE, 3209113600, 3209117695, -STORE, 3209109504, 3209113599, -SNULL, 3208028160, 3209113599, -STORE, 3208060928, 3209117695, -SNULL, 3208060928, 3208065023, -STORE, 3208065024, 3209117695, -STORE, 3208060928, 3208065023, -SNULL, 3209109503, 3209117695, -STORE, 3208065024, 3209109503, -STORE, 3209109504, 3209117695, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3888123904, 3888144383, -SNULL, 3888127999, 3888144383, -STORE, 3888123904, 3888127999, -STORE, 3888128000, 3888144383, -SNULL, 3208069119, 3209109503, -STORE, 3208065024, 3208069119, -STORE, 3208069120, 3209109503, -STORE, 3968200704, 3968208895, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3527778304, 3527909375, -STORE, 3999440896, 3999444991, -STORE, 3997679616, 3997683711, -STORE, 1914097664, 1914105855, -STORE, 1914105856, 1969434623, -STORE, 3957583872, 3957592063, -STORE, 3206975488, 3208065023, -SNULL, 3206975488, 3206979583, -STORE, 3206979584, 3208065023, -STORE, 3206975488, 3206979583, -SNULL, 3208056831, 3208065023, -STORE, 3206979584, 3208056831, -STORE, 3208056832, 3208065023, -STORE, 3956736000, 3956744191, -STORE, 3205890048, 3206979583, -SNULL, 3205890048, 3205894143, -STORE, 3205894144, 3206979583, -STORE, 3205890048, 3205894143, -SNULL, 3206971391, 3206979583, -STORE, 3205894144, 3206971391, -STORE, 3206971392, 3206979583, -STORE, 3806101504, 3806121983, -SNULL, 3806105599, 3806121983, -STORE, 3806101504, 3806105599, -STORE, 3806105600, 3806121983, -SNULL, 3206983679, 3208056831, -STORE, 3206979584, 3206983679, -STORE, 3206983680, 3208056831, -STORE, 3806081024, 3806101503, -SNULL, 3806085119, 3806101503, -STORE, 3806081024, 3806085119, -STORE, 3806085120, 3806101503, -SNULL, 3205898239, 3206971391, -STORE, 3205894144, 3205898239, -STORE, 3205898240, 3206971391, -STORE, 3956015104, 3956023295, -STORE, 3204804608, 3205894143, -SNULL, 3204804608, 3204808703, -STORE, 3204808704, 3205894143, -STORE, 3204804608, 3204808703, -SNULL, 3205885951, 3205894143, -STORE, 3204808704, 3205885951, -STORE, 3205885952, 3205894143, -STORE, 3803471872, 3803492351, -STORE, 3803451392, 3803471871, -STORE, 3803451392, 3803492351, -SNULL, 3957583872, 3957592063, -SNULL, 3806101504, 3806121983, -SNULL, 3206975487, 3206979583, -STORE, 3206971392, 3206975487, -STORE, 3206975488, 3206979583, -SNULL, 3208056832, 3208060927, -STORE, 3208060928, 3208065023, -STORE, 3208056832, 3208060927, -SNULL, 3206975488, 3208060927, -STORE, 3801845760, 3801878527, -STORE, 3806101504, 3806121983, -SNULL, 3806105599, 3806121983, -STORE, 3806101504, 3806105599, -STORE, 3806105600, 3806121983, -SNULL, 3204812799, 3205885951, -STORE, 3204808704, 3204812799, -STORE, 3204812800, 3205885951, -STORE, 1914097664, 1914109951, -STORE, 1914109952, 1969434623, -STORE, 3957583872, 3957592063, -STORE, 3206971392, 3208065023, -SNULL, 3206971392, 3206979583, -STORE, 3206979584, 3208065023, -STORE, 3206971392, 3206979583, -SNULL, 3208056831, 3208065023, -STORE, 3206979584, 3208056831, -STORE, 3208056832, 3208065023, -STORE, 3801825280, 3801845759, -SNULL, 3801829375, 3801845759, -STORE, 3801825280, 3801829375, -STORE, 3801829376, 3801845759, -SNULL, 3206983679, 3208056831, -STORE, 3206979584, 3206983679, -STORE, 3206983680, 3208056831, -STORE, 3202707456, 3204804607, -SNULL, 3202707456, 3204804607, -STORE, 3202707456, 3204804607, -STORE, 3200610304, 3202707455, -SNULL, 3202707456, 3204804607, -SNULL, 3200610304, 3202707455, -STORE, 3202707456, 3204804607, -SNULL, 3202707456, 3204804607, -STORE, 3202707456, 3204804607, -SNULL, 3202707456, 3204804607, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3527647232, 3527778303, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -STORE, 3487059968, 3487584255, -SNULL, 3487059968, 3487301631, -STORE, 3487301632, 3487584255, -STORE, 3487059968, 3487301631, -SNULL, 3487059968, 3487301631, -SNULL, 3487563775, 3487584255, -STORE, 3487301632, 3487563775, -STORE, 3487563776, 3487584255, -SNULL, 3487563776, 3487584255, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3524046848, 3524177919, -STORE, 3487170560, 3487301631, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3487039488, 3487170559, -STORE, 3487039488, 3487301631, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3204280320, 3204804607, -SNULL, 3204280320, 3204448255, -STORE, 3204448256, 3204804607, -STORE, 3204280320, 3204448255, -SNULL, 3204280320, 3204448255, -SNULL, 3204710399, 3204804607, -STORE, 3204448256, 3204710399, -STORE, 3204710400, 3204804607, -SNULL, 3204710400, 3204804607, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3996295168, 3996299263, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -SNULL, 3996295168, 3996299263, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3486908416, 3487039487, -STORE, 3486908416, 3487301631, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3223326720, 3290435583, -SNULL, 3223326720, 3256881151, -STORE, 3256881152, 3290435583, -STORE, 3223326720, 3256881151, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -STORE, 3201826816, 3202351103, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -STORE, 3202351104, 3204448255, -SNULL, 3202351104, 3204448255, -SNULL, 3803471871, 3803492351, -STORE, 3803451392, 3803471871, -STORE, 3803471872, 3803492351, -SNULL, 3803471872, 3803492351, -SNULL, 3803451392, 3803471871, -STORE, 3798999040, 3799101439, -SNULL, 3798999040, 3799101439, -STORE, 3952644096, 3952652287, -STORE, 3203362816, 3204448255, -SNULL, 3203362816, 3203366911, -STORE, 3203366912, 3204448255, -STORE, 3203362816, 3203366911, -SNULL, 3204444159, 3204448255, -STORE, 3203366912, 3204444159, -STORE, 3204444160, 3204448255, -STORE, 3803471872, 3803492351, -SNULL, 3803475967, 3803492351, -STORE, 3803471872, 3803475967, -STORE, 3803475968, 3803492351, -SNULL, 3203371007, 3204444159, -STORE, 3203366912, 3203371007, -STORE, 3203371008, 3204444159, -STORE, 3199729664, 3201826815, -SNULL, 3199729664, 3201826815, -STORE, 3199729664, 3201826815, -SNULL, 3199729664, 3201826815, -STORE, 3199729664, 3201826815, -SNULL, 3199729664, 3201826815, -STORE, 3199729664, 3201826815, -SNULL, 3199729664, 3201826815, -STORE, 3199729664, 3201826815, -SNULL, 3199729664, 3201826815, -STORE, 3200774144, 3201826815, -SNULL, 3200774144, 3200778239, -STORE, 3200778240, 3201826815, -STORE, 3200774144, 3200778239, -SNULL, 3201822719, 3201826815, -STORE, 3200778240, 3201822719, -STORE, 3201822720, 3201826815, -STORE, 3803451392, 3803471871, -SNULL, 3803455487, 3803471871, -STORE, 3803451392, 3803455487, -STORE, 3803455488, 3803471871, -SNULL, 3200782335, 3201822719, -STORE, 3200778240, 3200782335, -STORE, 3200782336, 3201822719, -STORE, 3949666304, 3949674495, -STORE, 3949408256, 3949416447, -STORE, 3199688704, 3200778239, -SNULL, 3199688704, 3199692799, -STORE, 3199692800, 3200778239, -STORE, 3199688704, 3199692799, -SNULL, 3200770047, 3200778239, -STORE, 3199692800, 3200770047, -STORE, 3200770048, 3200778239, -STORE, 3799306240, 3799326719, -SNULL, 3799310335, 3799326719, -STORE, 3799306240, 3799310335, -STORE, 3799310336, 3799326719, -SNULL, 3199696895, 3200770047, -STORE, 3199692800, 3199696895, -STORE, 3199696896, 3200770047, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -STORE, 3799277568, 3799306239, -SNULL, 3799277568, 3799306239, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -SNULL, 4041162751, 4041170943, -STORE, 4041154560, 4041162751, -STORE, 4041162752, 4041170943, -SNULL, 4041162752, 4041170943, -SNULL, 4041154560, 4041162751, -SNULL, 4041191424, 4041211903, -SNULL, 4041170944, 4041191423, -SNULL, 3626471423, 3626475519, -STORE, 3626467328, 3626471423, -STORE, 3626471424, 3626475519, -SNULL, 3626471424, 3627524095, -SNULL, 3625418751, 3625422847, -STORE, 3625414656, 3625418751, -STORE, 3625418752, 3625422847, -SNULL, 3625418752, 3626471423, -STORE, 3627393024, 3627524095, -STORE, 3627261952, 3627393023, -STORE, 3627261952, 3627524095, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -STORE, 3195494400, 3197591551, -SNULL, 3197591552, 3199688703, -SNULL, 3195494400, 3197591551, -STORE, 3197591552, 3199688703, -SNULL, 3197591552, 3199688703, -STORE, 3197591552, 3199688703, -STORE, 3195494400, 3197591551, -SNULL, 3197591552, 3199688703, -SNULL, 3195494400, 3197591551, -STORE, 3798999040, 3799101439, -SNULL, 3798999040, 3799101439, -/* - * mmap: unmapped_area_topdown: ffff9a9f14ddaa80 - * Gap was found: mt 4041162752 gap_end 4041183232 - * mmap: window was 4052029440 - 4096 size 28672 - * mmap: mas.min 4041154560 max 4041191423 mas.last 4041191423 - * mmap: mas.index 4041162752 align mask 0 offset 0 - * mmap: rb_find_vma find on 4041162752 => ffff9a9f03d19678 (ffff9a9f03d19678) - */ - }; - - unsigned long set43[] = { -STORE, 140737488347136, 140737488351231, -STORE, 140734187720704, 140737488351231, -SNULL, 140734187724800, 140737488351231, -STORE, 140734187589632, 140734187724799, -STORE, 4194304, 6443007, -STORE, 4337664, 6443007, -STORE, 4194304, 4337663, -SNULL, 4337664, 6443007, -STORE, 6430720, 6443007, -STORE, 206158430208, 206160674815, -STORE, 206158569472, 206160674815, -STORE, 206158430208, 206158569471, -SNULL, 206158569472, 206160674815, -STORE, 206160662528, 206160670719, -STORE, 206160670720, 206160674815, -STORE, 140734188756992, 140734188765183, -STORE, 140734188740608, 140734188756991, -STORE, 140501948112896, 140501948116991, - }; - - int count = 0; - void *ptr = NULL; - - MA_STATE(mas, mt, 0, 0); - - mt_set_non_kernel(3); - check_erase2_testset(mt, set, ARRAY_SIZE(set)); - mt_set_non_kernel(0); - mtree_destroy(mt); - - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set2, ARRAY_SIZE(set2)); - start = 140735933894656; - MT_BUG_ON(mt, !!mt_find(mt, &start, 140735933906943UL)); + /* Create tree of 1-100 */ + check_seq(mt, 100, false); + /* Store 45-168 */ + mt_set_non_kernel(10); + check_store_range(mt, r[10], r[11], xa_mk_value(r[10]), 0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - mt_set_non_kernel(2); - mt_init_flags(mt, 0); - check_erase2_testset(mt, set3, ARRAY_SIZE(set3)); - mt_set_non_kernel(0); + /* Create tree of 1-200 */ + check_seq(mt, 200, false); + /* Store 45-168 */ + check_store_range(mt, r[10], r[11], xa_mk_value(r[10]), 0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - mt_init_flags(mt, 0); - check_erase2_testset(mt, set4, ARRAY_SIZE(set4)); - rcu_read_lock(); - mas_for_each(&mas, entry, ULONG_MAX) { - if (xa_is_zero(entry)) - continue; - } - rcu_read_unlock(); - rcu_barrier(); + check_seq(mt, 30, false); + check_store_range(mt, 6, 18, xa_mk_value(6), 0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - mt_set_non_kernel(100); - check_erase2_testset(mt, set5, ARRAY_SIZE(set5)); - rcu_barrier(); + /* Overwrite across multiple levels. */ + /* Create tree of 1-400 */ + check_seq(mt, 400, false); + mt_set_non_kernel(50); + /* Store 118-128 */ + check_store_range(mt, r[12], r[13], xa_mk_value(r[12]), 0); + mt_set_non_kernel(50); + mtree_test_erase(mt, 140); + mtree_test_erase(mt, 141); + mtree_test_erase(mt, 142); + mtree_test_erase(mt, 143); + mtree_test_erase(mt, 130); + mtree_test_erase(mt, 131); + mtree_test_erase(mt, 132); + mtree_test_erase(mt, 133); + mtree_test_erase(mt, 134); + mtree_test_erase(mt, 135); + check_load(mt, r[12], xa_mk_value(r[12])); + check_load(mt, r[13], xa_mk_value(r[12])); + check_load(mt, r[13] - 1, xa_mk_value(r[12])); + check_load(mt, r[13] + 1, xa_mk_value(r[13] + 1)); + check_load(mt, 135, NULL); + check_load(mt, 140, NULL); mt_set_non_kernel(0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set6, ARRAY_SIZE(set6)); - rcu_barrier(); - mtree_destroy(mt); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set7, ARRAY_SIZE(set7)); - rcu_barrier(); - mtree_destroy(mt); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set8, ARRAY_SIZE(set8)); - rcu_barrier(); - mtree_destroy(mt); + /* Overwrite multiple levels at the end of the tree (slot 7) */ + mt_set_non_kernel(50); + check_seq(mt, 400, false); + check_store_range(mt, 353, 361, xa_mk_value(353), 0); + check_store_range(mt, 347, 352, xa_mk_value(347), 0); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set9, ARRAY_SIZE(set9)); - rcu_barrier(); + check_load(mt, 346, xa_mk_value(346)); + for (i = 347; i <= 352; i++) + check_load(mt, i, xa_mk_value(347)); + for (i = 353; i <= 361; i++) + check_load(mt, i, xa_mk_value(353)); + check_load(mt, 362, xa_mk_value(362)); + mt_set_non_kernel(0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set10, ARRAY_SIZE(set10)); - rcu_barrier(); + mt_set_non_kernel(50); + check_seq(mt, 400, false); + check_store_range(mt, 352, 364, NULL, 0); + check_store_range(mt, 351, 363, xa_mk_value(352), 0); + check_load(mt, 350, xa_mk_value(350)); + check_load(mt, 351, xa_mk_value(352)); + for (i = 352; i <= 363; i++) + check_load(mt, i, xa_mk_value(352)); + check_load(mt, 364, NULL); + check_load(mt, 365, xa_mk_value(365)); + mt_set_non_kernel(0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set11, ARRAY_SIZE(set11)); - rcu_barrier(); - mas_empty_area_rev(&mas, 12288, 140014592737280, 0x2000); - MT_BUG_ON(mt, mas.last != 140014592573439); + mt_set_non_kernel(5); + check_seq(mt, 400, false); + check_store_range(mt, 352, 364, NULL, 0); + check_store_range(mt, 351, 364, xa_mk_value(352), 0); + check_load(mt, 350, xa_mk_value(350)); + check_load(mt, 351, xa_mk_value(352)); + for (i = 352; i <= 364; i++) + check_load(mt, i, xa_mk_value(352)); + check_load(mt, 365, xa_mk_value(365)); + mt_set_non_kernel(0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - mas_reset(&mas); - mas.tree = mt; - count = 0; - mas.index = 0; - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set12, ARRAY_SIZE(set12)); - rcu_barrier(); - mas_for_each(&mas, entry, ULONG_MAX) { - if (xa_is_zero(entry)) - continue; - BUG_ON(count > 12); - count++; - } - mtree_destroy(mt); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set13, ARRAY_SIZE(set13)); - mtree_erase(mt, 140373516443648); - rcu_read_lock(); - mas_empty_area_rev(&mas, 0, 140373518663680, 4096); - rcu_read_unlock(); - mtree_destroy(mt); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set14, ARRAY_SIZE(set14)); - rcu_barrier(); + mt_set_non_kernel(50); + check_seq(mt, 400, false); + check_store_range(mt, 362, 367, xa_mk_value(362), 0); + check_store_range(mt, 353, 361, xa_mk_value(353), 0); + mt_set_non_kernel(0); + mt_validate(mt); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); + /* + * Interesting cases: + * 1. Overwrite the end of a node and end in the first entry of the next + * node. + * 2. Split a single range + * 3. Overwrite the start of a range + * 4. Overwrite the end of a range + * 5. Overwrite the entire range + * 6. Overwrite a range that causes multiple parent nodes to be + * combined + * 7. Overwrite a range that causes multiple parent nodes and part of + * root to be combined + * 8. Overwrite the whole tree + * 9. Try to overwrite the zero entry of an alloc tree. + * 10. Write a range larger than a nodes current pivot + */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set15, ARRAY_SIZE(set15)); - rcu_barrier(); + mt_set_non_kernel(50); + for (i = 0; i <= 500; i++) { + val = i*5; + val2 = (i+1)*5; + check_store_range(mt, val, val2, xa_mk_value(val), 0); + } + check_store_range(mt, 2400, 2400, xa_mk_value(2400), 0); + check_store_range(mt, 2411, 2411, xa_mk_value(2411), 0); + check_store_range(mt, 2412, 2412, xa_mk_value(2412), 0); + check_store_range(mt, 2396, 2400, xa_mk_value(4052020), 0); + check_store_range(mt, 2402, 2402, xa_mk_value(2402), 0); mtree_destroy(mt); + mt_set_non_kernel(0); - /* set16 was to find a bug on limit updating at slot 0. */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set16, ARRAY_SIZE(set16)); - rcu_barrier(); - mas_empty_area_rev(&mas, 4096, 139921865637888, 0x6000); - MT_BUG_ON(mt, mas.last != 139921865547775); + mt_set_non_kernel(50); + for (i = 0; i <= 500; i++) { + val = i*5; + val2 = (i+1)*5; + check_store_range(mt, val, val2, xa_mk_value(val), 0); + } + check_store_range(mt, 2422, 2422, xa_mk_value(2422), 0); + check_store_range(mt, 2424, 2424, xa_mk_value(2424), 0); + check_store_range(mt, 2425, 2425, xa_mk_value(2), 0); + check_store_range(mt, 2460, 2470, NULL, 0); + check_store_range(mt, 2435, 2460, xa_mk_value(2435), 0); + check_store_range(mt, 2461, 2470, xa_mk_value(2461), 0); mt_set_non_kernel(0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - /* - * set17 found a bug in walking backwards and not counting nulls at - * the end. This could cause a gap to be missed if the null had any - * size. - */ - mt_set_non_kernel(99); - mas_reset(&mas); + /* Test rebalance gaps */ mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set17, ARRAY_SIZE(set17)); - rcu_barrier(); - mas_empty_area_rev(&mas, 4096, 139953197334528, 0x1000); - MT_BUG_ON(mt, mas.last != 139953197322239); -/* MT_BUG_ON(mt, mas.index != 139953197318144); */ + mt_set_non_kernel(50); + for (i = 0; i <= 50; i++) { + val = i*10; + val2 = (i+1)*10; + check_store_range(mt, val, val2, xa_mk_value(val), 0); + } + check_store_range(mt, 161, 161, xa_mk_value(161), 0); + check_store_range(mt, 162, 162, xa_mk_value(162), 0); + check_store_range(mt, 163, 163, xa_mk_value(163), 0); + check_store_range(mt, 240, 249, NULL, 0); + mtree_erase(mt, 200); + mtree_erase(mt, 210); + mtree_erase(mt, 220); + mtree_erase(mt, 230); mt_set_non_kernel(0); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); - /* - * set18 found a bug in walking backwards and not setting the max from - * the node, but using the parent node. This was only an issue if the - * next slot in the parent had what we needed. - */ - mt_set_non_kernel(99); - mas_reset(&mas); mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set18, ARRAY_SIZE(set18)); - rcu_barrier(); - mas_empty_area_rev(&mas, 4096, 140222972858368, 2215936); - MT_BUG_ON(mt, mas.last != 140222968475647); - /*MT_BUG_ON(mt, mas.index != 140222966259712); */ - mt_set_non_kernel(0); - mtree_destroy(mt); - - /* - * set19 found 2 bugs in prev. - * 1. If we hit root without finding anything, then there was an - * infinite loop. - * 2. The first ascending wasn't using the correct slot which may have - * caused missed entries. - */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set19, ARRAY_SIZE(set19)); - rcu_barrier(); - mas.index = 140656779083776; - entry = mas_find(&mas, ULONG_MAX); - MT_BUG_ON(mt, entry != xa_mk_value(140656779083776)); - entry = mas_prev(&mas, 0); - MT_BUG_ON(mt, entry != xa_mk_value(140656766251008)); - mt_set_non_kernel(0); - mtree_destroy(mt); - - /* - * set20 found a bug in mas_may_move_gap due to the slot being - * overwritten during the __mas_add operation and setting it to zero. - */ - mt_set_non_kernel(99); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set20, ARRAY_SIZE(set20)); - rcu_barrier(); - check_load(mt, 94849009414144, NULL); - mt_set_non_kernel(0); - mtree_destroy(mt); - - mt_set_non_kernel(99); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set21, ARRAY_SIZE(set21)); - rcu_barrier(); - mt_validate(mt); - mt_set_non_kernel(0); - mtree_destroy(mt); - - mt_set_non_kernel(999); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set22, ARRAY_SIZE(set22)); - rcu_barrier(); - mt_validate(mt); - ptr = mtree_load(mt, 140551363362816); - MT_BUG_ON(mt, ptr == mtree_load(mt, 140551363420159)); - mt_set_non_kernel(0); - mtree_destroy(mt); - - mt_set_non_kernel(99); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set23, ARRAY_SIZE(set23)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - - mt_set_non_kernel(99); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set24, ARRAY_SIZE(set24)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - mt_set_non_kernel(99); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set25, ARRAY_SIZE(set25)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* Split on NULL followed by delete - causes gap issues. */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set26, ARRAY_SIZE(set26)); - rcu_barrier(); - mas_empty_area_rev(&mas, 4096, 140109042671616, 409600); - MT_BUG_ON(mt, mas.last != 140109040959487); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* Split on NULL followed by delete - causes gap issues. */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set27, ARRAY_SIZE(set27)); - rcu_barrier(); - MT_BUG_ON(mt, 0 != mtree_load(mt, 140415537422336)); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set28, ARRAY_SIZE(set28)); - rcu_barrier(); - mas_empty_area_rev(&mas, 4096, 139918413357056, 2097152); - /* Search for the size of gap then align it (offset 0) */ - mas.index = (mas.last + 1 - 2097152 - 0) & (~2093056); - MT_BUG_ON(mt, mas.index != 139918401601536); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* This test found issues with retry moving rebalanced nodes so the - * incorrect parent pivot was updated. - */ - mt_set_non_kernel(999); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set29, ARRAY_SIZE(set29)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* This test found issues with deleting all entries in a node when - * surrounded by entries in the next nodes, then deleting the entries - * surrounding the node filled with deleted entries. - */ - mt_set_non_kernel(999); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set30, ARRAY_SIZE(set30)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* This test found an issue with deleting all entries in a node that was - * the end node and mas_gap incorrectly set next = curr, and curr = prev - * then moved next to the left, losing data. - */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set31, ARRAY_SIZE(set31)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set32, ARRAY_SIZE(set32)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - -/* - * mmap: empty_area_topdown: ffff88821c9cb600 Gap was found: - * mt 140582827569152 gap_end 140582869532672 - * mmap: window was 140583656296448 - 4096 size 134217728 - * mmap: mas.min 94133881868288 max 140582961786879 mas.last 140582961786879 - * mmap: mas.index 140582827569152 align mask 0 offset 0 - * mmap: rb_find_vma find on - * 140582827569152 => ffff88821c5bad00 (ffff88821c5bad00) - */ - - /* move gap failed due to an entirely empty node */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set33, ARRAY_SIZE(set33)); - rcu_barrier(); - mas_empty_area_rev(&mas, 4096, 140583656296448, 134217728); - MT_BUG_ON(mt, mas.last != 140583003750399); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* - * Incorrect gap in tree caused by mas_prev not setting the limits - * correctly while walking down. - */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set34, ARRAY_SIZE(set34)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* Empty leaf at the end of a parent caused incorrect gap. */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set35, ARRAY_SIZE(set35)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - mt_set_non_kernel(99); - /* Empty leaf at the end of a parent caused incorrect gap. */ - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set36, ARRAY_SIZE(set36)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set37, ARRAY_SIZE(set37)); - rcu_barrier(); - MT_BUG_ON(mt, 0 != mtree_load(mt, 94637033459712)); - mt_validate(mt); - mtree_destroy(mt); - - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set38, ARRAY_SIZE(set38)); - rcu_barrier(); - MT_BUG_ON(mt, 0 != mtree_load(mt, 94637033459712)); - mt_validate(mt); - mtree_destroy(mt); - - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set39, ARRAY_SIZE(set39)); - rcu_barrier(); - mt_validate(mt); - mtree_destroy(mt); - - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set40, ARRAY_SIZE(set40)); - rcu_barrier(); - mt_validate(mt); - mtree_destroy(mt); - - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set41, ARRAY_SIZE(set41)); - rcu_barrier(); - mt_validate(mt); - mtree_destroy(mt); - - /* move gap failed due to an entirely empty node. */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set42, ARRAY_SIZE(set42)); - rcu_barrier(); - mas_empty_area_rev(&mas, 4096, 4052029440, 28672); - MT_BUG_ON(mt, mas.last != 4041211903); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); - - /* gap calc off by one */ - mt_set_non_kernel(99); - mas_reset(&mas); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_erase2_testset(mt, set43, ARRAY_SIZE(set43)); - rcu_barrier(); - mt_set_non_kernel(0); - mt_validate(mt); - mtree_destroy(mt); -} - -static noinline void check_alloc_rev_range(struct maple_tree *mt) -{ - /* - * Generated by: - * cat /proc/self/maps | awk '{print $1}'| - * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}' - */ - - unsigned long range[] = { - /* Inclusive , Exclusive. */ - 0x565234af2000, 0x565234af4000, - 0x565234af4000, 0x565234af9000, - 0x565234af9000, 0x565234afb000, - 0x565234afc000, 0x565234afd000, - 0x565234afd000, 0x565234afe000, - 0x565235def000, 0x565235e10000, - 0x7f36d4bfd000, 0x7f36d4ee2000, - 0x7f36d4ee2000, 0x7f36d4f04000, - 0x7f36d4f04000, 0x7f36d504c000, - 0x7f36d504c000, 0x7f36d5098000, - 0x7f36d5098000, 0x7f36d5099000, - 0x7f36d5099000, 0x7f36d509d000, - 0x7f36d509d000, 0x7f36d509f000, - 0x7f36d509f000, 0x7f36d50a5000, - 0x7f36d50b9000, 0x7f36d50db000, - 0x7f36d50db000, 0x7f36d50dc000, - 0x7f36d50dc000, 0x7f36d50fa000, - 0x7f36d50fa000, 0x7f36d5102000, - 0x7f36d5102000, 0x7f36d5103000, - 0x7f36d5103000, 0x7f36d5104000, - 0x7f36d5104000, 0x7f36d5105000, - 0x7fff5876b000, 0x7fff5878d000, - 0x7fff5878e000, 0x7fff58791000, - 0x7fff58791000, 0x7fff58793000, - }; - - unsigned long holes[] = { - /* - * Note: start of hole is INCLUSIVE - * end of hole is EXCLUSIVE - * (opposite of the above table.) - * Start of hole, end of hole, size of hole (+1) - */ - 0x565234afb000, 0x565234afc000, 0x1000, - 0x565234afe000, 0x565235def000, 0x12F1000, - 0x565235e10000, 0x7f36d4bfd000, 0x28E49EDED000, - }; - - /* - * req_range consists of 4 values. - * 1. min index - * 2. max index - * 3. size - * 4. number that should be returned. - * 5. return value - */ - unsigned long req_range[] = { - 0x565234af9000, /* Min */ - 0x7fff58791000, /* Max */ - 0x1000, /* Size */ - 0x7fff5878d << 12, /* First rev hole of size 0x1000 */ - 0, /* Return value success. */ - - 0x0, /* Min */ - 0x565234AF1 << 12, /* Max */ - 0x3000, /* Size */ - 0x565234AEE << 12, /* max - 3. */ - 0, /* Return value success. */ - - 0x0, /* Min */ - -1, /* Max */ - 0x1000, /* Size */ - 562949953421311 << 12,/* First rev hole of size 0x1000 */ - 0, /* Return value success. */ - - 0x0, /* Min */ - 0x7F36D510A << 12, /* Max */ - 0x4000, /* Size */ - 0x7F36D5106 << 12, /* First rev hole of size 0x4000 */ - 0, /* Return value success. */ - - /* Ascend test. */ - 0x0, - 34148798629 << 12, - 19 << 12, - 34148797418 << 12, - 0x0, - - /* Too big test. */ - 0x0, - 18446744073709551615UL, - 562915594369134UL << 12, - 0x0, - -EBUSY, - - }; - - int i, range_count = ARRAY_SIZE(range); - int req_range_count = ARRAY_SIZE(req_range); - unsigned long min = 0; - - MA_STATE(mas, mt, 0, 0); - - mtree_store_range(mt, MTREE_ALLOC_MAX, ULONG_MAX, XA_ZERO_ENTRY, - GFP_KERNEL); -#define DEBUG_REV_RANGE 0 - for (i = 0; i < range_count; i += 2) { - /* Inclusive, Inclusive (with the -1) */ - -#if DEBUG_REV_RANGE - pr_debug("\t%s: Insert %lu-%lu\n", __func__, range[i] >> 12, - (range[i + 1] >> 12) - 1); -#endif - check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, - xa_mk_value(range[i] >> 12), 0); - mt_validate(mt); - } - - - for (i = 0; i < ARRAY_SIZE(holes); i += 3) { -#if DEBUG_REV_RANGE - pr_debug("Search from %lu-%lu for gap %lu should be at %lu\n", - min, holes[i+1]>>12, holes[i+2]>>12, - holes[i] >> 12); -#endif - MT_BUG_ON(mt, mas_empty_area_rev(&mas, min, - holes[i+1] >> 12, - holes[i+2] >> 12)); -#if DEBUG_REV_RANGE - pr_debug("Found %lu %lu\n", mas.index, mas.last); - pr_debug("gap %lu %lu\n", (holes[i] >> 12), - (holes[i+1] >> 12)); -#endif - MT_BUG_ON(mt, mas.last + 1 != (holes[i+1] >> 12)); - MT_BUG_ON(mt, mas.index != (holes[i+1] >> 12) - (holes[i+2] >> 12)); - min = holes[i+1] >> 12; - mas_reset(&mas); - } - - for (i = 0; i < req_range_count; i += 5) { -#if DEBUG_REV_RANGE - pr_debug("\tReverse request between %lu-%lu size %lu, should get %lu\n", - req_range[i] >> 12, - (req_range[i + 1] >> 12) - 1, - req_range[i+2] >> 12, - req_range[i+3] >> 12); -#endif - check_mtree_alloc_rrange(mt, - req_range[i] >> 12, /* start */ - req_range[i+1] >> 12, /* end */ - req_range[i+2] >> 12, /* size */ - req_range[i+3] >> 12, /* expected address */ - req_range[i+4], /* expected return */ - xa_mk_value(req_range[i] >> 12)); /* pointer */ - mt_validate(mt); - } - - mt_set_non_kernel(1); - mtree_erase(mt, 34148798727); /* create a deleted range. */ - check_mtree_alloc_rrange(mt, 0, 34359052173, 210253414, - 34148798725, 0, mt); - - mtree_destroy(mt); -} - -static noinline void check_alloc_range(struct maple_tree *mt) -{ - /* - * Generated by: - * cat /proc/self/maps|awk '{print $1}'| - * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}' - */ - - unsigned long range[] = { - /* Inclusive , Exclusive. */ - 0x565234af2000, 0x565234af4000, - 0x565234af4000, 0x565234af9000, - 0x565234af9000, 0x565234afb000, - 0x565234afc000, 0x565234afd000, - 0x565234afd000, 0x565234afe000, - 0x565235def000, 0x565235e10000, - 0x7f36d4bfd000, 0x7f36d4ee2000, - 0x7f36d4ee2000, 0x7f36d4f04000, - 0x7f36d4f04000, 0x7f36d504c000, - 0x7f36d504c000, 0x7f36d5098000, - 0x7f36d5098000, 0x7f36d5099000, - 0x7f36d5099000, 0x7f36d509d000, - 0x7f36d509d000, 0x7f36d509f000, - 0x7f36d509f000, 0x7f36d50a5000, - 0x7f36d50b9000, 0x7f36d50db000, - 0x7f36d50db000, 0x7f36d50dc000, - 0x7f36d50dc000, 0x7f36d50fa000, - 0x7f36d50fa000, 0x7f36d5102000, - 0x7f36d5102000, 0x7f36d5103000, - 0x7f36d5103000, 0x7f36d5104000, - 0x7f36d5104000, 0x7f36d5105000, - 0x7fff5876b000, 0x7fff5878d000, - 0x7fff5878e000, 0x7fff58791000, - 0x7fff58791000, 0x7fff58793000, - }; - unsigned long holes[] = { - /* Start of hole, end of hole, size of hole (+1) */ - 0x565234afb000, 0x565234afc000, 0x1000, - 0x565234afe000, 0x565235def000, 0x12F1000, - 0x565235e10000, 0x7f36d4bfd000, 0x28E49EDED000, - }; - - /* - * req_range consists of 4 values. - * 1. min index - * 2. max index - * 3. size - * 4. number that should be returned. - * 5. return value - */ - unsigned long req_range[] = { - 0x565234af9000, /* Min */ - 0x7fff58791000, /* Max */ - 0x1000, /* Size */ - 0x565234afb000, /* First hole in our data of size 1000. */ - 0, /* Return value success. */ - - 0x0, /* Min */ - 0x7fff58791000, /* Max */ - 0x1F00, /* Size */ - 0x0, /* First hole in our data of size 2000. */ - 0, /* Return value success. */ - - /* Test ascend. */ - 34148797436 << 12, /* Min */ - 0x7fff587AF000, /* Max */ - 0x3000, /* Size */ - 34148798629 << 12, /* Expected location */ - 0, /* Return value success. */ - - /* Test failing. */ - 34148798623 << 12, /* Min */ - 34148798683 << 12, /* Max */ - 0x15000, /* Size */ - 0, /* Expected location */ - -EBUSY, /* Return value failed. */ - - /* Test filling entire gap. */ - 34148798623 << 12, /* Min */ - 0x7fff587AF000, /* Max */ - 0x10000, /* Size */ - 34148798632 << 12, /* Expected location */ - 0, /* Return value success. */ - - /* Test walking off the end of root. */ - 0, /* Min */ - -1, /* Max */ - -1, /* Size */ - 0, /* Expected location */ - -EBUSY, /* Return value failure. */ - - /* Test looking for too large a hole across entire range. */ - 0, /* Min */ - -1, /* Max */ - 4503599618982063UL << 12, /* Size */ - 34359052178 << 12, /* Expected location */ - -EBUSY, /* Return failure. */ - }; - int i, range_count = ARRAY_SIZE(range); - int req_range_count = ARRAY_SIZE(req_range); - unsigned long min = 0x565234af2000; - - mtree_store_range(mt, MTREE_ALLOC_MAX, ULONG_MAX, XA_ZERO_ENTRY, - GFP_KERNEL); - for (i = 0; i < range_count; i += 2) { -#define DEBUG_ALLOC_RANGE 0 -#if DEBUG_ALLOC_RANGE - pr_debug("\tInsert %lu-%lu\n", range[i] >> 12, - (range[i + 1] >> 12) - 1); - mt_dump(mt); -#endif - check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, - xa_mk_value(range[i] >> 12), 0); - mt_validate(mt); - } - - - MA_STATE(mas, mt, 0, 0); - - for (i = 0; i < ARRAY_SIZE(holes); i += 3) { - -#if DEBUG_ALLOC_RANGE - pr_debug("\tGet empty %lu-%lu size %lu (%lx-%lx)\n", min >> 12, - holes[i+1] >> 12, holes[i+2] >> 12, - min, holes[i+1]); -#endif - MT_BUG_ON(mt, mas_empty_area(&mas, min >> 12, - holes[i+1] >> 12, - holes[i+2] >> 12)); - MT_BUG_ON(mt, mas.index != holes[i] >> 12); - min = holes[i+1]; - mas_reset(&mas); - } - for (i = 0; i < req_range_count; i += 5) { -#if DEBUG_ALLOC_RANGE - pr_debug("\tTest %d: %lu-%lu size %lu expected %lu (%lu-%lu)\n", - i/5, req_range[i] >> 12, req_range[i + 1] >> 12, - req_range[i + 2] >> 12, req_range[i + 3] >> 12, - req_range[i], req_range[i+1]); -#endif - check_mtree_alloc_range(mt, - req_range[i] >> 12, /* start */ - req_range[i+1] >> 12, /* end */ - req_range[i+2] >> 12, /* size */ - req_range[i+3] >> 12, /* expected address */ - req_range[i+4], /* expected return */ - xa_mk_value(req_range[i] >> 12)); /* pointer */ - mt_validate(mt); -#if DEBUG_ALLOC_RANGE - mt_dump(mt); -#endif - } - - mtree_destroy(mt); -} - -static noinline void check_ranges(struct maple_tree *mt) -{ - int i, val, val2; - unsigned long r[] = { - 10, 15, - 20, 25, - 17, 22, /* Overlaps previous range. */ - 9, 1000, /* Huge. */ - 100, 200, - 45, 168, - 118, 128, - }; - - MT_BUG_ON(mt, !mtree_empty(mt)); - check_insert_range(mt, r[0], r[1], xa_mk_value(r[0]), 0); - check_insert_range(mt, r[2], r[3], xa_mk_value(r[2]), 0); - check_insert_range(mt, r[4], r[5], xa_mk_value(r[4]), -EEXIST); - MT_BUG_ON(mt, !mt_height(mt)); - /* Store */ - check_store_range(mt, r[4], r[5], xa_mk_value(r[4]), 0); - check_store_range(mt, r[6], r[7], xa_mk_value(r[6]), 0); - check_store_range(mt, r[8], r[9], xa_mk_value(r[8]), 0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - MT_BUG_ON(mt, mt_height(mt)); - - check_seq(mt, 50, false); - mt_set_non_kernel(4); - check_store_range(mt, 5, 47, xa_mk_value(47), 0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - /* Create tree of 1-100 */ - check_seq(mt, 100, false); - /* Store 45-168 */ - mt_set_non_kernel(10); - check_store_range(mt, r[10], r[11], xa_mk_value(r[10]), 0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - /* Create tree of 1-200 */ - check_seq(mt, 200, false); - /* Store 45-168 */ - check_store_range(mt, r[10], r[11], xa_mk_value(r[10]), 0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - check_seq(mt, 30, false); - check_store_range(mt, 6, 18, xa_mk_value(6), 0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - /* Overwrite across multiple levels. */ - /* Create tree of 1-400 */ - check_seq(mt, 400, false); - mt_set_non_kernel(50); - /* Store 118-128 */ - check_store_range(mt, r[12], r[13], xa_mk_value(r[12]), 0); - mt_set_non_kernel(50); - mtree_test_erase(mt, 140); - mtree_test_erase(mt, 141); - mtree_test_erase(mt, 142); - mtree_test_erase(mt, 143); - mtree_test_erase(mt, 130); - mtree_test_erase(mt, 131); - mtree_test_erase(mt, 132); - mtree_test_erase(mt, 133); - mtree_test_erase(mt, 134); - mtree_test_erase(mt, 135); - check_load(mt, r[12], xa_mk_value(r[12])); - check_load(mt, r[13], xa_mk_value(r[12])); - check_load(mt, r[13] - 1, xa_mk_value(r[12])); - check_load(mt, r[13] + 1, xa_mk_value(r[13] + 1)); - check_load(mt, 135, NULL); - check_load(mt, 140, NULL); - mt_set_non_kernel(0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - - - /* Overwrite multiple levels at the end of the tree (slot 7) */ - mt_set_non_kernel(50); - check_seq(mt, 400, false); - check_store_range(mt, 353, 361, xa_mk_value(353), 0); - check_store_range(mt, 347, 352, xa_mk_value(347), 0); - - check_load(mt, 346, xa_mk_value(346)); - for (i = 347; i <= 352; i++) - check_load(mt, i, xa_mk_value(347)); - for (i = 353; i <= 361; i++) - check_load(mt, i, xa_mk_value(353)); - check_load(mt, 362, xa_mk_value(362)); - mt_set_non_kernel(0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - mt_set_non_kernel(50); - check_seq(mt, 400, false); - check_store_range(mt, 352, 364, NULL, 0); - check_store_range(mt, 351, 363, xa_mk_value(352), 0); - check_load(mt, 350, xa_mk_value(350)); - check_load(mt, 351, xa_mk_value(352)); - for (i = 352; i <= 363; i++) - check_load(mt, i, xa_mk_value(352)); - check_load(mt, 364, NULL); - check_load(mt, 365, xa_mk_value(365)); - mt_set_non_kernel(0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - mt_set_non_kernel(5); - check_seq(mt, 400, false); - check_store_range(mt, 352, 364, NULL, 0); - check_store_range(mt, 351, 364, xa_mk_value(352), 0); - check_load(mt, 350, xa_mk_value(350)); - check_load(mt, 351, xa_mk_value(352)); - for (i = 352; i <= 364; i++) - check_load(mt, i, xa_mk_value(352)); - check_load(mt, 365, xa_mk_value(365)); - mt_set_non_kernel(0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - - mt_set_non_kernel(50); - check_seq(mt, 400, false); - check_store_range(mt, 362, 367, xa_mk_value(362), 0); - check_store_range(mt, 353, 361, xa_mk_value(353), 0); - mt_set_non_kernel(0); - mt_validate(mt); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - /* - * Interesting cases: - * 1. Overwrite the end of a node and end in the first entry of the next - * node. - * 2. Split a single range - * 3. Overwrite the start of a range - * 4. Overwrite the end of a range - * 5. Overwrite the entire range - * 6. Overwrite a range that causes multiple parent nodes to be - * combined - * 7. Overwrite a range that causes multiple parent nodes and part of - * root to be combined - * 8. Overwrite the whole tree - * 9. Try to overwrite the zero entry of an alloc tree. - * 10. Write a range larger than a nodes current pivot - */ - - mt_set_non_kernel(50); - for (i = 0; i <= 500; i++) { - val = i*5; - val2 = (i+1)*5; - check_store_range(mt, val, val2, xa_mk_value(val), 0); - } - check_store_range(mt, 2400, 2400, xa_mk_value(2400), 0); - check_store_range(mt, 2411, 2411, xa_mk_value(2411), 0); - check_store_range(mt, 2412, 2412, xa_mk_value(2412), 0); - check_store_range(mt, 2396, 2400, xa_mk_value(4052020), 0); - check_store_range(mt, 2402, 2402, xa_mk_value(2402), 0); - mtree_destroy(mt); - mt_set_non_kernel(0); - - mt_set_non_kernel(50); - for (i = 0; i <= 500; i++) { - val = i*5; - val2 = (i+1)*5; - check_store_range(mt, val, val2, xa_mk_value(val), 0); - } - check_store_range(mt, 2422, 2422, xa_mk_value(2422), 0); - check_store_range(mt, 2424, 2424, xa_mk_value(2424), 0); - check_store_range(mt, 2425, 2425, xa_mk_value(2), 0); - check_store_range(mt, 2460, 2470, NULL, 0); - check_store_range(mt, 2435, 2460, xa_mk_value(2435), 0); - check_store_range(mt, 2461, 2470, xa_mk_value(2461), 0); - mt_set_non_kernel(0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - /* Test rebalance gaps */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - mt_set_non_kernel(50); - for (i = 0; i <= 50; i++) { - val = i*10; - val2 = (i+1)*10; - check_store_range(mt, val, val2, xa_mk_value(val), 0); - } - check_store_range(mt, 161, 161, xa_mk_value(161), 0); - check_store_range(mt, 162, 162, xa_mk_value(162), 0); - check_store_range(mt, 163, 163, xa_mk_value(163), 0); - check_store_range(mt, 240, 249, NULL, 0); - mtree_erase(mt, 200); - mtree_erase(mt, 210); - mtree_erase(mt, 220); - mtree_erase(mt, 230); - mt_set_non_kernel(0); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= 500; i++) { - val = i*10; - val2 = (i+1)*10; - check_store_range(mt, val, val2, xa_mk_value(val), 0); - } - check_store_range(mt, 4600, 4959, xa_mk_value(1), 0); - mt_validate(mt); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= 500; i++) { - val = i*10; - val2 = (i+1)*10; - check_store_range(mt, val, val2, xa_mk_value(val), 0); - } - check_store_range(mt, 4811, 4811, xa_mk_value(4811), 0); - check_store_range(mt, 4812, 4812, xa_mk_value(4812), 0); - check_store_range(mt, 4861, 4861, xa_mk_value(4861), 0); - check_store_range(mt, 4862, 4862, xa_mk_value(4862), 0); - check_store_range(mt, 4842, 4849, NULL, 0); - mt_validate(mt); - MT_BUG_ON(mt, !mt_height(mt)); - mtree_destroy(mt); - - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= 1300; i++) { - val = i*10; - val2 = (i+1)*10; - check_store_range(mt, val, val2, xa_mk_value(val), 0); - MT_BUG_ON(mt, mt_height(mt) >= 4); - } - /* Cause a 3 child split all the way up the tree. */ - for (i = 5; i < 215; i += 10) - check_store_range(mt, 11450 + i, 11450 + i + 1, NULL, 0); - for (i = 5; i < 65; i += 10) - check_store_range(mt, 11770 + i, 11770 + i + 1, NULL, 0); - - MT_BUG_ON(mt, mt_height(mt) >= 4); - for (i = 5; i < 45; i += 10) - check_store_range(mt, 11700 + i, 11700 + i + 1, NULL, 0); - MT_BUG_ON(mt, mt_height(mt) < 4); - mtree_destroy(mt); - - - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= 1200; i++) { - val = i*10; - val2 = (i+1)*10; - check_store_range(mt, val, val2, xa_mk_value(val), 0); - MT_BUG_ON(mt, mt_height(mt) >= 4); - } - /* Fill parents and leaves before split. */ - for (i = 5; i < 455; i += 10) - check_store_range(mt, 7800 + i, 7800 + i + 1, NULL, 0); - - for (i = 1; i < 16; i++) - check_store_range(mt, 8185 + i, 8185 + i + 1, - xa_mk_value(8185+i), 0); - MT_BUG_ON(mt, mt_height(mt) >= 4); - /* triple split across multiple levels. */ - check_store_range(mt, 8184, 8184, xa_mk_value(8184), 0); - MT_BUG_ON(mt, mt_height(mt) != 4); -} - -static noinline void check_next_entry(struct maple_tree *mt) -{ - void *entry = NULL; - unsigned long limit = 30, i = 0; - - MT_BUG_ON(mt, !mtree_empty(mt)); - MA_STATE(mas, mt, i, i); - - check_seq(mt, limit, false); - rcu_read_lock(); - - /* Check the first one and get ma_state in the correct state. */ - MT_BUG_ON(mt, mas_walk(&mas) != xa_mk_value(i++)); - for ( ; i <= limit + 1; i++) { - entry = mas_next(&mas, limit); - if (i > limit) - MT_BUG_ON(mt, entry != NULL); - else - MT_BUG_ON(mt, xa_mk_value(i) != entry); - } - rcu_read_unlock(); - mtree_destroy(mt); -} - -static noinline void check_prev_entry(struct maple_tree *mt) -{ - unsigned long index = 16; - void *value; - int i; - - MA_STATE(mas, mt, index, index); - - MT_BUG_ON(mt, !mtree_empty(mt)); - check_seq(mt, 30, false); - - rcu_read_lock(); - value = mas_find(&mas, ULONG_MAX); - MT_BUG_ON(mt, value != xa_mk_value(index)); - value = mas_prev(&mas, 0); - MT_BUG_ON(mt, value != xa_mk_value(index - 1)); - rcu_read_unlock(); - mtree_destroy(mt); - - /* Check limits on prev */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - mas_lock(&mas); - for (i = 0; i <= index; i++) { - mas_set_range(&mas, i*10, i*10+5); - mas_store_gfp(&mas, xa_mk_value(i), GFP_KERNEL); - } - - mas_set(&mas, 20); - value = mas_walk(&mas); - MT_BUG_ON(mt, value != xa_mk_value(2)); - - value = mas_prev(&mas, 19); - MT_BUG_ON(mt, value != NULL); - - mas_set(&mas, 80); - value = mas_walk(&mas); - MT_BUG_ON(mt, value != xa_mk_value(8)); - - value = mas_prev(&mas, 76); - MT_BUG_ON(mt, value != NULL); - - mas_unlock(&mas); -} - -static noinline void check_root_expand(struct maple_tree *mt) -{ - MA_STATE(mas, mt, 0, 0); - void *ptr; - - - mas_lock(&mas); - mas_set(&mas, 3); - ptr = mas_walk(&mas); - MT_BUG_ON(mt, ptr != NULL); - MT_BUG_ON(mt, mas.index != 0); - MT_BUG_ON(mt, mas.last != ULONG_MAX); - - ptr = &check_prev_entry; - mas_set(&mas, 1); - mas_store_gfp(&mas, ptr, GFP_KERNEL); - - mas_set(&mas, 0); - ptr = mas_walk(&mas); - MT_BUG_ON(mt, ptr != NULL); - - mas_set(&mas, 1); - ptr = mas_walk(&mas); - MT_BUG_ON(mt, ptr != &check_prev_entry); - - mas_set(&mas, 2); - ptr = mas_walk(&mas); - MT_BUG_ON(mt, ptr != NULL); - mas_unlock(&mas); - mtree_destroy(mt); - - - mt_init_flags(mt, 0); - mas_lock(&mas); - - mas_set(&mas, 0); - ptr = &check_prev_entry; - mas_store_gfp(&mas, ptr, GFP_KERNEL); - - mas_set(&mas, 5); - ptr = mas_walk(&mas); - MT_BUG_ON(mt, ptr != NULL); - MT_BUG_ON(mt, mas.index != 1); - MT_BUG_ON(mt, mas.last != ULONG_MAX); - - mas_set_range(&mas, 0, 100); - ptr = mas_walk(&mas); - MT_BUG_ON(mt, ptr != &check_prev_entry); - MT_BUG_ON(mt, mas.last != 0); - mas_unlock(&mas); - mtree_destroy(mt); - - mt_init_flags(mt, 0); - mas_lock(&mas); - - mas_set(&mas, 0); - ptr = (void *)((unsigned long) check_prev_entry | 1UL); - mas_store_gfp(&mas, ptr, GFP_KERNEL); - ptr = mas_next(&mas, ULONG_MAX); - MT_BUG_ON(mt, ptr != NULL); - MT_BUG_ON(mt, (mas.index != 1) && (mas.last != ULONG_MAX)); - - mas_set(&mas, 1); - ptr = mas_prev(&mas, 0); - MT_BUG_ON(mt, (mas.index != 0) && (mas.last != 0)); - MT_BUG_ON(mt, ptr != (void *)((unsigned long) check_prev_entry | 1UL)); - - mas_unlock(&mas); - - mtree_destroy(mt); - - mt_init_flags(mt, 0); - mas_lock(&mas); - mas_set(&mas, 0); - ptr = (void *)((unsigned long) check_prev_entry | 2UL); - mas_store_gfp(&mas, ptr, GFP_KERNEL); - ptr = mas_next(&mas, ULONG_MAX); - MT_BUG_ON(mt, ptr != NULL); - MT_BUG_ON(mt, (mas.index != 1) && (mas.last != ULONG_MAX)); - - mas_set(&mas, 1); - ptr = mas_prev(&mas, 0); - MT_BUG_ON(mt, (mas.index != 0) && (mas.last != 0)); - MT_BUG_ON(mt, ptr != (void *)((unsigned long) check_prev_entry | 2UL)); - - - mas_unlock(&mas); -} - -static noinline void check_prealloc(struct maple_tree *mt) -{ - unsigned long i, max = 100; - unsigned long allocated; - unsigned char height; - struct maple_node *mn; - void *ptr = check_prealloc; - MA_STATE(mas, mt, 10, 20); - - mt_set_non_kernel(1000); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mas_destroy(&mas); - allocated = mas_allocated(&mas); - MT_BUG_ON(mt, allocated != 0); - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - mas_destroy(&mas); - allocated = mas_allocated(&mas); - MT_BUG_ON(mt, allocated != 0); - - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); - ma_free_rcu(mn); - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - mas_destroy(&mas); - allocated = mas_allocated(&mas); - MT_BUG_ON(mt, allocated != 0); - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - mas_destroy(&mas); - allocated = mas_allocated(&mas); - MT_BUG_ON(mt, allocated != 0); - ma_free_rcu(mn); - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mn = mas_pop_node(&mas); - MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); - mas_push_node(&mas, mn); - MT_BUG_ON(mt, mas_allocated(&mas) != allocated); - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - mas_destroy(&mas); - allocated = mas_allocated(&mas); - MT_BUG_ON(mt, allocated != 0); - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mas_store_prealloc(&mas, ptr); - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mas_store_prealloc(&mas, ptr); - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mas_store_prealloc(&mas, ptr); - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mas_store_prealloc(&mas, ptr); - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - mt_set_non_kernel(1); - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated != 0); - mas_destroy(&mas); - - - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated == 0); - MT_BUG_ON(mt, allocated != 1 + height * 3); - mas_store_prealloc(&mas, ptr); - MT_BUG_ON(mt, mas_allocated(&mas) != 0); - mt_set_non_kernel(1); - MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); - allocated = mas_allocated(&mas); - height = mas_mt_height(&mas); - MT_BUG_ON(mt, allocated != 0); -} - -static noinline void check_spanning_write(struct maple_tree *mt) -{ - unsigned long i, max = 5000; - MA_STATE(mas, mt, 1200, 2380); - - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 1205); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - for (i = 1; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mtree_lock(mt); - mas_set_range(&mas, 9, 50006); /* Will expand to 0 - ULONG_MAX */ - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 1205); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mt_validate(mt); - mtree_destroy(mt); - - /* Test spanning store that requires a right cousin rebalance */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mas_set_range(&mas, 0, 12900); /* Spans more than 2 levels */ - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 1205); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* Test non-alloc tree spanning store */ - mt_init_flags(mt, 0); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mas_set_range(&mas, 0, 300); - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 15); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* Test spanning store that requires a right sibling rebalance */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mas_set_range(&mas, 0, 12865); - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 15); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* Test spanning store that requires a left sibling rebalance */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mas_set_range(&mas, 90, 13665); - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 95); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* Test spanning store that requires a left cousin rebalance */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mas_set_range(&mas, 46805, 49995); - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 46815); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* - * Test spanning store that requires a left cousin rebalance all the way - * to root - */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mas_set_range(&mas, 32395, 49995); - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 46815); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* - * Test spanning store that requires a right cousin rebalance all the - * way to root - */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - mas_set_range(&mas, 38875, 43190); - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 38900); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* Test spanning store ending at full node (depth 2)*/ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - mtree_lock(mt); - mas_set(&mas, 47606); - mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); - mas_set(&mas, 47607); - mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); - mas_set(&mas, 47608); - mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); - mas_set(&mas, 47609); - mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); - /* Ensure the parent node is full */ - mas_ascend(&mas); - MT_BUG_ON(mt, (mas_data_end(&mas)) != mt_slot_count(mas.node) - 1); - mas_set_range(&mas, 11516, 48940); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mtree_unlock(mt); - mtree_destroy(mt); - - /* Test spanning write with many levels of no siblings */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - mas_set_range(&mas, 43200, 49999); - mtree_lock(mt); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mas_set(&mas, 43200); - MT_BUG_ON(mt, mas_walk(&mas) != NULL); - mtree_unlock(mt); - mtree_destroy(mt); - - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= 100; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - - mtree_lock(mt); - mas_set_range(&mas, 76, 875); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - mtree_unlock(mt); -} - -static noinline void check_null_expand(struct maple_tree *mt) -{ - unsigned long i, max = 100; - unsigned char data_end; - MA_STATE(mas, mt, 959, 959); - - for (i = 0; i <= max; i++) - mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); - /* Test expanding null at start. */ - mas_walk(&mas); - data_end = mas_data_end(&mas); - mas_set_range(&mas, 959, 963); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - MT_BUG_ON(mt, mtree_load(mt, 963) != NULL); - MT_BUG_ON(mt, data_end != mas_data_end(&mas)); - - /* Test expanding null at end. */ - mas_set(&mas, 880); - mas_walk(&mas); - data_end = mas_data_end(&mas); - mas_set_range(&mas, 884, 887); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - MT_BUG_ON(mt, mtree_load(mt, 884) != NULL); - MT_BUG_ON(mt, mtree_load(mt, 889) != NULL); - MT_BUG_ON(mt, data_end != mas_data_end(&mas)); - - /* Test expanding null at start and end. */ - mas_set(&mas, 890); - mas_walk(&mas); - data_end = mas_data_end(&mas); - mas_set_range(&mas, 900, 905); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - MT_BUG_ON(mt, mtree_load(mt, 899) != NULL); - MT_BUG_ON(mt, mtree_load(mt, 900) != NULL); - MT_BUG_ON(mt, mtree_load(mt, 905) != NULL); - MT_BUG_ON(mt, mtree_load(mt, 906) != NULL); - MT_BUG_ON(mt, data_end - 2 != mas_data_end(&mas)); - - /* Test expanding null across multiple slots. */ - mas_set(&mas, 800); - mas_walk(&mas); - data_end = mas_data_end(&mas); - mas_set_range(&mas, 810, 825); - mas_store_gfp(&mas, NULL, GFP_KERNEL); - MT_BUG_ON(mt, mtree_load(mt, 809) != NULL); - MT_BUG_ON(mt, mtree_load(mt, 810) != NULL); - MT_BUG_ON(mt, mtree_load(mt, 825) != NULL); - MT_BUG_ON(mt, mtree_load(mt, 826) != NULL); - MT_BUG_ON(mt, data_end - 4 != mas_data_end(&mas)); -} - -static noinline void check_gap_combining(struct maple_tree *mt) -{ - struct maple_enode *mn1, *mn2; - void *entry; - - unsigned long seq100[] = { - /* 0-5 */ - 74, 75, 76, - 50, 100, 2, - - /* 6-12 */ - 44, 45, 46, 43, - 20, 50, 3, - - /* 13-20*/ - 80, 81, 82, - 76, 2, 79, 85, 4, - }; - unsigned long seq2000[] = { - 1152, 1151, - 1100, 1200, 2, - }; - unsigned long seq400[] = { - 286, 318, - 256, 260, 266, 270, 275, 280, 290, 398, - 286, 310, - }; - - unsigned long index = seq100[0]; - - MA_STATE(mas, mt, index, index); - - MT_BUG_ON(mt, !mtree_empty(mt)); - check_seq(mt, 100, false); /* create 100 singletons. */ - - mt_set_non_kernel(1); - mtree_test_erase(mt, seq100[2]); - check_load(mt, seq100[2], NULL); - mtree_test_erase(mt, seq100[1]); - check_load(mt, seq100[1], NULL); - - rcu_read_lock(); - entry = mas_find(&mas, ULONG_MAX); - MT_BUG_ON(mt, entry != xa_mk_value(index)); - mn1 = mas.node; - mas_next(&mas, ULONG_MAX); - entry = mas_next(&mas, ULONG_MAX); - MT_BUG_ON(mt, entry != xa_mk_value(index + 4)); - mn2 = mas.node; - MT_BUG_ON(mt, mn1 == mn2); /* test the test. */ - - /* - * At this point, there is a gap of 2 at index + 1 between seq100[3] and - * seq100[4]. Search for the gap. - */ - mt_set_non_kernel(1); - mas_reset(&mas); - MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[3], seq100[4], - seq100[5])); - MT_BUG_ON(mt, mas.index != index + 1); - rcu_read_unlock(); - - mtree_test_erase(mt, seq100[6]); - check_load(mt, seq100[6], NULL); - mtree_test_erase(mt, seq100[7]); - check_load(mt, seq100[7], NULL); - mtree_test_erase(mt, seq100[8]); - index = seq100[9]; - - rcu_read_lock(); - mas.index = index; - mas.last = index; - mas_reset(&mas); - entry = mas_find(&mas, ULONG_MAX); - MT_BUG_ON(mt, entry != xa_mk_value(index)); - mn1 = mas.node; - entry = mas_next(&mas, ULONG_MAX); - MT_BUG_ON(mt, entry != xa_mk_value(index + 4)); - mas_next(&mas, ULONG_MAX); /* go to the next entry. */ - mn2 = mas.node; - MT_BUG_ON(mt, mn1 == mn2); /* test the next entry is in the next node. */ - - /* - * At this point, there is a gap of 3 at seq100[6]. Find it by - * searching 20 - 50 for size 3. - */ - mas_reset(&mas); - MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[10], seq100[11], - seq100[12])); - MT_BUG_ON(mt, mas.index != seq100[6]); - rcu_read_unlock(); - - mt_set_non_kernel(1); - mtree_store(mt, seq100[13], NULL, GFP_KERNEL); - check_load(mt, seq100[13], NULL); - check_load(mt, seq100[14], xa_mk_value(seq100[14])); - mtree_store(mt, seq100[14], NULL, GFP_KERNEL); - check_load(mt, seq100[13], NULL); - check_load(mt, seq100[14], NULL); - - mas_reset(&mas); - rcu_read_lock(); - MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[16], seq100[15], - seq100[17])); - MT_BUG_ON(mt, mas.index != seq100[13]); - mt_validate(mt); - rcu_read_unlock(); - - /* - * *DEPRECATED: no retries anymore* Test retry entry in the start of a - * gap. - */ - mt_set_non_kernel(2); - mtree_test_store_range(mt, seq100[18], seq100[14], NULL); - mtree_test_erase(mt, seq100[15]); - mas_reset(&mas); - rcu_read_lock(); - MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[16], seq100[19], - seq100[20])); - rcu_read_unlock(); - MT_BUG_ON(mt, mas.index != seq100[18]); - mt_validate(mt); - mtree_destroy(mt); - - /* seq 2000 tests are for multi-level tree gaps */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_seq(mt, 2000, false); - mt_set_non_kernel(1); - mtree_test_erase(mt, seq2000[0]); - mtree_test_erase(mt, seq2000[1]); - - mt_set_non_kernel(2); - mas_reset(&mas); - rcu_read_lock(); - MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq2000[2], seq2000[3], - seq2000[4])); - MT_BUG_ON(mt, mas.index != seq2000[1]); - rcu_read_unlock(); - mt_validate(mt); - mtree_destroy(mt); - - /* seq 400 tests rebalancing over two levels. */ - mt_set_non_kernel(99); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_seq(mt, 400, false); - mtree_test_store_range(mt, seq400[0], seq400[1], NULL); - mt_set_non_kernel(0); + for (i = 0; i <= 500; i++) { + val = i*10; + val2 = (i+1)*10; + check_store_range(mt, val, val2, xa_mk_value(val), 0); + } + check_store_range(mt, 4600, 4959, xa_mk_value(1), 0); + mt_validate(mt); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - check_seq(mt, 400, false); - mt_set_non_kernel(50); - mtree_test_store_range(mt, seq400[2], seq400[9], - xa_mk_value(seq400[2])); - mtree_test_store_range(mt, seq400[3], seq400[9], - xa_mk_value(seq400[3])); - mtree_test_store_range(mt, seq400[4], seq400[9], - xa_mk_value(seq400[4])); - mtree_test_store_range(mt, seq400[5], seq400[9], - xa_mk_value(seq400[5])); - mtree_test_store_range(mt, seq400[0], seq400[9], - xa_mk_value(seq400[0])); - mtree_test_store_range(mt, seq400[6], seq400[9], - xa_mk_value(seq400[6])); - mtree_test_store_range(mt, seq400[7], seq400[9], - xa_mk_value(seq400[7])); - mtree_test_store_range(mt, seq400[8], seq400[9], - xa_mk_value(seq400[8])); - mtree_test_store_range(mt, seq400[10], seq400[11], - xa_mk_value(seq400[10])); - mt_validate(mt); - mt_set_non_kernel(0); - mtree_destroy(mt); -} -static noinline void check_node_overwrite(struct maple_tree *mt) -{ - int i, max = 4000; - - for (i = 0; i < max; i++) - mtree_test_store_range(mt, i*100, i*100 + 50, xa_mk_value(i*100)); - - mtree_test_store_range(mt, 319951, 367950, NULL); - /*mt_dump(mt); */ - mt_validate(mt); -} - -static void mas_dfs_preorder(struct ma_state *mas) -{ - - struct maple_enode *prev; - unsigned char end, slot = 0; - - if (mas_is_start(mas)) { - mas_start(mas); - return; - } - - if (mte_is_leaf(mas->node) && mte_is_root(mas->node)) - goto done; - -walk_up: - end = mas_data_end(mas); - if (mte_is_leaf(mas->node) || - (slot > end)) { - if (mte_is_root(mas->node)) - goto done; - - slot = mte_parent_slot(mas->node) + 1; - mas_ascend(mas); - goto walk_up; - } - - prev = mas->node; - mas->node = mas_get_slot(mas, slot); - if (!mas->node || slot > end) { - if (mte_is_root(prev)) - goto done; - - mas->node = prev; - slot = mte_parent_slot(mas->node) + 1; - mas_ascend(mas); - goto walk_up; + for (i = 0; i <= 500; i++) { + val = i*10; + val2 = (i+1)*10; + check_store_range(mt, val, val2, xa_mk_value(val), 0); } - - return; -done: - mas->node = MAS_NONE; -} - - -static void check_dfs_preorder(struct maple_tree *mt) -{ - unsigned long count = 0, max = 1000; - - MA_STATE(mas, mt, 0, 0); - - check_seq(mt, max, false); - do { - count++; - mas_dfs_preorder(&mas); - } while (!mas_is_none(&mas)); - MT_BUG_ON(mt, count != 74); + check_store_range(mt, 4811, 4811, xa_mk_value(4811), 0); + check_store_range(mt, 4812, 4812, xa_mk_value(4812), 0); + check_store_range(mt, 4861, 4861, xa_mk_value(4861), 0); + check_store_range(mt, 4862, 4862, xa_mk_value(4862), 0); + check_store_range(mt, 4842, 4849, NULL, 0); + mt_validate(mt); + MT_BUG_ON(mt, !mt_height(mt)); mtree_destroy(mt); mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - mas_reset(&mas); - count = 0; - check_seq(mt, max, false); - do { - count++; - mas_dfs_preorder(&mas); - } while (!mas_is_none(&mas)); - /*printk("count %lu\n", count); */ - MT_BUG_ON(mt, count != 77); - mtree_destroy(mt); + for (i = 0; i <= 1300; i++) { + val = i*10; + val2 = (i+1)*10; + check_store_range(mt, val, val2, xa_mk_value(val), 0); + MT_BUG_ON(mt, mt_height(mt) >= 4); + } + /* Cause a 3 child split all the way up the tree. */ + for (i = 5; i < 215; i += 10) + check_store_range(mt, 11450 + i, 11450 + i + 1, NULL, 0); + for (i = 5; i < 65; i += 10) + check_store_range(mt, 11770 + i, 11770 + i + 1, NULL, 0); - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - mas_reset(&mas); - count = 0; - check_rev_seq(mt, max, false); - do { - count++; - mas_dfs_preorder(&mas); - } while (!mas_is_none(&mas)); - /*printk("count %lu\n", count); */ - MT_BUG_ON(mt, count != 77); + MT_BUG_ON(mt, mt_height(mt) >= 4); + for (i = 5; i < 45; i += 10) + check_store_range(mt, 11700 + i, 11700 + i + 1, NULL, 0); + if (!MAPLE_32BIT) + MT_BUG_ON(mt, mt_height(mt) < 4); mtree_destroy(mt); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - mas_reset(&mas); - mt_zero_nr_tallocated(); - mt_set_non_kernel(200); - mas_expected_entries(&mas, max); - for (count = 0; count <= max; count++) { - mas.index = mas.last = count; - mas_store(&mas, xa_mk_value(count)); - MT_BUG_ON(mt, mas_is_err(&mas)); + for (i = 0; i <= 1200; i++) { + val = i*10; + val2 = (i+1)*10; + check_store_range(mt, val, val2, xa_mk_value(val), 0); + MT_BUG_ON(mt, mt_height(mt) >= 4); } - mas_destroy(&mas); - rcu_barrier(); - /* - * pr_info(" ->seq test of 0-%lu %luK in %d active (%d total)\n", - * max, mt_get_alloc_size()/1024, mt_nr_allocated(), - * mt_nr_tallocated()); - */ + /* Fill parents and leaves before split. */ + for (i = 5; i < 455; i += 10) + check_store_range(mt, 7800 + i, 7800 + i + 1, NULL, 0); + for (i = 1; i < 16; i++) + check_store_range(mt, 8185 + i, 8185 + i + 1, + xa_mk_value(8185+i), 0); + MT_BUG_ON(mt, mt_height(mt) >= 4); + /* triple split across multiple levels. */ + check_store_range(mt, 8184, 8184, xa_mk_value(8184), 0); + if (!MAPLE_32BIT) + MT_BUG_ON(mt, mt_height(mt) != 4); } -#if defined(BENCH_SLOT_STORE) -static noinline void bench_slot_store(struct maple_tree *mt) +static noinline void check_next_entry(struct maple_tree *mt) { - int i, brk = 105, max = 1040, brk_start = 100, count = 20000000; + void *entry = NULL; + unsigned long limit = 30, i = 0; + MA_STATE(mas, mt, i, i); - for (i = 0; i < max; i += 10) - mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); + MT_BUG_ON(mt, !mtree_empty(mt)); - for (i = 0; i < count; i++) { - mtree_store_range(mt, brk, brk, NULL, GFP_KERNEL); - mtree_store_range(mt, brk_start, brk, xa_mk_value(brk), - GFP_KERNEL); + check_seq(mt, limit, false); + rcu_read_lock(); + + /* Check the first one and get ma_state in the correct state. */ + MT_BUG_ON(mt, mas_walk(&mas) != xa_mk_value(i++)); + for ( ; i <= limit + 1; i++) { + entry = mas_next(&mas, limit); + if (i > limit) + MT_BUG_ON(mt, entry != NULL); + else + MT_BUG_ON(mt, xa_mk_value(i) != entry); } + rcu_read_unlock(); + mtree_destroy(mt); } -#endif -#if defined(BENCH_NODE_STORE) -static noinline void bench_node_store(struct maple_tree *mt) +static noinline void check_prev_entry(struct maple_tree *mt) { - int i, overwrite = 76, max = 240, count = 20000000; - - for (i = 0; i < max; i += 10) - mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); + unsigned long index = 16; + void *value; + int i; - for (i = 0; i < count; i++) { - mtree_store_range(mt, overwrite, overwrite + 15, - xa_mk_value(overwrite), GFP_KERNEL); + MA_STATE(mas, mt, index, index); - overwrite += 5; - if (overwrite >= 135) - overwrite = 76; - } -} -#endif + MT_BUG_ON(mt, !mtree_empty(mt)); + check_seq(mt, 30, false); -#if defined(BENCH_AWALK) -static noinline void bench_awalk(struct maple_tree *mt) -{ - int i, max = 2500, count = 50000000; - MA_STATE(mas, mt, 1470, 1470); + rcu_read_lock(); + value = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, value != xa_mk_value(index)); + value = mas_prev(&mas, 0); + MT_BUG_ON(mt, value != xa_mk_value(index - 1)); + rcu_read_unlock(); + mtree_destroy(mt); - for (i = 0; i < max; i += 10) - mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); + /* Check limits on prev */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + mas_lock(&mas); + for (i = 0; i <= index; i++) { + mas_set_range(&mas, i*10, i*10+5); + mas_store_gfp(&mas, xa_mk_value(i), GFP_KERNEL); + } - mtree_store_range(mt, 1470, 1475, NULL, GFP_KERNEL); + mas_set(&mas, 20); + value = mas_walk(&mas); + MT_BUG_ON(mt, value != xa_mk_value(2)); - for (i = 0; i < count; i++) { - mas_empty_area_rev(&mas, 0, 2000, 10); - mas_reset(&mas); - } -} -#endif -#if defined(BENCH_WALK) -static noinline void bench_walk(struct maple_tree *mt) -{ - int i, max = 2500, count = 550000000; - MA_STATE(mas, mt, 1470, 1470); + value = mas_prev(&mas, 19); + MT_BUG_ON(mt, value != NULL); - for (i = 0; i < max; i += 10) - mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); + mas_set(&mas, 80); + value = mas_walk(&mas); + MT_BUG_ON(mt, value != xa_mk_value(8)); - for (i = 0; i < count; i++) { - mas_walk(&mas); - mas_reset(&mas); - } + value = mas_prev(&mas, 76); + MT_BUG_ON(mt, value != NULL); + mas_unlock(&mas); } -#endif -#if defined(BENCH_MT_FOR_EACH) -static noinline void bench_mt_for_each(struct maple_tree *mt) +static noinline void check_root_expand(struct maple_tree *mt) { - int i, count = 1000000; - unsigned long max = 2500, index = 0; - void *entry; + MA_STATE(mas, mt, 0, 0); + void *ptr; - for (i = 0; i < max; i += 5) - mtree_store_range(mt, i, i + 4, xa_mk_value(i), GFP_KERNEL); - for (i = 0; i < count; i++) { - unsigned long j = 0; + mas_lock(&mas); + mas_set(&mas, 3); + ptr = mas_walk(&mas); + MT_BUG_ON(mt, ptr != NULL); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != ULONG_MAX); - mt_for_each(mt, entry, index, max) { - MT_BUG_ON(mt, entry != xa_mk_value(j)); - j += 5; - } + ptr = &check_prev_entry; + mas_set(&mas, 1); + mas_store_gfp(&mas, ptr, GFP_KERNEL); - index = 0; - } + mas_set(&mas, 0); + ptr = mas_walk(&mas); + MT_BUG_ON(mt, ptr != NULL); -} -#endif + mas_set(&mas, 1); + ptr = mas_walk(&mas); + MT_BUG_ON(mt, ptr != &check_prev_entry); -static noinline void check_forking(struct maple_tree *mt) -{ + mas_set(&mas, 2); + ptr = mas_walk(&mas); + MT_BUG_ON(mt, ptr != NULL); + mas_unlock(&mas); + mtree_destroy(mt); - struct maple_tree newmt; - int i, nr_entries = 134; - void *val; - MA_STATE(mas, mt, 0, 0); - MA_STATE(newmas, mt, 0, 0); - for (i = 0; i <= nr_entries; i++) - mtree_store_range(mt, i*10, i*10 + 5, - xa_mk_value(i), GFP_KERNEL); + mt_init_flags(mt, 0); + mas_lock(&mas); - mt_set_non_kernel(99999); - mt_init_flags(&newmt, MT_FLAGS_ALLOC_RANGE); - newmas.tree = &newmt; - mas_reset(&newmas); - mas_reset(&mas); - mas.index = 0; - mas.last = 0; - if (mas_expected_entries(&newmas, nr_entries)) { - pr_err("OOM!"); - BUG_ON(1); - } - mas_for_each(&mas, val, ULONG_MAX) { - newmas.index = mas.index; - newmas.last = mas.last; - mas_store(&newmas, val); - } - mas_destroy(&newmas); - mt_validate(&newmt); - mt_set_non_kernel(0); - mtree_destroy(&newmt); -} + mas_set(&mas, 0); + ptr = &check_prev_entry; + mas_store_gfp(&mas, ptr, GFP_KERNEL); -static noinline void check_mas_store_gfp(struct maple_tree *mt) -{ + mas_set(&mas, 5); + ptr = mas_walk(&mas); + MT_BUG_ON(mt, ptr != NULL); + MT_BUG_ON(mt, mas.index != 1); + MT_BUG_ON(mt, mas.last != ULONG_MAX); - struct maple_tree newmt; - int i, nr_entries = 135; - void *val; - MA_STATE(mas, mt, 0, 0); - MA_STATE(newmas, mt, 0, 0); + mas_set_range(&mas, 0, 100); + ptr = mas_walk(&mas); + MT_BUG_ON(mt, ptr != &check_prev_entry); + MT_BUG_ON(mt, mas.last != 0); + mas_unlock(&mas); + mtree_destroy(mt); - for (i = 0; i <= nr_entries; i++) - mtree_store_range(mt, i*10, i*10 + 5, - xa_mk_value(i), GFP_KERNEL); + mt_init_flags(mt, 0); + mas_lock(&mas); + + mas_set(&mas, 0); + ptr = (void *)((unsigned long) check_prev_entry | 1UL); + mas_store_gfp(&mas, ptr, GFP_KERNEL); + ptr = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, ptr != NULL); + MT_BUG_ON(mt, (mas.index != 1) && (mas.last != ULONG_MAX)); + + mas_set(&mas, 1); + ptr = mas_prev(&mas, 0); + MT_BUG_ON(mt, (mas.index != 0) && (mas.last != 0)); + MT_BUG_ON(mt, ptr != (void *)((unsigned long) check_prev_entry | 1UL)); - mt_set_non_kernel(99999); - mt_init_flags(&newmt, MT_FLAGS_ALLOC_RANGE); - newmas.tree = &newmt; - mas_reset(&newmas); - mas_set(&mas, 0); - mas_for_each(&mas, val, ULONG_MAX) { - newmas.index = mas.index; - newmas.last = mas.last; - mas_store_gfp(&newmas, val, GFP_KERNEL); - } + mas_unlock(&mas); - mt_validate(&newmt); - mt_set_non_kernel(0); - mtree_destroy(&newmt); -} + mtree_destroy(mt); -#if defined(BENCH_FORK) -static noinline void bench_forking(struct maple_tree *mt) -{ + mt_init_flags(mt, 0); + mas_lock(&mas); + mas_set(&mas, 0); + ptr = (void *)((unsigned long) check_prev_entry | 2UL); + mas_store_gfp(&mas, ptr, GFP_KERNEL); + ptr = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, ptr != NULL); + MT_BUG_ON(mt, (mas.index != 1) && (mas.last != ULONG_MAX)); - struct maple_tree newmt; - int i, nr_entries = 134, nr_fork = 80000; - void *val; - MA_STATE(mas, mt, 0, 0); - MA_STATE(newmas, mt, 0, 0); + mas_set(&mas, 1); + ptr = mas_prev(&mas, 0); + MT_BUG_ON(mt, (mas.index != 0) && (mas.last != 0)); + MT_BUG_ON(mt, ptr != (void *)((unsigned long) check_prev_entry | 2UL)); - for (i = 0; i <= nr_entries; i++) - mtree_store_range(mt, i*10, i*10 + 5, - xa_mk_value(i), GFP_KERNEL); - for (i = 0; i < nr_fork; i++) { - mt_set_non_kernel(99999); - mt_init_flags(&newmt, MT_FLAGS_ALLOC_RANGE); - newmas.tree = &newmt; - mas_reset(&newmas); - mas_reset(&mas); - mas.index = 0; - mas.last = 0; - if (mas_expected_entries(&newmas, nr_entries)) { - printk("OOM!"); - BUG_ON(1); - } - mas_for_each(&mas, val, ULONG_MAX) { - newmas.index = mas.index; - newmas.last = mas.last; - mas_store(&newmas, val); - } - mas_destroy(&newmas); - mt_validate(&newmt); - mt_set_non_kernel(0); - mtree_destroy(&newmt); - } + mas_unlock(&mas); } -#endif -static noinline void next_prev_test(struct maple_tree *mt) +static noinline void check_gap_combining(struct maple_tree *mt) { - int i, nr_entries = 200; - void *val; - MA_STATE(mas, mt, 0, 0); - struct maple_enode *mn; + struct maple_enode *mn1, *mn2; + void *entry; + unsigned long singletons = 100; + unsigned long *seq100; + unsigned long seq100_64[] = { + /* 0-5 */ + 74, 75, 76, + 50, 100, 2, - for (i = 0; i <= nr_entries; i++) - mtree_store_range(mt, i*10, i*10 + 5, - xa_mk_value(i), GFP_KERNEL); + /* 6-12 */ + 44, 45, 46, 43, + 20, 50, 3, - for (i = 0; i <= nr_entries / 2; i++) { - mas_next(&mas, 1000); - if (mas_is_none(&mas)) - break; + /* 13-20*/ + 80, 81, 82, + 76, 2, 79, 85, 4, + }; - } - mas_reset(&mas); - mas_set(&mas, 0); - i = 0; - mas_for_each(&mas, val, 1000) { - i++; - } + unsigned long seq100_32[] = { + /* 0-5 */ + 61, 62, 63, + 50, 100, 2, - mas_reset(&mas); - mas_set(&mas, 0); - i = 0; - mas_for_each(&mas, val, 1000) { - mas_pause(&mas); - i++; - } + /* 6-12 */ + 31, 32, 33, 30, + 20, 50, 3, - /* - * 680 - 685 = 0x61a00001930c - * 686 - 689 = NULL; - * 690 - 695 = 0x61a00001930c - * Check simple next/prev - */ - mas_set(&mas, 686); - val = mas_walk(&mas); - MT_BUG_ON(mt, val != NULL); + /* 13-20*/ + 80, 81, 82, + 76, 2, 79, 85, 4, + }; - val = mas_next(&mas, 1000); - MT_BUG_ON(mt, val != xa_mk_value(690 / 10)); - MT_BUG_ON(mt, mas.index != 690); - MT_BUG_ON(mt, mas.last != 695); + unsigned long seq2000[] = { + 1152, 1151, + 1100, 1200, 2, + }; + unsigned long seq400[] = { + 286, 318, + 256, 260, 266, 270, 275, 280, 290, 398, + 286, 310, + }; - val = mas_prev(&mas, 0); - MT_BUG_ON(mt, val != xa_mk_value(680 / 10)); - MT_BUG_ON(mt, mas.index != 680); - MT_BUG_ON(mt, mas.last != 685); + unsigned long index; - val = mas_next(&mas, 1000); - MT_BUG_ON(mt, val != xa_mk_value(690 / 10)); - MT_BUG_ON(mt, mas.index != 690); - MT_BUG_ON(mt, mas.last != 695); + MA_STATE(mas, mt, 0, 0); - val = mas_next(&mas, 1000); - MT_BUG_ON(mt, val != xa_mk_value(700 / 10)); - MT_BUG_ON(mt, mas.index != 700); - MT_BUG_ON(mt, mas.last != 705); + if (MAPLE_32BIT) + seq100 = seq100_32; + else + seq100 = seq100_64; - /* Check across node boundaries of the tree */ - mas_set(&mas, 70); - val = mas_walk(&mas); - MT_BUG_ON(mt, val != xa_mk_value(70 / 10)); - MT_BUG_ON(mt, mas.index != 70); - MT_BUG_ON(mt, mas.last != 75); + index = seq100[0]; + mas_set(&mas, index); + MT_BUG_ON(mt, !mtree_empty(mt)); + check_seq(mt, singletons, false); /* create 100 singletons. */ - val = mas_next(&mas, 1000); - MT_BUG_ON(mt, val != xa_mk_value(80 / 10)); - MT_BUG_ON(mt, mas.index != 80); - MT_BUG_ON(mt, mas.last != 85); + mt_set_non_kernel(1); + mtree_test_erase(mt, seq100[2]); + check_load(mt, seq100[2], NULL); + mtree_test_erase(mt, seq100[1]); + check_load(mt, seq100[1], NULL); - val = mas_prev(&mas, 70); - MT_BUG_ON(mt, val != xa_mk_value(70 / 10)); - MT_BUG_ON(mt, mas.index != 70); - MT_BUG_ON(mt, mas.last != 75); + rcu_read_lock(); + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != xa_mk_value(index)); + mn1 = mas.node; + mas_next(&mas, ULONG_MAX); + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != xa_mk_value(index + 4)); + mn2 = mas.node; + MT_BUG_ON(mt, mn1 == mn2); /* test the test. */ - /* Check across two levels of the tree */ + /* + * At this point, there is a gap of 2 at index + 1 between seq100[3] and + * seq100[4]. Search for the gap. + */ + mt_set_non_kernel(1); mas_reset(&mas); - mas_set(&mas, 707); - val = mas_walk(&mas); - MT_BUG_ON(mt, val != NULL); - val = mas_next(&mas, 1000); - MT_BUG_ON(mt, val != xa_mk_value(710 / 10)); - MT_BUG_ON(mt, mas.index != 710); - MT_BUG_ON(mt, mas.last != 715); - mn = mas.node; - - val = mas_next(&mas, 1000); - MT_BUG_ON(mt, val != xa_mk_value(720 / 10)); - MT_BUG_ON(mt, mas.index != 720); - MT_BUG_ON(mt, mas.last != 725); - MT_BUG_ON(mt, mn == mas.node); + MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[3], seq100[4], + seq100[5])); + MT_BUG_ON(mt, mas.index != index + 1); + rcu_read_unlock(); - val = mas_prev(&mas, 0); - MT_BUG_ON(mt, val != xa_mk_value(710 / 10)); - MT_BUG_ON(mt, mas.index != 710); - MT_BUG_ON(mt, mas.last != 715); + mtree_test_erase(mt, seq100[6]); + check_load(mt, seq100[6], NULL); + mtree_test_erase(mt, seq100[7]); + check_load(mt, seq100[7], NULL); + mtree_test_erase(mt, seq100[8]); + index = seq100[9]; - /* Check running off the end and back on */ + rcu_read_lock(); + mas.index = index; + mas.last = index; mas_reset(&mas); - mas_set(&mas, 2000); - val = mas_walk(&mas); - MT_BUG_ON(mt, val != xa_mk_value(2000 / 10)); - MT_BUG_ON(mt, mas.index != 2000); - MT_BUG_ON(mt, mas.last != 2005); - - val = mas_next(&mas, ULONG_MAX); - MT_BUG_ON(mt, val != NULL); - MT_BUG_ON(mt, mas.index != ULONG_MAX); - MT_BUG_ON(mt, mas.last != ULONG_MAX); - - val = mas_prev(&mas, 0); - MT_BUG_ON(mt, val != xa_mk_value(2000 / 10)); - MT_BUG_ON(mt, mas.index != 2000); - MT_BUG_ON(mt, mas.last != 2005); + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != xa_mk_value(index)); + mn1 = mas.node; + entry = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != xa_mk_value(index + 4)); + mas_next(&mas, ULONG_MAX); /* go to the next entry. */ + mn2 = mas.node; + MT_BUG_ON(mt, mn1 == mn2); /* test the next entry is in the next node. */ - /* Check running off the start and back on */ + /* + * At this point, there is a gap of 3 at seq100[6]. Find it by + * searching 20 - 50 for size 3. + */ mas_reset(&mas); - mas_set(&mas, 10); - val = mas_walk(&mas); - MT_BUG_ON(mt, val != xa_mk_value(1)); - MT_BUG_ON(mt, mas.index != 10); - MT_BUG_ON(mt, mas.last != 15); + MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[10], seq100[11], + seq100[12])); + MT_BUG_ON(mt, mas.index != seq100[6]); + rcu_read_unlock(); - val = mas_prev(&mas, 0); - MT_BUG_ON(mt, val != xa_mk_value(0)); - MT_BUG_ON(mt, mas.index != 0); - MT_BUG_ON(mt, mas.last != 5); + mt_set_non_kernel(1); + mtree_store(mt, seq100[13], NULL, GFP_KERNEL); + check_load(mt, seq100[13], NULL); + check_load(mt, seq100[14], xa_mk_value(seq100[14])); + mtree_store(mt, seq100[14], NULL, GFP_KERNEL); + check_load(mt, seq100[13], NULL); + check_load(mt, seq100[14], NULL); - val = mas_prev(&mas, 0); - MT_BUG_ON(mt, val != NULL); - MT_BUG_ON(mt, mas.index != 0); - MT_BUG_ON(mt, mas.last != 0); + mas_reset(&mas); + rcu_read_lock(); + MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[16], seq100[15], + seq100[17])); + MT_BUG_ON(mt, mas.index != seq100[13]); + mt_validate(mt); + rcu_read_unlock(); - mas.index = 0; - mas.last = 5; - mas_store(&mas, NULL); + /* + * *DEPRECATED: no retries anymore* Test retry entry in the start of a + * gap. + */ + mt_set_non_kernel(2); + mtree_test_store_range(mt, seq100[18], seq100[14], NULL); + mtree_test_erase(mt, seq100[15]); mas_reset(&mas); - mas_set(&mas, 10); - mas_walk(&mas); + rcu_read_lock(); + MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq100[16], seq100[19], + seq100[20])); + rcu_read_unlock(); + MT_BUG_ON(mt, mas.index != seq100[18]); + mt_validate(mt); + mtree_destroy(mt); - val = mas_prev(&mas, 0); - MT_BUG_ON(mt, val != NULL); - MT_BUG_ON(mt, mas.index != 0); - MT_BUG_ON(mt, mas.last != 0); + /* seq 2000 tests are for multi-level tree gaps */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_seq(mt, 2000, false); + mt_set_non_kernel(1); + mtree_test_erase(mt, seq2000[0]); + mtree_test_erase(mt, seq2000[1]); + mt_set_non_kernel(2); + mas_reset(&mas); + rcu_read_lock(); + MT_BUG_ON(mt, mas_empty_area_rev(&mas, seq2000[2], seq2000[3], + seq2000[4])); + MT_BUG_ON(mt, mas.index != seq2000[1]); + rcu_read_unlock(); + mt_validate(mt); mtree_destroy(mt); - mt_init(mt); - mtree_store_range(mt, 0, 0, xa_mk_value(0), GFP_KERNEL); - mtree_store_range(mt, 5, 5, xa_mk_value(5), GFP_KERNEL); - mas_set(&mas, 5); - val = mas_prev(&mas, 4); - MT_BUG_ON(mt, val != NULL); -} + /* seq 400 tests rebalancing over two levels. */ + mt_set_non_kernel(99); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_seq(mt, 400, false); + mtree_test_store_range(mt, seq400[0], seq400[1], NULL); + mt_set_non_kernel(0); + mtree_destroy(mt); -#define RCU_RANGE_COUNT 1000 -#define RCU_MT_BUG_ON(test, y) {if (y) { test->stop = true;} MT_BUG_ON(test->mt, y);} -struct rcu_test_struct2 { - struct maple_tree *mt; - - bool start; - bool stop; - unsigned int thread_count; - - unsigned int seen_toggle; - unsigned int seen_added; - unsigned int seen_modified; - unsigned int seen_deleted; - int pause; - - unsigned long index[RCU_RANGE_COUNT]; - unsigned long last[RCU_RANGE_COUNT]; -}; - -struct rcu_reader_struct { - unsigned int id; - int mod; - int del; - int flip; - int add; - int next; - struct rcu_test_struct2 *test; -}; - -/* RCU reader helper function */ -static void rcu_reader_register(struct rcu_test_struct2 *test) + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_seq(mt, 400, false); + mt_set_non_kernel(50); + mtree_test_store_range(mt, seq400[2], seq400[9], + xa_mk_value(seq400[2])); + mtree_test_store_range(mt, seq400[3], seq400[9], + xa_mk_value(seq400[3])); + mtree_test_store_range(mt, seq400[4], seq400[9], + xa_mk_value(seq400[4])); + mtree_test_store_range(mt, seq400[5], seq400[9], + xa_mk_value(seq400[5])); + mtree_test_store_range(mt, seq400[0], seq400[9], + xa_mk_value(seq400[0])); + mtree_test_store_range(mt, seq400[6], seq400[9], + xa_mk_value(seq400[6])); + mtree_test_store_range(mt, seq400[7], seq400[9], + xa_mk_value(seq400[7])); + mtree_test_store_range(mt, seq400[8], seq400[9], + xa_mk_value(seq400[8])); + mtree_test_store_range(mt, seq400[10], seq400[11], + xa_mk_value(seq400[10])); + mt_validate(mt); + mt_set_non_kernel(0); + mtree_destroy(mt); +} +static noinline void check_node_overwrite(struct maple_tree *mt) { - rcu_register_thread(); - uatomic_inc(&test->thread_count); + int i, max = 4000; - while (!test->start) - usleep(test->pause * 100); -} + for (i = 0; i < max; i++) + mtree_test_store_range(mt, i*100, i*100 + 50, xa_mk_value(i*100)); -static void rcu_reader_setup(struct rcu_reader_struct *reader, - unsigned int id, struct rcu_test_struct2 *test) -{ - reader->id = id; - reader->test = test; - reader->mod = reader->id % 10; - reader->del = (reader->mod + 1) % 10; - reader->flip = (reader->mod + 2) % 10; - reader->add = (reader->mod + 3) % 10; - reader->next = (reader->mod + 4) % 10; + mtree_test_store_range(mt, 319951, 367950, NULL); + /*mt_dump(mt); */ + mt_validate(mt); } -/* RCU reader in increasing index */ -static void *rcu_reader_fwd(void *ptr) +#if defined(BENCH_SLOT_STORE) +static noinline void bench_slot_store(struct maple_tree *mt) { - struct rcu_reader_struct *reader = (struct rcu_reader_struct *)ptr; - struct rcu_test_struct2 *test = reader->test; - unsigned long index = reader->id; - bool toggled, modified, deleted, added; - int i; - void *entry, *prev = NULL; - MA_STATE(mas, test->mt, 0, 0); + int i, brk = 105, max = 1040, brk_start = 100, count = 20000000; - rcu_reader_register(test); - toggled = modified = deleted = added = false; + for (i = 0; i < max; i += 10) + mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); - while (!test->stop) { - i = 0; - /* mas_for_each ?*/ - rcu_read_lock(); - mas_set(&mas, test->index[index]); - mas_for_each(&mas, entry, test->last[index + 9]) { - unsigned long r_start, r_end, alt_start; - void *expected, *alt; - - r_start = test->index[index + i]; - r_end = test->last[index + i]; - expected = xa_mk_value(r_start); - - if (i == reader->del) { - if (!deleted) { - alt_start = test->index[index + reader->flip]; - /* delete occurred. */ - if (mas.index == alt_start) { - uatomic_inc(&test->seen_deleted); - deleted = true; - } - } - if (deleted) { - i = reader->flip; - r_start = test->index[index + i]; - r_end = test->last[index + i]; - expected = xa_mk_value(r_start); - } - } - - if (!added && (i == reader->add)) { - alt_start = test->index[index + reader->next]; - if (mas.index == r_start) { - uatomic_inc(&test->seen_added); - added = true; - } else if (mas.index == alt_start) { - i = reader->next; - r_start = test->index[index + i]; - r_end = test->last[index + i]; - expected = xa_mk_value(r_start); - } - } - - RCU_MT_BUG_ON(test, mas.index != r_start); - RCU_MT_BUG_ON(test, mas.last != r_end); - - if (i == reader->flip) { - alt = xa_mk_value(index + i + RCU_RANGE_COUNT); - if (prev) { - if (toggled && entry == expected) - uatomic_inc(&test->seen_toggle); - else if (!toggled && entry == alt) - uatomic_inc(&test->seen_toggle); - } - - if (entry == expected) - toggled = false; - else if (entry == alt) - toggled = true; - else { - printk("!!%lu-%lu -> %p not %p or %p\n", mas.index, mas.last, entry, expected, alt); - RCU_MT_BUG_ON(test, 1); - } - - prev = entry; - } else if (i == reader->mod) { - alt = xa_mk_value(index + i * 2 + 1 + - RCU_RANGE_COUNT); - if (entry != expected) { - if (!modified) - uatomic_inc(&test->seen_modified); - modified = true; - } else { - if (modified) - uatomic_inc(&test->seen_modified); - modified = false; - } - - if (modified) - RCU_MT_BUG_ON(test, entry != alt); - - } else { - if (entry != expected) - printk("!!%lu-%lu -> %p not %p\n", mas.index, mas.last, entry, expected); - RCU_MT_BUG_ON(test, entry != expected); - } - - i++; - } - rcu_read_unlock(); - usleep(test->pause); + for (i = 0; i < count; i++) { + mtree_store_range(mt, brk, brk, NULL, GFP_KERNEL); + mtree_store_range(mt, brk_start, brk, xa_mk_value(brk), + GFP_KERNEL); } - - rcu_unregister_thread(); - return NULL; } +#endif -/* RCU reader in decreasing index */ -static void *rcu_reader_rev(void *ptr) +#if defined(BENCH_NODE_STORE) +static noinline void bench_node_store(struct maple_tree *mt) { - struct rcu_reader_struct *reader = (struct rcu_reader_struct *)ptr; - struct rcu_test_struct2 *test = reader->test; - unsigned long index = reader->id; - bool toggled, modified, deleted, added; - int i; - void *prev = NULL; - MA_STATE(mas, test->mt, 0, 0); - - rcu_reader_register(test); - toggled = modified = deleted = added = false; - - - while (!test->stop) { - void *entry; - - i = 9; - mas_set(&mas, test->index[index + i]); - - rcu_read_lock(); - while (i--) { - unsigned long r_start, r_end, alt_start; - void *expected, *alt; - int line = __LINE__; - - entry = mas_prev(&mas, test->index[index]); - r_start = test->index[index + i]; - r_end = test->last[index + i]; - expected = xa_mk_value(r_start); - - if (i == reader->del) { - alt_start = test->index[index + reader->mod]; - if (mas.index == alt_start) { - line = __LINE__; - if (!deleted) - uatomic_inc(&test->seen_deleted); - deleted = true; - } - if (deleted) { - line = __LINE__; - i = reader->mod; - r_start = test->index[index + i]; - r_end = test->last[index + i]; - expected = xa_mk_value(r_start); - } - } - if (!added && (i == reader->add)) { - alt_start = test->index[index + reader->flip]; - if (mas.index == r_start) { - line = __LINE__; - uatomic_inc(&test->seen_added); - added = true; - } else if (mas.index == alt_start) { - line = __LINE__; - i = reader->flip; - r_start = test->index[index + i]; - r_end = test->last[index + i]; - expected = xa_mk_value(r_start); - } - } - - if (i == reader->mod) - line = __LINE__; - else if (i == reader->flip) - line = __LINE__; - - if (mas.index != r_start) { - alt = xa_mk_value(index + i * 2 + 1 + - RCU_RANGE_COUNT); - mt_dump(test->mt); - printk("Error: %lu-%lu %p != %lu-%lu %p %p line %d i %d\n", - mas.index, mas.last, entry, - r_start, r_end, expected, alt, - line, i); - } - RCU_MT_BUG_ON(test, mas.index != r_start); - RCU_MT_BUG_ON(test, mas.last != r_end); - - if (i == reader->mod) { - alt = xa_mk_value(index + i * 2 + 1 + - RCU_RANGE_COUNT); - - if (entry != expected) { - if (!modified) - uatomic_inc(&test->seen_modified); - modified = true; - } else { - if (modified) - uatomic_inc(&test->seen_modified); - modified = false; - } - if (modified) - RCU_MT_BUG_ON(test, entry != alt); - - - } else if (i == reader->flip) { - alt = xa_mk_value(index + i + - RCU_RANGE_COUNT); - if (prev) { - if (toggled && entry == expected) - uatomic_inc(&test->seen_toggle); - else if (!toggled && entry == alt) - uatomic_inc(&test->seen_toggle); - } - - if (entry == expected) - toggled = false; - else if (entry == alt) - toggled = true; - else { - printk("%lu-%lu %p != %p or %p\n", - mas.index, mas.last, entry, - expected, alt); - RCU_MT_BUG_ON(test, 1); - } - - prev = entry; - } else { - if (entry != expected) - printk("%lu-%lu %p != %p\n", mas.index, - mas.last, entry, expected); - RCU_MT_BUG_ON(test, entry != expected); - } - } - rcu_read_unlock(); - usleep(test->pause); - } + int i, overwrite = 76, max = 240, count = 20000000; - rcu_unregister_thread(); - return NULL; -} + for (i = 0; i < max; i += 10) + mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); -static void rcu_stress_rev(struct maple_tree *mt, struct rcu_test_struct2 *test, - int count, struct rcu_reader_struct *test_reader) -{ - int i, j = 10000; - bool toggle = true; - - test->start = true; /* Release the hounds! */ - usleep(5); - - while (j--) { - toggle = !toggle; - i = count; - while (i--) { - unsigned long start, end; - struct rcu_reader_struct *this = &test_reader[i]; - - /* Mod offset */ - if (j == 600) { - start = test->index[this->id + this->mod]; - end = test->last[this->id + this->mod]; - mtree_store_range(mt, start, end, - xa_mk_value(this->id + this->mod * 2 + - 1 + RCU_RANGE_COUNT), - GFP_KERNEL); - } - - /* Toggle */ - if (!(j % 5)) { - start = test->index[this->id + this->flip]; - end = test->last[this->id + this->flip]; - mtree_store_range(mt, start, end, - xa_mk_value((toggle ? start : - this->id + this->flip + - RCU_RANGE_COUNT)), - GFP_KERNEL); - } - - /* delete */ - if (j == 400) { - start = test->index[this->id + this->del]; - end = test->last[this->id + this->del]; - mtree_store_range(mt, start, end, NULL, GFP_KERNEL); - } - - /* add */ - if (j == 500) { - start = test->index[this->id + this->add]; - end = test->last[this->id + this->add]; - mtree_store_range(mt, start, end, - xa_mk_value(start), GFP_KERNEL); - } - } - usleep(test->pause); - /* If a test fails, don't flood the console */ - if (test->stop) - break; - } -} + for (i = 0; i < count; i++) { + mtree_store_range(mt, overwrite, overwrite + 15, + xa_mk_value(overwrite), GFP_KERNEL); -static void rcu_stress_fwd(struct maple_tree *mt, struct rcu_test_struct2 *test, - int count, struct rcu_reader_struct *test_reader) -{ - int j, i; - bool toggle = true; - - test->start = true; /* Release the hounds! */ - usleep(5); - for (j = 0; j < 10000; j++) { - toggle = !toggle; - for (i = 0; i < count; i++) { - unsigned long start, end; - struct rcu_reader_struct *this = &test_reader[i]; - - /* Mod offset */ - if (j == 600) { - start = test->index[this->id + this->mod]; - end = test->last[this->id + this->mod]; - mtree_store_range(mt, start, end, - xa_mk_value(this->id + this->mod * 2 + - 1 + RCU_RANGE_COUNT), - GFP_KERNEL); - } - - /* Toggle */ - if (!(j % 5)) { - start = test->index[this->id + this->flip]; - end = test->last[this->id + this->flip]; - mtree_store_range(mt, start, end, - xa_mk_value((toggle ? start : - this->id + this->flip + - RCU_RANGE_COUNT)), - GFP_KERNEL); - } - - /* delete */ - if (j == 400) { - start = test->index[this->id + this->del]; - end = test->last[this->id + this->del]; - mtree_store_range(mt, start, end, NULL, GFP_KERNEL); - } - - /* add */ - if (j == 500) { - start = test->index[this->id + this->add]; - end = test->last[this->id + this->add]; - mtree_store_range(mt, start, end, - xa_mk_value(start), GFP_KERNEL); - } - } - usleep(test->pause); - /* If a test fails, don't flood the console */ - if (test->stop) - break; + overwrite += 5; + if (overwrite >= 135) + overwrite = 76; } } +#endif -/* - * This is to check: - * 1. Range that is not ever present - * 2. Range that is always present - * 3. Things being added but not removed. - * 4. Things being removed but not added. - * 5. Things are being added and removed, searches my succeed or fail - * - * This sets up two readers for every 10 entries; one forward and one reverse - * reading. - */ -static void rcu_stress(struct maple_tree *mt, bool forward) +#if defined(BENCH_AWALK) +static noinline void bench_awalk(struct maple_tree *mt) { - unsigned int count, i; - unsigned long r, seed; - pthread_t readers[RCU_RANGE_COUNT / 5]; - struct rcu_test_struct2 test; - struct rcu_reader_struct test_reader[RCU_RANGE_COUNT / 5]; - void *(*function)(void *); - - /* Test setup */ - test.mt = mt; - test.pause = 5; - test.seen_toggle = 0; - test.seen_deleted = 0; - test.seen_added = 0; - test.seen_modified = 0; - test.thread_count = 0; - test.start = test.stop = false; - seed = time(NULL); - srand(seed); - for (i = 0; i < RCU_RANGE_COUNT; i++) { - r = seed + rand(); - mtree_store_range(mt, seed, r, - xa_mk_value(seed), GFP_KERNEL); - - /* Record start and end of entry */ - test.index[i] = seed; - test.last[i] = r; - seed = 1 + r + rand() % 10; - } + int i, max = 2500, count = 50000000; + MA_STATE(mas, mt, 1470, 1470); - i = count = ARRAY_SIZE(readers); - while (i--) { - unsigned long id; + for (i = 0; i < max; i += 10) + mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); - id = i / 2 * 10; - if (i % 2) - function = rcu_reader_fwd; - else - function = rcu_reader_rev; + mtree_store_range(mt, 1470, 1475, NULL, GFP_KERNEL); - rcu_reader_setup(&test_reader[i], id, &test); - if (pthread_create(&readers[i], NULL, *function, - &test_reader[i])) { - perror("creating reader thread"); - exit(1); - } + for (i = 0; i < count; i++) { + mas_empty_area_rev(&mas, 0, 2000, 10); + mas_reset(&mas); } +} +#endif +#if defined(BENCH_WALK) +static noinline void bench_walk(struct maple_tree *mt) +{ + int i, max = 2500, count = 550000000; + MA_STATE(mas, mt, 1470, 1470); - for (i = 0; i < ARRAY_SIZE(readers); i++) { - struct rcu_reader_struct *this = &test_reader[i]; - int add = this->id + this->add; + for (i = 0; i < max; i += 10) + mtree_store_range(mt, i, i + 5, xa_mk_value(i), GFP_KERNEL); - /* Remove add entries from the tree for later addition */ - mtree_store_range(mt, test.index[add], test.last[add], - NULL, GFP_KERNEL); + for (i = 0; i < count; i++) { + mas_walk(&mas); + mas_reset(&mas); } - mt_set_in_rcu(mt); - do { - usleep(5); - } while (test.thread_count > ARRAY_SIZE(readers)); - - if (forward) - rcu_stress_fwd(mt, &test, count, test_reader); - else - rcu_stress_rev(mt, &test, count, test_reader); - - test.stop = true; - while (count--) - pthread_join(readers[count], NULL); - - mt_validate(mt); } +#endif - -struct rcu_test_struct { - struct maple_tree *mt; /* the maple tree */ - int count; /* Number of times to check value(s) */ - unsigned long index; /* The first index to check */ - void *entry1; /* The first entry value */ - void *entry2; /* The second entry value */ - void *entry3; /* The third entry value */ - - bool update_2; - bool update_3; - unsigned long range_start; - unsigned long range_end; - unsigned int loop_sleep; - unsigned int val_sleep; - - unsigned int failed; /* failed detection for other threads */ - unsigned int seen_entry2; /* Number of threads that have seen the new value */ - unsigned int seen_entry3; /* Number of threads that have seen the new value */ - unsigned int seen_both; /* Number of threads that have seen both new values */ - unsigned int seen_toggle; - unsigned int seen_added; - unsigned int seen_removed; - unsigned long last; /* The end of the range to write. */ - - unsigned long removed; /* The index of the removed entry */ - unsigned long added; /* The index of the removed entry */ - unsigned long toggle; /* The index of the removed entry */ -}; - -static inline -int eval_rcu_entry(struct rcu_test_struct *test, void *entry, bool *update_2, - bool *update_3) +#if defined(BENCH_MT_FOR_EACH) +static noinline void bench_mt_for_each(struct maple_tree *mt) { - if (entry == test->entry1) - return 0; + int i, count = 1000000; + unsigned long max = 2500, index = 0; + void *entry; - if (entry == test->entry2) { - if (!(*update_2)) { - uatomic_inc(&test->seen_entry2); - *update_2 = true; - if (update_3) - uatomic_inc(&test->seen_both); - } - return 0; - } + for (i = 0; i < max; i += 5) + mtree_store_range(mt, i, i + 4, xa_mk_value(i), GFP_KERNEL); + + for (i = 0; i < count; i++) { + unsigned long j = 0; - if (entry == test->entry3) { - if (!(*update_3)) { - uatomic_inc(&test->seen_entry3); - *update_3 = true; - if (update_2) - uatomic_inc(&test->seen_both); + mt_for_each(mt, entry, index, max) { + MT_BUG_ON(mt, entry != xa_mk_value(j)); + j += 5; } - return 0; + + index = 0; } - return 1; } +#endif -/* - * rcu_val() - Read a given value in the tree test->count times using the - * regular API - * - * @ptr: The pointer to the rcu_test_struct - */ -static void *rcu_val(void *ptr) +/* check_forking - simulate the kernel forking sequence with the tree. */ +static noinline void check_forking(struct maple_tree *mt) { - struct rcu_test_struct *test = (struct rcu_test_struct *)ptr; - unsigned long count = test->count; - bool update_2 = false; - bool update_3 = false; - void *entry; - rcu_register_thread(); - while (count--) { - usleep(test->val_sleep); - /* - * No locking required, regular API locking is handled in the - * maple tree code - */ - entry = mtree_load(test->mt, test->index); - MT_BUG_ON(test->mt, eval_rcu_entry(test, entry, &update_2, - &update_3)); + struct maple_tree newmt; + int i, nr_entries = 134; + void *val; + MA_STATE(mas, mt, 0, 0); + MA_STATE(newmas, mt, 0, 0); + + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i*10, i*10 + 5, + xa_mk_value(i), GFP_KERNEL); + + mt_set_non_kernel(99999); + mt_init_flags(&newmt, MT_FLAGS_ALLOC_RANGE); + newmas.tree = &newmt; + mas_reset(&newmas); + mas_reset(&mas); + mas_lock(&newmas); + mas.index = 0; + mas.last = 0; + if (mas_expected_entries(&newmas, nr_entries)) { + pr_err("OOM!"); + BUG_ON(1); + } + rcu_read_lock(); + mas_for_each(&mas, val, ULONG_MAX) { + newmas.index = mas.index; + newmas.last = mas.last; + mas_store(&newmas, val); } - rcu_unregister_thread(); - return NULL; + rcu_read_unlock(); + mas_destroy(&newmas); + mas_unlock(&newmas); + mt_validate(&newmt); + mt_set_non_kernel(0); + mtree_destroy(&newmt); } -/* - * rcu_loop() - Loop over a section of the maple tree, checking for an expected - * value using the advanced API - * - * @ptr - The pointer to the rcu_test_struct - */ -static void *rcu_loop(void *ptr) +static noinline void check_mas_store_gfp(struct maple_tree *mt) { - struct rcu_test_struct *test = (struct rcu_test_struct *)ptr; - unsigned long count = test->count; - void *entry, *expected; - bool update_2 = false; - bool update_3 = false; - MA_STATE(mas, test->mt, test->range_start, test->range_start); - rcu_register_thread(); - - /* - * Loop through the test->range_start - test->range_end test->count - * times - */ - while (count--) { - usleep(test->loop_sleep); - rcu_read_lock(); - mas_for_each(&mas, entry, test->range_end) { - /* The expected value is based on the start range. */ - expected = xa_mk_value(mas.index ? mas.index / 10 : 0); - - /* Out of the interesting range */ - if (mas.index < test->index || mas.index > test->last) { - if (entry != expected) { - printk("%lx - %lx = %p not %p\n", - mas.index, mas.last, entry, expected); - } - MT_BUG_ON(test->mt, entry != expected); - continue; - } + struct maple_tree newmt; + int i, nr_entries = 135; + void *val; + MA_STATE(mas, mt, 0, 0); + MA_STATE(newmas, mt, 0, 0); - if (entry == expected) - continue; /* Not seen. */ + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i*10, i*10 + 5, + xa_mk_value(i), GFP_KERNEL); - /* In the interesting range */ - MT_BUG_ON(test->mt, eval_rcu_entry(test, entry, - &update_2, - &update_3)); - } - rcu_read_unlock(); - mas_set(&mas, test->range_start); + mt_set_non_kernel(99999); + mt_init_flags(&newmt, MT_FLAGS_ALLOC_RANGE); + newmas.tree = &newmt; + rcu_read_lock(); + mas_lock(&newmas); + mas_reset(&newmas); + mas_set(&mas, 0); + mas_for_each(&mas, val, ULONG_MAX) { + newmas.index = mas.index; + newmas.last = mas.last; + mas_store_gfp(&newmas, val, GFP_KERNEL); } - - rcu_unregister_thread(); - return NULL; + mas_unlock(&newmas); + rcu_read_unlock(); + mt_validate(&newmt); + mt_set_non_kernel(0); + mtree_destroy(&newmt); } -static noinline -void run_check_rcu(struct maple_tree *mt, struct rcu_test_struct *vals) +#if defined(BENCH_FORK) +static noinline void bench_forking(struct maple_tree *mt) { - int i; - void *(*function)(void *); - pthread_t readers[20]; - - mt_set_in_rcu(mt); - MT_BUG_ON(mt, !mt_in_rcu(mt)); + struct maple_tree newmt; + int i, nr_entries = 134, nr_fork = 80000; + void *val; + MA_STATE(mas, mt, 0, 0); + MA_STATE(newmas, mt, 0, 0); - for (i = 0; i < ARRAY_SIZE(readers); i++) { - if (i % 2) - function = rcu_loop; - else - function = rcu_val; + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i*10, i*10 + 5, + xa_mk_value(i), GFP_KERNEL); - if (pthread_create(&readers[i], NULL, *function, vals)) { - perror("creating reader thread"); - exit(1); + for (i = 0; i < nr_fork; i++) { + mt_set_non_kernel(99999); + mt_init_flags(&newmt, MT_FLAGS_ALLOC_RANGE); + newmas.tree = &newmt; + mas_reset(&newmas); + mas_reset(&mas); + mas.index = 0; + mas.last = 0; + rcu_read_lock(); + mas_lock(&newmas); + if (mas_expected_entries(&newmas, nr_entries)) { + printk("OOM!"); + BUG_ON(1); + } + mas_for_each(&mas, val, ULONG_MAX) { + newmas.index = mas.index; + newmas.last = mas.last; + mas_store(&newmas, val); } + mas_destroy(&newmas); + mas_unlock(&newmas); + rcu_read_unlock(); + mt_validate(&newmt); + mt_set_non_kernel(0); + mtree_destroy(&newmt); } - - usleep(5); /* small yield to ensure all threads are at least started. */ - mtree_store_range(mt, vals->index, vals->last, vals->entry2, - GFP_KERNEL); - while (i--) - pthread_join(readers[i], NULL); - - /* Make sure the test caught at least one update. */ - MT_BUG_ON(mt, !vals->seen_entry2); } +#endif -static noinline -void run_check_rcu_slowread(struct maple_tree *mt, struct rcu_test_struct *vals) +static noinline void next_prev_test(struct maple_tree *mt) { + int i, nr_entries; + void *val; + MA_STATE(mas, mt, 0, 0); + struct maple_enode *mn; + unsigned long *level2; + unsigned long level2_64[] = {707, 1000, 710, 715, 720, 725}; + unsigned long level2_32[] = {1747, 2000, 1750, 1755, 1760, 1765}; - int i; - void *(*function)(void *); - pthread_t readers[20]; - unsigned int index = vals->index; + if (MAPLE_32BIT) { + nr_entries = 500; + level2 = level2_32; + } else { + nr_entries = 200; + level2 = level2_64; + } - mt_set_in_rcu(mt); - MT_BUG_ON(mt, !mt_in_rcu(mt)); + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i*10, i*10 + 5, + xa_mk_value(i), GFP_KERNEL); - for (i = 0; i < ARRAY_SIZE(readers); i++) { - if (i % 2) - function = rcu_loop; - else - function = rcu_val; + mas_lock(&mas); + for (i = 0; i <= nr_entries / 2; i++) { + mas_next(&mas, 1000); + if (mas_is_none(&mas)) + break; - if (pthread_create(&readers[i], NULL, *function, vals)) { - perror("creating reader thread"); - exit(1); - } } - - usleep(5); /* small yield to ensure all threads are at least started. */ - - while (index <= vals->last) { - mtree_store(mt, index, - (index % 2 ? vals->entry2 : vals->entry3), - GFP_KERNEL); - index++; - usleep(5); + mas_reset(&mas); + mas_set(&mas, 0); + i = 0; + mas_for_each(&mas, val, 1000) { + i++; } - while (i--) - pthread_join(readers[i], NULL); - - /* Make sure the test caught at least one update. */ - MT_BUG_ON(mt, !vals->seen_entry2); - MT_BUG_ON(mt, !vals->seen_entry3); - MT_BUG_ON(mt, !vals->seen_both); -} -static noinline void check_rcu_simulated(struct maple_tree *mt) -{ - unsigned long i, nr_entries = 1000; - unsigned long target = 4320; - unsigned long val = 0xDEAD; + mas_reset(&mas); + mas_set(&mas, 0); + i = 0; + mas_for_each(&mas, val, 1000) { + mas_pause(&mas); + i++; + } - MA_STATE(mas_writer, mt, 0, 0); - MA_STATE(mas_reader, mt, target, target); + /* + * 680 - 685 = 0x61a00001930c + * 686 - 689 = NULL; + * 690 - 695 = 0x61a00001930c + * Check simple next/prev + */ + mas_set(&mas, 686); + val = mas_walk(&mas); + MT_BUG_ON(mt, val != NULL); - rcu_register_thread(); + val = mas_next(&mas, 1000); + MT_BUG_ON(mt, val != xa_mk_value(690 / 10)); + MT_BUG_ON(mt, mas.index != 690); + MT_BUG_ON(mt, mas.last != 695); - mt_set_in_rcu(mt); - mas_lock(&mas_writer); - for (i = 0; i <= nr_entries; i++) { - mas_writer.index = i * 10; - mas_writer.last = i * 10 + 5; - mas_store_gfp(&mas_writer, xa_mk_value(i), GFP_KERNEL); - } - mas_unlock(&mas_writer); + val = mas_prev(&mas, 0); + MT_BUG_ON(mt, val != xa_mk_value(680 / 10)); + MT_BUG_ON(mt, mas.index != 680); + MT_BUG_ON(mt, mas.last != 685); - /* Overwrite one entry with a new value. */ - mas_set_range(&mas_writer, target, target + 5); - rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); - rcu_read_unlock(); + val = mas_next(&mas, 1000); + MT_BUG_ON(mt, val != xa_mk_value(690 / 10)); + MT_BUG_ON(mt, mas.index != 690); + MT_BUG_ON(mt, mas.last != 695); - /* Restore value. */ - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); - mas_unlock(&mas_writer); - mas_reset(&mas_reader); + val = mas_next(&mas, 1000); + MT_BUG_ON(mt, val != xa_mk_value(700 / 10)); + MT_BUG_ON(mt, mas.index != 700); + MT_BUG_ON(mt, mas.last != 705); + /* Check across node boundaries of the tree */ + mas_set(&mas, 70); + val = mas_walk(&mas); + MT_BUG_ON(mt, val != xa_mk_value(70 / 10)); + MT_BUG_ON(mt, mas.index != 70); + MT_BUG_ON(mt, mas.last != 75); - /* Overwrite 1/2 the entry */ - mas_set_range(&mas_writer, target, target + 2); - rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); - rcu_read_unlock(); + val = mas_next(&mas, 1000); + MT_BUG_ON(mt, val != xa_mk_value(80 / 10)); + MT_BUG_ON(mt, mas.index != 80); + MT_BUG_ON(mt, mas.last != 85); + val = mas_prev(&mas, 70); + MT_BUG_ON(mt, val != xa_mk_value(70 / 10)); + MT_BUG_ON(mt, mas.index != 70); + MT_BUG_ON(mt, mas.last != 75); - /* Restore value. */ - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); - mas_unlock(&mas_writer); - mas_reset(&mas_reader); + /* Check across two levels of the tree */ + mas_reset(&mas); + mas_set(&mas, level2[0]); + val = mas_walk(&mas); + MT_BUG_ON(mt, val != NULL); + val = mas_next(&mas, level2[1]); + MT_BUG_ON(mt, val != xa_mk_value(level2[2] / 10)); + MT_BUG_ON(mt, mas.index != level2[2]); + MT_BUG_ON(mt, mas.last != level2[3]); + mn = mas.node; - /* Overwrite last 1/2 the entry */ - mas_set_range(&mas_writer, target + 2, target + 5); - rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - rcu_read_unlock(); + val = mas_next(&mas, level2[1]); + MT_BUG_ON(mt, val != xa_mk_value(level2[4] / 10)); + MT_BUG_ON(mt, mas.index != level2[4]); + MT_BUG_ON(mt, mas.last != level2[5]); + MT_BUG_ON(mt, mn == mas.node); + val = mas_prev(&mas, 0); + MT_BUG_ON(mt, val != xa_mk_value(level2[2] / 10)); + MT_BUG_ON(mt, mas.index != level2[2]); + MT_BUG_ON(mt, mas.last != level2[3]); - /* Restore value. */ - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); - mas_unlock(&mas_writer); - mas_reset(&mas_reader); + /* Check running off the end and back on */ + mas_set(&mas, nr_entries * 10); + val = mas_walk(&mas); + MT_BUG_ON(mt, val != xa_mk_value(nr_entries)); + MT_BUG_ON(mt, mas.index != (nr_entries * 10)); + MT_BUG_ON(mt, mas.last != (nr_entries * 10 + 5)); - /* Overwrite more than the entry */ - mas_set_range(&mas_writer, target - 5, target + 15); - rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); - rcu_read_unlock(); + val = mas_next(&mas, ULONG_MAX); + MT_BUG_ON(mt, val != NULL); + MT_BUG_ON(mt, mas.index != ULONG_MAX); + MT_BUG_ON(mt, mas.last != ULONG_MAX); - /* Restore value. */ - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); - mas_unlock(&mas_writer); - mas_reset(&mas_reader); + val = mas_prev(&mas, 0); + MT_BUG_ON(mt, val != xa_mk_value(nr_entries)); + MT_BUG_ON(mt, mas.index != (nr_entries * 10)); + MT_BUG_ON(mt, mas.last != (nr_entries * 10 + 5)); - /* Overwrite more than the node. */ - mas_set_range(&mas_writer, target - 400, target + 400); - rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); - rcu_read_unlock(); + /* Check running off the start and back on */ + mas_reset(&mas); + mas_set(&mas, 10); + val = mas_walk(&mas); + MT_BUG_ON(mt, val != xa_mk_value(1)); + MT_BUG_ON(mt, mas.index != 10); + MT_BUG_ON(mt, mas.last != 15); - /* Restore value. */ - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); - mas_unlock(&mas_writer); - mas_reset(&mas_reader); + val = mas_prev(&mas, 0); + MT_BUG_ON(mt, val != xa_mk_value(0)); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 5); - /* Overwrite the tree */ - mas_set_range(&mas_writer, 0, ULONG_MAX); - rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); - rcu_read_unlock(); + val = mas_prev(&mas, 0); + MT_BUG_ON(mt, val != NULL); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); - /* Clear out tree & recreate it */ - mas_lock(&mas_writer); - mas_set_range(&mas_writer, 0, ULONG_MAX); - mas_store_gfp(&mas_writer, NULL, GFP_KERNEL); - mas_set_range(&mas_writer, 0, 0); - for (i = 0; i <= nr_entries; i++) { - mas_writer.index = i * 10; - mas_writer.last = i * 10 + 5; - mas_store_gfp(&mas_writer, xa_mk_value(i), GFP_KERNEL); - } - mas_unlock(&mas_writer); + mas.index = 0; + mas.last = 5; + mas_store(&mas, NULL); + mas_reset(&mas); + mas_set(&mas, 10); + mas_walk(&mas); - /* next check */ - /* Overwrite one entry with a new value. */ - mas_reset(&mas_reader); - mas_set_range(&mas_writer, target, target + 5); - mas_set_range(&mas_reader, target, target); - rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_prev(&mas_reader, 0); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_next(&mas_reader, ULONG_MAX) != xa_mk_value(val)); - rcu_read_unlock(); + val = mas_prev(&mas, 0); + MT_BUG_ON(mt, val != NULL); + MT_BUG_ON(mt, mas.index != 0); + MT_BUG_ON(mt, mas.last != 0); + mas_unlock(&mas); - /* Restore value. */ - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); - mas_unlock(&mas_writer); + mtree_destroy(mt); - /* prev check */ - /* Overwrite one entry with a new value. */ - mas_reset(&mas_reader); - mas_set_range(&mas_writer, target, target + 5); - mas_set_range(&mas_reader, target, target); + mt_init(mt); + mtree_store_range(mt, 0, 0, xa_mk_value(0), GFP_KERNEL); + mtree_store_range(mt, 5, 5, xa_mk_value(5), GFP_KERNEL); rcu_read_lock(); - MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); - mas_next(&mas_reader, ULONG_MAX); - mas_lock(&mas_writer); - mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); - mas_unlock(&mas_writer); - MT_BUG_ON(mt, mas_prev(&mas_reader, 0) != xa_mk_value(val)); + mas_set(&mas, 5); + val = mas_prev(&mas, 4); + MT_BUG_ON(mt, val != NULL); rcu_read_unlock(); - - rcu_unregister_thread(); } -static noinline void check_rcu_threaded(struct maple_tree *mt) -{ - unsigned long i, nr_entries = 1000; - struct rcu_test_struct vals; - - vals.val_sleep = 200; - vals.loop_sleep = 110; - - rcu_register_thread(); - for (i = 0; i <= nr_entries; i++) - mtree_store_range(mt, i*10, i*10 + 5, - xa_mk_value(i), GFP_KERNEL); - /* Store across several slots. */ - vals.count = 1000; - vals.mt = mt; - vals.index = 8650; - vals.last = 8666; - vals.entry1 = xa_mk_value(865); - vals.entry2 = xa_mk_value(8650); - vals.entry3 = xa_mk_value(8650); - vals.range_start = 0; - vals.range_end = ULONG_MAX; - vals.seen_entry2 = 0; - vals.seen_entry3 = 0; - - run_check_rcu(mt, &vals); - mtree_destroy(mt); - - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= nr_entries; i++) - mtree_store_range(mt, i*10, i*10 + 5, - xa_mk_value(i), GFP_KERNEL); - - /* 4390-4395: value 439 (0x1b7) [0x36f] */ - /* Store across several slots. */ - /* Spanning store. */ - vals.count = 10000; - vals.mt = mt; - vals.index = 4390; - vals.last = 4398; - vals.entry1 = xa_mk_value(4390); - vals.entry2 = xa_mk_value(439); - vals.entry3 = xa_mk_value(439); - vals.seen_entry2 = 0; - vals.range_start = 4316; - vals.range_end = 5035; - run_check_rcu(mt, &vals); - mtree_destroy(mt); - - - /* Forward writer for rcu stress */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - rcu_stress(mt, true); - mtree_destroy(mt); - - /* Reverse writer for rcu stress */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - rcu_stress(mt, false); - mtree_destroy(mt); - - /* Slow reader test with spanning store. */ - mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); - for (i = 0; i <= nr_entries; i++) - mtree_store_range(mt, i*10, i*10 + 5, - xa_mk_value(i), GFP_KERNEL); - - /* 4390-4395: value 439 (0x1b7) [0x36f] */ - /* Store across several slots. */ - /* Spanning store. */ - vals.count = 15000; - vals.mt = mt; - vals.index = 4390; - vals.last = 4398; - vals.entry1 = xa_mk_value(4390); - vals.entry2 = xa_mk_value(439); - vals.entry3 = xa_mk_value(4391); - vals.seen_toggle = 0; - vals.seen_added = 0; - vals.seen_removed = 0; - vals.range_start = 4316; - vals.range_end = 5035; - vals.removed = 4360; - vals.added = 4396; - vals.toggle = 4347; - vals.val_sleep = 400; - vals.loop_sleep = 200; - vals.seen_entry2 = 0; - vals.seen_entry3 = 0; - vals.seen_both = 0; - vals.entry3 = xa_mk_value(438); - - run_check_rcu_slowread(mt, &vals); - rcu_unregister_thread(); -} -extern void test_kmem_cache_bulk(void); /* Test spanning writes that require balancing right sibling or right cousin */ static noinline void check_spanning_relatives(struct maple_tree *mt) @@ -37556,7 +2021,7 @@ static noinline void check_fuzzer(struct maple_tree *mt) * Also discovered issue with metadata setting. */ mt_init_flags(mt, 0); - mtree_test_store_range(mt, 0, 18446744073709551615UL, (void *)0x1); + mtree_test_store_range(mt, 0, ULONG_MAX, (void *)0x1); mtree_test_store(mt, 4, (void *)0x9); mtree_test_erase(mt, 5); mtree_test_erase(mt, 0); @@ -37612,9 +2077,9 @@ static noinline void check_fuzzer(struct maple_tree *mt) mtree_test_insert(mt, 8, (void *)0x11); mtree_test_insert(mt, 4, (void *)0x9); mtree_test_insert(mt, 2480, (void *)0x1361); - mtree_test_insert(mt, 18446744073709551615UL, + mtree_test_insert(mt, ULONG_MAX, (void *)0xffffffffffffffff); - mtree_test_erase(mt, 18446744073709551615UL); + mtree_test_erase(mt, ULONG_MAX); mtree_destroy(mt); /* @@ -37883,8 +2348,8 @@ static noinline void check_fuzzer(struct maple_tree *mt) mtree_test_insert(mt, 8, (void *)0x11); mtree_test_insert(mt, 21, (void *)0x2b); mtree_test_insert(mt, 2, (void *)0x5); - mtree_test_insert(mt, 18446744073709551605UL, (void *)0xffffffffffffffeb); - mtree_test_erase(mt, 18446744073709551605UL); + mtree_test_insert(mt, ULONG_MAX - 10, (void *)0xffffffffffffffeb); + mtree_test_erase(mt, ULONG_MAX - 10); mtree_test_store_range(mt, 0, 281, (void *)0x1); mtree_test_erase(mt, 2); mtree_test_insert(mt, 1211, (void *)0x977); @@ -37900,9 +2365,11 @@ static noinline void check_fuzzer(struct maple_tree *mt) mtree_test_insert(mt, 8, (void *)0x11); mtree_test_insert(mt, 21, (void *)0x2b); mtree_test_insert(mt, 2, (void *)0x5); - mtree_test_insert(mt, 18446744073709551605UL, (void *)0xffffffffffffffeb); - mtree_test_erase(mt, 18446744073709551605UL); + mtree_test_insert(mt, ULONG_MAX - 10, (void *)0xffffffffffffffeb); + mtree_test_erase(mt, ULONG_MAX - 10); } + +/* duplicate the tree with a specific gap */ static noinline void check_dup_gaps(struct maple_tree *mt, unsigned long nr_entries, bool zero_start, unsigned long gap) @@ -37914,7 +2381,6 @@ static noinline void check_dup_gaps(struct maple_tree *mt, MA_STATE(mas, mt, 0, 0); MA_STATE(newmas, &newmt, 0, 0); - if (!zero_start) i = 1; @@ -37925,58 +2391,78 @@ static noinline void check_dup_gaps(struct maple_tree *mt, mt_init_flags(&newmt, MT_FLAGS_ALLOC_RANGE); mt_set_non_kernel(99999); + mas_lock(&newmas); ret = mas_expected_entries(&newmas, nr_entries); mt_set_non_kernel(0); MT_BUG_ON(mt, ret != 0); + rcu_read_lock(); mas_for_each(&mas, tmp, ULONG_MAX) { newmas.index = mas.index; newmas.last = mas.last; mas_store(&newmas, tmp); } - - mas_destroy(&mas); + rcu_read_unlock(); mas_destroy(&newmas); + mas_unlock(&newmas); + mtree_destroy(&newmt); } +/* Duplicate many sizes of trees. Mainly to test expected entry values */ static noinline void check_dup(struct maple_tree *mt) { int i; + int big_start = 100010; /* Check with a value at zero */ for (i = 10; i < 1000; i++) { mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); check_dup_gaps(mt, i, true, 5); mtree_destroy(mt); + rcu_barrier(); } + cond_resched(); + mt_cache_shrink(); /* Check with a value at zero, no gap */ for (i = 1000; i < 2000; i++) { mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); check_dup_gaps(mt, i, true, 0); mtree_destroy(mt); + rcu_barrier(); } + cond_resched(); + mt_cache_shrink(); /* Check with a value at zero and unreasonably large */ - for (i = 100010; i < 100020; i++) { + for (i = big_start; i < big_start + 10; i++) { mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); check_dup_gaps(mt, i, true, 5); mtree_destroy(mt); + rcu_barrier(); } + cond_resched(); + mt_cache_shrink(); /* Small to medium size not starting at zero*/ for (i = 200; i < 1000; i++) { mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); check_dup_gaps(mt, i, false, 5); mtree_destroy(mt); + rcu_barrier(); } + cond_resched(); + mt_cache_shrink(); /* Unreasonably large not starting at zero*/ - for (i = 100010; i < 100020; i++) { + for (i = big_start; i < big_start + 10; i++) { mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); check_dup_gaps(mt, i, false, 5); mtree_destroy(mt); + rcu_barrier(); + cond_resched(); + mt_cache_shrink(); } /* Check non-allocation tree not starting at zero */ @@ -37984,22 +2470,32 @@ static noinline void check_dup(struct maple_tree *mt) mt_init_flags(mt, 0); check_dup_gaps(mt, i, false, 5); mtree_destroy(mt); + rcu_barrier(); + cond_resched(); + if (i % 2 == 0) + mt_cache_shrink(); } + mt_cache_shrink(); /* Check non-allocation tree starting at zero */ for (i = 200; i < 1000; i++) { mt_init_flags(mt, 0); check_dup_gaps(mt, i, true, 5); mtree_destroy(mt); + rcu_barrier(); + cond_resched(); } + mt_cache_shrink(); /* Unreasonably large */ - for (i = 100015; i < 100020; i++) { + for (i = big_start + 5; i < big_start + 10; i++) { mt_init_flags(mt, 0); check_dup_gaps(mt, i, true, 5); mtree_destroy(mt); + rcu_barrier(); + mt_cache_shrink(); + cond_resched(); } - } static DEFINE_MTREE(tree); @@ -38059,28 +2555,6 @@ static int maple_tree_seed(void) goto skip; #endif - test_kmem_cache_bulk(); - - mt_init_flags(&tree, 0); - check_new_node(&tree); - mtree_destroy(&tree); - - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); - check_prealloc(&tree); - mtree_destroy(&tree); - - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); - check_spanning_write(&tree); - mtree_destroy(&tree); - - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); - check_null_expand(&tree); - mtree_destroy(&tree); - - mt_init_flags(&tree, 0); - check_dfs_preorder(&tree); - mtree_destroy(&tree); - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_forking(&tree); mtree_destroy(&tree); @@ -38094,6 +2568,8 @@ static int maple_tree_seed(void) check_ranges(&tree); mtree_destroy(&tree); +#if defined(CONFIG_64BIT) + /* These tests have ranges outside of 4GB */ mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_alloc_range(&tree); mtree_destroy(&tree); @@ -38101,6 +2577,7 @@ static int maple_tree_seed(void) mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_alloc_rev_range(&tree); mtree_destroy(&tree); +#endif mt_init_flags(&tree, 0); @@ -38159,10 +2636,6 @@ static int maple_tree_seed(void) /* Clear out the tree */ mtree_destroy(&tree); - mt_init_flags(&tree, 0); - check_erase_testset(&tree); - mtree_destroy(&tree); - mt_init_flags(&tree, 0); /* * set[] = {5015, 5014, 5017, 25, 1000, @@ -38215,7 +2688,6 @@ static int maple_tree_seed(void) check_load(&tree, set[9], &tree); mtree_destroy(&tree); - check_nomem(&tree); mt_init_flags(&tree, 0); check_seq(&tree, 16, false); mtree_destroy(&tree); @@ -38242,10 +2714,6 @@ static int maple_tree_seed(void) check_prev_entry(&tree); mtree_destroy(&tree); - mt_init_flags(&tree, 0); - check_erase2_sets(&tree); - mtree_destroy(&tree); - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_gap_combining(&tree); mtree_destroy(&tree); @@ -38258,14 +2726,6 @@ static int maple_tree_seed(void) next_prev_test(&tree); mtree_destroy(&tree); - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); - check_rcu_simulated(&tree); - mtree_destroy(&tree); - - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); - check_rcu_threaded(&tree); - mtree_destroy(&tree); - mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); check_spanning_relatives(&tree); mtree_destroy(&tree); diff --git a/tools/testing/radix-tree/.gitignore b/tools/testing/radix-tree/.gitignore index c901d96dd013..49bccb90c35b 100644 --- a/tools/testing/radix-tree/.gitignore +++ b/tools/testing/radix-tree/.gitignore @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only +generated/bit-length.h generated/map-shift.h idr.c idr-test diff --git a/tools/testing/radix-tree/Makefile b/tools/testing/radix-tree/Makefile index 89d613e0505b..caf32a9b9608 100644 --- a/tools/testing/radix-tree/Makefile +++ b/tools/testing/radix-tree/Makefile @@ -18,9 +18,14 @@ endif ifeq ($(BUILD), 32) CFLAGS += -m32 LDFLAGS += -m32 +LONG_BIT := 32 endif -targets: generated/map-shift.h $(TARGETS) +ifndef LONG_BIT +LONG_BIT := $(shell getconf LONG_BIT) +endif + +targets: generated/map-shift.h generated/bit-length.h $(TARGETS) main: $(OFILES) @@ -34,11 +39,11 @@ maple: $(CORE_OFILES) multiorder: multiorder.o $(CORE_OFILES) clean: - $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h + $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h generated/bit-length.h vpath %.c ../../lib -$(OFILES): Makefile *.h */*.h generated/map-shift.h \ +$(OFILES): Makefile *.h */*.h generated/map-shift.h generated/bit-length.h \ ../../include/linux/*.h \ ../../include/asm/*.h \ ../../../include/linux/xarray.h \ @@ -61,3 +66,11 @@ generated/map-shift.h: echo "#define XA_CHUNK_SHIFT $(SHIFT)" > \ generated/map-shift.h; \ fi + +generated/bit-length.h: FORCE + @if ! grep -qws CONFIG_$(LONG_BIT)BIT generated/bit-length.h; then \ + echo "Generating $@"; \ + echo "#define CONFIG_$(LONG_BIT)BIT 1" > $@; \ + fi + +FORCE: ; diff --git a/tools/testing/radix-tree/generated/autoconf.h b/tools/testing/radix-tree/generated/autoconf.h index e7da80350236..92dc474c349b 100644 --- a/tools/testing/radix-tree/generated/autoconf.h +++ b/tools/testing/radix-tree/generated/autoconf.h @@ -1,2 +1,2 @@ +#include "bit-length.h" #define CONFIG_XARRAY_MULTI 1 -#define CONFIG_64BIT 1 diff --git a/tools/testing/radix-tree/linux.c b/tools/testing/radix-tree/linux.c index 2048d12c31df..d587a558997f 100644 --- a/tools/testing/radix-tree/linux.c +++ b/tools/testing/radix-tree/linux.c @@ -129,6 +129,10 @@ void kmem_cache_free_bulk(struct kmem_cache *cachep, size_t size, void **list) pthread_mutex_unlock(&cachep->lock); } +void kmem_cache_shrink(struct kmem_cache *cachep) +{ +} + int kmem_cache_alloc_bulk(struct kmem_cache *cachep, gfp_t gfp, size_t size, void **p) { diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index 35082671928a..2e91973fbaa6 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -2,11 +2,17 @@ /* * maple_tree.c: Userspace shim for maple tree test-suite * Copyright (c) 2018 Liam R. Howlett + * + * Any tests that require internal knowledge of the tree or threads and other + * difficult to handle in kernel tests. */ #define CONFIG_DEBUG_MAPLE_TREE #define CONFIG_MAPLE_SEARCH +#define MAPLE_32BIT (MAPLE_NODE_SLOTS > 31) #include "test.h" +#include +#include #define module_init(x) #define module_exit(x) @@ -18,6 +24,35717 @@ #undef CONFIG_DEBUG_MAPLE_TREE #include "../../../lib/test_maple_tree.c" +#define RCU_RANGE_COUNT 1000 +#define RCU_MT_BUG_ON(test, y) {if (y) { test->stop = true; } MT_BUG_ON(test->mt, y); } + +struct rcu_test_struct2 { + struct maple_tree *mt; + + bool start; + bool stop; + unsigned int thread_count; + + unsigned int seen_toggle; + unsigned int seen_added; + unsigned int seen_modified; + unsigned int seen_deleted; + int pause; + + unsigned long index[RCU_RANGE_COUNT]; + unsigned long last[RCU_RANGE_COUNT]; +}; + +struct rcu_reader_struct { + unsigned int id; + int mod; + int del; + int flip; + int add; + int next; + struct rcu_test_struct2 *test; +}; + +/* + * check_new_node() - Check the creation of new nodes and error path + * verification. + */ +static noinline void check_new_node(struct maple_tree *mt) +{ + + struct maple_node *mn, *mn2, *mn3; + struct maple_alloc *smn; + struct maple_node *nodes[100]; + int i, j, total; + + MA_STATE(mas, mt, 0, 0); + + /* Try allocating 3 nodes */ + mtree_lock(mt); + mt_set_non_kernel(0); + /* request 3 nodes to be allocated. */ + mas_node_count(&mas, 3); + /* Allocation request of 3. */ + MT_BUG_ON(mt, mas_alloc_req(&mas) != 3); + /* Allocate failed. */ + MT_BUG_ON(mt, mas.node != MA_ERROR(-ENOMEM)); + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + + MT_BUG_ON(mt, mas_allocated(&mas) != 3); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + MT_BUG_ON(mt, mn == NULL); + MT_BUG_ON(mt, mas.alloc == NULL); + MT_BUG_ON(mt, mas.alloc->slot[0] == NULL); + mas_push_node(&mas, mn); + mas_nomem(&mas, GFP_KERNEL); /* free */ + mtree_unlock(mt); + + + /* Try allocating 1 node, then 2 more */ + mtree_lock(mt); + /* Set allocation request to 1. */ + mas_set_alloc_req(&mas, 1); + /* Check Allocation request of 1. */ + MT_BUG_ON(mt, mas_alloc_req(&mas) != 1); + mas_set_err(&mas, -ENOMEM); + /* Validate allocation request. */ + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + /* Eat the requested node. */ + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + MT_BUG_ON(mt, mn == NULL); + MT_BUG_ON(mt, mn->slot[0] != NULL); + MT_BUG_ON(mt, mn->slot[1] != NULL); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + + ma_free_rcu(mn); + mas.node = MAS_START; + mas_nomem(&mas, GFP_KERNEL); + /* Allocate 3 nodes, will fail. */ + mas_node_count(&mas, 3); + /* Drop the lock and allocate 3 nodes. */ + mas_nomem(&mas, GFP_KERNEL); + /* Ensure 3 are allocated. */ + MT_BUG_ON(mt, mas_allocated(&mas) != 3); + /* Allocation request of 0. */ + MT_BUG_ON(mt, mas_alloc_req(&mas) != 0); + + MT_BUG_ON(mt, mas.alloc == NULL); + MT_BUG_ON(mt, mas.alloc->slot[0] == NULL); + MT_BUG_ON(mt, mas.alloc->slot[1] == NULL); + /* Ensure we counted 3. */ + MT_BUG_ON(mt, mas_allocated(&mas) != 3); + /* Free. */ + mas_nomem(&mas, GFP_KERNEL); + + /* Set allocation request to 1. */ + mas_set_alloc_req(&mas, 1); + MT_BUG_ON(mt, mas_alloc_req(&mas) != 1); + mas_set_err(&mas, -ENOMEM); + /* Validate allocation request. */ + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + MT_BUG_ON(mt, mas_allocated(&mas) != 1); + /* Check the node is only one node. */ + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + MT_BUG_ON(mt, mn == NULL); + MT_BUG_ON(mt, mn->slot[0] != NULL); + MT_BUG_ON(mt, mn->slot[1] != NULL); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + mas_push_node(&mas, mn); + MT_BUG_ON(mt, mas_allocated(&mas) != 1); + MT_BUG_ON(mt, mas.alloc->node_count); + + mas_set_alloc_req(&mas, 2); /* request 2 more. */ + MT_BUG_ON(mt, mas_alloc_req(&mas) != 2); + mas_set_err(&mas, -ENOMEM); + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + MT_BUG_ON(mt, mas_allocated(&mas) != 3); + MT_BUG_ON(mt, mas.alloc == NULL); + MT_BUG_ON(mt, mas.alloc->slot[0] == NULL); + MT_BUG_ON(mt, mas.alloc->slot[1] == NULL); + for (i = 2; i >= 0; i--) { + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, mas_allocated(&mas) != i); + MT_BUG_ON(mt, !mn); + MT_BUG_ON(mt, not_empty(mn)); + ma_free_rcu(mn); + } + + total = 64; + mas_set_alloc_req(&mas, total); /* request 2 more. */ + MT_BUG_ON(mt, mas_alloc_req(&mas) != total); + mas_set_err(&mas, -ENOMEM); + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + for (i = total; i > 0; i--) { + unsigned int e = 0; /* expected node_count */ + + if (!MAPLE_32BIT) { + if (i >= 35) + e = i - 35; + else if (i >= 5) + e = i - 5; + else if (i >= 2) + e = i - 2; + } else { + if (i >= 4) + e = i - 4; + else if (i == 3) + e = i - 2; + else + e = 0; + } + + MT_BUG_ON(mt, mas.alloc->node_count != e); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + MT_BUG_ON(mt, mas_allocated(&mas) != i - 1); + MT_BUG_ON(mt, !mn); + ma_free_rcu(mn); + } + + total = 100; + for (i = 1; i < total; i++) { + mas_set_alloc_req(&mas, i); + mas_set_err(&mas, -ENOMEM); + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + for (j = i; j > 0; j--) { + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, mas_allocated(&mas) != j - 1); + MT_BUG_ON(mt, !mn); + MT_BUG_ON(mt, not_empty(mn)); + mas_push_node(&mas, mn); + MT_BUG_ON(mt, mas_allocated(&mas) != j); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + MT_BUG_ON(mt, mas_allocated(&mas) != j - 1); + ma_free_rcu(mn); + } + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + + mas_set_alloc_req(&mas, i); + mas_set_err(&mas, -ENOMEM); + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + for (j = 0; j <= i/2; j++) { + MT_BUG_ON(mt, mas_allocated(&mas) != i - j); + nodes[j] = mas_pop_node(&mas); + MT_BUG_ON(mt, mas_allocated(&mas) != i - j - 1); + } + + while (j) { + j--; + mas_push_node(&mas, nodes[j]); + MT_BUG_ON(mt, mas_allocated(&mas) != i - j); + } + MT_BUG_ON(mt, mas_allocated(&mas) != i); + for (j = 0; j <= i/2; j++) { + MT_BUG_ON(mt, mas_allocated(&mas) != i - j); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + ma_free_rcu(mn); + MT_BUG_ON(mt, mas_allocated(&mas) != i - j - 1); + } + MT_BUG_ON(mt, mas_nomem(&mas, GFP_KERNEL)); + + } + + /* Set allocation request. */ + total = 500; + mas_node_count(&mas, total); + /* Drop the lock and allocate the nodes. */ + mas_nomem(&mas, GFP_KERNEL); + MT_BUG_ON(mt, !mas.alloc); + i = 1; + smn = mas.alloc; + while (i < total) { + for (j = 0; j < MAPLE_ALLOC_SLOTS; j++) { + i++; + MT_BUG_ON(mt, !smn->slot[j]); + if (i == total) + break; + } + smn = smn->slot[0]; /* next. */ + } + MT_BUG_ON(mt, mas_allocated(&mas) != total); + mas_nomem(&mas, GFP_KERNEL); /* Free. */ + + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + for (i = 1; i < 128; i++) { + mas_node_count(&mas, i); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + MT_BUG_ON(mt, mas_allocated(&mas) != i); /* check request filled */ + for (j = i; j > 0; j--) { /*Free the requests */ + mn = mas_pop_node(&mas); /* get the next node. */ + MT_BUG_ON(mt, mn == NULL); + MT_BUG_ON(mt, not_empty(mn)); + ma_free_rcu(mn); + } + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + } + + for (i = 1; i < MAPLE_NODE_MASK + 1; i++) { + MA_STATE(mas2, mt, 0, 0); + mas_node_count(&mas, i); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + MT_BUG_ON(mt, mas_allocated(&mas) != i); /* check request filled */ + for (j = 1; j <= i; j++) { /* Move the allocations to mas2 */ + mn = mas_pop_node(&mas); /* get the next node. */ + MT_BUG_ON(mt, mn == NULL); + MT_BUG_ON(mt, not_empty(mn)); + mas_push_node(&mas2, mn); + MT_BUG_ON(mt, mas_allocated(&mas2) != j); + } + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + MT_BUG_ON(mt, mas_allocated(&mas2) != i); + + for (j = i; j > 0; j--) { /*Free the requests */ + MT_BUG_ON(mt, mas_allocated(&mas2) != j); + mn = mas_pop_node(&mas2); /* get the next node. */ + MT_BUG_ON(mt, mn == NULL); + MT_BUG_ON(mt, not_empty(mn)); + ma_free_rcu(mn); + } + MT_BUG_ON(mt, mas_allocated(&mas2) != 0); + } + + + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + mas_node_count(&mas, MAPLE_ALLOC_SLOTS + 1); /* Request */ + MT_BUG_ON(mt, mas.node != MA_ERROR(-ENOMEM)); + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 1); + MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 1); + + mn = mas_pop_node(&mas); /* get the next node. */ + MT_BUG_ON(mt, mn == NULL); + MT_BUG_ON(mt, not_empty(mn)); + MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS); + MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 2); + + mas_push_node(&mas, mn); + MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 1); + MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 1); + + /* Check the limit of pop/push/pop */ + mas_node_count(&mas, MAPLE_ALLOC_SLOTS + 2); /* Request */ + MT_BUG_ON(mt, mas_alloc_req(&mas) != 1); + MT_BUG_ON(mt, mas.node != MA_ERROR(-ENOMEM)); + MT_BUG_ON(mt, !mas_nomem(&mas, GFP_KERNEL)); + MT_BUG_ON(mt, mas_alloc_req(&mas)); + MT_BUG_ON(mt, mas.alloc->node_count); + MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 2); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 1); + MT_BUG_ON(mt, mas.alloc->node_count != MAPLE_ALLOC_SLOTS - 1); + mas_push_node(&mas, mn); + MT_BUG_ON(mt, mas.alloc->node_count); + MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS + 2); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + ma_free_rcu(mn); + for (i = 1; i <= MAPLE_ALLOC_SLOTS + 1; i++) { + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, not_empty(mn)); + ma_free_rcu(mn); + } + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + + + for (i = 3; i < MAPLE_NODE_MASK * 3; i++) { + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, i); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + mn = mas_pop_node(&mas); /* get the next node. */ + mas_push_node(&mas, mn); /* put it back */ + mas_destroy(&mas); + + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, i); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + mn = mas_pop_node(&mas); /* get the next node. */ + mn2 = mas_pop_node(&mas); /* get the next node. */ + mas_push_node(&mas, mn); /* put them back */ + mas_push_node(&mas, mn2); + mas_destroy(&mas); + + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, i); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + mn = mas_pop_node(&mas); /* get the next node. */ + mn2 = mas_pop_node(&mas); /* get the next node. */ + mn3 = mas_pop_node(&mas); /* get the next node. */ + mas_push_node(&mas, mn); /* put them back */ + mas_push_node(&mas, mn2); + mas_push_node(&mas, mn3); + mas_destroy(&mas); + + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, i); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + mn = mas_pop_node(&mas); /* get the next node. */ + ma_free_rcu(mn); + mas_destroy(&mas); + + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, i); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + mn = mas_pop_node(&mas); /* get the next node. */ + ma_free_rcu(mn); + mn = mas_pop_node(&mas); /* get the next node. */ + ma_free_rcu(mn); + mn = mas_pop_node(&mas); /* get the next node. */ + ma_free_rcu(mn); + mas_destroy(&mas); + } + + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, 5); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + MT_BUG_ON(mt, mas_allocated(&mas) != 5); + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, 10); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + mas.node = MAS_START; + MT_BUG_ON(mt, mas_allocated(&mas) != 10); + mas_destroy(&mas); + + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, MAPLE_ALLOC_SLOTS - 1); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + MT_BUG_ON(mt, mas_allocated(&mas) != MAPLE_ALLOC_SLOTS - 1); + mas.node = MA_ERROR(-ENOMEM); + mas_node_count(&mas, 10 + MAPLE_ALLOC_SLOTS - 1); /* Request */ + mas_nomem(&mas, GFP_KERNEL); /* Fill request */ + mas.node = MAS_START; + MT_BUG_ON(mt, mas_allocated(&mas) != 10 + MAPLE_ALLOC_SLOTS - 1); + mas_destroy(&mas); + + mtree_unlock(mt); +} + +/* + * Check erasing including RCU. + */ +static noinline void check_erase(struct maple_tree *mt, unsigned long index, + void *ptr) +{ + MT_BUG_ON(mt, mtree_test_erase(mt, index) != ptr); +} + +#define erase_check_load(mt, i) check_load(mt, set[i], entry[i%2]) +#define erase_check_insert(mt, i) check_insert(mt, set[i], entry[i%2]) +#define erase_check_erase(mt, i) check_erase(mt, set[i], entry[i%2]) + +static noinline void check_erase_testset(struct maple_tree *mt) +{ + unsigned long set[] = { 5015, 5014, 5017, 25, 1000, + 1001, 1002, 1003, 1005, 0, + 6003, 6002, 6008, 6012, 6015, + 7003, 7002, 7008, 7012, 7015, + 8003, 8002, 8008, 8012, 8015, + 9003, 9002, 9008, 9012, 9015, + 10003, 10002, 10008, 10012, 10015, + 11003, 11002, 11008, 11012, 11015, + 12003, 12002, 12008, 12012, 12015, + 13003, 13002, 13008, 13012, 13015, + 14003, 14002, 14008, 14012, 14015, + 15003, 15002, 15008, 15012, 15015, + }; + + + void *ptr = &set; + void *entry[2] = { ptr, mt }; + void *root_node; + + + rcu_register_thread(); + mt_set_in_rcu(mt); + for (int i = 0; i < 4; i++) + erase_check_insert(mt, i); + for (int i = 0; i < 4; i++) + erase_check_load(mt, i); + + mt_set_non_kernel(2); + erase_check_erase(mt, 1); + erase_check_load(mt, 0); + check_load(mt, set[1], NULL); + for (int i = 2; i < 4; i++) + erase_check_load(mt, i); + + + erase_check_erase(mt, 2); + erase_check_load(mt, 0); + check_load(mt, set[1], NULL); + check_load(mt, set[2], NULL); + + erase_check_insert(mt, 1); + erase_check_insert(mt, 2); + + for (int i = 0; i < 4; i++) + erase_check_load(mt, i); + + /* Check erase and load without an allocation. */ + erase_check_load(mt, 3); + erase_check_erase(mt, 1); + erase_check_load(mt, 0); + check_load(mt, set[1], NULL); + for (int i = 2; i < 4; i++) + erase_check_load(mt, i); + + /* + * Set the newly erased node. This will produce a different allocated + * node to avoid busy slots. + */ + root_node = mt->ma_root; + erase_check_insert(mt, 1); + + erase_check_load(mt, 0); + check_load(mt, 5016, NULL); + erase_check_load(mt, 1); + check_load(mt, 5013, NULL); + erase_check_load(mt, 2); + check_load(mt, 5018, NULL); + erase_check_load(mt, 3); + + erase_check_erase(mt, 2); /* erase 5017 to check append */ + erase_check_load(mt, 0); + check_load(mt, 5016, NULL); + erase_check_load(mt, 1); + check_load(mt, 5013, NULL); + check_load(mt, set[2], NULL); + check_load(mt, 5018, NULL); + + erase_check_load(mt, 3); + + root_node = mt->ma_root; + erase_check_insert(mt, 2); + + erase_check_load(mt, 0); + check_load(mt, 5016, NULL); + erase_check_load(mt, 1); + check_load(mt, 5013, NULL); + erase_check_load(mt, 2); + check_load(mt, 5018, NULL); + erase_check_load(mt, 3); + + mt_set_non_kernel(1); + erase_check_erase(mt, 2); /* erase 5017 to check append */ + erase_check_load(mt, 0); + check_load(mt, 5016, NULL); + check_load(mt, set[2], NULL); + erase_check_erase(mt, 0); /* erase 5015 to check append */ + check_load(mt, set[0], NULL); + check_load(mt, 5016, NULL); + erase_check_insert(mt, 4); /* 1000 < Should not split. */ + check_load(mt, set[0], NULL); + check_load(mt, 5016, NULL); + erase_check_load(mt, 1); + check_load(mt, 5013, NULL); + check_load(mt, set[2], NULL); + check_load(mt, 5018, NULL); + erase_check_load(mt, 4); + check_load(mt, 999, NULL); + check_load(mt, 1001, NULL); + erase_check_load(mt, 4); + if (mt_in_rcu(mt)) + MT_BUG_ON(mt, root_node == mt->ma_root); + else + MT_BUG_ON(mt, root_node != mt->ma_root); + + /* Should not have split. */ + MT_BUG_ON(mt, !mte_is_leaf(mt->ma_root)); + + + /* Coalesce testing */ + erase_check_insert(mt, 0); + erase_check_insert(mt, 2); + + for (int i = 5; i < 25; i++) { + erase_check_insert(mt, i); + for (int j = i; j >= 0; j--) + erase_check_load(mt, j); + } + + erase_check_erase(mt, 14); /*6015 */ + for (int i = 0; i < 25; i++) { + if (i == 14) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + erase_check_erase(mt, 16); /*7002 */ + for (int i = 0; i < 25; i++) { + if (i == 16 || i == 14) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + + mt_set_non_kernel(1); + erase_check_erase(mt, 13); /*6012 */ + for (int i = 0; i < 25; i++) { + if (i == 16 || i == 14 || i == 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + erase_check_erase(mt, 15); /*7003 */ + for (int i = 0; i < 25; i++) { + if (i <= 16 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + mt_set_non_kernel(2); + erase_check_erase(mt, 17); /*7008 *should* cause coalesce. */ + for (int i = 0; i < 25; i++) { + if (i <= 17 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + erase_check_erase(mt, 18); /*7012 */ + for (int i = 0; i < 25; i++) { + if (i <= 18 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + mt_set_non_kernel(2); + erase_check_erase(mt, 19); /*7015 */ + for (int i = 0; i < 25; i++) { + if (i <= 19 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + erase_check_erase(mt, 20); /*8003 */ + for (int i = 0; i < 25; i++) { + if (i <= 20 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + erase_check_erase(mt, 21); /*8002 */ + for (int i = 0; i < 25; i++) { + if (i <= 21 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + mt_set_non_kernel(2); + erase_check_erase(mt, 22); /*8008 */ + for (int i = 0; i < 25; i++) { + if (i <= 22 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + for (int i = 23; i < 25; i++) + erase_check_erase(mt, i); + + for (int i = 0; i < 25; i++) { + if (i <= 25 && i >= 13) + check_load(mt, set[i], NULL); + else + erase_check_load(mt, i); + } + + /* Shrinking tree test. */ + + for (int i = 13; i < ARRAY_SIZE(set); i++) + erase_check_insert(mt, i); + + mt_set_non_kernel(99); + for (int i = 18; i < ARRAY_SIZE(set); i++) { + erase_check_erase(mt, i); + for (int j = 0; j < ARRAY_SIZE(set); j++) { + if (j < 18 || j > i) + erase_check_load(mt, j); + else + check_load(mt, set[j], NULL); + } + } + mt_set_non_kernel(35); + for (int i = 0; i < 18; i++) { + erase_check_erase(mt, i); + for (int j = 0; j < ARRAY_SIZE(set); j++) { + if (j < 18 && j > i) + erase_check_load(mt, j); + else + check_load(mt, set[j], NULL); + } + } + erase_check_insert(mt, 8); + erase_check_insert(mt, 9); + erase_check_erase(mt, 8); + rcu_unregister_thread(); +} + +/* End of erase testing */ + +/* VM Generated Crashes - uses its own tree walk for verification */ +#define erase_check_store_range(mt, a, i, ptr) mtree_test_store_range(mt, \ + a[(i)], a[(i + 1)], ptr) +#define STORE 1 +#define SNULL 2 +#define ERASE 3 +#define ec_type_str(x) \ + (((x) == STORE) ? \ + "STORE" : \ + (((x) == SNULL) ? \ + "SNULL" : "ERASE") \ + ) +#define check_erase2_debug 0 + +/* Calculate the overwritten entries. */ +int mas_ce2_over_count(struct ma_state *mas_start, struct ma_state *mas_end, + void *s_entry, unsigned long s_min, + void *e_entry, unsigned long e_max, + unsigned long *set, int i, bool null_entry) +{ + int count = 0, span = 0; + unsigned long retry = 0; + void *entry; + struct ma_state tmp; + + + /* count slots */ + memcpy(&tmp, mas_start, sizeof(tmp)); + entry = mas_next(&tmp, mas_end->last); + while (entry) { + BUG_ON(retry > 50); /* stop infinite retry on testing. */ + if (xa_is_zero(s_entry)) { + retry++; + continue; + } + count++; + span++; + entry = mas_next(&tmp, mas_end->last); + } + + if (null_entry) { + /* Check splitting end. */ + if (e_entry && (e_max > mas_end->last)) + count--; + + /* check overwrite of entire start */ + if (s_entry && (s_min == mas_start->index)) + count++; + } else { /* !null_entry (store) */ + bool esplit = e_max > mas_end->last; + bool ssplit = s_min != mas_start->index; + + if (s_entry && e_entry) { + if (esplit && ssplit) + count--; + else if (ssplit) + count--; + else if (esplit) { + if (span) + count--; + } + } else if (s_entry && !e_entry) { + if (ssplit) + count--; + } else if (!s_entry && e_entry) { + if (esplit) + count--; + count--; + } else { + count--; + } + } + return count; +} + +/* + * mas_node_walk() - Walk a maple node to offset of the index. + * @mas: The maple state + * @type: The maple node type + * @*range_min: Pointer to store the minimum range of the offset + * @*range_max: Pointer to store the maximum range of the offset + * + * The offset will be stored in the maple state. + * + */ +static inline void mas_node_walk(struct ma_state *mas, struct maple_node *node, + enum maple_type type, unsigned long *range_min, + unsigned long *range_max) + +{ + unsigned long *pivots; + unsigned char count; + unsigned long prev, max; + unsigned char offset; + unsigned long index; + + if (unlikely(ma_is_dense(type))) { + (*range_max) = (*range_min) = mas->index; + if (unlikely(ma_dead_node(node))) + return; + + mas->offset = mas->index = mas->min; + return; + } + + pivots = ma_pivots(node, type); + max = pivots[0]; + if (unlikely(ma_dead_node(node))) + return; + + offset = 0; + prev = mas->min; + index = mas->index; + if (unlikely(index <= max)) + goto offset_zero; + + count = mt_pivots[type]; + while (++offset < count) { + prev = max; + max = pivots[offset]; + if (unlikely(ma_dead_node(node))) + return; + + if (index <= max) + goto offset_found; + else if (unlikely(!max)) + goto mas_max; + } + + prev = max; +mas_max: + max = mas->max; +offset_found: + prev++; +offset_zero: + mas->offset = offset; + if (ma_is_leaf(type)) { + *range_max = max; + *range_min = prev; + } else { + mas->max = max; + mas->min = prev; + } +} + +/* + * mas_descend_walk(): Locates a value and sets the mas->node and slot + * accordingly. range_min and range_max are set to the range which the entry is + * valid. + * @mas: The maple state + * @*range_min: A pointer to store the minimum of the range + * @*range_max: A pointer to store the maximum of the range + * + * Check mas->node is still valid on return of any value. + * + * Return: true if pointing to a valid node and offset. False otherwise. + */ +static inline bool mas_descend_walk(struct ma_state *mas, + unsigned long *range_min, unsigned long *range_max) +{ + struct maple_enode *next; + struct maple_node *node; + enum maple_type type; + + next = mas->node; + while (true) { + node = mte_to_node(next); + type = mte_node_type(next); + mas_node_walk(mas, node, type, range_min, range_max); + next = mas_slot(mas, ma_slots(node, type), mas->offset); + if (unlikely(ma_dead_node(node))) + return false; + + if (unlikely(ma_is_leaf(type))) + return true; + + /* Descend. */ + mas->node = next; + } + return false; +} + +/* + * mas_tree_walk() - Walk to @mas->index and set the range values. + * @mas: The maple state. + * @*range_min: The minimum range to be set. + * @*range_max: The maximum range to be set. + * + * Ranges are only valid if there is a valid entry at @mas->index. + * + * Return: True if a value exists, false otherwise. + */ +static inline bool mas_tree_walk(struct ma_state *mas, unsigned long *range_min, + unsigned long *range_max) +{ + bool ret; + +retry: + ret = false; + mas_start(mas); + if (mas_is_none(mas)) + goto not_found; + + if (mas_is_ptr(mas)) { + *range_min = *range_max = 0; + if (!mas->index) + return true; + + goto not_found; + } + + ret = mas_descend_walk(mas, range_min, range_max); + if (unlikely(mte_dead_node(mas->node))) { + mas->node = MAS_START; + goto retry; + } + + return ret; + +not_found: + mas->offset = MAPLE_NODE_SLOTS; + return false; +} + +static inline void *mas_range_load(struct ma_state *mas, + unsigned long *range_min, unsigned long *range_max) + +{ + void *entry = NULL; + unsigned long index = mas->index; + + if (mas_is_none(mas) || mas_is_paused(mas)) + mas->node = MAS_START; +retry: + if (mas_tree_walk(mas, range_min, range_max)) + if (unlikely(mas->node == MAS_ROOT)) + return mas_root(mas); + + if (likely(mas->offset != MAPLE_NODE_SLOTS)) + entry = mas_get_slot(mas, mas->offset); + + if (mas_dead_node(mas, index)) + goto retry; + + return entry; +} + +#if defined(CONFIG_64BIT) +static noinline void check_erase2_testset(struct maple_tree *mt, + unsigned long *set, unsigned long size) +{ + int entry_count = 0; + int check = 0; + void *foo; + unsigned long addr = 0; + void *s_entry = NULL, *e_entry = NULL; + + MA_STATE(mas, mt, 0, 0); + + for (int i = 0; i < size; i += 3) { + unsigned long s_min, s_max; + unsigned long e_min, e_max; + void *value = NULL; + + MA_STATE(mas_start, mt, set[i+1], set[i+1]); + MA_STATE(mas_end, mt, set[i+2], set[i+2]); + mt_set_non_kernel(127); +#if check_erase2_debug + pr_err("%s: %d %s %lu - %lu\n", __func__, i, + ec_type_str(set[i]), + set[i+1], set[i+2]); +#endif + s_entry = mas_range_load(&mas_start, &s_min, &s_max); + e_entry = mas_range_load(&mas_end, &e_min, &e_max); + + switch (set[i]) { + case SNULL: + if ((s_min == set[i+1]) && (s_max == set[i+2])) { + if (s_entry) + entry_count--; + } else if ((s_min != set[i+1]) && (s_max != set[i+2])) { + entry_count++; + } else if ((mas_start.node != mas_end.node) || + (mas_start.offset != mas_end.offset)) { + entry_count -= + mas_ce2_over_count(&mas_start, &mas_end, + s_entry, s_min, + e_entry, e_max, set, i, + true); + } + + + erase_check_store_range(mt, set, i + 1, value); + break; + case STORE: + value = xa_mk_value(set[i + 1]); + if (mas_start.offset > mt_slot_count(mas_start.node)) { + entry_count++; /* appending an entry. */ + } else if ((s_min == e_min) && (s_max == e_max)) { + if (!entry_count) + entry_count++; + + else if (s_entry) { + if (e_max > mas_end.last) + entry_count++; + + if (s_min < mas_start.index) + entry_count++; + + } else { + entry_count++; + } + } else { + entry_count -= + mas_ce2_over_count(&mas_start, &mas_end, + s_entry, s_min, + e_entry, e_max, set, i, + false); + } + + erase_check_store_range(mt, set, i + 1, value); + break; + case ERASE: + if (!s_entry) + break; + check_erase(mt, set[i+1], xa_mk_value(set[i+1])); + entry_count--; + break; + } + mt_validate(mt); + if (entry_count) + MT_BUG_ON(mt, !mt_height(mt)); +#if check_erase2_debug > 1 + mt_dump(mt); +#endif +#if check_erase2_debug + pr_err("Done\n"); +#endif + + check = 0; + addr = 0; + mt_for_each(mt, foo, addr, ULONG_MAX) { + check++; +#if check_erase2_debug > 2 + pr_err("mt: %lu -> %p (%d)\n", addr+1, foo, check); +#endif + if (check > entry_count) + break; + } + +#if check_erase2_debug > 2 + pr_err("mt_for_each %d and count %d\n", check, entry_count); +#endif + + MT_BUG_ON(mt, check != entry_count); + + check = 0; + addr = 0; + mas_reset(&mas); + mas.index = 0; + rcu_read_lock(); + mas_for_each(&mas, foo, ULONG_MAX) { + if (xa_is_zero(foo)) { + if (addr == mas.index) { + mt_dump(mas.tree); + pr_err("retry failed %lu - %lu\n", + mas.index, mas.last); + MT_BUG_ON(mt, 1); + } + addr = mas.index; + continue; + } +#if check_erase2_debug > 2 + pr_err("mas: %lu -> %p\n", mas.index, foo); +#endif + check++; + if (check > entry_count) + break; + } + rcu_read_unlock(); +#if check_erase2_debug > 2 + pr_err("mas_for_each %d and count %d\n", check, entry_count); + mt_validate(mt); +#endif + + MT_BUG_ON(mt, check != entry_count); + + MT_BUG_ON(mt, mtree_load(mas.tree, 0) != NULL); + } +} + + +/* These tests were pulled from KVM tree modifications which failed. */ +static noinline void check_erase2_sets(struct maple_tree *mt) +{ + void *entry; + unsigned long start = 0; + unsigned long set[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140721266458624, 140737488351231, +ERASE, 140721266458624, 140737488351231, +STORE, 140721266458624, 140721266462719, +STORE, 94735788949504, 94735789121535, +ERASE, 94735788949504, 94735789121535, +STORE, 94735788949504, 94735788965887, +STORE, 94735788965888, 94735789121535, +ERASE, 94735788965888, 94735789121535, +STORE, 94735788965888, 94735789068287, +STORE, 94735789068288, 94735789109247, +STORE, 94735789109248, 94735789121535, +STORE, 140253902692352, 140253902864383, +ERASE, 140253902692352, 140253902864383, +STORE, 140253902692352, 140253902696447, +STORE, 140253902696448, 140253902864383, + }; + unsigned long set2[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140735933583360, 140737488351231, +ERASE, 140735933583360, 140737488351231, +STORE, 140735933583360, 140735933587455, +STORE, 94811003260928, 94811003432959, +ERASE, 94811003260928, 94811003432959, +STORE, 94811003260928, 94811003277311, +STORE, 94811003277312, 94811003432959, +ERASE, 94811003277312, 94811003432959, +STORE, 94811003277312, 94811003379711, +STORE, 94811003379712, 94811003420671, +STORE, 94811003420672, 94811003432959, +STORE, 140277094653952, 140277094825983, +ERASE, 140277094653952, 140277094825983, +STORE, 140277094653952, 140277094658047, +STORE, 140277094658048, 140277094825983, +ERASE, 140277094658048, 140277094825983, +STORE, 140277094658048, 140277094780927, +STORE, 140277094780928, 140277094813695, +STORE, 140277094813696, 140277094821887, +STORE, 140277094821888, 140277094825983, +STORE, 140735933906944, 140735933911039, + }; + unsigned long set3[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140735790264320, 140737488351231, +ERASE, 140735790264320, 140737488351231, +STORE, 140735790264320, 140735790268415, +STORE, 94016597282816, 94016597454847, +ERASE, 94016597282816, 94016597454847, +STORE, 94016597282816, 94016597299199, +STORE, 94016597299200, 94016597454847, +ERASE, 94016597299200, 94016597454847, +STORE, 94016597299200, 94016597401599, +STORE, 94016597401600, 94016597442559, +STORE, 94016597442560, 94016597454847, +STORE, 140496959283200, 140496959455231, +ERASE, 140496959283200, 140496959455231, +STORE, 140496959283200, 140496959287295, +STORE, 140496959287296, 140496959455231, +ERASE, 140496959287296, 140496959455231, +STORE, 140496959287296, 140496959410175, +STORE, 140496959410176, 140496959442943, +STORE, 140496959442944, 140496959451135, +STORE, 140496959451136, 140496959455231, +STORE, 140735791718400, 140735791722495, +STORE, 140735791706112, 140735791718399, +STORE, 47135835713536, 47135835721727, +STORE, 47135835721728, 47135835729919, +STORE, 47135835729920, 47135835893759, +ERASE, 47135835729920, 47135835893759, +STORE, 47135835729920, 47135835742207, +STORE, 47135835742208, 47135835893759, +STORE, 47135835840512, 47135835893759, +STORE, 47135835742208, 47135835840511, +ERASE, 47135835742208, 47135835840511, +STORE, 47135835742208, 47135835840511, +STORE, 47135835885568, 47135835893759, +STORE, 47135835840512, 47135835885567, +ERASE, 47135835840512, 47135835885567, +STORE, 47135835840512, 47135835893759, +ERASE, 47135835840512, 47135835893759, +STORE, 47135835840512, 47135835885567, +STORE, 47135835885568, 47135835893759, + }; + + unsigned long set4[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140728251703296, 140737488351231, +ERASE, 140728251703296, 140737488351231, +STORE, 140728251703296, 140728251707391, +STORE, 94668429205504, 94668429377535, +ERASE, 94668429205504, 94668429377535, +STORE, 94668429205504, 94668429221887, +STORE, 94668429221888, 94668429377535, +ERASE, 94668429221888, 94668429377535, +STORE, 94668429221888, 94668429324287, +STORE, 94668429324288, 94668429365247, +STORE, 94668429365248, 94668429377535, +STORE, 47646523273216, 47646523445247, +ERASE, 47646523273216, 47646523445247, +STORE, 47646523273216, 47646523277311, +STORE, 47646523277312, 47646523445247, +ERASE, 47646523277312, 47646523445247, +STORE, 47646523277312, 47646523400191, + }; + + unsigned long set5[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140726874062848, 140737488351231, +ERASE, 140726874062848, 140737488351231, +STORE, 140726874062848, 140726874066943, +STORE, 94248892870656, 94248893042687, +ERASE, 94248892870656, 94248893042687, +STORE, 94248892870656, 94248892887039, +STORE, 94248892887040, 94248893042687, +ERASE, 94248892887040, 94248893042687, +STORE, 94248892887040, 94248892989439, +STORE, 94248892989440, 94248893030399, +STORE, 94248893030400, 94248893042687, +STORE, 47884786266112, 47884786438143, +ERASE, 47884786266112, 47884786438143, +STORE, 47884786266112, 47884786270207, +STORE, 47884786270208, 47884786438143, +ERASE, 47884786270208, 47884786438143, +STORE, 47884786270208, 47884786393087, +STORE, 47884786393088, 47884786425855, +STORE, 47884786425856, 47884786434047, +STORE, 47884786434048, 47884786438143, +STORE, 140726874513408, 140726874517503, +STORE, 140726874501120, 140726874513407, +STORE, 47884786438144, 47884786446335, +STORE, 47884786446336, 47884786454527, +STORE, 47884786454528, 47884786618367, +ERASE, 47884786454528, 47884786618367, +STORE, 47884786454528, 47884786466815, +STORE, 47884786466816, 47884786618367, +STORE, 47884786565120, 47884786618367, +STORE, 47884786466816, 47884786565119, +ERASE, 47884786466816, 47884786565119, +STORE, 47884786466816, 47884786565119, +STORE, 47884786610176, 47884786618367, +STORE, 47884786565120, 47884786610175, +ERASE, 47884786565120, 47884786610175, +STORE, 47884786565120, 47884786618367, +ERASE, 47884786565120, 47884786618367, +STORE, 47884786565120, 47884786610175, +STORE, 47884786610176, 47884786618367, +ERASE, 47884786610176, 47884786618367, +STORE, 47884786610176, 47884786618367, +STORE, 47884786618368, 47884789669887, +STORE, 47884787163136, 47884789669887, +STORE, 47884786618368, 47884787163135, +ERASE, 47884787163136, 47884789669887, +STORE, 47884787163136, 47884789448703, +STORE, 47884789448704, 47884789669887, +STORE, 47884788858880, 47884789448703, +STORE, 47884787163136, 47884788858879, +ERASE, 47884787163136, 47884788858879, +STORE, 47884787163136, 47884788858879, +STORE, 47884789444608, 47884789448703, +STORE, 47884788858880, 47884789444607, +ERASE, 47884788858880, 47884789444607, +STORE, 47884788858880, 47884789444607, +STORE, 47884789653504, 47884789669887, +STORE, 47884789448704, 47884789653503, +ERASE, 47884789448704, 47884789653503, +STORE, 47884789448704, 47884789653503, +ERASE, 47884789653504, 47884789669887, +STORE, 47884789653504, 47884789669887, +STORE, 47884789669888, 47884791508991, +STORE, 47884789809152, 47884791508991, +STORE, 47884789669888, 47884789809151, +ERASE, 47884789809152, 47884791508991, +STORE, 47884789809152, 47884791468031, +STORE, 47884791468032, 47884791508991, +STORE, 47884791152640, 47884791468031, +STORE, 47884789809152, 47884791152639, +ERASE, 47884789809152, 47884791152639, +STORE, 47884789809152, 47884791152639, +STORE, 47884791463936, 47884791468031, +STORE, 47884791152640, 47884791463935, +ERASE, 47884791152640, 47884791463935, +STORE, 47884791152640, 47884791463935, +STORE, 47884791492608, 47884791508991, +STORE, 47884791468032, 47884791492607, +ERASE, 47884791468032, 47884791492607, +STORE, 47884791468032, 47884791492607, +ERASE, 47884791492608, 47884791508991, +STORE, 47884791492608, 47884791508991, +STORE, 47884791508992, 47884791644159, +ERASE, 47884791508992, 47884791644159, +STORE, 47884791508992, 47884791533567, +STORE, 47884791533568, 47884791644159, +STORE, 47884791595008, 47884791644159, +STORE, 47884791533568, 47884791595007, +ERASE, 47884791533568, 47884791595007, +STORE, 47884791533568, 47884791595007, +STORE, 47884791619584, 47884791644159, +STORE, 47884791595008, 47884791619583, +ERASE, 47884791595008, 47884791619583, +STORE, 47884791595008, 47884791644159, +ERASE, 47884791595008, 47884791644159, +STORE, 47884791595008, 47884791619583, +STORE, 47884791619584, 47884791644159, +STORE, 47884791627776, 47884791644159, +STORE, 47884791619584, 47884791627775, +ERASE, 47884791619584, 47884791627775, +STORE, 47884791619584, 47884791627775, +ERASE, 47884791627776, 47884791644159, +STORE, 47884791627776, 47884791644159, +STORE, 47884791644160, 47884791664639, +ERASE, 47884791644160, 47884791664639, +STORE, 47884791644160, 47884791648255, +STORE, 47884791648256, 47884791664639, +STORE, 47884791652352, 47884791664639, +STORE, 47884791648256, 47884791652351, +ERASE, 47884791648256, 47884791652351, +STORE, 47884791648256, 47884791652351, +STORE, 47884791656448, 47884791664639, +STORE, 47884791652352, 47884791656447, +ERASE, 47884791652352, 47884791656447, +STORE, 47884791652352, 47884791664639, +ERASE, 47884791652352, 47884791664639, +STORE, 47884791652352, 47884791656447, +STORE, 47884791656448, 47884791664639, +ERASE, 47884791656448, 47884791664639, +STORE, 47884791656448, 47884791664639, +STORE, 47884791664640, 47884791672831, +ERASE, 47884791468032, 47884791492607, +STORE, 47884791468032, 47884791484415, +STORE, 47884791484416, 47884791492607, +ERASE, 47884791656448, 47884791664639, +STORE, 47884791656448, 47884791660543, +STORE, 47884791660544, 47884791664639, +ERASE, 47884791619584, 47884791627775, +STORE, 47884791619584, 47884791623679, +STORE, 47884791623680, 47884791627775, + }; + + unsigned long set6[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140722999021568, 140737488351231, +ERASE, 140722999021568, 140737488351231, +STORE, 140722999021568, 140722999025663, +STORE, 94901500268544, 94901500440575, +ERASE, 94901500268544, 94901500440575, +STORE, 94901500268544, 94901500284927, +STORE, 94901500284928, 94901500440575, +ERASE, 94901500284928, 94901500440575, +STORE, 94901500284928, 94901500387327, +STORE, 94901500387328, 94901500428287, +STORE, 94901500428288, 94901500440575, +STORE, 47430426660864, 47430426832895, +ERASE, 47430426660864, 47430426832895, +STORE, 47430426660864, 47430426664959, +STORE, 47430426664960, 47430426832895, +ERASE, 47430426664960, 47430426832895, +STORE, 47430426664960, 47430426787839, +STORE, 47430426787840, 47430426820607, +STORE, 47430426820608, 47430426828799, +STORE, 47430426828800, 47430426832895, +STORE, 140722999115776, 140722999119871, +STORE, 140722999103488, 140722999115775, +STORE, 47430426832896, 47430426841087, +STORE, 47430426841088, 47430426849279, +STORE, 47430426849280, 47430427013119, +ERASE, 47430426849280, 47430427013119, +STORE, 47430426849280, 47430426861567, +STORE, 47430426861568, 47430427013119, +STORE, 47430426959872, 47430427013119, +STORE, 47430426861568, 47430426959871, +ERASE, 47430426861568, 47430426959871, +STORE, 47430426861568, 47430426959871, +STORE, 47430427004928, 47430427013119, +STORE, 47430426959872, 47430427004927, +ERASE, 47430426959872, 47430427004927, +STORE, 47430426959872, 47430427013119, +ERASE, 47430426959872, 47430427013119, +STORE, 47430426959872, 47430427004927, +STORE, 47430427004928, 47430427013119, +ERASE, 47430427004928, 47430427013119, +STORE, 47430427004928, 47430427013119, +STORE, 47430427013120, 47430430064639, +STORE, 47430427557888, 47430430064639, +STORE, 47430427013120, 47430427557887, +ERASE, 47430427557888, 47430430064639, +STORE, 47430427557888, 47430429843455, +STORE, 47430429843456, 47430430064639, +STORE, 47430429253632, 47430429843455, +STORE, 47430427557888, 47430429253631, +ERASE, 47430427557888, 47430429253631, +STORE, 47430427557888, 47430429253631, +STORE, 47430429839360, 47430429843455, +STORE, 47430429253632, 47430429839359, +ERASE, 47430429253632, 47430429839359, +STORE, 47430429253632, 47430429839359, +STORE, 47430430048256, 47430430064639, +STORE, 47430429843456, 47430430048255, +ERASE, 47430429843456, 47430430048255, +STORE, 47430429843456, 47430430048255, +ERASE, 47430430048256, 47430430064639, +STORE, 47430430048256, 47430430064639, +STORE, 47430430064640, 47430431903743, +STORE, 47430430203904, 47430431903743, +STORE, 47430430064640, 47430430203903, +ERASE, 47430430203904, 47430431903743, +STORE, 47430430203904, 47430431862783, +STORE, 47430431862784, 47430431903743, +STORE, 47430431547392, 47430431862783, +STORE, 47430430203904, 47430431547391, +ERASE, 47430430203904, 47430431547391, +STORE, 47430430203904, 47430431547391, +STORE, 47430431858688, 47430431862783, +STORE, 47430431547392, 47430431858687, +ERASE, 47430431547392, 47430431858687, +STORE, 47430431547392, 47430431858687, +STORE, 47430431887360, 47430431903743, +STORE, 47430431862784, 47430431887359, +ERASE, 47430431862784, 47430431887359, +STORE, 47430431862784, 47430431887359, +ERASE, 47430431887360, 47430431903743, +STORE, 47430431887360, 47430431903743, +STORE, 47430431903744, 47430432038911, +ERASE, 47430431903744, 47430432038911, +STORE, 47430431903744, 47430431928319, +STORE, 47430431928320, 47430432038911, +STORE, 47430431989760, 47430432038911, +STORE, 47430431928320, 47430431989759, +ERASE, 47430431928320, 47430431989759, +STORE, 47430431928320, 47430431989759, +STORE, 47430432014336, 47430432038911, +STORE, 47430431989760, 47430432014335, +ERASE, 47430431989760, 47430432014335, +STORE, 47430431989760, 47430432038911, +ERASE, 47430431989760, 47430432038911, +STORE, 47430431989760, 47430432014335, +STORE, 47430432014336, 47430432038911, +STORE, 47430432022528, 47430432038911, +STORE, 47430432014336, 47430432022527, +ERASE, 47430432014336, 47430432022527, +STORE, 47430432014336, 47430432022527, +ERASE, 47430432022528, 47430432038911, +STORE, 47430432022528, 47430432038911, +STORE, 47430432038912, 47430432059391, +ERASE, 47430432038912, 47430432059391, +STORE, 47430432038912, 47430432043007, +STORE, 47430432043008, 47430432059391, +STORE, 47430432047104, 47430432059391, +STORE, 47430432043008, 47430432047103, +ERASE, 47430432043008, 47430432047103, +STORE, 47430432043008, 47430432047103, +STORE, 47430432051200, 47430432059391, +STORE, 47430432047104, 47430432051199, +ERASE, 47430432047104, 47430432051199, +STORE, 47430432047104, 47430432059391, +ERASE, 47430432047104, 47430432059391, +STORE, 47430432047104, 47430432051199, +STORE, 47430432051200, 47430432059391, +ERASE, 47430432051200, 47430432059391, +STORE, 47430432051200, 47430432059391, +STORE, 47430432059392, 47430432067583, +ERASE, 47430431862784, 47430431887359, +STORE, 47430431862784, 47430431879167, +STORE, 47430431879168, 47430431887359, +ERASE, 47430432051200, 47430432059391, +STORE, 47430432051200, 47430432055295, +STORE, 47430432055296, 47430432059391, +ERASE, 47430432014336, 47430432022527, +STORE, 47430432014336, 47430432018431, +STORE, 47430432018432, 47430432022527, + }; + unsigned long set7[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140729808330752, 140737488351231, +ERASE, 140729808330752, 140737488351231, +STORE, 140729808330752, 140729808334847, +STORE, 94629632020480, 94629632192511, +ERASE, 94629632020480, 94629632192511, +STORE, 94629632020480, 94629632036863, +STORE, 94629632036864, 94629632192511, +ERASE, 94629632036864, 94629632192511, +STORE, 94629632036864, 94629632139263, +STORE, 94629632139264, 94629632180223, +STORE, 94629632180224, 94629632192511, +STORE, 47439981776896, 47439981948927, +ERASE, 47439981776896, 47439981948927, +STORE, 47439981776896, 47439981780991, +STORE, 47439981780992, 47439981948927, +ERASE, 47439981780992, 47439981948927, +STORE, 47439981780992, 47439981903871, +STORE, 47439981903872, 47439981936639, +STORE, 47439981936640, 47439981944831, +STORE, 47439981944832, 47439981948927, +STORE, 140729808474112, 140729808478207, +STORE, 140729808461824, 140729808474111, +STORE, 47439981948928, 47439981957119, +STORE, 47439981957120, 47439981965311, +STORE, 47439981965312, 47439982129151, +ERASE, 47439981965312, 47439982129151, +STORE, 47439981965312, 47439981977599, +STORE, 47439981977600, 47439982129151, +STORE, 47439982075904, 47439982129151, +STORE, 47439981977600, 47439982075903, +ERASE, 47439981977600, 47439982075903, +STORE, 47439981977600, 47439982075903, +STORE, 47439982120960, 47439982129151, +STORE, 47439982075904, 47439982120959, +ERASE, 47439982075904, 47439982120959, +STORE, 47439982075904, 47439982129151, +ERASE, 47439982075904, 47439982129151, +STORE, 47439982075904, 47439982120959, +STORE, 47439982120960, 47439982129151, +ERASE, 47439982120960, 47439982129151, +STORE, 47439982120960, 47439982129151, +STORE, 47439982129152, 47439985180671, +STORE, 47439982673920, 47439985180671, +STORE, 47439982129152, 47439982673919, +ERASE, 47439982673920, 47439985180671, +STORE, 47439982673920, 47439984959487, +STORE, 47439984959488, 47439985180671, +STORE, 47439984369664, 47439984959487, +STORE, 47439982673920, 47439984369663, +ERASE, 47439982673920, 47439984369663, +STORE, 47439982673920, 47439984369663, +STORE, 47439984955392, 47439984959487, +STORE, 47439984369664, 47439984955391, +ERASE, 47439984369664, 47439984955391, +STORE, 47439984369664, 47439984955391, +STORE, 47439985164288, 47439985180671, +STORE, 47439984959488, 47439985164287, +ERASE, 47439984959488, 47439985164287, +STORE, 47439984959488, 47439985164287, +ERASE, 47439985164288, 47439985180671, +STORE, 47439985164288, 47439985180671, +STORE, 47439985180672, 47439987019775, +STORE, 47439985319936, 47439987019775, +STORE, 47439985180672, 47439985319935, +ERASE, 47439985319936, 47439987019775, +STORE, 47439985319936, 47439986978815, +STORE, 47439986978816, 47439987019775, +STORE, 47439986663424, 47439986978815, +STORE, 47439985319936, 47439986663423, +ERASE, 47439985319936, 47439986663423, +STORE, 47439985319936, 47439986663423, +STORE, 47439986974720, 47439986978815, +STORE, 47439986663424, 47439986974719, +ERASE, 47439986663424, 47439986974719, +STORE, 47439986663424, 47439986974719, +STORE, 47439987003392, 47439987019775, +STORE, 47439986978816, 47439987003391, +ERASE, 47439986978816, 47439987003391, +STORE, 47439986978816, 47439987003391, +ERASE, 47439987003392, 47439987019775, +STORE, 47439987003392, 47439987019775, +STORE, 47439987019776, 47439987154943, +ERASE, 47439987019776, 47439987154943, +STORE, 47439987019776, 47439987044351, +STORE, 47439987044352, 47439987154943, +STORE, 47439987105792, 47439987154943, +STORE, 47439987044352, 47439987105791, +ERASE, 47439987044352, 47439987105791, +STORE, 47439987044352, 47439987105791, +STORE, 47439987130368, 47439987154943, +STORE, 47439987105792, 47439987130367, +ERASE, 47439987105792, 47439987130367, +STORE, 47439987105792, 47439987154943, +ERASE, 47439987105792, 47439987154943, +STORE, 47439987105792, 47439987130367, +STORE, 47439987130368, 47439987154943, +STORE, 47439987138560, 47439987154943, +STORE, 47439987130368, 47439987138559, +ERASE, 47439987130368, 47439987138559, +STORE, 47439987130368, 47439987138559, +ERASE, 47439987138560, 47439987154943, +STORE, 47439987138560, 47439987154943, +STORE, 47439987154944, 47439987175423, +ERASE, 47439987154944, 47439987175423, +STORE, 47439987154944, 47439987159039, +STORE, 47439987159040, 47439987175423, +STORE, 47439987163136, 47439987175423, +STORE, 47439987159040, 47439987163135, +ERASE, 47439987159040, 47439987163135, +STORE, 47439987159040, 47439987163135, +STORE, 47439987167232, 47439987175423, +STORE, 47439987163136, 47439987167231, +ERASE, 47439987163136, 47439987167231, +STORE, 47439987163136, 47439987175423, +ERASE, 47439987163136, 47439987175423, +STORE, 47439987163136, 47439987167231, +STORE, 47439987167232, 47439987175423, +ERASE, 47439987167232, 47439987175423, +STORE, 47439987167232, 47439987175423, +STORE, 47439987175424, 47439987183615, +ERASE, 47439986978816, 47439987003391, +STORE, 47439986978816, 47439986995199, +STORE, 47439986995200, 47439987003391, +ERASE, 47439987167232, 47439987175423, +STORE, 47439987167232, 47439987171327, +STORE, 47439987171328, 47439987175423, +ERASE, 47439987130368, 47439987138559, +STORE, 47439987130368, 47439987134463, +STORE, 47439987134464, 47439987138559, + }; + unsigned long set8[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140722482974720, 140737488351231, +ERASE, 140722482974720, 140737488351231, +STORE, 140722482974720, 140722482978815, +STORE, 94121505034240, 94121505206271, +ERASE, 94121505034240, 94121505206271, +STORE, 94121505034240, 94121505050623, +STORE, 94121505050624, 94121505206271, +ERASE, 94121505050624, 94121505206271, +STORE, 94121505050624, 94121505153023, +STORE, 94121505153024, 94121505193983, +STORE, 94121505193984, 94121505206271, +STORE, 47708483284992, 47708483457023, +ERASE, 47708483284992, 47708483457023, +STORE, 47708483284992, 47708483289087, +STORE, 47708483289088, 47708483457023, +ERASE, 47708483289088, 47708483457023, +STORE, 47708483289088, 47708483411967, +STORE, 47708483411968, 47708483444735, +STORE, 47708483444736, 47708483452927, +STORE, 47708483452928, 47708483457023, +STORE, 140722483142656, 140722483146751, +STORE, 140722483130368, 140722483142655, +STORE, 47708483457024, 47708483465215, +STORE, 47708483465216, 47708483473407, +STORE, 47708483473408, 47708483637247, +ERASE, 47708483473408, 47708483637247, +STORE, 47708483473408, 47708483485695, +STORE, 47708483485696, 47708483637247, +STORE, 47708483584000, 47708483637247, +STORE, 47708483485696, 47708483583999, +ERASE, 47708483485696, 47708483583999, +STORE, 47708483485696, 47708483583999, +STORE, 47708483629056, 47708483637247, +STORE, 47708483584000, 47708483629055, +ERASE, 47708483584000, 47708483629055, +STORE, 47708483584000, 47708483637247, +ERASE, 47708483584000, 47708483637247, +STORE, 47708483584000, 47708483629055, +STORE, 47708483629056, 47708483637247, +ERASE, 47708483629056, 47708483637247, +STORE, 47708483629056, 47708483637247, +STORE, 47708483637248, 47708486688767, +STORE, 47708484182016, 47708486688767, +STORE, 47708483637248, 47708484182015, +ERASE, 47708484182016, 47708486688767, +STORE, 47708484182016, 47708486467583, +STORE, 47708486467584, 47708486688767, +STORE, 47708485877760, 47708486467583, +STORE, 47708484182016, 47708485877759, +ERASE, 47708484182016, 47708485877759, +STORE, 47708484182016, 47708485877759, +STORE, 47708486463488, 47708486467583, +STORE, 47708485877760, 47708486463487, +ERASE, 47708485877760, 47708486463487, +STORE, 47708485877760, 47708486463487, +STORE, 47708486672384, 47708486688767, +STORE, 47708486467584, 47708486672383, +ERASE, 47708486467584, 47708486672383, +STORE, 47708486467584, 47708486672383, +ERASE, 47708486672384, 47708486688767, +STORE, 47708486672384, 47708486688767, +STORE, 47708486688768, 47708488527871, +STORE, 47708486828032, 47708488527871, +STORE, 47708486688768, 47708486828031, +ERASE, 47708486828032, 47708488527871, +STORE, 47708486828032, 47708488486911, +STORE, 47708488486912, 47708488527871, +STORE, 47708488171520, 47708488486911, +STORE, 47708486828032, 47708488171519, +ERASE, 47708486828032, 47708488171519, +STORE, 47708486828032, 47708488171519, +STORE, 47708488482816, 47708488486911, +STORE, 47708488171520, 47708488482815, +ERASE, 47708488171520, 47708488482815, +STORE, 47708488171520, 47708488482815, +STORE, 47708488511488, 47708488527871, +STORE, 47708488486912, 47708488511487, +ERASE, 47708488486912, 47708488511487, +STORE, 47708488486912, 47708488511487, +ERASE, 47708488511488, 47708488527871, +STORE, 47708488511488, 47708488527871, +STORE, 47708488527872, 47708488663039, +ERASE, 47708488527872, 47708488663039, +STORE, 47708488527872, 47708488552447, +STORE, 47708488552448, 47708488663039, +STORE, 47708488613888, 47708488663039, +STORE, 47708488552448, 47708488613887, +ERASE, 47708488552448, 47708488613887, +STORE, 47708488552448, 47708488613887, +STORE, 47708488638464, 47708488663039, +STORE, 47708488613888, 47708488638463, +ERASE, 47708488613888, 47708488638463, +STORE, 47708488613888, 47708488663039, +ERASE, 47708488613888, 47708488663039, +STORE, 47708488613888, 47708488638463, +STORE, 47708488638464, 47708488663039, +STORE, 47708488646656, 47708488663039, +STORE, 47708488638464, 47708488646655, +ERASE, 47708488638464, 47708488646655, +STORE, 47708488638464, 47708488646655, +ERASE, 47708488646656, 47708488663039, +STORE, 47708488646656, 47708488663039, +STORE, 47708488663040, 47708488683519, +ERASE, 47708488663040, 47708488683519, +STORE, 47708488663040, 47708488667135, +STORE, 47708488667136, 47708488683519, +STORE, 47708488671232, 47708488683519, +STORE, 47708488667136, 47708488671231, +ERASE, 47708488667136, 47708488671231, +STORE, 47708488667136, 47708488671231, +STORE, 47708488675328, 47708488683519, +STORE, 47708488671232, 47708488675327, +ERASE, 47708488671232, 47708488675327, +STORE, 47708488671232, 47708488683519, +ERASE, 47708488671232, 47708488683519, +STORE, 47708488671232, 47708488675327, +STORE, 47708488675328, 47708488683519, +ERASE, 47708488675328, 47708488683519, +STORE, 47708488675328, 47708488683519, +STORE, 47708488683520, 47708488691711, +ERASE, 47708488486912, 47708488511487, +STORE, 47708488486912, 47708488503295, +STORE, 47708488503296, 47708488511487, +ERASE, 47708488675328, 47708488683519, +STORE, 47708488675328, 47708488679423, +STORE, 47708488679424, 47708488683519, +ERASE, 47708488638464, 47708488646655, +STORE, 47708488638464, 47708488642559, +STORE, 47708488642560, 47708488646655, + }; + + unsigned long set9[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140736427839488, 140737488351231, +ERASE, 140736427839488, 140736427839488, +STORE, 140736427839488, 140736427843583, +STORE, 94071213395968, 94071213567999, +ERASE, 94071213395968, 94071213395968, +STORE, 94071213395968, 94071213412351, +STORE, 94071213412352, 94071213567999, +ERASE, 94071213412352, 94071213412352, +STORE, 94071213412352, 94071213514751, +STORE, 94071213514752, 94071213555711, +STORE, 94071213555712, 94071213567999, +STORE, 139968410644480, 139968410816511, +ERASE, 139968410644480, 139968410644480, +STORE, 139968410644480, 139968410648575, +STORE, 139968410648576, 139968410816511, +ERASE, 139968410648576, 139968410648576, +STORE, 139968410648576, 139968410771455, +STORE, 139968410771456, 139968410804223, +STORE, 139968410804224, 139968410812415, +STORE, 139968410812416, 139968410816511, +STORE, 140736429277184, 140736429281279, +STORE, 140736429264896, 140736429277183, +STORE, 47664384352256, 47664384360447, +STORE, 47664384360448, 47664384368639, +STORE, 47664384368640, 47664384532479, +ERASE, 47664384368640, 47664384368640, +STORE, 47664384368640, 47664384380927, +STORE, 47664384380928, 47664384532479, +STORE, 47664384479232, 47664384532479, +STORE, 47664384380928, 47664384479231, +ERASE, 47664384380928, 47664384380928, +STORE, 47664384380928, 47664384479231, +STORE, 47664384524288, 47664384532479, +STORE, 47664384479232, 47664384524287, +ERASE, 47664384479232, 47664384479232, +STORE, 47664384479232, 47664384532479, +ERASE, 47664384479232, 47664384479232, +STORE, 47664384479232, 47664384524287, +STORE, 47664384524288, 47664384532479, +ERASE, 47664384524288, 47664384524288, +STORE, 47664384524288, 47664384532479, +STORE, 47664384532480, 47664387583999, +STORE, 47664385077248, 47664387583999, +STORE, 47664384532480, 47664385077247, +ERASE, 47664385077248, 47664385077248, +STORE, 47664385077248, 47664387362815, +STORE, 47664387362816, 47664387583999, +STORE, 47664386772992, 47664387362815, +STORE, 47664385077248, 47664386772991, +ERASE, 47664385077248, 47664385077248, +STORE, 47664385077248, 47664386772991, +STORE, 47664387358720, 47664387362815, +STORE, 47664386772992, 47664387358719, +ERASE, 47664386772992, 47664386772992, +STORE, 47664386772992, 47664387358719, +STORE, 47664387567616, 47664387583999, +STORE, 47664387362816, 47664387567615, +ERASE, 47664387362816, 47664387362816, +STORE, 47664387362816, 47664387567615, +ERASE, 47664387567616, 47664387567616, +STORE, 47664387567616, 47664387583999, +STORE, 47664387584000, 47664389423103, +STORE, 47664387723264, 47664389423103, +STORE, 47664387584000, 47664387723263, +ERASE, 47664387723264, 47664387723264, +STORE, 47664387723264, 47664389382143, +STORE, 47664389382144, 47664389423103, +STORE, 47664389066752, 47664389382143, +STORE, 47664387723264, 47664389066751, +ERASE, 47664387723264, 47664387723264, +STORE, 47664387723264, 47664389066751, +STORE, 47664389378048, 47664389382143, +STORE, 47664389066752, 47664389378047, +ERASE, 47664389066752, 47664389066752, +STORE, 47664389066752, 47664389378047, +STORE, 47664389406720, 47664389423103, +STORE, 47664389382144, 47664389406719, +ERASE, 47664389382144, 47664389382144, +STORE, 47664389382144, 47664389406719, +ERASE, 47664389406720, 47664389406720, +STORE, 47664389406720, 47664389423103, +STORE, 47664389423104, 47664389558271, +ERASE, 47664389423104, 47664389423104, +STORE, 47664389423104, 47664389447679, +STORE, 47664389447680, 47664389558271, +STORE, 47664389509120, 47664389558271, +STORE, 47664389447680, 47664389509119, +ERASE, 47664389447680, 47664389447680, +STORE, 47664389447680, 47664389509119, +STORE, 47664389533696, 47664389558271, +STORE, 47664389509120, 47664389533695, +ERASE, 47664389509120, 47664389509120, +STORE, 47664389509120, 47664389558271, +ERASE, 47664389509120, 47664389509120, +STORE, 47664389509120, 47664389533695, +STORE, 47664389533696, 47664389558271, +STORE, 47664389541888, 47664389558271, +STORE, 47664389533696, 47664389541887, +ERASE, 47664389533696, 47664389533696, +STORE, 47664389533696, 47664389541887, +ERASE, 47664389541888, 47664389541888, +STORE, 47664389541888, 47664389558271, +STORE, 47664389558272, 47664389578751, +ERASE, 47664389558272, 47664389558272, +STORE, 47664389558272, 47664389562367, +STORE, 47664389562368, 47664389578751, +STORE, 47664389566464, 47664389578751, +STORE, 47664389562368, 47664389566463, +ERASE, 47664389562368, 47664389562368, +STORE, 47664389562368, 47664389566463, +STORE, 47664389570560, 47664389578751, +STORE, 47664389566464, 47664389570559, +ERASE, 47664389566464, 47664389566464, +STORE, 47664389566464, 47664389578751, +ERASE, 47664389566464, 47664389566464, +STORE, 47664389566464, 47664389570559, +STORE, 47664389570560, 47664389578751, +ERASE, 47664389570560, 47664389570560, +STORE, 47664389570560, 47664389578751, +STORE, 47664389578752, 47664389586943, +ERASE, 47664389382144, 47664389382144, +STORE, 47664389382144, 47664389398527, +STORE, 47664389398528, 47664389406719, +ERASE, 47664389570560, 47664389570560, +STORE, 47664389570560, 47664389574655, +STORE, 47664389574656, 47664389578751, +ERASE, 47664389533696, 47664389533696, +STORE, 47664389533696, 47664389537791, +STORE, 47664389537792, 47664389541887, +ERASE, 47664387362816, 47664387362816, +STORE, 47664387362816, 47664387559423, +STORE, 47664387559424, 47664387567615, +ERASE, 47664384524288, 47664384524288, +STORE, 47664384524288, 47664384528383, +STORE, 47664384528384, 47664384532479, +ERASE, 94071213555712, 94071213555712, +STORE, 94071213555712, 94071213563903, +STORE, 94071213563904, 94071213567999, +ERASE, 139968410804224, 139968410804224, +STORE, 139968410804224, 139968410808319, +STORE, 139968410808320, 139968410812415, +ERASE, 47664384352256, 47664384352256, +STORE, 94071244402688, 94071244537855, +STORE, 140737488347136, 140737488351231, +STORE, 140728271503360, 140737488351231, +ERASE, 140728271503360, 140728271503360, +STORE, 140728271503360, 140728271507455, +STORE, 94410361982976, 94410362155007, +ERASE, 94410361982976, 94410361982976, +STORE, 94410361982976, 94410361999359, +STORE, 94410361999360, 94410362155007, +ERASE, 94410361999360, 94410361999360, +STORE, 94410361999360, 94410362101759, +STORE, 94410362101760, 94410362142719, +STORE, 94410362142720, 94410362155007, +STORE, 140351953997824, 140351954169855, +ERASE, 140351953997824, 140351953997824, +STORE, 140351953997824, 140351954001919, +STORE, 140351954001920, 140351954169855, +ERASE, 140351954001920, 140351954001920, +STORE, 140351954001920, 140351954124799, +STORE, 140351954124800, 140351954157567, +STORE, 140351954157568, 140351954165759, +STORE, 140351954165760, 140351954169855, +STORE, 140728272429056, 140728272433151, +STORE, 140728272416768, 140728272429055, +STORE, 47280840998912, 47280841007103, +STORE, 47280841007104, 47280841015295, +STORE, 47280841015296, 47280841179135, +ERASE, 47280841015296, 47280841015296, +STORE, 47280841015296, 47280841027583, +STORE, 47280841027584, 47280841179135, +STORE, 47280841125888, 47280841179135, +STORE, 47280841027584, 47280841125887, +ERASE, 47280841027584, 47280841027584, +STORE, 47280841027584, 47280841125887, +STORE, 47280841170944, 47280841179135, +STORE, 47280841125888, 47280841170943, +ERASE, 47280841125888, 47280841125888, +STORE, 47280841125888, 47280841179135, +ERASE, 47280841125888, 47280841125888, +STORE, 47280841125888, 47280841170943, +STORE, 47280841170944, 47280841179135, +ERASE, 47280841170944, 47280841170944, +STORE, 47280841170944, 47280841179135, +STORE, 47280841179136, 47280844230655, +STORE, 47280841723904, 47280844230655, +STORE, 47280841179136, 47280841723903, +ERASE, 47280841723904, 47280841723904, +STORE, 47280841723904, 47280844009471, +STORE, 47280844009472, 47280844230655, +STORE, 47280843419648, 47280844009471, +STORE, 47280841723904, 47280843419647, +ERASE, 47280841723904, 47280841723904, +STORE, 47280841723904, 47280843419647, +STORE, 47280844005376, 47280844009471, +STORE, 47280843419648, 47280844005375, +ERASE, 47280843419648, 47280843419648, +STORE, 47280843419648, 47280844005375, +STORE, 47280844214272, 47280844230655, +STORE, 47280844009472, 47280844214271, +ERASE, 47280844009472, 47280844009472, +STORE, 47280844009472, 47280844214271, +ERASE, 47280844214272, 47280844214272, +STORE, 47280844214272, 47280844230655, +STORE, 47280844230656, 47280846069759, +STORE, 47280844369920, 47280846069759, +STORE, 47280844230656, 47280844369919, +ERASE, 47280844369920, 47280844369920, +STORE, 47280844369920, 47280846028799, +STORE, 47280846028800, 47280846069759, +STORE, 47280845713408, 47280846028799, +STORE, 47280844369920, 47280845713407, +ERASE, 47280844369920, 47280844369920, +STORE, 47280844369920, 47280845713407, +STORE, 47280846024704, 47280846028799, +STORE, 47280845713408, 47280846024703, +ERASE, 47280845713408, 47280845713408, +STORE, 47280845713408, 47280846024703, +STORE, 47280846053376, 47280846069759, +STORE, 47280846028800, 47280846053375, +ERASE, 47280846028800, 47280846028800, +STORE, 47280846028800, 47280846053375, +ERASE, 47280846053376, 47280846053376, +STORE, 47280846053376, 47280846069759, +STORE, 47280846069760, 47280846204927, +ERASE, 47280846069760, 47280846069760, +STORE, 47280846069760, 47280846094335, +STORE, 47280846094336, 47280846204927, +STORE, 47280846155776, 47280846204927, +STORE, 47280846094336, 47280846155775, +ERASE, 47280846094336, 47280846094336, +STORE, 47280846094336, 47280846155775, +STORE, 47280846180352, 47280846204927, +STORE, 47280846155776, 47280846180351, +ERASE, 47280846155776, 47280846155776, +STORE, 47280846155776, 47280846204927, +ERASE, 47280846155776, 47280846155776, +STORE, 47280846155776, 47280846180351, +STORE, 47280846180352, 47280846204927, +STORE, 47280846188544, 47280846204927, +STORE, 47280846180352, 47280846188543, +ERASE, 47280846180352, 47280846180352, +STORE, 47280846180352, 47280846188543, +ERASE, 47280846188544, 47280846188544, +STORE, 47280846188544, 47280846204927, +STORE, 47280846204928, 47280846225407, +ERASE, 47280846204928, 47280846204928, +STORE, 47280846204928, 47280846209023, +STORE, 47280846209024, 47280846225407, +STORE, 47280846213120, 47280846225407, +STORE, 47280846209024, 47280846213119, +ERASE, 47280846209024, 47280846209024, +STORE, 47280846209024, 47280846213119, +STORE, 47280846217216, 47280846225407, +STORE, 47280846213120, 47280846217215, +ERASE, 47280846213120, 47280846213120, +STORE, 47280846213120, 47280846225407, +ERASE, 47280846213120, 47280846213120, +STORE, 47280846213120, 47280846217215, +STORE, 47280846217216, 47280846225407, +ERASE, 47280846217216, 47280846217216, +STORE, 47280846217216, 47280846225407, +STORE, 47280846225408, 47280846233599, +ERASE, 47280846028800, 47280846028800, +STORE, 47280846028800, 47280846045183, +STORE, 47280846045184, 47280846053375, +ERASE, 47280846217216, 47280846217216, +STORE, 47280846217216, 47280846221311, +STORE, 47280846221312, 47280846225407, +ERASE, 47280846180352, 47280846180352, +STORE, 47280846180352, 47280846184447, +STORE, 47280846184448, 47280846188543, +ERASE, 47280844009472, 47280844009472, +STORE, 47280844009472, 47280844206079, +STORE, 47280844206080, 47280844214271, +ERASE, 47280841170944, 47280841170944, +STORE, 47280841170944, 47280841175039, +STORE, 47280841175040, 47280841179135, +ERASE, 94410362142720, 94410362142720, +STORE, 94410362142720, 94410362150911, +STORE, 94410362150912, 94410362155007, +ERASE, 140351954157568, 140351954157568, +STORE, 140351954157568, 140351954161663, +STORE, 140351954161664, 140351954165759, +ERASE, 47280840998912, 47280840998912, +STORE, 94410379456512, 94410379591679, +STORE, 140737488347136, 140737488351231, +STORE, 140732946362368, 140737488351231, +ERASE, 140732946362368, 140732946362368, +STORE, 140732946362368, 140732946366463, +STORE, 94352937934848, 94352938106879, +ERASE, 94352937934848, 94352937934848, +STORE, 94352937934848, 94352937951231, +STORE, 94352937951232, 94352938106879, +ERASE, 94352937951232, 94352937951232, +STORE, 94352937951232, 94352938053631, +STORE, 94352938053632, 94352938094591, +STORE, 94352938094592, 94352938106879, +STORE, 140595518742528, 140595518914559, +ERASE, 140595518742528, 140595518742528, +STORE, 140595518742528, 140595518746623, +STORE, 140595518746624, 140595518914559, +ERASE, 140595518746624, 140595518746624, +STORE, 140595518746624, 140595518869503, +STORE, 140595518869504, 140595518902271, +STORE, 140595518902272, 140595518910463, +STORE, 140595518910464, 140595518914559, +STORE, 140732947468288, 140732947472383, +STORE, 140732947456000, 140732947468287, +STORE, 47037276254208, 47037276262399, +STORE, 47037276262400, 47037276270591, +STORE, 47037276270592, 47037276434431, +ERASE, 47037276270592, 47037276270592, +STORE, 47037276270592, 47037276282879, +STORE, 47037276282880, 47037276434431, +STORE, 47037276381184, 47037276434431, +STORE, 47037276282880, 47037276381183, +ERASE, 47037276282880, 47037276282880, +STORE, 47037276282880, 47037276381183, +STORE, 47037276426240, 47037276434431, +STORE, 47037276381184, 47037276426239, +ERASE, 47037276381184, 47037276381184, +STORE, 47037276381184, 47037276434431, +ERASE, 47037276381184, 47037276381184, +STORE, 47037276381184, 47037276426239, +STORE, 47037276426240, 47037276434431, +ERASE, 47037276426240, 47037276426240, +STORE, 47037276426240, 47037276434431, +STORE, 47037276434432, 47037279485951, +STORE, 47037276979200, 47037279485951, +STORE, 47037276434432, 47037276979199, +ERASE, 47037276979200, 47037276979200, +STORE, 47037276979200, 47037279264767, +STORE, 47037279264768, 47037279485951, +STORE, 47037278674944, 47037279264767, +STORE, 47037276979200, 47037278674943, +ERASE, 47037276979200, 47037276979200, +STORE, 47037276979200, 47037278674943, +STORE, 47037279260672, 47037279264767, +STORE, 47037278674944, 47037279260671, +ERASE, 47037278674944, 47037278674944, +STORE, 47037278674944, 47037279260671, +STORE, 47037279469568, 47037279485951, +STORE, 47037279264768, 47037279469567, +ERASE, 47037279264768, 47037279264768, +STORE, 47037279264768, 47037279469567, +ERASE, 47037279469568, 47037279469568, +STORE, 47037279469568, 47037279485951, +STORE, 47037279485952, 47037281325055, +STORE, 47037279625216, 47037281325055, +STORE, 47037279485952, 47037279625215, +ERASE, 47037279625216, 47037279625216, +STORE, 47037279625216, 47037281284095, +STORE, 47037281284096, 47037281325055, +STORE, 47037280968704, 47037281284095, +STORE, 47037279625216, 47037280968703, +ERASE, 47037279625216, 47037279625216, +STORE, 47037279625216, 47037280968703, +STORE, 47037281280000, 47037281284095, +STORE, 47037280968704, 47037281279999, +ERASE, 47037280968704, 47037280968704, +STORE, 47037280968704, 47037281279999, +STORE, 47037281308672, 47037281325055, +STORE, 47037281284096, 47037281308671, +ERASE, 47037281284096, 47037281284096, +STORE, 47037281284096, 47037281308671, +ERASE, 47037281308672, 47037281308672, +STORE, 47037281308672, 47037281325055, +STORE, 47037281325056, 47037281460223, +ERASE, 47037281325056, 47037281325056, +STORE, 47037281325056, 47037281349631, +STORE, 47037281349632, 47037281460223, +STORE, 47037281411072, 47037281460223, +STORE, 47037281349632, 47037281411071, +ERASE, 47037281349632, 47037281349632, +STORE, 47037281349632, 47037281411071, +STORE, 47037281435648, 47037281460223, +STORE, 47037281411072, 47037281435647, +ERASE, 47037281411072, 47037281411072, +STORE, 47037281411072, 47037281460223, +ERASE, 47037281411072, 47037281411072, +STORE, 47037281411072, 47037281435647, +STORE, 47037281435648, 47037281460223, +STORE, 47037281443840, 47037281460223, +STORE, 47037281435648, 47037281443839, +ERASE, 47037281435648, 47037281435648, +STORE, 47037281435648, 47037281443839, +ERASE, 47037281443840, 47037281443840, +STORE, 47037281443840, 47037281460223, +STORE, 47037281460224, 47037281480703, +ERASE, 47037281460224, 47037281460224, +STORE, 47037281460224, 47037281464319, +STORE, 47037281464320, 47037281480703, +STORE, 47037281468416, 47037281480703, +STORE, 47037281464320, 47037281468415, +ERASE, 47037281464320, 47037281464320, +STORE, 47037281464320, 47037281468415, +STORE, 47037281472512, 47037281480703, +STORE, 47037281468416, 47037281472511, +ERASE, 47037281468416, 47037281468416, +STORE, 47037281468416, 47037281480703, +ERASE, 47037281468416, 47037281468416, +STORE, 47037281468416, 47037281472511, +STORE, 47037281472512, 47037281480703, +ERASE, 47037281472512, 47037281472512, +STORE, 47037281472512, 47037281480703, +STORE, 47037281480704, 47037281488895, +ERASE, 47037281284096, 47037281284096, +STORE, 47037281284096, 47037281300479, +STORE, 47037281300480, 47037281308671, +ERASE, 47037281472512, 47037281472512, +STORE, 47037281472512, 47037281476607, +STORE, 47037281476608, 47037281480703, +ERASE, 47037281435648, 47037281435648, +STORE, 47037281435648, 47037281439743, +STORE, 47037281439744, 47037281443839, +ERASE, 47037279264768, 47037279264768, +STORE, 47037279264768, 47037279461375, +STORE, 47037279461376, 47037279469567, +ERASE, 47037276426240, 47037276426240, +STORE, 47037276426240, 47037276430335, +STORE, 47037276430336, 47037276434431, +ERASE, 94352938094592, 94352938094592, +STORE, 94352938094592, 94352938102783, +STORE, 94352938102784, 94352938106879, +ERASE, 140595518902272, 140595518902272, +STORE, 140595518902272, 140595518906367, +STORE, 140595518906368, 140595518910463, +ERASE, 47037276254208, 47037276254208, +STORE, 94352938438656, 94352938573823, +STORE, 140737488347136, 140737488351231, +STORE, 140733506027520, 140737488351231, +ERASE, 140733506027520, 140733506027520, +STORE, 140733506027520, 140733506031615, +STORE, 94150123073536, 94150123245567, +ERASE, 94150123073536, 94150123073536, +STORE, 94150123073536, 94150123089919, +STORE, 94150123089920, 94150123245567, +ERASE, 94150123089920, 94150123089920, +STORE, 94150123089920, 94150123192319, +STORE, 94150123192320, 94150123233279, +STORE, 94150123233280, 94150123245567, +STORE, 140081290375168, 140081290547199, +ERASE, 140081290375168, 140081290375168, +STORE, 140081290375168, 140081290379263, +STORE, 140081290379264, 140081290547199, +ERASE, 140081290379264, 140081290379264, +STORE, 140081290379264, 140081290502143, +STORE, 140081290502144, 140081290534911, +STORE, 140081290534912, 140081290543103, +STORE, 140081290543104, 140081290547199, +STORE, 140733506707456, 140733506711551, +STORE, 140733506695168, 140733506707455, +STORE, 47551504621568, 47551504629759, +STORE, 47551504629760, 47551504637951, +STORE, 47551504637952, 47551504801791, +ERASE, 47551504637952, 47551504637952, +STORE, 47551504637952, 47551504650239, +STORE, 47551504650240, 47551504801791, +STORE, 47551504748544, 47551504801791, +STORE, 47551504650240, 47551504748543, +ERASE, 47551504650240, 47551504650240, +STORE, 47551504650240, 47551504748543, +STORE, 47551504793600, 47551504801791, +STORE, 47551504748544, 47551504793599, +ERASE, 47551504748544, 47551504748544, +STORE, 47551504748544, 47551504801791, +ERASE, 47551504748544, 47551504748544, +STORE, 47551504748544, 47551504793599, +STORE, 47551504793600, 47551504801791, +ERASE, 47551504793600, 47551504793600, +STORE, 47551504793600, 47551504801791, +STORE, 47551504801792, 47551507853311, +STORE, 47551505346560, 47551507853311, +STORE, 47551504801792, 47551505346559, +ERASE, 47551505346560, 47551505346560, +STORE, 47551505346560, 47551507632127, +STORE, 47551507632128, 47551507853311, +STORE, 47551507042304, 47551507632127, +STORE, 47551505346560, 47551507042303, +ERASE, 47551505346560, 47551505346560, +STORE, 47551505346560, 47551507042303, +STORE, 47551507628032, 47551507632127, +STORE, 47551507042304, 47551507628031, +ERASE, 47551507042304, 47551507042304, +STORE, 47551507042304, 47551507628031, +STORE, 47551507836928, 47551507853311, +STORE, 47551507632128, 47551507836927, +ERASE, 47551507632128, 47551507632128, +STORE, 47551507632128, 47551507836927, +ERASE, 47551507836928, 47551507836928, +STORE, 47551507836928, 47551507853311, +STORE, 47551507853312, 47551509692415, +STORE, 47551507992576, 47551509692415, +STORE, 47551507853312, 47551507992575, +ERASE, 47551507992576, 47551507992576, +STORE, 47551507992576, 47551509651455, +STORE, 47551509651456, 47551509692415, +STORE, 47551509336064, 47551509651455, +STORE, 47551507992576, 47551509336063, +ERASE, 47551507992576, 47551507992576, +STORE, 47551507992576, 47551509336063, +STORE, 47551509647360, 47551509651455, +STORE, 47551509336064, 47551509647359, +ERASE, 47551509336064, 47551509336064, +STORE, 47551509336064, 47551509647359, +STORE, 47551509676032, 47551509692415, +STORE, 47551509651456, 47551509676031, +ERASE, 47551509651456, 47551509651456, +STORE, 47551509651456, 47551509676031, +ERASE, 47551509676032, 47551509676032, +STORE, 47551509676032, 47551509692415, +STORE, 47551509692416, 47551509827583, +ERASE, 47551509692416, 47551509692416, +STORE, 47551509692416, 47551509716991, +STORE, 47551509716992, 47551509827583, +STORE, 47551509778432, 47551509827583, +STORE, 47551509716992, 47551509778431, +ERASE, 47551509716992, 47551509716992, +STORE, 47551509716992, 47551509778431, +STORE, 47551509803008, 47551509827583, +STORE, 47551509778432, 47551509803007, +ERASE, 47551509778432, 47551509778432, +STORE, 47551509778432, 47551509827583, +ERASE, 47551509778432, 47551509778432, +STORE, 47551509778432, 47551509803007, +STORE, 47551509803008, 47551509827583, +STORE, 47551509811200, 47551509827583, +STORE, 47551509803008, 47551509811199, +ERASE, 47551509803008, 47551509803008, +STORE, 47551509803008, 47551509811199, +ERASE, 47551509811200, 47551509811200, +STORE, 47551509811200, 47551509827583, +STORE, 47551509827584, 47551509848063, +ERASE, 47551509827584, 47551509827584, +STORE, 47551509827584, 47551509831679, +STORE, 47551509831680, 47551509848063, +STORE, 47551509835776, 47551509848063, +STORE, 47551509831680, 47551509835775, +ERASE, 47551509831680, 47551509831680, +STORE, 47551509831680, 47551509835775, +STORE, 47551509839872, 47551509848063, +STORE, 47551509835776, 47551509839871, +ERASE, 47551509835776, 47551509835776, +STORE, 47551509835776, 47551509848063, +ERASE, 47551509835776, 47551509835776, +STORE, 47551509835776, 47551509839871, +STORE, 47551509839872, 47551509848063, +ERASE, 47551509839872, 47551509839872, +STORE, 47551509839872, 47551509848063, +STORE, 47551509848064, 47551509856255, +ERASE, 47551509651456, 47551509651456, +STORE, 47551509651456, 47551509667839, +STORE, 47551509667840, 47551509676031, +ERASE, 47551509839872, 47551509839872, +STORE, 47551509839872, 47551509843967, +STORE, 47551509843968, 47551509848063, +ERASE, 47551509803008, 47551509803008, +STORE, 47551509803008, 47551509807103, +STORE, 47551509807104, 47551509811199, +ERASE, 47551507632128, 47551507632128, +STORE, 47551507632128, 47551507828735, +STORE, 47551507828736, 47551507836927, +ERASE, 47551504793600, 47551504793600, +STORE, 47551504793600, 47551504797695, +STORE, 47551504797696, 47551504801791, +ERASE, 94150123233280, 94150123233280, +STORE, 94150123233280, 94150123241471, +STORE, 94150123241472, 94150123245567, +ERASE, 140081290534912, 140081290534912, +STORE, 140081290534912, 140081290539007, +STORE, 140081290539008, 140081290543103, +ERASE, 47551504621568, 47551504621568, +STORE, 94150148112384, 94150148247551, +STORE, 140737488347136, 140737488351231, +STORE, 140734389334016, 140737488351231, +ERASE, 140734389334016, 140734389334016, +STORE, 140734389334016, 140734389338111, +STORE, 94844636606464, 94844636778495, +ERASE, 94844636606464, 94844636606464, +STORE, 94844636606464, 94844636622847, +STORE, 94844636622848, 94844636778495, +ERASE, 94844636622848, 94844636622848, +STORE, 94844636622848, 94844636725247, +STORE, 94844636725248, 94844636766207, +STORE, 94844636766208, 94844636778495, +STORE, 139922765217792, 139922765389823, +ERASE, 139922765217792, 139922765217792, +STORE, 139922765217792, 139922765221887, +STORE, 139922765221888, 139922765389823, +ERASE, 139922765221888, 139922765221888, +STORE, 139922765221888, 139922765344767, +STORE, 139922765344768, 139922765377535, +STORE, 139922765377536, 139922765385727, +STORE, 139922765385728, 139922765389823, +STORE, 140734389678080, 140734389682175, +STORE, 140734389665792, 140734389678079, +STORE, 47710029778944, 47710029787135, +STORE, 47710029787136, 47710029795327, +STORE, 47710029795328, 47710029959167, +ERASE, 47710029795328, 47710029795328, +STORE, 47710029795328, 47710029807615, +STORE, 47710029807616, 47710029959167, +STORE, 47710029905920, 47710029959167, +STORE, 47710029807616, 47710029905919, +ERASE, 47710029807616, 47710029807616, +STORE, 47710029807616, 47710029905919, +STORE, 47710029950976, 47710029959167, +STORE, 47710029905920, 47710029950975, +ERASE, 47710029905920, 47710029905920, +STORE, 47710029905920, 47710029959167, +ERASE, 47710029905920, 47710029905920, +STORE, 47710029905920, 47710029950975, +STORE, 47710029950976, 47710029959167, +ERASE, 47710029950976, 47710029950976, +STORE, 47710029950976, 47710029959167, +STORE, 47710029959168, 47710033010687, +STORE, 47710030503936, 47710033010687, +STORE, 47710029959168, 47710030503935, +ERASE, 47710030503936, 47710030503936, +STORE, 47710030503936, 47710032789503, +STORE, 47710032789504, 47710033010687, +STORE, 47710032199680, 47710032789503, +STORE, 47710030503936, 47710032199679, +ERASE, 47710030503936, 47710030503936, +STORE, 47710030503936, 47710032199679, +STORE, 47710032785408, 47710032789503, +STORE, 47710032199680, 47710032785407, +ERASE, 47710032199680, 47710032199680, +STORE, 47710032199680, 47710032785407, +STORE, 47710032994304, 47710033010687, +STORE, 47710032789504, 47710032994303, +ERASE, 47710032789504, 47710032789504, +STORE, 47710032789504, 47710032994303, +ERASE, 47710032994304, 47710032994304, +STORE, 47710032994304, 47710033010687, +STORE, 47710033010688, 47710034849791, +STORE, 47710033149952, 47710034849791, +STORE, 47710033010688, 47710033149951, +ERASE, 47710033149952, 47710033149952, +STORE, 47710033149952, 47710034808831, +STORE, 47710034808832, 47710034849791, +STORE, 47710034493440, 47710034808831, +STORE, 47710033149952, 47710034493439, +ERASE, 47710033149952, 47710033149952, +STORE, 47710033149952, 47710034493439, +STORE, 47710034804736, 47710034808831, +STORE, 47710034493440, 47710034804735, +ERASE, 47710034493440, 47710034493440, +STORE, 47710034493440, 47710034804735, +STORE, 47710034833408, 47710034849791, +STORE, 47710034808832, 47710034833407, +ERASE, 47710034808832, 47710034808832, +STORE, 47710034808832, 47710034833407, +ERASE, 47710034833408, 47710034833408, +STORE, 47710034833408, 47710034849791, +STORE, 47710034849792, 47710034984959, +ERASE, 47710034849792, 47710034849792, +STORE, 47710034849792, 47710034874367, +STORE, 47710034874368, 47710034984959, +STORE, 47710034935808, 47710034984959, +STORE, 47710034874368, 47710034935807, +ERASE, 47710034874368, 47710034874368, +STORE, 47710034874368, 47710034935807, +STORE, 47710034960384, 47710034984959, +STORE, 47710034935808, 47710034960383, +ERASE, 47710034935808, 47710034935808, +STORE, 47710034935808, 47710034984959, +ERASE, 47710034935808, 47710034935808, +STORE, 47710034935808, 47710034960383, +STORE, 47710034960384, 47710034984959, +STORE, 47710034968576, 47710034984959, +STORE, 47710034960384, 47710034968575, +ERASE, 47710034960384, 47710034960384, +STORE, 47710034960384, 47710034968575, +ERASE, 47710034968576, 47710034968576, +STORE, 47710034968576, 47710034984959, +STORE, 47710034984960, 47710035005439, +ERASE, 47710034984960, 47710034984960, +STORE, 47710034984960, 47710034989055, +STORE, 47710034989056, 47710035005439, +STORE, 47710034993152, 47710035005439, +STORE, 47710034989056, 47710034993151, +ERASE, 47710034989056, 47710034989056, +STORE, 47710034989056, 47710034993151, +STORE, 47710034997248, 47710035005439, +STORE, 47710034993152, 47710034997247, +ERASE, 47710034993152, 47710034993152, +STORE, 47710034993152, 47710035005439, +ERASE, 47710034993152, 47710034993152, +STORE, 47710034993152, 47710034997247, +STORE, 47710034997248, 47710035005439, +ERASE, 47710034997248, 47710034997248, +STORE, 47710034997248, 47710035005439, +STORE, 47710035005440, 47710035013631, +ERASE, 47710034808832, 47710034808832, +STORE, 47710034808832, 47710034825215, +STORE, 47710034825216, 47710034833407, +ERASE, 47710034997248, 47710034997248, +STORE, 47710034997248, 47710035001343, +STORE, 47710035001344, 47710035005439, +ERASE, 47710034960384, 47710034960384, +STORE, 47710034960384, 47710034964479, +STORE, 47710034964480, 47710034968575, +ERASE, 47710032789504, 47710032789504, +STORE, 47710032789504, 47710032986111, +STORE, 47710032986112, 47710032994303, +ERASE, 47710029950976, 47710029950976, +STORE, 47710029950976, 47710029955071, +STORE, 47710029955072, 47710029959167, +ERASE, 94844636766208, 94844636766208, +STORE, 94844636766208, 94844636774399, +STORE, 94844636774400, 94844636778495, +ERASE, 139922765377536, 139922765377536, +STORE, 139922765377536, 139922765381631, +STORE, 139922765381632, 139922765385727, +ERASE, 47710029778944, 47710029778944, +STORE, 94844641775616, 94844641910783, +STORE, 140737488347136, 140737488351231, +STORE, 140732213886976, 140737488351231, +ERASE, 140732213886976, 140732213886976, +STORE, 140732213886976, 140732213891071, +STORE, 94240508887040, 94240509059071, +ERASE, 94240508887040, 94240508887040, +STORE, 94240508887040, 94240508903423, +STORE, 94240508903424, 94240509059071, +ERASE, 94240508903424, 94240508903424, +STORE, 94240508903424, 94240509005823, +STORE, 94240509005824, 94240509046783, +STORE, 94240509046784, 94240509059071, +STORE, 140275106516992, 140275106689023, +ERASE, 140275106516992, 140275106516992, +STORE, 140275106516992, 140275106521087, +STORE, 140275106521088, 140275106689023, +ERASE, 140275106521088, 140275106521088, +STORE, 140275106521088, 140275106643967, +STORE, 140275106643968, 140275106676735, +STORE, 140275106676736, 140275106684927, +STORE, 140275106684928, 140275106689023, +STORE, 140732213977088, 140732213981183, +STORE, 140732213964800, 140732213977087, +STORE, 47357688479744, 47357688487935, +STORE, 47357688487936, 47357688496127, +STORE, 47357688496128, 47357688659967, +ERASE, 47357688496128, 47357688496128, +STORE, 47357688496128, 47357688508415, +STORE, 47357688508416, 47357688659967, +STORE, 47357688606720, 47357688659967, +STORE, 47357688508416, 47357688606719, +ERASE, 47357688508416, 47357688508416, +STORE, 47357688508416, 47357688606719, +STORE, 47357688651776, 47357688659967, +STORE, 47357688606720, 47357688651775, +ERASE, 47357688606720, 47357688606720, +STORE, 47357688606720, 47357688659967, +ERASE, 47357688606720, 47357688606720, +STORE, 47357688606720, 47357688651775, +STORE, 47357688651776, 47357688659967, +ERASE, 47357688651776, 47357688651776, +STORE, 47357688651776, 47357688659967, +STORE, 47357688659968, 47357691711487, +STORE, 47357689204736, 47357691711487, +STORE, 47357688659968, 47357689204735, +ERASE, 47357689204736, 47357689204736, +STORE, 47357689204736, 47357691490303, +STORE, 47357691490304, 47357691711487, +STORE, 47357690900480, 47357691490303, +STORE, 47357689204736, 47357690900479, +ERASE, 47357689204736, 47357689204736, +STORE, 47357689204736, 47357690900479, +STORE, 47357691486208, 47357691490303, +STORE, 47357690900480, 47357691486207, +ERASE, 47357690900480, 47357690900480, +STORE, 47357690900480, 47357691486207, +STORE, 47357691695104, 47357691711487, +STORE, 47357691490304, 47357691695103, +ERASE, 47357691490304, 47357691490304, +STORE, 47357691490304, 47357691695103, +ERASE, 47357691695104, 47357691695104, +STORE, 47357691695104, 47357691711487, +STORE, 47357691711488, 47357693550591, +STORE, 47357691850752, 47357693550591, +STORE, 47357691711488, 47357691850751, +ERASE, 47357691850752, 47357691850752, +STORE, 47357691850752, 47357693509631, +STORE, 47357693509632, 47357693550591, +STORE, 47357693194240, 47357693509631, +STORE, 47357691850752, 47357693194239, +ERASE, 47357691850752, 47357691850752, +STORE, 47357691850752, 47357693194239, +STORE, 47357693505536, 47357693509631, +STORE, 47357693194240, 47357693505535, +ERASE, 47357693194240, 47357693194240, +STORE, 47357693194240, 47357693505535, +STORE, 47357693534208, 47357693550591, +STORE, 47357693509632, 47357693534207, +ERASE, 47357693509632, 47357693509632, +STORE, 47357693509632, 47357693534207, +ERASE, 47357693534208, 47357693534208, +STORE, 47357693534208, 47357693550591, +STORE, 47357693550592, 47357693685759, +ERASE, 47357693550592, 47357693550592, +STORE, 47357693550592, 47357693575167, +STORE, 47357693575168, 47357693685759, +STORE, 47357693636608, 47357693685759, +STORE, 47357693575168, 47357693636607, +ERASE, 47357693575168, 47357693575168, +STORE, 47357693575168, 47357693636607, +STORE, 47357693661184, 47357693685759, +STORE, 47357693636608, 47357693661183, +ERASE, 47357693636608, 47357693636608, +STORE, 47357693636608, 47357693685759, +ERASE, 47357693636608, 47357693636608, +STORE, 47357693636608, 47357693661183, +STORE, 47357693661184, 47357693685759, +STORE, 47357693669376, 47357693685759, +STORE, 47357693661184, 47357693669375, +ERASE, 47357693661184, 47357693661184, +STORE, 47357693661184, 47357693669375, +ERASE, 47357693669376, 47357693669376, +STORE, 47357693669376, 47357693685759, +STORE, 47357693685760, 47357693706239, +ERASE, 47357693685760, 47357693685760, +STORE, 47357693685760, 47357693689855, +STORE, 47357693689856, 47357693706239, +STORE, 47357693693952, 47357693706239, +STORE, 47357693689856, 47357693693951, +ERASE, 47357693689856, 47357693689856, +STORE, 47357693689856, 47357693693951, +STORE, 47357693698048, 47357693706239, +STORE, 47357693693952, 47357693698047, +ERASE, 47357693693952, 47357693693952, +STORE, 47357693693952, 47357693706239, +ERASE, 47357693693952, 47357693693952, +STORE, 47357693693952, 47357693698047, +STORE, 47357693698048, 47357693706239, +ERASE, 47357693698048, 47357693698048, +STORE, 47357693698048, 47357693706239, +STORE, 47357693706240, 47357693714431, +ERASE, 47357693509632, 47357693509632, +STORE, 47357693509632, 47357693526015, +STORE, 47357693526016, 47357693534207, +ERASE, 47357693698048, 47357693698048, +STORE, 47357693698048, 47357693702143, +STORE, 47357693702144, 47357693706239, +ERASE, 47357693661184, 47357693661184, +STORE, 47357693661184, 47357693665279, +STORE, 47357693665280, 47357693669375, +ERASE, 47357691490304, 47357691490304, +STORE, 47357691490304, 47357691686911, +STORE, 47357691686912, 47357691695103, +ERASE, 47357688651776, 47357688651776, +STORE, 47357688651776, 47357688655871, +STORE, 47357688655872, 47357688659967, +ERASE, 94240509046784, 94240509046784, +STORE, 94240509046784, 94240509054975, +STORE, 94240509054976, 94240509059071, +ERASE, 140275106676736, 140275106676736, +STORE, 140275106676736, 140275106680831, +STORE, 140275106680832, 140275106684927, +ERASE, 47357688479744, 47357688479744, +STORE, 94240518361088, 94240518496255, +STORE, 140737488347136, 140737488351231, +STORE, 140732688277504, 140737488351231, +ERASE, 140732688277504, 140732688277504, +STORE, 140732688277504, 140732688281599, +STORE, 94629171351552, 94629172064255, +ERASE, 94629171351552, 94629171351552, +STORE, 94629171351552, 94629171400703, +STORE, 94629171400704, 94629172064255, +ERASE, 94629171400704, 94629171400704, +STORE, 94629171400704, 94629171945471, +STORE, 94629171945472, 94629172043775, +STORE, 94629172043776, 94629172064255, +STORE, 139770707644416, 139770707816447, +ERASE, 139770707644416, 139770707644416, +STORE, 139770707644416, 139770707648511, +STORE, 139770707648512, 139770707816447, +ERASE, 139770707648512, 139770707648512, +STORE, 139770707648512, 139770707771391, +STORE, 139770707771392, 139770707804159, +STORE, 139770707804160, 139770707812351, +STORE, 139770707812352, 139770707816447, +STORE, 140732689121280, 140732689125375, +STORE, 140732689108992, 140732689121279, +STORE, 47862087352320, 47862087360511, +STORE, 47862087360512, 47862087368703, +STORE, 47862087368704, 47862087475199, +STORE, 47862087385088, 47862087475199, +STORE, 47862087368704, 47862087385087, +ERASE, 47862087385088, 47862087385088, +STORE, 47862087385088, 47862087458815, +STORE, 47862087458816, 47862087475199, +STORE, 47862087438336, 47862087458815, +STORE, 47862087385088, 47862087438335, +ERASE, 47862087385088, 47862087385088, +STORE, 47862087385088, 47862087438335, +STORE, 47862087454720, 47862087458815, +STORE, 47862087438336, 47862087454719, +ERASE, 47862087438336, 47862087438336, +STORE, 47862087438336, 47862087454719, +STORE, 47862087467008, 47862087475199, +STORE, 47862087458816, 47862087467007, +ERASE, 47862087458816, 47862087458816, +STORE, 47862087458816, 47862087467007, +ERASE, 47862087467008, 47862087467008, +STORE, 47862087467008, 47862087475199, +STORE, 47862087475200, 47862089314303, +STORE, 47862087614464, 47862089314303, +STORE, 47862087475200, 47862087614463, +ERASE, 47862087614464, 47862087614464, +STORE, 47862087614464, 47862089273343, +STORE, 47862089273344, 47862089314303, +STORE, 47862088957952, 47862089273343, +STORE, 47862087614464, 47862088957951, +ERASE, 47862087614464, 47862087614464, +STORE, 47862087614464, 47862088957951, +STORE, 47862089269248, 47862089273343, +STORE, 47862088957952, 47862089269247, +ERASE, 47862088957952, 47862088957952, +STORE, 47862088957952, 47862089269247, +STORE, 47862089297920, 47862089314303, +STORE, 47862089273344, 47862089297919, +ERASE, 47862089273344, 47862089273344, +STORE, 47862089273344, 47862089297919, +ERASE, 47862089297920, 47862089297920, +STORE, 47862089297920, 47862089314303, +STORE, 47862089297920, 47862089326591, +ERASE, 47862089273344, 47862089273344, +STORE, 47862089273344, 47862089289727, +STORE, 47862089289728, 47862089297919, +ERASE, 47862087458816, 47862087458816, +STORE, 47862087458816, 47862087462911, +STORE, 47862087462912, 47862087467007, +ERASE, 94629172043776, 94629172043776, +STORE, 94629172043776, 94629172060159, +STORE, 94629172060160, 94629172064255, +ERASE, 139770707804160, 139770707804160, +STORE, 139770707804160, 139770707808255, +STORE, 139770707808256, 139770707812351, +ERASE, 47862087352320, 47862087352320, +STORE, 94629197533184, 94629197668351, +STORE, 140737488347136, 140737488351231, +STORE, 140727540711424, 140737488351231, +ERASE, 140727540711424, 140727540711424, +STORE, 140727540711424, 140727540715519, +STORE, 94299865313280, 94299866025983, +ERASE, 94299865313280, 94299865313280, +STORE, 94299865313280, 94299865362431, +STORE, 94299865362432, 94299866025983, +ERASE, 94299865362432, 94299865362432, +STORE, 94299865362432, 94299865907199, +STORE, 94299865907200, 94299866005503, +STORE, 94299866005504, 94299866025983, +STORE, 140680268763136, 140680268935167, +ERASE, 140680268763136, 140680268763136, +STORE, 140680268763136, 140680268767231, +STORE, 140680268767232, 140680268935167, +ERASE, 140680268767232, 140680268767232, +STORE, 140680268767232, 140680268890111, +STORE, 140680268890112, 140680268922879, +STORE, 140680268922880, 140680268931071, +STORE, 140680268931072, 140680268935167, +STORE, 140727541424128, 140727541428223, +STORE, 140727541411840, 140727541424127, +STORE, 46952526233600, 46952526241791, +STORE, 46952526241792, 46952526249983, +STORE, 46952526249984, 46952526356479, +STORE, 46952526266368, 46952526356479, +STORE, 46952526249984, 46952526266367, +ERASE, 46952526266368, 46952526266368, +STORE, 46952526266368, 46952526340095, +STORE, 46952526340096, 46952526356479, +STORE, 46952526319616, 46952526340095, +STORE, 46952526266368, 46952526319615, +ERASE, 46952526266368, 46952526266368, +STORE, 46952526266368, 46952526319615, +STORE, 46952526336000, 46952526340095, +STORE, 46952526319616, 46952526335999, +ERASE, 46952526319616, 46952526319616, +STORE, 46952526319616, 46952526335999, +STORE, 46952526348288, 46952526356479, +STORE, 46952526340096, 46952526348287, +ERASE, 46952526340096, 46952526340096, +STORE, 46952526340096, 46952526348287, +ERASE, 46952526348288, 46952526348288, +STORE, 46952526348288, 46952526356479, +STORE, 46952526356480, 46952528195583, +STORE, 46952526495744, 46952528195583, +STORE, 46952526356480, 46952526495743, +ERASE, 46952526495744, 46952526495744, +STORE, 46952526495744, 46952528154623, +STORE, 46952528154624, 46952528195583, +STORE, 46952527839232, 46952528154623, +STORE, 46952526495744, 46952527839231, +ERASE, 46952526495744, 46952526495744, +STORE, 46952526495744, 46952527839231, +STORE, 46952528150528, 46952528154623, +STORE, 46952527839232, 46952528150527, +ERASE, 46952527839232, 46952527839232, +STORE, 46952527839232, 46952528150527, +STORE, 46952528179200, 46952528195583, +STORE, 46952528154624, 46952528179199, +ERASE, 46952528154624, 46952528154624, +STORE, 46952528154624, 46952528179199, +ERASE, 46952528179200, 46952528179200, +STORE, 46952528179200, 46952528195583, +STORE, 46952528179200, 46952528207871, +ERASE, 46952528154624, 46952528154624, +STORE, 46952528154624, 46952528171007, +STORE, 46952528171008, 46952528179199, +ERASE, 46952526340096, 46952526340096, +STORE, 46952526340096, 46952526344191, +STORE, 46952526344192, 46952526348287, +ERASE, 94299866005504, 94299866005504, +STORE, 94299866005504, 94299866021887, +STORE, 94299866021888, 94299866025983, +ERASE, 140680268922880, 140680268922880, +STORE, 140680268922880, 140680268926975, +STORE, 140680268926976, 140680268931071, +ERASE, 46952526233600, 46952526233600, +STORE, 140737488347136, 140737488351231, +STORE, 140722874793984, 140737488351231, +ERASE, 140722874793984, 140722874793984, +STORE, 140722874793984, 140722874798079, +STORE, 94448916213760, 94448916926463, +ERASE, 94448916213760, 94448916213760, +STORE, 94448916213760, 94448916262911, +STORE, 94448916262912, 94448916926463, +ERASE, 94448916262912, 94448916262912, +STORE, 94448916262912, 94448916807679, +STORE, 94448916807680, 94448916905983, +STORE, 94448916905984, 94448916926463, +STORE, 140389117046784, 140389117218815, +ERASE, 140389117046784, 140389117046784, +STORE, 140389117046784, 140389117050879, +STORE, 140389117050880, 140389117218815, +ERASE, 140389117050880, 140389117050880, +STORE, 140389117050880, 140389117173759, +STORE, 140389117173760, 140389117206527, +STORE, 140389117206528, 140389117214719, +STORE, 140389117214720, 140389117218815, +STORE, 140722875297792, 140722875301887, +STORE, 140722875285504, 140722875297791, +STORE, 47243677949952, 47243677958143, +STORE, 47243677958144, 47243677966335, +STORE, 47243677966336, 47243678072831, +STORE, 47243677982720, 47243678072831, +STORE, 47243677966336, 47243677982719, +ERASE, 47243677982720, 47243677982720, +STORE, 47243677982720, 47243678056447, +STORE, 47243678056448, 47243678072831, +STORE, 47243678035968, 47243678056447, +STORE, 47243677982720, 47243678035967, +ERASE, 47243677982720, 47243677982720, +STORE, 47243677982720, 47243678035967, +STORE, 47243678052352, 47243678056447, +STORE, 47243678035968, 47243678052351, +ERASE, 47243678035968, 47243678035968, +STORE, 47243678035968, 47243678052351, +STORE, 47243678064640, 47243678072831, +STORE, 47243678056448, 47243678064639, +ERASE, 47243678056448, 47243678056448, +STORE, 47243678056448, 47243678064639, +ERASE, 47243678064640, 47243678064640, +STORE, 47243678064640, 47243678072831, +STORE, 47243678072832, 47243679911935, +STORE, 47243678212096, 47243679911935, +STORE, 47243678072832, 47243678212095, +ERASE, 47243678212096, 47243678212096, +STORE, 47243678212096, 47243679870975, +STORE, 47243679870976, 47243679911935, +STORE, 47243679555584, 47243679870975, +STORE, 47243678212096, 47243679555583, +ERASE, 47243678212096, 47243678212096, +STORE, 47243678212096, 47243679555583, +STORE, 47243679866880, 47243679870975, +STORE, 47243679555584, 47243679866879, +ERASE, 47243679555584, 47243679555584, +STORE, 47243679555584, 47243679866879, +STORE, 47243679895552, 47243679911935, +STORE, 47243679870976, 47243679895551, +ERASE, 47243679870976, 47243679870976, +STORE, 47243679870976, 47243679895551, +ERASE, 47243679895552, 47243679895552, +STORE, 47243679895552, 47243679911935, +STORE, 47243679895552, 47243679924223, +ERASE, 47243679870976, 47243679870976, +STORE, 47243679870976, 47243679887359, +STORE, 47243679887360, 47243679895551, +ERASE, 47243678056448, 47243678056448, +STORE, 47243678056448, 47243678060543, +STORE, 47243678060544, 47243678064639, +ERASE, 94448916905984, 94448916905984, +STORE, 94448916905984, 94448916922367, +STORE, 94448916922368, 94448916926463, +ERASE, 140389117206528, 140389117206528, +STORE, 140389117206528, 140389117210623, +STORE, 140389117210624, 140389117214719, +ERASE, 47243677949952, 47243677949952, +STORE, 140737488347136, 140737488351231, +STORE, 140733068505088, 140737488351231, +ERASE, 140733068505088, 140733068505088, +STORE, 140733068505088, 140733068509183, +STORE, 94207145750528, 94207146463231, +ERASE, 94207145750528, 94207145750528, +STORE, 94207145750528, 94207145799679, +STORE, 94207145799680, 94207146463231, +ERASE, 94207145799680, 94207145799680, +STORE, 94207145799680, 94207146344447, +STORE, 94207146344448, 94207146442751, +STORE, 94207146442752, 94207146463231, +STORE, 140684504911872, 140684505083903, +ERASE, 140684504911872, 140684504911872, +STORE, 140684504911872, 140684504915967, +STORE, 140684504915968, 140684505083903, +ERASE, 140684504915968, 140684504915968, +STORE, 140684504915968, 140684505038847, +STORE, 140684505038848, 140684505071615, +STORE, 140684505071616, 140684505079807, +STORE, 140684505079808, 140684505083903, +STORE, 140733068607488, 140733068611583, +STORE, 140733068595200, 140733068607487, +STORE, 46948290084864, 46948290093055, +STORE, 46948290093056, 46948290101247, +STORE, 46948290101248, 46948290207743, +STORE, 46948290117632, 46948290207743, +STORE, 46948290101248, 46948290117631, +ERASE, 46948290117632, 46948290117632, +STORE, 46948290117632, 46948290191359, +STORE, 46948290191360, 46948290207743, +STORE, 46948290170880, 46948290191359, +STORE, 46948290117632, 46948290170879, +ERASE, 46948290117632, 46948290117632, +STORE, 46948290117632, 46948290170879, +STORE, 46948290187264, 46948290191359, +STORE, 46948290170880, 46948290187263, +ERASE, 46948290170880, 46948290170880, +STORE, 46948290170880, 46948290187263, +STORE, 46948290199552, 46948290207743, +STORE, 46948290191360, 46948290199551, +ERASE, 46948290191360, 46948290191360, +STORE, 46948290191360, 46948290199551, +ERASE, 46948290199552, 46948290199552, +STORE, 46948290199552, 46948290207743, +STORE, 46948290207744, 46948292046847, +STORE, 46948290347008, 46948292046847, +STORE, 46948290207744, 46948290347007, +ERASE, 46948290347008, 46948290347008, +STORE, 46948290347008, 46948292005887, +STORE, 46948292005888, 46948292046847, +STORE, 46948291690496, 46948292005887, +STORE, 46948290347008, 46948291690495, +ERASE, 46948290347008, 46948290347008, +STORE, 46948290347008, 46948291690495, +STORE, 46948292001792, 46948292005887, +STORE, 46948291690496, 46948292001791, +ERASE, 46948291690496, 46948291690496, +STORE, 46948291690496, 46948292001791, +STORE, 46948292030464, 46948292046847, +STORE, 46948292005888, 46948292030463, +ERASE, 46948292005888, 46948292005888, +STORE, 46948292005888, 46948292030463, +ERASE, 46948292030464, 46948292030464, +STORE, 46948292030464, 46948292046847, +STORE, 46948292030464, 46948292059135, +ERASE, 46948292005888, 46948292005888, +STORE, 46948292005888, 46948292022271, +STORE, 46948292022272, 46948292030463, +ERASE, 46948290191360, 46948290191360, +STORE, 46948290191360, 46948290195455, +STORE, 46948290195456, 46948290199551, +ERASE, 94207146442752, 94207146442752, +STORE, 94207146442752, 94207146459135, +STORE, 94207146459136, 94207146463231, +ERASE, 140684505071616, 140684505071616, +STORE, 140684505071616, 140684505075711, +STORE, 140684505075712, 140684505079807, +ERASE, 46948290084864, 46948290084864, +STORE, 140737488347136, 140737488351231, +STORE, 140726367158272, 140737488351231, +ERASE, 140726367158272, 140726367158272, +STORE, 140726367158272, 140726367162367, +STORE, 94436124106752, 94436124819455, +ERASE, 94436124106752, 94436124106752, +STORE, 94436124106752, 94436124155903, +STORE, 94436124155904, 94436124819455, +ERASE, 94436124155904, 94436124155904, +STORE, 94436124155904, 94436124700671, +STORE, 94436124700672, 94436124798975, +STORE, 94436124798976, 94436124819455, +STORE, 140049025044480, 140049025216511, +ERASE, 140049025044480, 140049025044480, +STORE, 140049025044480, 140049025048575, +STORE, 140049025048576, 140049025216511, +ERASE, 140049025048576, 140049025048576, +STORE, 140049025048576, 140049025171455, +STORE, 140049025171456, 140049025204223, +STORE, 140049025204224, 140049025212415, +STORE, 140049025212416, 140049025216511, +STORE, 140726367256576, 140726367260671, +STORE, 140726367244288, 140726367256575, +STORE, 47583769952256, 47583769960447, +STORE, 47583769960448, 47583769968639, +STORE, 47583769968640, 47583770075135, +STORE, 47583769985024, 47583770075135, +STORE, 47583769968640, 47583769985023, +ERASE, 47583769985024, 47583769985024, +STORE, 47583769985024, 47583770058751, +STORE, 47583770058752, 47583770075135, +STORE, 47583770038272, 47583770058751, +STORE, 47583769985024, 47583770038271, +ERASE, 47583769985024, 47583769985024, +STORE, 47583769985024, 47583770038271, +STORE, 47583770054656, 47583770058751, +STORE, 47583770038272, 47583770054655, +ERASE, 47583770038272, 47583770038272, +STORE, 47583770038272, 47583770054655, +STORE, 47583770066944, 47583770075135, +STORE, 47583770058752, 47583770066943, +ERASE, 47583770058752, 47583770058752, +STORE, 47583770058752, 47583770066943, +ERASE, 47583770066944, 47583770066944, +STORE, 47583770066944, 47583770075135, +STORE, 47583770075136, 47583771914239, +STORE, 47583770214400, 47583771914239, +STORE, 47583770075136, 47583770214399, +ERASE, 47583770214400, 47583770214400, +STORE, 47583770214400, 47583771873279, +STORE, 47583771873280, 47583771914239, +STORE, 47583771557888, 47583771873279, +STORE, 47583770214400, 47583771557887, +ERASE, 47583770214400, 47583770214400, +STORE, 47583770214400, 47583771557887, +STORE, 47583771869184, 47583771873279, +STORE, 47583771557888, 47583771869183, +ERASE, 47583771557888, 47583771557888, +STORE, 47583771557888, 47583771869183, +STORE, 47583771897856, 47583771914239, +STORE, 47583771873280, 47583771897855, +ERASE, 47583771873280, 47583771873280, +STORE, 47583771873280, 47583771897855, +ERASE, 47583771897856, 47583771897856, +STORE, 47583771897856, 47583771914239, +STORE, 47583771897856, 47583771926527, +ERASE, 47583771873280, 47583771873280, +STORE, 47583771873280, 47583771889663, +STORE, 47583771889664, 47583771897855, +ERASE, 47583770058752, 47583770058752, +STORE, 47583770058752, 47583770062847, +STORE, 47583770062848, 47583770066943, +ERASE, 94436124798976, 94436124798976, +STORE, 94436124798976, 94436124815359, +STORE, 94436124815360, 94436124819455, +ERASE, 140049025204224, 140049025204224, +STORE, 140049025204224, 140049025208319, +STORE, 140049025208320, 140049025212415, +ERASE, 47583769952256, 47583769952256, +STORE, 140737488347136, 140737488351231, +STORE, 140727116099584, 140737488351231, +ERASE, 140727116099584, 140727116099584, +STORE, 140727116099584, 140727116103679, +STORE, 94166319734784, 94166320447487, +ERASE, 94166319734784, 94166319734784, +STORE, 94166319734784, 94166319783935, +STORE, 94166319783936, 94166320447487, +ERASE, 94166319783936, 94166319783936, +STORE, 94166319783936, 94166320328703, +STORE, 94166320328704, 94166320427007, +STORE, 94166320427008, 94166320447487, +STORE, 139976559542272, 139976559714303, +ERASE, 139976559542272, 139976559542272, +STORE, 139976559542272, 139976559546367, +STORE, 139976559546368, 139976559714303, +ERASE, 139976559546368, 139976559546368, +STORE, 139976559546368, 139976559669247, +STORE, 139976559669248, 139976559702015, +STORE, 139976559702016, 139976559710207, +STORE, 139976559710208, 139976559714303, +STORE, 140727116222464, 140727116226559, +STORE, 140727116210176, 140727116222463, +STORE, 47656235454464, 47656235462655, +STORE, 47656235462656, 47656235470847, +STORE, 47656235470848, 47656235577343, +STORE, 47656235487232, 47656235577343, +STORE, 47656235470848, 47656235487231, +ERASE, 47656235487232, 47656235487232, +STORE, 47656235487232, 47656235560959, +STORE, 47656235560960, 47656235577343, +STORE, 47656235540480, 47656235560959, +STORE, 47656235487232, 47656235540479, +ERASE, 47656235487232, 47656235487232, +STORE, 47656235487232, 47656235540479, +STORE, 47656235556864, 47656235560959, +STORE, 47656235540480, 47656235556863, +ERASE, 47656235540480, 47656235540480, +STORE, 47656235540480, 47656235556863, +STORE, 47656235569152, 47656235577343, +STORE, 47656235560960, 47656235569151, +ERASE, 47656235560960, 47656235560960, +STORE, 47656235560960, 47656235569151, +ERASE, 47656235569152, 47656235569152, +STORE, 47656235569152, 47656235577343, +STORE, 47656235577344, 47656237416447, +STORE, 47656235716608, 47656237416447, +STORE, 47656235577344, 47656235716607, +ERASE, 47656235716608, 47656235716608, +STORE, 47656235716608, 47656237375487, +STORE, 47656237375488, 47656237416447, +STORE, 47656237060096, 47656237375487, +STORE, 47656235716608, 47656237060095, +ERASE, 47656235716608, 47656235716608, +STORE, 47656235716608, 47656237060095, +STORE, 47656237371392, 47656237375487, +STORE, 47656237060096, 47656237371391, +ERASE, 47656237060096, 47656237060096, +STORE, 47656237060096, 47656237371391, +STORE, 47656237400064, 47656237416447, +STORE, 47656237375488, 47656237400063, +ERASE, 47656237375488, 47656237375488, +STORE, 47656237375488, 47656237400063, +ERASE, 47656237400064, 47656237400064, +STORE, 47656237400064, 47656237416447, +STORE, 47656237400064, 47656237428735, +ERASE, 47656237375488, 47656237375488, +STORE, 47656237375488, 47656237391871, +STORE, 47656237391872, 47656237400063, +ERASE, 47656235560960, 47656235560960, +STORE, 47656235560960, 47656235565055, +STORE, 47656235565056, 47656235569151, +ERASE, 94166320427008, 94166320427008, +STORE, 94166320427008, 94166320443391, +STORE, 94166320443392, 94166320447487, +ERASE, 139976559702016, 139976559702016, +STORE, 139976559702016, 139976559706111, +STORE, 139976559706112, 139976559710207, +ERASE, 47656235454464, 47656235454464, +STORE, 94166332153856, 94166332289023, +STORE, 140737488347136, 140737488351231, +STORE, 140726412816384, 140737488351231, +ERASE, 140726412816384, 140726412816384, +STORE, 140726412816384, 140726412820479, +STORE, 94094884507648, 94094885220351, +ERASE, 94094884507648, 94094884507648, +STORE, 94094884507648, 94094884556799, +STORE, 94094884556800, 94094885220351, +ERASE, 94094884556800, 94094884556800, +STORE, 94094884556800, 94094885101567, +STORE, 94094885101568, 94094885199871, +STORE, 94094885199872, 94094885220351, +STORE, 139773773938688, 139773774110719, +ERASE, 139773773938688, 139773773938688, +STORE, 139773773938688, 139773773942783, +STORE, 139773773942784, 139773774110719, +ERASE, 139773773942784, 139773773942784, +STORE, 139773773942784, 139773774065663, +STORE, 139773774065664, 139773774098431, +STORE, 139773774098432, 139773774106623, +STORE, 139773774106624, 139773774110719, +STORE, 140726412963840, 140726412967935, +STORE, 140726412951552, 140726412963839, +STORE, 47859021058048, 47859021066239, +STORE, 47859021066240, 47859021074431, +STORE, 47859021074432, 47859021180927, +STORE, 47859021090816, 47859021180927, +STORE, 47859021074432, 47859021090815, +ERASE, 47859021090816, 47859021090816, +STORE, 47859021090816, 47859021164543, +STORE, 47859021164544, 47859021180927, +STORE, 47859021144064, 47859021164543, +STORE, 47859021090816, 47859021144063, +ERASE, 47859021090816, 47859021090816, +STORE, 47859021090816, 47859021144063, +STORE, 47859021160448, 47859021164543, +STORE, 47859021144064, 47859021160447, +ERASE, 47859021144064, 47859021144064, +STORE, 47859021144064, 47859021160447, +STORE, 47859021172736, 47859021180927, +STORE, 47859021164544, 47859021172735, +ERASE, 47859021164544, 47859021164544, +STORE, 47859021164544, 47859021172735, +ERASE, 47859021172736, 47859021172736, +STORE, 47859021172736, 47859021180927, +STORE, 47859021180928, 47859023020031, +STORE, 47859021320192, 47859023020031, +STORE, 47859021180928, 47859021320191, +ERASE, 47859021320192, 47859021320192, +STORE, 47859021320192, 47859022979071, +STORE, 47859022979072, 47859023020031, +STORE, 47859022663680, 47859022979071, +STORE, 47859021320192, 47859022663679, +ERASE, 47859021320192, 47859021320192, +STORE, 47859021320192, 47859022663679, +STORE, 47859022974976, 47859022979071, +STORE, 47859022663680, 47859022974975, +ERASE, 47859022663680, 47859022663680, +STORE, 47859022663680, 47859022974975, +STORE, 47859023003648, 47859023020031, +STORE, 47859022979072, 47859023003647, +ERASE, 47859022979072, 47859022979072, +STORE, 47859022979072, 47859023003647, +ERASE, 47859023003648, 47859023003648, +STORE, 47859023003648, 47859023020031, +STORE, 47859023003648, 47859023032319, +ERASE, 47859022979072, 47859022979072, +STORE, 47859022979072, 47859022995455, +STORE, 47859022995456, 47859023003647, +ERASE, 47859021164544, 47859021164544, +STORE, 47859021164544, 47859021168639, +STORE, 47859021168640, 47859021172735, +ERASE, 94094885199872, 94094885199872, +STORE, 94094885199872, 94094885216255, +STORE, 94094885216256, 94094885220351, +ERASE, 139773774098432, 139773774098432, +STORE, 139773774098432, 139773774102527, +STORE, 139773774102528, 139773774106623, +ERASE, 47859021058048, 47859021058048, +STORE, 94094901108736, 94094901243903, +STORE, 140737488347136, 140737488351231, +STORE, 140736567963648, 140737488351231, +ERASE, 140736567963648, 140736567963648, +STORE, 140736567963648, 140736567967743, +STORE, 94924425748480, 94924426461183, +ERASE, 94924425748480, 94924425748480, +STORE, 94924425748480, 94924425797631, +STORE, 94924425797632, 94924426461183, +ERASE, 94924425797632, 94924425797632, +STORE, 94924425797632, 94924426342399, +STORE, 94924426342400, 94924426440703, +STORE, 94924426440704, 94924426461183, +STORE, 140042126319616, 140042126491647, +ERASE, 140042126319616, 140042126319616, +STORE, 140042126319616, 140042126323711, +STORE, 140042126323712, 140042126491647, +ERASE, 140042126323712, 140042126323712, +STORE, 140042126323712, 140042126446591, +STORE, 140042126446592, 140042126479359, +STORE, 140042126479360, 140042126487551, +STORE, 140042126487552, 140042126491647, +STORE, 140736568672256, 140736568676351, +STORE, 140736568659968, 140736568672255, +STORE, 47590668677120, 47590668685311, +STORE, 47590668685312, 47590668693503, +STORE, 47590668693504, 47590668799999, +STORE, 47590668709888, 47590668799999, +STORE, 47590668693504, 47590668709887, +ERASE, 47590668709888, 47590668709888, +STORE, 47590668709888, 47590668783615, +STORE, 47590668783616, 47590668799999, +STORE, 47590668763136, 47590668783615, +STORE, 47590668709888, 47590668763135, +ERASE, 47590668709888, 47590668709888, +STORE, 47590668709888, 47590668763135, +STORE, 47590668779520, 47590668783615, +STORE, 47590668763136, 47590668779519, +ERASE, 47590668763136, 47590668763136, +STORE, 47590668763136, 47590668779519, +STORE, 47590668791808, 47590668799999, +STORE, 47590668783616, 47590668791807, +ERASE, 47590668783616, 47590668783616, +STORE, 47590668783616, 47590668791807, +ERASE, 47590668791808, 47590668791808, +STORE, 47590668791808, 47590668799999, +STORE, 47590668800000, 47590670639103, +STORE, 47590668939264, 47590670639103, +STORE, 47590668800000, 47590668939263, +ERASE, 47590668939264, 47590668939264, +STORE, 47590668939264, 47590670598143, +STORE, 47590670598144, 47590670639103, +STORE, 47590670282752, 47590670598143, +STORE, 47590668939264, 47590670282751, +ERASE, 47590668939264, 47590668939264, +STORE, 47590668939264, 47590670282751, +STORE, 47590670594048, 47590670598143, +STORE, 47590670282752, 47590670594047, +ERASE, 47590670282752, 47590670282752, +STORE, 47590670282752, 47590670594047, +STORE, 47590670622720, 47590670639103, +STORE, 47590670598144, 47590670622719, +ERASE, 47590670598144, 47590670598144, +STORE, 47590670598144, 47590670622719, +ERASE, 47590670622720, 47590670622720, +STORE, 47590670622720, 47590670639103, +STORE, 47590670622720, 47590670651391, +ERASE, 47590670598144, 47590670598144, +STORE, 47590670598144, 47590670614527, +STORE, 47590670614528, 47590670622719, +ERASE, 47590668783616, 47590668783616, +STORE, 47590668783616, 47590668787711, +STORE, 47590668787712, 47590668791807, +ERASE, 94924426440704, 94924426440704, +STORE, 94924426440704, 94924426457087, +STORE, 94924426457088, 94924426461183, +ERASE, 140042126479360, 140042126479360, +STORE, 140042126479360, 140042126483455, +STORE, 140042126483456, 140042126487551, +ERASE, 47590668677120, 47590668677120, +STORE, 140737488347136, 140737488351231, +STORE, 140733281439744, 140737488351231, +ERASE, 140733281439744, 140733281439744, +STORE, 140733281439744, 140733281443839, +STORE, 94490667069440, 94490667782143, +ERASE, 94490667069440, 94490667069440, +STORE, 94490667069440, 94490667118591, +STORE, 94490667118592, 94490667782143, +ERASE, 94490667118592, 94490667118592, +STORE, 94490667118592, 94490667663359, +STORE, 94490667663360, 94490667761663, +STORE, 94490667761664, 94490667782143, +STORE, 139878215118848, 139878215290879, +ERASE, 139878215118848, 139878215118848, +STORE, 139878215118848, 139878215122943, +STORE, 139878215122944, 139878215290879, +ERASE, 139878215122944, 139878215122944, +STORE, 139878215122944, 139878215245823, +STORE, 139878215245824, 139878215278591, +STORE, 139878215278592, 139878215286783, +STORE, 139878215286784, 139878215290879, +STORE, 140733281464320, 140733281468415, +STORE, 140733281452032, 140733281464319, +STORE, 47754579877888, 47754579886079, +STORE, 47754579886080, 47754579894271, +STORE, 47754579894272, 47754580000767, +STORE, 47754579910656, 47754580000767, +STORE, 47754579894272, 47754579910655, +ERASE, 47754579910656, 47754579910656, +STORE, 47754579910656, 47754579984383, +STORE, 47754579984384, 47754580000767, +STORE, 47754579963904, 47754579984383, +STORE, 47754579910656, 47754579963903, +ERASE, 47754579910656, 47754579910656, +STORE, 47754579910656, 47754579963903, +STORE, 47754579980288, 47754579984383, +STORE, 47754579963904, 47754579980287, +ERASE, 47754579963904, 47754579963904, +STORE, 47754579963904, 47754579980287, +STORE, 47754579992576, 47754580000767, +STORE, 47754579984384, 47754579992575, +ERASE, 47754579984384, 47754579984384, +STORE, 47754579984384, 47754579992575, +ERASE, 47754579992576, 47754579992576, +STORE, 47754579992576, 47754580000767, +STORE, 47754580000768, 47754581839871, +STORE, 47754580140032, 47754581839871, +STORE, 47754580000768, 47754580140031, +ERASE, 47754580140032, 47754580140032, +STORE, 47754580140032, 47754581798911, +STORE, 47754581798912, 47754581839871, +STORE, 47754581483520, 47754581798911, +STORE, 47754580140032, 47754581483519, +ERASE, 47754580140032, 47754580140032, +STORE, 47754580140032, 47754581483519, +STORE, 47754581794816, 47754581798911, +STORE, 47754581483520, 47754581794815, +ERASE, 47754581483520, 47754581483520, +STORE, 47754581483520, 47754581794815, +STORE, 47754581823488, 47754581839871, +STORE, 47754581798912, 47754581823487, +ERASE, 47754581798912, 47754581798912, +STORE, 47754581798912, 47754581823487, +ERASE, 47754581823488, 47754581823488, +STORE, 47754581823488, 47754581839871, +STORE, 47754581823488, 47754581852159, +ERASE, 47754581798912, 47754581798912, +STORE, 47754581798912, 47754581815295, +STORE, 47754581815296, 47754581823487, +ERASE, 47754579984384, 47754579984384, +STORE, 47754579984384, 47754579988479, +STORE, 47754579988480, 47754579992575, +ERASE, 94490667761664, 94490667761664, +STORE, 94490667761664, 94490667778047, +STORE, 94490667778048, 94490667782143, +ERASE, 139878215278592, 139878215278592, +STORE, 139878215278592, 139878215282687, +STORE, 139878215282688, 139878215286783, +ERASE, 47754579877888, 47754579877888, +STORE, 94490669649920, 94490669785087, +STORE, 140737488347136, 140737488351231, +STORE, 140735382188032, 140737488351231, +ERASE, 140735382188032, 140735382188032, +STORE, 140735382188032, 140735382192127, +STORE, 94150181302272, 94150182014975, +ERASE, 94150181302272, 94150181302272, +STORE, 94150181302272, 94150181351423, +STORE, 94150181351424, 94150182014975, +ERASE, 94150181351424, 94150181351424, +STORE, 94150181351424, 94150181896191, +STORE, 94150181896192, 94150181994495, +STORE, 94150181994496, 94150182014975, +STORE, 139679752458240, 139679752630271, +ERASE, 139679752458240, 139679752458240, +STORE, 139679752458240, 139679752462335, +STORE, 139679752462336, 139679752630271, +ERASE, 139679752462336, 139679752462336, +STORE, 139679752462336, 139679752585215, +STORE, 139679752585216, 139679752617983, +STORE, 139679752617984, 139679752626175, +STORE, 139679752626176, 139679752630271, +STORE, 140735382536192, 140735382540287, +STORE, 140735382523904, 140735382536191, +STORE, 47953042538496, 47953042546687, +STORE, 47953042546688, 47953042554879, +STORE, 47953042554880, 47953042661375, +STORE, 47953042571264, 47953042661375, +STORE, 47953042554880, 47953042571263, +ERASE, 47953042571264, 47953042571264, +STORE, 47953042571264, 47953042644991, +STORE, 47953042644992, 47953042661375, +STORE, 47953042624512, 47953042644991, +STORE, 47953042571264, 47953042624511, +ERASE, 47953042571264, 47953042571264, +STORE, 47953042571264, 47953042624511, +STORE, 47953042640896, 47953042644991, +STORE, 47953042624512, 47953042640895, +ERASE, 47953042624512, 47953042624512, +STORE, 47953042624512, 47953042640895, +STORE, 47953042653184, 47953042661375, +STORE, 47953042644992, 47953042653183, +ERASE, 47953042644992, 47953042644992, +STORE, 47953042644992, 47953042653183, +ERASE, 47953042653184, 47953042653184, +STORE, 47953042653184, 47953042661375, +STORE, 47953042661376, 47953044500479, +STORE, 47953042800640, 47953044500479, +STORE, 47953042661376, 47953042800639, +ERASE, 47953042800640, 47953042800640, +STORE, 47953042800640, 47953044459519, +STORE, 47953044459520, 47953044500479, +STORE, 47953044144128, 47953044459519, +STORE, 47953042800640, 47953044144127, +ERASE, 47953042800640, 47953042800640, +STORE, 47953042800640, 47953044144127, +STORE, 47953044455424, 47953044459519, +STORE, 47953044144128, 47953044455423, +ERASE, 47953044144128, 47953044144128, +STORE, 47953044144128, 47953044455423, +STORE, 47953044484096, 47953044500479, +STORE, 47953044459520, 47953044484095, +ERASE, 47953044459520, 47953044459520, +STORE, 47953044459520, 47953044484095, +ERASE, 47953044484096, 47953044484096, +STORE, 47953044484096, 47953044500479, +STORE, 47953044484096, 47953044512767, +ERASE, 47953044459520, 47953044459520, +STORE, 47953044459520, 47953044475903, +STORE, 47953044475904, 47953044484095, +ERASE, 47953042644992, 47953042644992, +STORE, 47953042644992, 47953042649087, +STORE, 47953042649088, 47953042653183, +ERASE, 94150181994496, 94150181994496, +STORE, 94150181994496, 94150182010879, +STORE, 94150182010880, 94150182014975, +ERASE, 139679752617984, 139679752617984, +STORE, 139679752617984, 139679752622079, +STORE, 139679752622080, 139679752626175, +ERASE, 47953042538496, 47953042538496, +STORE, 140737488347136, 140737488351231, +STORE, 140737044123648, 140737488351231, +ERASE, 140737044123648, 140737044123648, +STORE, 140737044123648, 140737044127743, +STORE, 94425324294144, 94425325006847, +ERASE, 94425324294144, 94425324294144, +STORE, 94425324294144, 94425324343295, +STORE, 94425324343296, 94425325006847, +ERASE, 94425324343296, 94425324343296, +STORE, 94425324343296, 94425324888063, +STORE, 94425324888064, 94425324986367, +STORE, 94425324986368, 94425325006847, +STORE, 140382015016960, 140382015188991, +ERASE, 140382015016960, 140382015016960, +STORE, 140382015016960, 140382015021055, +STORE, 140382015021056, 140382015188991, +ERASE, 140382015021056, 140382015021056, +STORE, 140382015021056, 140382015143935, +STORE, 140382015143936, 140382015176703, +STORE, 140382015176704, 140382015184895, +STORE, 140382015184896, 140382015188991, +STORE, 140737045585920, 140737045590015, +STORE, 140737045573632, 140737045585919, +STORE, 47250779979776, 47250779987967, +STORE, 47250779987968, 47250779996159, +STORE, 47250779996160, 47250780102655, +STORE, 47250780012544, 47250780102655, +STORE, 47250779996160, 47250780012543, +ERASE, 47250780012544, 47250780012544, +STORE, 47250780012544, 47250780086271, +STORE, 47250780086272, 47250780102655, +STORE, 47250780065792, 47250780086271, +STORE, 47250780012544, 47250780065791, +ERASE, 47250780012544, 47250780012544, +STORE, 47250780012544, 47250780065791, +STORE, 47250780082176, 47250780086271, +STORE, 47250780065792, 47250780082175, +ERASE, 47250780065792, 47250780065792, +STORE, 47250780065792, 47250780082175, +STORE, 47250780094464, 47250780102655, +STORE, 47250780086272, 47250780094463, +ERASE, 47250780086272, 47250780086272, +STORE, 47250780086272, 47250780094463, +ERASE, 47250780094464, 47250780094464, +STORE, 47250780094464, 47250780102655, +STORE, 47250780102656, 47250781941759, +STORE, 47250780241920, 47250781941759, +STORE, 47250780102656, 47250780241919, +ERASE, 47250780241920, 47250780241920, +STORE, 47250780241920, 47250781900799, +STORE, 47250781900800, 47250781941759, +STORE, 47250781585408, 47250781900799, +STORE, 47250780241920, 47250781585407, +ERASE, 47250780241920, 47250780241920, +STORE, 47250780241920, 47250781585407, +STORE, 47250781896704, 47250781900799, +STORE, 47250781585408, 47250781896703, +ERASE, 47250781585408, 47250781585408, +STORE, 47250781585408, 47250781896703, +STORE, 47250781925376, 47250781941759, +STORE, 47250781900800, 47250781925375, +ERASE, 47250781900800, 47250781900800, +STORE, 47250781900800, 47250781925375, +ERASE, 47250781925376, 47250781925376, +STORE, 47250781925376, 47250781941759, +STORE, 47250781925376, 47250781954047, +ERASE, 47250781900800, 47250781900800, +STORE, 47250781900800, 47250781917183, +STORE, 47250781917184, 47250781925375, +ERASE, 47250780086272, 47250780086272, +STORE, 47250780086272, 47250780090367, +STORE, 47250780090368, 47250780094463, +ERASE, 94425324986368, 94425324986368, +STORE, 94425324986368, 94425325002751, +STORE, 94425325002752, 94425325006847, +ERASE, 140382015176704, 140382015176704, +STORE, 140382015176704, 140382015180799, +STORE, 140382015180800, 140382015184895, +ERASE, 47250779979776, 47250779979776, +STORE, 94425351438336, 94425351573503, +STORE, 140737488347136, 140737488351231, +STORE, 140736801144832, 140737488351231, +ERASE, 140736801144832, 140736801144832, +STORE, 140736801144832, 140736801148927, +STORE, 94629429358592, 94629430071295, +ERASE, 94629429358592, 94629429358592, +STORE, 94629429358592, 94629429407743, +STORE, 94629429407744, 94629430071295, +ERASE, 94629429407744, 94629429407744, +STORE, 94629429407744, 94629429952511, +STORE, 94629429952512, 94629430050815, +STORE, 94629430050816, 94629430071295, +STORE, 139801685483520, 139801685655551, +ERASE, 139801685483520, 139801685483520, +STORE, 139801685483520, 139801685487615, +STORE, 139801685487616, 139801685655551, +ERASE, 139801685487616, 139801685487616, +STORE, 139801685487616, 139801685610495, +STORE, 139801685610496, 139801685643263, +STORE, 139801685643264, 139801685651455, +STORE, 139801685651456, 139801685655551, +STORE, 140736801198080, 140736801202175, +STORE, 140736801185792, 140736801198079, +STORE, 47831109513216, 47831109521407, +STORE, 47831109521408, 47831109529599, +STORE, 47831109529600, 47831109636095, +STORE, 47831109545984, 47831109636095, +STORE, 47831109529600, 47831109545983, +ERASE, 47831109545984, 47831109545984, +STORE, 47831109545984, 47831109619711, +STORE, 47831109619712, 47831109636095, +STORE, 47831109599232, 47831109619711, +STORE, 47831109545984, 47831109599231, +ERASE, 47831109545984, 47831109545984, +STORE, 47831109545984, 47831109599231, +STORE, 47831109615616, 47831109619711, +STORE, 47831109599232, 47831109615615, +ERASE, 47831109599232, 47831109599232, +STORE, 47831109599232, 47831109615615, +STORE, 47831109627904, 47831109636095, +STORE, 47831109619712, 47831109627903, +ERASE, 47831109619712, 47831109619712, +STORE, 47831109619712, 47831109627903, +ERASE, 47831109627904, 47831109627904, +STORE, 47831109627904, 47831109636095, +STORE, 47831109636096, 47831111475199, +STORE, 47831109775360, 47831111475199, +STORE, 47831109636096, 47831109775359, +ERASE, 47831109775360, 47831109775360, +STORE, 47831109775360, 47831111434239, +STORE, 47831111434240, 47831111475199, +STORE, 47831111118848, 47831111434239, +STORE, 47831109775360, 47831111118847, +ERASE, 47831109775360, 47831109775360, +STORE, 47831109775360, 47831111118847, +STORE, 47831111430144, 47831111434239, +STORE, 47831111118848, 47831111430143, +ERASE, 47831111118848, 47831111118848, +STORE, 47831111118848, 47831111430143, +STORE, 47831111458816, 47831111475199, +STORE, 47831111434240, 47831111458815, +ERASE, 47831111434240, 47831111434240, +STORE, 47831111434240, 47831111458815, +ERASE, 47831111458816, 47831111458816, +STORE, 47831111458816, 47831111475199, +STORE, 47831111458816, 47831111487487, +ERASE, 47831111434240, 47831111434240, +STORE, 47831111434240, 47831111450623, +STORE, 47831111450624, 47831111458815, +ERASE, 47831109619712, 47831109619712, +STORE, 47831109619712, 47831109623807, +STORE, 47831109623808, 47831109627903, +ERASE, 94629430050816, 94629430050816, +STORE, 94629430050816, 94629430067199, +STORE, 94629430067200, 94629430071295, +ERASE, 139801685643264, 139801685643264, +STORE, 139801685643264, 139801685647359, +STORE, 139801685647360, 139801685651455, +ERASE, 47831109513216, 47831109513216, +STORE, 140737488347136, 140737488351231, +STORE, 140729419612160, 140737488351231, +ERASE, 140729419612160, 140729419612160, +STORE, 140729419612160, 140729419616255, +STORE, 94443354148864, 94443354861567, +ERASE, 94443354148864, 94443354148864, +STORE, 94443354148864, 94443354198015, +STORE, 94443354198016, 94443354861567, +ERASE, 94443354198016, 94443354198016, +STORE, 94443354198016, 94443354742783, +STORE, 94443354742784, 94443354841087, +STORE, 94443354841088, 94443354861567, +STORE, 139741700038656, 139741700210687, +ERASE, 139741700038656, 139741700038656, +STORE, 139741700038656, 139741700042751, +STORE, 139741700042752, 139741700210687, +ERASE, 139741700042752, 139741700042752, +STORE, 139741700042752, 139741700165631, +STORE, 139741700165632, 139741700198399, +STORE, 139741700198400, 139741700206591, +STORE, 139741700206592, 139741700210687, +STORE, 140729420574720, 140729420578815, +STORE, 140729420562432, 140729420574719, +STORE, 47891094958080, 47891094966271, +STORE, 47891094966272, 47891094974463, +STORE, 47891094974464, 47891095080959, +STORE, 47891094990848, 47891095080959, +STORE, 47891094974464, 47891094990847, +ERASE, 47891094990848, 47891094990848, +STORE, 47891094990848, 47891095064575, +STORE, 47891095064576, 47891095080959, +STORE, 47891095044096, 47891095064575, +STORE, 47891094990848, 47891095044095, +ERASE, 47891094990848, 47891094990848, +STORE, 47891094990848, 47891095044095, +STORE, 47891095060480, 47891095064575, +STORE, 47891095044096, 47891095060479, +ERASE, 47891095044096, 47891095044096, +STORE, 47891095044096, 47891095060479, +STORE, 47891095072768, 47891095080959, +STORE, 47891095064576, 47891095072767, +ERASE, 47891095064576, 47891095064576, +STORE, 47891095064576, 47891095072767, +ERASE, 47891095072768, 47891095072768, +STORE, 47891095072768, 47891095080959, +STORE, 47891095080960, 47891096920063, +STORE, 47891095220224, 47891096920063, +STORE, 47891095080960, 47891095220223, +ERASE, 47891095220224, 47891095220224, +STORE, 47891095220224, 47891096879103, +STORE, 47891096879104, 47891096920063, +STORE, 47891096563712, 47891096879103, +STORE, 47891095220224, 47891096563711, +ERASE, 47891095220224, 47891095220224, +STORE, 47891095220224, 47891096563711, +STORE, 47891096875008, 47891096879103, +STORE, 47891096563712, 47891096875007, +ERASE, 47891096563712, 47891096563712, +STORE, 47891096563712, 47891096875007, +STORE, 47891096903680, 47891096920063, +STORE, 47891096879104, 47891096903679, +ERASE, 47891096879104, 47891096879104, +STORE, 47891096879104, 47891096903679, +ERASE, 47891096903680, 47891096903680, +STORE, 47891096903680, 47891096920063, +STORE, 47891096903680, 47891096932351, +ERASE, 47891096879104, 47891096879104, +STORE, 47891096879104, 47891096895487, +STORE, 47891096895488, 47891096903679, +ERASE, 47891095064576, 47891095064576, +STORE, 47891095064576, 47891095068671, +STORE, 47891095068672, 47891095072767, +ERASE, 94443354841088, 94443354841088, +STORE, 94443354841088, 94443354857471, +STORE, 94443354857472, 94443354861567, +ERASE, 139741700198400, 139741700198400, +STORE, 139741700198400, 139741700202495, +STORE, 139741700202496, 139741700206591, +ERASE, 47891094958080, 47891094958080, +STORE, 94443360825344, 94443360960511, +STORE, 140737488347136, 140737488351231, +STORE, 140722961661952, 140737488351231, +ERASE, 140722961661952, 140722961661952, +STORE, 140722961661952, 140722961666047, +STORE, 94878388944896, 94878389657599, +ERASE, 94878388944896, 94878388944896, +STORE, 94878388944896, 94878388994047, +STORE, 94878388994048, 94878389657599, +ERASE, 94878388994048, 94878388994048, +STORE, 94878388994048, 94878389538815, +STORE, 94878389538816, 94878389637119, +STORE, 94878389637120, 94878389657599, +STORE, 140210690056192, 140210690228223, +ERASE, 140210690056192, 140210690056192, +STORE, 140210690056192, 140210690060287, +STORE, 140210690060288, 140210690228223, +ERASE, 140210690060288, 140210690060288, +STORE, 140210690060288, 140210690183167, +STORE, 140210690183168, 140210690215935, +STORE, 140210690215936, 140210690224127, +STORE, 140210690224128, 140210690228223, +STORE, 140722963148800, 140722963152895, +STORE, 140722963136512, 140722963148799, +STORE, 47422104940544, 47422104948735, +STORE, 47422104948736, 47422104956927, +STORE, 47422104956928, 47422105063423, +STORE, 47422104973312, 47422105063423, +STORE, 47422104956928, 47422104973311, +ERASE, 47422104973312, 47422104973312, +STORE, 47422104973312, 47422105047039, +STORE, 47422105047040, 47422105063423, +STORE, 47422105026560, 47422105047039, +STORE, 47422104973312, 47422105026559, +ERASE, 47422104973312, 47422104973312, +STORE, 47422104973312, 47422105026559, +STORE, 47422105042944, 47422105047039, +STORE, 47422105026560, 47422105042943, +ERASE, 47422105026560, 47422105026560, +STORE, 47422105026560, 47422105042943, +STORE, 47422105055232, 47422105063423, +STORE, 47422105047040, 47422105055231, +ERASE, 47422105047040, 47422105047040, +STORE, 47422105047040, 47422105055231, +ERASE, 47422105055232, 47422105055232, +STORE, 47422105055232, 47422105063423, +STORE, 47422105063424, 47422106902527, +STORE, 47422105202688, 47422106902527, +STORE, 47422105063424, 47422105202687, +ERASE, 47422105202688, 47422105202688, +STORE, 47422105202688, 47422106861567, +STORE, 47422106861568, 47422106902527, +STORE, 47422106546176, 47422106861567, +STORE, 47422105202688, 47422106546175, +ERASE, 47422105202688, 47422105202688, +STORE, 47422105202688, 47422106546175, +STORE, 47422106857472, 47422106861567, +STORE, 47422106546176, 47422106857471, +ERASE, 47422106546176, 47422106546176, +STORE, 47422106546176, 47422106857471, +STORE, 47422106886144, 47422106902527, +STORE, 47422106861568, 47422106886143, +ERASE, 47422106861568, 47422106861568, +STORE, 47422106861568, 47422106886143, +ERASE, 47422106886144, 47422106886144, +STORE, 47422106886144, 47422106902527, +STORE, 47422106886144, 47422106914815, +ERASE, 47422106861568, 47422106861568, +STORE, 47422106861568, 47422106877951, +STORE, 47422106877952, 47422106886143, +ERASE, 47422105047040, 47422105047040, +STORE, 47422105047040, 47422105051135, +STORE, 47422105051136, 47422105055231, +ERASE, 94878389637120, 94878389637120, +STORE, 94878389637120, 94878389653503, +STORE, 94878389653504, 94878389657599, +ERASE, 140210690215936, 140210690215936, +STORE, 140210690215936, 140210690220031, +STORE, 140210690220032, 140210690224127, +ERASE, 47422104940544, 47422104940544, +STORE, 140737488347136, 140737488351231, +STORE, 140727690309632, 140737488351231, +ERASE, 140727690309632, 140727690309632, +STORE, 140727690309632, 140727690313727, +STORE, 94121892208640, 94121892921343, +ERASE, 94121892208640, 94121892208640, +STORE, 94121892208640, 94121892257791, +STORE, 94121892257792, 94121892921343, +ERASE, 94121892257792, 94121892257792, +STORE, 94121892257792, 94121892802559, +STORE, 94121892802560, 94121892900863, +STORE, 94121892900864, 94121892921343, +STORE, 140662438326272, 140662438498303, +ERASE, 140662438326272, 140662438326272, +STORE, 140662438326272, 140662438330367, +STORE, 140662438330368, 140662438498303, +ERASE, 140662438330368, 140662438330368, +STORE, 140662438330368, 140662438453247, +STORE, 140662438453248, 140662438486015, +STORE, 140662438486016, 140662438494207, +STORE, 140662438494208, 140662438498303, +STORE, 140727690379264, 140727690383359, +STORE, 140727690366976, 140727690379263, +STORE, 46970356670464, 46970356678655, +STORE, 46970356678656, 46970356686847, +STORE, 46970356686848, 46970356793343, +STORE, 46970356703232, 46970356793343, +STORE, 46970356686848, 46970356703231, +ERASE, 46970356703232, 46970356703232, +STORE, 46970356703232, 46970356776959, +STORE, 46970356776960, 46970356793343, +STORE, 46970356756480, 46970356776959, +STORE, 46970356703232, 46970356756479, +ERASE, 46970356703232, 46970356703232, +STORE, 46970356703232, 46970356756479, +STORE, 46970356772864, 46970356776959, +STORE, 46970356756480, 46970356772863, +ERASE, 46970356756480, 46970356756480, +STORE, 46970356756480, 46970356772863, +STORE, 46970356785152, 46970356793343, +STORE, 46970356776960, 46970356785151, +ERASE, 46970356776960, 46970356776960, +STORE, 46970356776960, 46970356785151, +ERASE, 46970356785152, 46970356785152, +STORE, 46970356785152, 46970356793343, +STORE, 46970356793344, 46970358632447, +STORE, 46970356932608, 46970358632447, +STORE, 46970356793344, 46970356932607, +ERASE, 46970356932608, 46970356932608, +STORE, 46970356932608, 46970358591487, +STORE, 46970358591488, 46970358632447, +STORE, 46970358276096, 46970358591487, +STORE, 46970356932608, 46970358276095, +ERASE, 46970356932608, 46970356932608, +STORE, 46970356932608, 46970358276095, +STORE, 46970358587392, 46970358591487, +STORE, 46970358276096, 46970358587391, +ERASE, 46970358276096, 46970358276096, +STORE, 46970358276096, 46970358587391, +STORE, 46970358616064, 46970358632447, +STORE, 46970358591488, 46970358616063, +ERASE, 46970358591488, 46970358591488, +STORE, 46970358591488, 46970358616063, +ERASE, 46970358616064, 46970358616064, +STORE, 46970358616064, 46970358632447, +STORE, 46970358616064, 46970358644735, +ERASE, 46970358591488, 46970358591488, +STORE, 46970358591488, 46970358607871, +STORE, 46970358607872, 46970358616063, +ERASE, 46970356776960, 46970356776960, +STORE, 46970356776960, 46970356781055, +STORE, 46970356781056, 46970356785151, +ERASE, 94121892900864, 94121892900864, +STORE, 94121892900864, 94121892917247, +STORE, 94121892917248, 94121892921343, +ERASE, 140662438486016, 140662438486016, +STORE, 140662438486016, 140662438490111, +STORE, 140662438490112, 140662438494207, +ERASE, 46970356670464, 46970356670464, +STORE, 94121898610688, 94121898745855, +STORE, 140737488347136, 140737488351231, +STORE, 140737189351424, 140737488351231, +ERASE, 140737189351424, 140737189351424, +STORE, 140737189351424, 140737189355519, +STORE, 93847948832768, 93847949545471, +ERASE, 93847948832768, 93847948832768, +STORE, 93847948832768, 93847948881919, +STORE, 93847948881920, 93847949545471, +ERASE, 93847948881920, 93847948881920, +STORE, 93847948881920, 93847949426687, +STORE, 93847949426688, 93847949524991, +STORE, 93847949524992, 93847949545471, +STORE, 139698989985792, 139698990157823, +ERASE, 139698989985792, 139698989985792, +STORE, 139698989985792, 139698989989887, +STORE, 139698989989888, 139698990157823, +ERASE, 139698989989888, 139698989989888, +STORE, 139698989989888, 139698990112767, +STORE, 139698990112768, 139698990145535, +STORE, 139698990145536, 139698990153727, +STORE, 139698990153728, 139698990157823, +STORE, 140737189744640, 140737189748735, +STORE, 140737189732352, 140737189744639, +STORE, 47933805010944, 47933805019135, +STORE, 47933805019136, 47933805027327, +STORE, 47933805027328, 47933805133823, +STORE, 47933805043712, 47933805133823, +STORE, 47933805027328, 47933805043711, +ERASE, 47933805043712, 47933805043712, +STORE, 47933805043712, 47933805117439, +STORE, 47933805117440, 47933805133823, +STORE, 47933805096960, 47933805117439, +STORE, 47933805043712, 47933805096959, +ERASE, 47933805043712, 47933805043712, +STORE, 47933805043712, 47933805096959, +STORE, 47933805113344, 47933805117439, +STORE, 47933805096960, 47933805113343, +ERASE, 47933805096960, 47933805096960, +STORE, 47933805096960, 47933805113343, +STORE, 47933805125632, 47933805133823, +STORE, 47933805117440, 47933805125631, +ERASE, 47933805117440, 47933805117440, +STORE, 47933805117440, 47933805125631, +ERASE, 47933805125632, 47933805125632, +STORE, 47933805125632, 47933805133823, +STORE, 47933805133824, 47933806972927, +STORE, 47933805273088, 47933806972927, +STORE, 47933805133824, 47933805273087, +ERASE, 47933805273088, 47933805273088, +STORE, 47933805273088, 47933806931967, +STORE, 47933806931968, 47933806972927, +STORE, 47933806616576, 47933806931967, +STORE, 47933805273088, 47933806616575, +ERASE, 47933805273088, 47933805273088, +STORE, 47933805273088, 47933806616575, +STORE, 47933806927872, 47933806931967, +STORE, 47933806616576, 47933806927871, +ERASE, 47933806616576, 47933806616576, +STORE, 47933806616576, 47933806927871, +STORE, 47933806956544, 47933806972927, +STORE, 47933806931968, 47933806956543, +ERASE, 47933806931968, 47933806931968, +STORE, 47933806931968, 47933806956543, +ERASE, 47933806956544, 47933806956544, +STORE, 47933806956544, 47933806972927, +STORE, 47933806956544, 47933806985215, +ERASE, 47933806931968, 47933806931968, +STORE, 47933806931968, 47933806948351, +STORE, 47933806948352, 47933806956543, +ERASE, 47933805117440, 47933805117440, +STORE, 47933805117440, 47933805121535, +STORE, 47933805121536, 47933805125631, +ERASE, 93847949524992, 93847949524992, +STORE, 93847949524992, 93847949541375, +STORE, 93847949541376, 93847949545471, +ERASE, 139698990145536, 139698990145536, +STORE, 139698990145536, 139698990149631, +STORE, 139698990149632, 139698990153727, +ERASE, 47933805010944, 47933805010944, +STORE, 140737488347136, 140737488351231, +STORE, 140725553991680, 140737488351231, +ERASE, 140725553991680, 140725553991680, +STORE, 140725553991680, 140725553995775, +STORE, 93980056248320, 93980056961023, +ERASE, 93980056248320, 93980056248320, +STORE, 93980056248320, 93980056297471, +STORE, 93980056297472, 93980056961023, +ERASE, 93980056297472, 93980056297472, +STORE, 93980056297472, 93980056842239, +STORE, 93980056842240, 93980056940543, +STORE, 93980056940544, 93980056961023, +STORE, 140146588971008, 140146589143039, +ERASE, 140146588971008, 140146588971008, +STORE, 140146588971008, 140146588975103, +STORE, 140146588975104, 140146589143039, +ERASE, 140146588975104, 140146588975104, +STORE, 140146588975104, 140146589097983, +STORE, 140146589097984, 140146589130751, +STORE, 140146589130752, 140146589138943, +STORE, 140146589138944, 140146589143039, +STORE, 140725554860032, 140725554864127, +STORE, 140725554847744, 140725554860031, +STORE, 47486206025728, 47486206033919, +STORE, 47486206033920, 47486206042111, +STORE, 47486206042112, 47486206148607, +STORE, 47486206058496, 47486206148607, +STORE, 47486206042112, 47486206058495, +ERASE, 47486206058496, 47486206058496, +STORE, 47486206058496, 47486206132223, +STORE, 47486206132224, 47486206148607, +STORE, 47486206111744, 47486206132223, +STORE, 47486206058496, 47486206111743, +ERASE, 47486206058496, 47486206058496, +STORE, 47486206058496, 47486206111743, +STORE, 47486206128128, 47486206132223, +STORE, 47486206111744, 47486206128127, +ERASE, 47486206111744, 47486206111744, +STORE, 47486206111744, 47486206128127, +STORE, 47486206140416, 47486206148607, +STORE, 47486206132224, 47486206140415, +ERASE, 47486206132224, 47486206132224, +STORE, 47486206132224, 47486206140415, +ERASE, 47486206140416, 47486206140416, +STORE, 47486206140416, 47486206148607, +STORE, 47486206148608, 47486207987711, +STORE, 47486206287872, 47486207987711, +STORE, 47486206148608, 47486206287871, +ERASE, 47486206287872, 47486206287872, +STORE, 47486206287872, 47486207946751, +STORE, 47486207946752, 47486207987711, +STORE, 47486207631360, 47486207946751, +STORE, 47486206287872, 47486207631359, +ERASE, 47486206287872, 47486206287872, +STORE, 47486206287872, 47486207631359, +STORE, 47486207942656, 47486207946751, +STORE, 47486207631360, 47486207942655, +ERASE, 47486207631360, 47486207631360, +STORE, 47486207631360, 47486207942655, +STORE, 47486207971328, 47486207987711, +STORE, 47486207946752, 47486207971327, +ERASE, 47486207946752, 47486207946752, +STORE, 47486207946752, 47486207971327, +ERASE, 47486207971328, 47486207971328, +STORE, 47486207971328, 47486207987711, +STORE, 47486207971328, 47486207999999, +ERASE, 47486207946752, 47486207946752, +STORE, 47486207946752, 47486207963135, +STORE, 47486207963136, 47486207971327, +ERASE, 47486206132224, 47486206132224, +STORE, 47486206132224, 47486206136319, +STORE, 47486206136320, 47486206140415, +ERASE, 93980056940544, 93980056940544, +STORE, 93980056940544, 93980056956927, +STORE, 93980056956928, 93980056961023, +ERASE, 140146589130752, 140146589130752, +STORE, 140146589130752, 140146589134847, +STORE, 140146589134848, 140146589138943, +ERASE, 47486206025728, 47486206025728, +STORE, 93980070006784, 93980070141951, +STORE, 140737488347136, 140737488351231, +STORE, 140727334776832, 140737488351231, +ERASE, 140727334776832, 140727334776832, +STORE, 140727334776832, 140727334780927, +STORE, 94049747247104, 94049747959807, +ERASE, 94049747247104, 94049747247104, +STORE, 94049747247104, 94049747296255, +STORE, 94049747296256, 94049747959807, +ERASE, 94049747296256, 94049747296256, +STORE, 94049747296256, 94049747841023, +STORE, 94049747841024, 94049747939327, +STORE, 94049747939328, 94049747959807, +STORE, 140227307216896, 140227307388927, +ERASE, 140227307216896, 140227307216896, +STORE, 140227307216896, 140227307220991, +STORE, 140227307220992, 140227307388927, +ERASE, 140227307220992, 140227307220992, +STORE, 140227307220992, 140227307343871, +STORE, 140227307343872, 140227307376639, +STORE, 140227307376640, 140227307384831, +STORE, 140227307384832, 140227307388927, +STORE, 140727335337984, 140727335342079, +STORE, 140727335325696, 140727335337983, +STORE, 47405487779840, 47405487788031, +STORE, 47405487788032, 47405487796223, +STORE, 47405487796224, 47405487902719, +STORE, 47405487812608, 47405487902719, +STORE, 47405487796224, 47405487812607, +ERASE, 47405487812608, 47405487812608, +STORE, 47405487812608, 47405487886335, +STORE, 47405487886336, 47405487902719, +STORE, 47405487865856, 47405487886335, +STORE, 47405487812608, 47405487865855, +ERASE, 47405487812608, 47405487812608, +STORE, 47405487812608, 47405487865855, +STORE, 47405487882240, 47405487886335, +STORE, 47405487865856, 47405487882239, +ERASE, 47405487865856, 47405487865856, +STORE, 47405487865856, 47405487882239, +STORE, 47405487894528, 47405487902719, +STORE, 47405487886336, 47405487894527, +ERASE, 47405487886336, 47405487886336, +STORE, 47405487886336, 47405487894527, +ERASE, 47405487894528, 47405487894528, +STORE, 47405487894528, 47405487902719, +STORE, 47405487902720, 47405489741823, +STORE, 47405488041984, 47405489741823, +STORE, 47405487902720, 47405488041983, +ERASE, 47405488041984, 47405488041984, +STORE, 47405488041984, 47405489700863, +STORE, 47405489700864, 47405489741823, +STORE, 47405489385472, 47405489700863, +STORE, 47405488041984, 47405489385471, +ERASE, 47405488041984, 47405488041984, +STORE, 47405488041984, 47405489385471, +STORE, 47405489696768, 47405489700863, +STORE, 47405489385472, 47405489696767, +ERASE, 47405489385472, 47405489385472, +STORE, 47405489385472, 47405489696767, +STORE, 47405489725440, 47405489741823, +STORE, 47405489700864, 47405489725439, +ERASE, 47405489700864, 47405489700864, +STORE, 47405489700864, 47405489725439, +ERASE, 47405489725440, 47405489725440, +STORE, 47405489725440, 47405489741823, +STORE, 47405489725440, 47405489754111, +ERASE, 47405489700864, 47405489700864, +STORE, 47405489700864, 47405489717247, +STORE, 47405489717248, 47405489725439, +ERASE, 47405487886336, 47405487886336, +STORE, 47405487886336, 47405487890431, +STORE, 47405487890432, 47405487894527, +ERASE, 94049747939328, 94049747939328, +STORE, 94049747939328, 94049747955711, +STORE, 94049747955712, 94049747959807, +ERASE, 140227307376640, 140227307376640, +STORE, 140227307376640, 140227307380735, +STORE, 140227307380736, 140227307384831, +ERASE, 47405487779840, 47405487779840, +STORE, 94049758810112, 94049758945279, +STORE, 140737488347136, 140737488351231, +STORE, 140727079718912, 140737488351231, +ERASE, 140727079718912, 140727079718912, +STORE, 140727079718912, 140727079723007, +STORE, 94250996527104, 94250997239807, +ERASE, 94250996527104, 94250996527104, +STORE, 94250996527104, 94250996576255, +STORE, 94250996576256, 94250997239807, +ERASE, 94250996576256, 94250996576256, +STORE, 94250996576256, 94250997121023, +STORE, 94250997121024, 94250997219327, +STORE, 94250997219328, 94250997239807, +STORE, 140060022587392, 140060022759423, +ERASE, 140060022587392, 140060022587392, +STORE, 140060022587392, 140060022591487, +STORE, 140060022591488, 140060022759423, +ERASE, 140060022591488, 140060022591488, +STORE, 140060022591488, 140060022714367, +STORE, 140060022714368, 140060022747135, +STORE, 140060022747136, 140060022755327, +STORE, 140060022755328, 140060022759423, +STORE, 140727079788544, 140727079792639, +STORE, 140727079776256, 140727079788543, +/* this next one caused issues when lowering the efficiency */ +STORE, 47572772409344, 47572772417535, +STORE, 47572772417536, 47572772425727, +STORE, 47572772425728, 47572772532223, +STORE, 47572772442112, 47572772532223, +STORE, 47572772425728, 47572772442111, +ERASE, 47572772442112, 47572772442112, +STORE, 47572772442112, 47572772515839, +STORE, 47572772515840, 47572772532223, +STORE, 47572772495360, 47572772515839, +STORE, 47572772442112, 47572772495359, +ERASE, 47572772442112, 47572772442112, +STORE, 47572772442112, 47572772495359, +STORE, 47572772511744, 47572772515839, +STORE, 47572772495360, 47572772511743, +ERASE, 47572772495360, 47572772495360, +STORE, 47572772495360, 47572772511743, +STORE, 47572772524032, 47572772532223, +STORE, 47572772515840, 47572772524031, +ERASE, 47572772515840, 47572772515840, +STORE, 47572772515840, 47572772524031, +ERASE, 47572772524032, 47572772524032, +STORE, 47572772524032, 47572772532223, +STORE, 47572772532224, 47572774371327, +STORE, 47572772671488, 47572774371327, +STORE, 47572772532224, 47572772671487, +ERASE, 47572772671488, 47572772671488, +STORE, 47572772671488, 47572774330367, +STORE, 47572774330368, 47572774371327, +STORE, 47572774014976, 47572774330367, +STORE, 47572772671488, 47572774014975, +ERASE, 47572772671488, 47572772671488, +STORE, 47572772671488, 47572774014975, +STORE, 47572774326272, 47572774330367, +STORE, 47572774014976, 47572774326271, +ERASE, 47572774014976, 47572774014976, +STORE, 47572774014976, 47572774326271, +STORE, 47572774354944, 47572774371327, +STORE, 47572774330368, 47572774354943, +ERASE, 47572774330368, 47572774330368, +STORE, 47572774330368, 47572774354943, +ERASE, 47572774354944, 47572774354944, +STORE, 47572774354944, 47572774371327, +STORE, 47572774354944, 47572774383615, +ERASE, 47572774330368, 47572774330368, +STORE, 47572774330368, 47572774346751, +STORE, 47572774346752, 47572774354943, +ERASE, 47572772515840, 47572772515840, +STORE, 47572772515840, 47572772519935, +STORE, 47572772519936, 47572772524031, +ERASE, 94250997219328, 94250997219328, +STORE, 94250997219328, 94250997235711, +STORE, 94250997235712, 94250997239807, +ERASE, 140060022747136, 140060022747136, +STORE, 140060022747136, 140060022751231, +STORE, 140060022751232, 140060022755327, +ERASE, 47572772409344, 47572772409344, +STORE, 94251018305536, 94251018440703, +STORE, 140737488347136, 140737488351231, +STORE, 140730012389376, 140737488351231, +ERASE, 140730012389376, 140730012389376, +STORE, 140730012389376, 140730012393471, +STORE, 94382607675392, 94382607695871, +ERASE, 94382607675392, 94382607675392, +STORE, 94382607675392, 94382607679487, +STORE, 94382607679488, 94382607695871, +ERASE, 94382607679488, 94382607679488, +STORE, 94382607679488, 94382607683583, +STORE, 94382607683584, 94382607687679, +STORE, 94382607687680, 94382607695871, +STORE, 140252451454976, 140252451627007, +ERASE, 140252451454976, 140252451454976, +STORE, 140252451454976, 140252451459071, +STORE, 140252451459072, 140252451627007, +ERASE, 140252451459072, 140252451459072, +STORE, 140252451459072, 140252451581951, +STORE, 140252451581952, 140252451614719, +STORE, 140252451614720, 140252451622911, +STORE, 140252451622912, 140252451627007, +STORE, 140730013548544, 140730013552639, +STORE, 140730013536256, 140730013548543, +STORE, 47380343541760, 47380343549951, +STORE, 47380343549952, 47380343558143, +STORE, 47380343558144, 47380345397247, +STORE, 47380343697408, 47380345397247, +STORE, 47380343558144, 47380343697407, +ERASE, 47380343697408, 47380343697408, +STORE, 47380343697408, 47380345356287, +STORE, 47380345356288, 47380345397247, +STORE, 47380345040896, 47380345356287, +STORE, 47380343697408, 47380345040895, +ERASE, 47380343697408, 47380343697408, +STORE, 47380343697408, 47380345040895, +STORE, 47380345352192, 47380345356287, +STORE, 47380345040896, 47380345352191, +ERASE, 47380345040896, 47380345040896, +STORE, 47380345040896, 47380345352191, +STORE, 47380345380864, 47380345397247, +STORE, 47380345356288, 47380345380863, +ERASE, 47380345356288, 47380345356288, +STORE, 47380345356288, 47380345380863, +ERASE, 47380345380864, 47380345380864, +STORE, 47380345380864, 47380345397247, +ERASE, 47380345356288, 47380345356288, +STORE, 47380345356288, 47380345372671, +STORE, 47380345372672, 47380345380863, +ERASE, 94382607687680, 94382607687680, +STORE, 94382607687680, 94382607691775, +STORE, 94382607691776, 94382607695871, +ERASE, 140252451614720, 140252451614720, +STORE, 140252451614720, 140252451618815, +STORE, 140252451618816, 140252451622911, +ERASE, 47380343541760, 47380343541760, +STORE, 94382626803712, 94382626938879, +STORE, 140737488347136, 140737488351231, +STORE, 140730900271104, 140737488351231, +ERASE, 140730900271104, 140730900271104, +STORE, 140730900271104, 140730900275199, +STORE, 93855478120448, 93855478337535, +ERASE, 93855478120448, 93855478120448, +STORE, 93855478120448, 93855478198271, +STORE, 93855478198272, 93855478337535, +ERASE, 93855478198272, 93855478198272, +STORE, 93855478198272, 93855478243327, +STORE, 93855478243328, 93855478288383, +STORE, 93855478288384, 93855478337535, +STORE, 140092686573568, 140092686745599, +ERASE, 140092686573568, 140092686573568, +STORE, 140092686573568, 140092686577663, +STORE, 140092686577664, 140092686745599, +ERASE, 140092686577664, 140092686577664, +STORE, 140092686577664, 140092686700543, +STORE, 140092686700544, 140092686733311, +STORE, 140092686733312, 140092686741503, +STORE, 140092686741504, 140092686745599, +STORE, 140730900537344, 140730900541439, +STORE, 140730900525056, 140730900537343, +STORE, 47540108423168, 47540108431359, +STORE, 47540108431360, 47540108439551, +STORE, 47540108439552, 47540110278655, +STORE, 47540108578816, 47540110278655, +STORE, 47540108439552, 47540108578815, +ERASE, 47540108578816, 47540108578816, +STORE, 47540108578816, 47540110237695, +STORE, 47540110237696, 47540110278655, +STORE, 47540109922304, 47540110237695, +STORE, 47540108578816, 47540109922303, +ERASE, 47540108578816, 47540108578816, +STORE, 47540108578816, 47540109922303, +STORE, 47540110233600, 47540110237695, +STORE, 47540109922304, 47540110233599, +ERASE, 47540109922304, 47540109922304, +STORE, 47540109922304, 47540110233599, +STORE, 47540110262272, 47540110278655, +STORE, 47540110237696, 47540110262271, +ERASE, 47540110237696, 47540110237696, +STORE, 47540110237696, 47540110262271, +ERASE, 47540110262272, 47540110262272, +STORE, 47540110262272, 47540110278655, +ERASE, 47540110237696, 47540110237696, +STORE, 47540110237696, 47540110254079, +STORE, 47540110254080, 47540110262271, +ERASE, 93855478288384, 93855478288384, +STORE, 93855478288384, 93855478333439, +STORE, 93855478333440, 93855478337535, +ERASE, 140092686733312, 140092686733312, +STORE, 140092686733312, 140092686737407, +STORE, 140092686737408, 140092686741503, +ERASE, 47540108423168, 47540108423168, +STORE, 93855492222976, 93855492358143, +STORE, 93855492222976, 93855492493311, +STORE, 140737488347136, 140737488351231, +STORE, 140733498146816, 140737488351231, +ERASE, 140733498146816, 140733498146816, +STORE, 140733498146816, 140733498150911, +STORE, 94170739654656, 94170740367359, +ERASE, 94170739654656, 94170739654656, +STORE, 94170739654656, 94170739703807, +STORE, 94170739703808, 94170740367359, +ERASE, 94170739703808, 94170739703808, +STORE, 94170739703808, 94170740248575, +STORE, 94170740248576, 94170740346879, +STORE, 94170740346880, 94170740367359, +STORE, 140024788877312, 140024789049343, +ERASE, 140024788877312, 140024788877312, +STORE, 140024788877312, 140024788881407, +STORE, 140024788881408, 140024789049343, +ERASE, 140024788881408, 140024788881408, +STORE, 140024788881408, 140024789004287, +STORE, 140024789004288, 140024789037055, +STORE, 140024789037056, 140024789045247, +STORE, 140024789045248, 140024789049343, +STORE, 140733499023360, 140733499027455, +STORE, 140733499011072, 140733499023359, +STORE, 47608006119424, 47608006127615, +STORE, 47608006127616, 47608006135807, +STORE, 47608006135808, 47608006242303, +STORE, 47608006152192, 47608006242303, +STORE, 47608006135808, 47608006152191, +ERASE, 47608006152192, 47608006152192, +STORE, 47608006152192, 47608006225919, +STORE, 47608006225920, 47608006242303, +STORE, 47608006205440, 47608006225919, +STORE, 47608006152192, 47608006205439, +ERASE, 47608006152192, 47608006152192, +STORE, 47608006152192, 47608006205439, +STORE, 47608006221824, 47608006225919, +STORE, 47608006205440, 47608006221823, +ERASE, 47608006205440, 47608006205440, +STORE, 47608006205440, 47608006221823, +STORE, 47608006234112, 47608006242303, +STORE, 47608006225920, 47608006234111, +ERASE, 47608006225920, 47608006225920, +STORE, 47608006225920, 47608006234111, +ERASE, 47608006234112, 47608006234112, +STORE, 47608006234112, 47608006242303, +STORE, 47608006242304, 47608008081407, +STORE, 47608006381568, 47608008081407, +STORE, 47608006242304, 47608006381567, +ERASE, 47608006381568, 47608006381568, +STORE, 47608006381568, 47608008040447, +STORE, 47608008040448, 47608008081407, +STORE, 47608007725056, 47608008040447, +STORE, 47608006381568, 47608007725055, +ERASE, 47608006381568, 47608006381568, +STORE, 47608006381568, 47608007725055, +STORE, 47608008036352, 47608008040447, +STORE, 47608007725056, 47608008036351, +ERASE, 47608007725056, 47608007725056, +STORE, 47608007725056, 47608008036351, +STORE, 47608008065024, 47608008081407, +STORE, 47608008040448, 47608008065023, +ERASE, 47608008040448, 47608008040448, +STORE, 47608008040448, 47608008065023, +ERASE, 47608008065024, 47608008065024, +STORE, 47608008065024, 47608008081407, +STORE, 47608008065024, 47608008093695, +ERASE, 47608008040448, 47608008040448, +STORE, 47608008040448, 47608008056831, +STORE, 47608008056832, 47608008065023, +ERASE, 47608006225920, 47608006225920, +STORE, 47608006225920, 47608006230015, +STORE, 47608006230016, 47608006234111, +ERASE, 94170740346880, 94170740346880, +STORE, 94170740346880, 94170740363263, +STORE, 94170740363264, 94170740367359, +ERASE, 140024789037056, 140024789037056, +STORE, 140024789037056, 140024789041151, +STORE, 140024789041152, 140024789045247, +ERASE, 47608006119424, 47608006119424, +STORE, 140737488347136, 140737488351231, +STORE, 140730264326144, 140737488351231, +ERASE, 140730264326144, 140730264326144, +STORE, 140730264326144, 140730264330239, +STORE, 94653216407552, 94653217120255, +ERASE, 94653216407552, 94653216407552, +STORE, 94653216407552, 94653216456703, +STORE, 94653216456704, 94653217120255, +ERASE, 94653216456704, 94653216456704, +STORE, 94653216456704, 94653217001471, +STORE, 94653217001472, 94653217099775, +STORE, 94653217099776, 94653217120255, +STORE, 140103617011712, 140103617183743, +ERASE, 140103617011712, 140103617011712, +STORE, 140103617011712, 140103617015807, +STORE, 140103617015808, 140103617183743, +ERASE, 140103617015808, 140103617015808, +STORE, 140103617015808, 140103617138687, +STORE, 140103617138688, 140103617171455, +STORE, 140103617171456, 140103617179647, +STORE, 140103617179648, 140103617183743, +STORE, 140730265427968, 140730265432063, +STORE, 140730265415680, 140730265427967, +STORE, 47529177985024, 47529177993215, +STORE, 47529177993216, 47529178001407, +STORE, 47529178001408, 47529178107903, +STORE, 47529178017792, 47529178107903, +STORE, 47529178001408, 47529178017791, +ERASE, 47529178017792, 47529178017792, +STORE, 47529178017792, 47529178091519, +STORE, 47529178091520, 47529178107903, +STORE, 47529178071040, 47529178091519, +STORE, 47529178017792, 47529178071039, +ERASE, 47529178017792, 47529178017792, +STORE, 47529178017792, 47529178071039, +STORE, 47529178087424, 47529178091519, +STORE, 47529178071040, 47529178087423, +ERASE, 47529178071040, 47529178071040, +STORE, 47529178071040, 47529178087423, +STORE, 47529178099712, 47529178107903, +STORE, 47529178091520, 47529178099711, +ERASE, 47529178091520, 47529178091520, +STORE, 47529178091520, 47529178099711, +ERASE, 47529178099712, 47529178099712, +STORE, 47529178099712, 47529178107903, +STORE, 47529178107904, 47529179947007, +STORE, 47529178247168, 47529179947007, +STORE, 47529178107904, 47529178247167, +ERASE, 47529178247168, 47529178247168, +STORE, 47529178247168, 47529179906047, +STORE, 47529179906048, 47529179947007, +STORE, 47529179590656, 47529179906047, +STORE, 47529178247168, 47529179590655, +ERASE, 47529178247168, 47529178247168, +STORE, 47529178247168, 47529179590655, +STORE, 47529179901952, 47529179906047, +STORE, 47529179590656, 47529179901951, +ERASE, 47529179590656, 47529179590656, +STORE, 47529179590656, 47529179901951, +STORE, 47529179930624, 47529179947007, +STORE, 47529179906048, 47529179930623, +ERASE, 47529179906048, 47529179906048, +STORE, 47529179906048, 47529179930623, +ERASE, 47529179930624, 47529179930624, +STORE, 47529179930624, 47529179947007, +STORE, 47529179930624, 47529179959295, +ERASE, 47529179906048, 47529179906048, +STORE, 47529179906048, 47529179922431, +STORE, 47529179922432, 47529179930623, +ERASE, 47529178091520, 47529178091520, +STORE, 47529178091520, 47529178095615, +STORE, 47529178095616, 47529178099711, +ERASE, 94653217099776, 94653217099776, +STORE, 94653217099776, 94653217116159, +STORE, 94653217116160, 94653217120255, +ERASE, 140103617171456, 140103617171456, +STORE, 140103617171456, 140103617175551, +STORE, 140103617175552, 140103617179647, +ERASE, 47529177985024, 47529177985024, +STORE, 94653241135104, 94653241270271, +STORE, 140737488347136, 140737488351231, +STORE, 140736284549120, 140737488351231, +ERASE, 140736284549120, 140736284549120, +STORE, 140736284549120, 140736284553215, +STORE, 93963663822848, 93963664506879, +ERASE, 93963663822848, 93963663822848, +STORE, 93963663822848, 93963663884287, +STORE, 93963663884288, 93963664506879, +ERASE, 93963663884288, 93963663884288, +STORE, 93963663884288, 93963664240639, +STORE, 93963664240640, 93963664379903, +STORE, 93963664379904, 93963664506879, +STORE, 140450188439552, 140450188611583, +ERASE, 140450188439552, 140450188439552, +STORE, 140450188439552, 140450188443647, +STORE, 140450188443648, 140450188611583, +ERASE, 140450188443648, 140450188443648, +STORE, 140450188443648, 140450188566527, +STORE, 140450188566528, 140450188599295, +STORE, 140450188599296, 140450188607487, +STORE, 140450188607488, 140450188611583, +STORE, 140736284577792, 140736284581887, +STORE, 140736284565504, 140736284577791, +STORE, 47182606557184, 47182606565375, +STORE, 47182606565376, 47182606573567, +STORE, 47182606573568, 47182608412671, +STORE, 47182606712832, 47182608412671, +STORE, 47182606573568, 47182606712831, +ERASE, 47182606712832, 47182606712832, +STORE, 47182606712832, 47182608371711, +STORE, 47182608371712, 47182608412671, +STORE, 47182608056320, 47182608371711, +STORE, 47182606712832, 47182608056319, +ERASE, 47182606712832, 47182606712832, +STORE, 47182606712832, 47182608056319, +STORE, 47182608367616, 47182608371711, +STORE, 47182608056320, 47182608367615, +ERASE, 47182608056320, 47182608056320, +STORE, 47182608056320, 47182608367615, +STORE, 47182608396288, 47182608412671, +STORE, 47182608371712, 47182608396287, +ERASE, 47182608371712, 47182608371712, +STORE, 47182608371712, 47182608396287, +ERASE, 47182608396288, 47182608396288, +STORE, 47182608396288, 47182608412671, +STORE, 47182608412672, 47182608523263, +STORE, 47182608429056, 47182608523263, +STORE, 47182608412672, 47182608429055, +ERASE, 47182608429056, 47182608429056, +STORE, 47182608429056, 47182608515071, +STORE, 47182608515072, 47182608523263, +STORE, 47182608490496, 47182608515071, +STORE, 47182608429056, 47182608490495, +ERASE, 47182608429056, 47182608429056, +STORE, 47182608429056, 47182608490495, +STORE, 47182608510976, 47182608515071, +STORE, 47182608490496, 47182608510975, +ERASE, 47182608490496, 47182608490496, +STORE, 47182608490496, 47182608510975, +ERASE, 47182608515072, 47182608515072, +STORE, 47182608515072, 47182608523263, +STORE, 47182608523264, 47182608568319, +ERASE, 47182608523264, 47182608523264, +STORE, 47182608523264, 47182608531455, +STORE, 47182608531456, 47182608568319, +STORE, 47182608551936, 47182608568319, +STORE, 47182608531456, 47182608551935, +ERASE, 47182608531456, 47182608531456, +STORE, 47182608531456, 47182608551935, +STORE, 47182608560128, 47182608568319, +STORE, 47182608551936, 47182608560127, +ERASE, 47182608551936, 47182608551936, +STORE, 47182608551936, 47182608568319, +ERASE, 47182608551936, 47182608551936, +STORE, 47182608551936, 47182608560127, +STORE, 47182608560128, 47182608568319, +ERASE, 47182608560128, 47182608560128, +STORE, 47182608560128, 47182608568319, +STORE, 47182608568320, 47182608916479, +STORE, 47182608609280, 47182608916479, +STORE, 47182608568320, 47182608609279, +ERASE, 47182608609280, 47182608609280, +STORE, 47182608609280, 47182608891903, +STORE, 47182608891904, 47182608916479, +STORE, 47182608822272, 47182608891903, +STORE, 47182608609280, 47182608822271, +ERASE, 47182608609280, 47182608609280, +STORE, 47182608609280, 47182608822271, +STORE, 47182608887808, 47182608891903, +STORE, 47182608822272, 47182608887807, +ERASE, 47182608822272, 47182608822272, +STORE, 47182608822272, 47182608887807, +ERASE, 47182608891904, 47182608891904, +STORE, 47182608891904, 47182608916479, +STORE, 47182608916480, 47182611177471, +STORE, 47182609068032, 47182611177471, +STORE, 47182608916480, 47182609068031, +ERASE, 47182609068032, 47182609068032, +STORE, 47182609068032, 47182611161087, +STORE, 47182611161088, 47182611177471, +STORE, 47182611169280, 47182611177471, +STORE, 47182611161088, 47182611169279, +ERASE, 47182611161088, 47182611161088, +STORE, 47182611161088, 47182611169279, +ERASE, 47182611169280, 47182611169280, +STORE, 47182611169280, 47182611177471, +STORE, 47182611177472, 47182611312639, +ERASE, 47182611177472, 47182611177472, +STORE, 47182611177472, 47182611202047, +STORE, 47182611202048, 47182611312639, +STORE, 47182611263488, 47182611312639, +STORE, 47182611202048, 47182611263487, +ERASE, 47182611202048, 47182611202048, +STORE, 47182611202048, 47182611263487, +STORE, 47182611288064, 47182611312639, +STORE, 47182611263488, 47182611288063, +ERASE, 47182611263488, 47182611263488, +STORE, 47182611263488, 47182611312639, +ERASE, 47182611263488, 47182611263488, +STORE, 47182611263488, 47182611288063, +STORE, 47182611288064, 47182611312639, +STORE, 47182611296256, 47182611312639, +STORE, 47182611288064, 47182611296255, +ERASE, 47182611288064, 47182611288064, +STORE, 47182611288064, 47182611296255, +ERASE, 47182611296256, 47182611296256, +STORE, 47182611296256, 47182611312639, +STORE, 47182611296256, 47182611320831, +STORE, 47182611320832, 47182611484671, +ERASE, 47182611320832, 47182611320832, +STORE, 47182611320832, 47182611333119, +STORE, 47182611333120, 47182611484671, +STORE, 47182611431424, 47182611484671, +STORE, 47182611333120, 47182611431423, +ERASE, 47182611333120, 47182611333120, +STORE, 47182611333120, 47182611431423, +STORE, 47182611476480, 47182611484671, +STORE, 47182611431424, 47182611476479, +ERASE, 47182611431424, 47182611431424, +STORE, 47182611431424, 47182611484671, +ERASE, 47182611431424, 47182611431424, +STORE, 47182611431424, 47182611476479, +STORE, 47182611476480, 47182611484671, +ERASE, 47182611476480, 47182611476480, +STORE, 47182611476480, 47182611484671, +STORE, 47182611484672, 47182612082687, +STORE, 47182611603456, 47182612082687, +STORE, 47182611484672, 47182611603455, +ERASE, 47182611603456, 47182611603456, +STORE, 47182611603456, 47182612029439, +STORE, 47182612029440, 47182612082687, +STORE, 47182611918848, 47182612029439, +STORE, 47182611603456, 47182611918847, +ERASE, 47182611603456, 47182611603456, +STORE, 47182611603456, 47182611918847, +STORE, 47182612025344, 47182612029439, +STORE, 47182611918848, 47182612025343, +ERASE, 47182611918848, 47182611918848, +STORE, 47182611918848, 47182612025343, +ERASE, 47182612029440, 47182612029440, +STORE, 47182612029440, 47182612082687, +STORE, 47182612082688, 47182615134207, +STORE, 47182612627456, 47182615134207, +STORE, 47182612082688, 47182612627455, +ERASE, 47182612627456, 47182612627456, +STORE, 47182612627456, 47182614913023, +STORE, 47182614913024, 47182615134207, +STORE, 47182614323200, 47182614913023, +STORE, 47182612627456, 47182614323199, +ERASE, 47182612627456, 47182612627456, +STORE, 47182612627456, 47182614323199, +STORE, 47182614908928, 47182614913023, +STORE, 47182614323200, 47182614908927, +ERASE, 47182614323200, 47182614323200, +STORE, 47182614323200, 47182614908927, +STORE, 47182615117824, 47182615134207, +STORE, 47182614913024, 47182615117823, +ERASE, 47182614913024, 47182614913024, +STORE, 47182614913024, 47182615117823, +ERASE, 47182615117824, 47182615117824, +STORE, 47182615117824, 47182615134207, +STORE, 47182615134208, 47182615166975, +ERASE, 47182615134208, 47182615134208, +STORE, 47182615134208, 47182615142399, +STORE, 47182615142400, 47182615166975, +STORE, 47182615154688, 47182615166975, +STORE, 47182615142400, 47182615154687, +ERASE, 47182615142400, 47182615142400, +STORE, 47182615142400, 47182615154687, +STORE, 47182615158784, 47182615166975, +STORE, 47182615154688, 47182615158783, +ERASE, 47182615154688, 47182615154688, +STORE, 47182615154688, 47182615166975, +ERASE, 47182615154688, 47182615154688, +STORE, 47182615154688, 47182615158783, +STORE, 47182615158784, 47182615166975, +ERASE, 47182615158784, 47182615158784, +STORE, 47182615158784, 47182615166975, +STORE, 47182615166976, 47182615203839, +ERASE, 47182615166976, 47182615166976, +STORE, 47182615166976, 47182615175167, +STORE, 47182615175168, 47182615203839, +STORE, 47182615191552, 47182615203839, +STORE, 47182615175168, 47182615191551, +ERASE, 47182615175168, 47182615175168, +STORE, 47182615175168, 47182615191551, +STORE, 47182615195648, 47182615203839, +STORE, 47182615191552, 47182615195647, +ERASE, 47182615191552, 47182615191552, +STORE, 47182615191552, 47182615203839, +ERASE, 47182615191552, 47182615191552, +STORE, 47182615191552, 47182615195647, +STORE, 47182615195648, 47182615203839, +ERASE, 47182615195648, 47182615195648, +STORE, 47182615195648, 47182615203839, +STORE, 47182615203840, 47182615678975, +ERASE, 47182615203840, 47182615203840, +STORE, 47182615203840, 47182615212031, +STORE, 47182615212032, 47182615678975, +STORE, 47182615547904, 47182615678975, +STORE, 47182615212032, 47182615547903, +ERASE, 47182615212032, 47182615212032, +STORE, 47182615212032, 47182615547903, +STORE, 47182615670784, 47182615678975, +STORE, 47182615547904, 47182615670783, +ERASE, 47182615547904, 47182615547904, +STORE, 47182615547904, 47182615678975, +ERASE, 47182615547904, 47182615547904, +STORE, 47182615547904, 47182615670783, +STORE, 47182615670784, 47182615678975, +ERASE, 47182615670784, 47182615670784, +STORE, 47182615670784, 47182615678975, +STORE, 47182615678976, 47182615687167, +STORE, 47182615687168, 47182615707647, +ERASE, 47182615687168, 47182615687168, +STORE, 47182615687168, 47182615691263, +STORE, 47182615691264, 47182615707647, +STORE, 47182615695360, 47182615707647, +STORE, 47182615691264, 47182615695359, +ERASE, 47182615691264, 47182615691264, +STORE, 47182615691264, 47182615695359, +STORE, 47182615699456, 47182615707647, +STORE, 47182615695360, 47182615699455, +ERASE, 47182615695360, 47182615695360, +STORE, 47182615695360, 47182615707647, +ERASE, 47182615695360, 47182615695360, +STORE, 47182615695360, 47182615699455, +STORE, 47182615699456, 47182615707647, +ERASE, 47182615699456, 47182615699456, +STORE, 47182615699456, 47182615707647, +STORE, 47182615707648, 47182615715839, +ERASE, 47182608371712, 47182608371712, +STORE, 47182608371712, 47182608388095, +STORE, 47182608388096, 47182608396287, +ERASE, 47182615699456, 47182615699456, +STORE, 47182615699456, 47182615703551, +STORE, 47182615703552, 47182615707647, +ERASE, 47182611288064, 47182611288064, +STORE, 47182611288064, 47182611292159, +STORE, 47182611292160, 47182611296255, +ERASE, 47182615670784, 47182615670784, +STORE, 47182615670784, 47182615674879, +STORE, 47182615674880, 47182615678975, +ERASE, 47182615195648, 47182615195648, +STORE, 47182615195648, 47182615199743, +STORE, 47182615199744, 47182615203839, +ERASE, 47182615158784, 47182615158784, +STORE, 47182615158784, 47182615162879, +STORE, 47182615162880, 47182615166975, +ERASE, 47182614913024, 47182614913024, +STORE, 47182614913024, 47182615109631, +STORE, 47182615109632, 47182615117823, +ERASE, 47182612029440, 47182612029440, +STORE, 47182612029440, 47182612066303, +STORE, 47182612066304, 47182612082687, +ERASE, 47182611476480, 47182611476480, +STORE, 47182611476480, 47182611480575, +STORE, 47182611480576, 47182611484671, +ERASE, 47182611161088, 47182611161088, +STORE, 47182611161088, 47182611165183, +STORE, 47182611165184, 47182611169279, +ERASE, 47182608891904, 47182608891904, +STORE, 47182608891904, 47182608912383, +STORE, 47182608912384, 47182608916479, +ERASE, 47182608560128, 47182608560128, +STORE, 47182608560128, 47182608564223, +STORE, 47182608564224, 47182608568319, +ERASE, 47182608515072, 47182608515072, +STORE, 47182608515072, 47182608519167, +STORE, 47182608519168, 47182608523263, +ERASE, 93963664379904, 93963664379904, +STORE, 93963664379904, 93963664502783, +STORE, 93963664502784, 93963664506879, +ERASE, 140450188599296, 140450188599296, +STORE, 140450188599296, 140450188603391, +STORE, 140450188603392, 140450188607487, +ERASE, 47182606557184, 47182606557184, +STORE, 93963694723072, 93963694858239, +STORE, 140737488347136, 140737488351231, +STORE, 140730313261056, 140737488351231, +ERASE, 140730313261056, 140730313261056, +STORE, 140730313261056, 140730313265151, +STORE, 94386579017728, 94386579697663, +ERASE, 94386579017728, 94386579017728, +STORE, 94386579017728, 94386579083263, +STORE, 94386579083264, 94386579697663, +ERASE, 94386579083264, 94386579083264, +STORE, 94386579083264, 94386579431423, +STORE, 94386579431424, 94386579570687, +STORE, 94386579570688, 94386579697663, +STORE, 140124810838016, 140124811010047, +ERASE, 140124810838016, 140124810838016, +STORE, 140124810838016, 140124810842111, +STORE, 140124810842112, 140124811010047, +ERASE, 140124810842112, 140124810842112, +STORE, 140124810842112, 140124810964991, +STORE, 140124810964992, 140124810997759, +STORE, 140124810997760, 140124811005951, +STORE, 140124811005952, 140124811010047, +STORE, 140730313601024, 140730313605119, +STORE, 140730313588736, 140730313601023, +STORE, 47507984158720, 47507984166911, +STORE, 47507984166912, 47507984175103, +STORE, 47507984175104, 47507986014207, +STORE, 47507984314368, 47507986014207, +STORE, 47507984175104, 47507984314367, +ERASE, 47507984314368, 47507984314368, +STORE, 47507984314368, 47507985973247, +STORE, 47507985973248, 47507986014207, +STORE, 47507985657856, 47507985973247, +STORE, 47507984314368, 47507985657855, +ERASE, 47507984314368, 47507984314368, +STORE, 47507984314368, 47507985657855, +STORE, 47507985969152, 47507985973247, +STORE, 47507985657856, 47507985969151, +ERASE, 47507985657856, 47507985657856, +STORE, 47507985657856, 47507985969151, +STORE, 47507985997824, 47507986014207, +STORE, 47507985973248, 47507985997823, +ERASE, 47507985973248, 47507985973248, +STORE, 47507985973248, 47507985997823, +ERASE, 47507985997824, 47507985997824, +STORE, 47507985997824, 47507986014207, +STORE, 47507986014208, 47507986124799, +STORE, 47507986030592, 47507986124799, +STORE, 47507986014208, 47507986030591, +ERASE, 47507986030592, 47507986030592, +STORE, 47507986030592, 47507986116607, +STORE, 47507986116608, 47507986124799, +STORE, 47507986092032, 47507986116607, +STORE, 47507986030592, 47507986092031, +ERASE, 47507986030592, 47507986030592, +STORE, 47507986030592, 47507986092031, +STORE, 47507986112512, 47507986116607, +STORE, 47507986092032, 47507986112511, +ERASE, 47507986092032, 47507986092032, +STORE, 47507986092032, 47507986112511, +ERASE, 47507986116608, 47507986116608, +STORE, 47507986116608, 47507986124799, +STORE, 47507986124800, 47507986169855, +ERASE, 47507986124800, 47507986124800, +STORE, 47507986124800, 47507986132991, +STORE, 47507986132992, 47507986169855, +STORE, 47507986153472, 47507986169855, +STORE, 47507986132992, 47507986153471, +ERASE, 47507986132992, 47507986132992, +STORE, 47507986132992, 47507986153471, +STORE, 47507986161664, 47507986169855, +STORE, 47507986153472, 47507986161663, +ERASE, 47507986153472, 47507986153472, +STORE, 47507986153472, 47507986169855, +ERASE, 47507986153472, 47507986153472, +STORE, 47507986153472, 47507986161663, +STORE, 47507986161664, 47507986169855, +ERASE, 47507986161664, 47507986161664, +STORE, 47507986161664, 47507986169855, +STORE, 47507986169856, 47507986518015, +STORE, 47507986210816, 47507986518015, +STORE, 47507986169856, 47507986210815, +ERASE, 47507986210816, 47507986210816, +STORE, 47507986210816, 47507986493439, +STORE, 47507986493440, 47507986518015, +STORE, 47507986423808, 47507986493439, +STORE, 47507986210816, 47507986423807, +ERASE, 47507986210816, 47507986210816, +STORE, 47507986210816, 47507986423807, +STORE, 47507986489344, 47507986493439, +STORE, 47507986423808, 47507986489343, +ERASE, 47507986423808, 47507986423808, +STORE, 47507986423808, 47507986489343, +ERASE, 47507986493440, 47507986493440, +STORE, 47507986493440, 47507986518015, +STORE, 47507986518016, 47507988779007, +STORE, 47507986669568, 47507988779007, +STORE, 47507986518016, 47507986669567, +ERASE, 47507986669568, 47507986669568, +STORE, 47507986669568, 47507988762623, +STORE, 47507988762624, 47507988779007, +STORE, 47507988770816, 47507988779007, +STORE, 47507988762624, 47507988770815, +ERASE, 47507988762624, 47507988762624, +STORE, 47507988762624, 47507988770815, +ERASE, 47507988770816, 47507988770816, +STORE, 47507988770816, 47507988779007, +STORE, 47507988779008, 47507988914175, +ERASE, 47507988779008, 47507988779008, +STORE, 47507988779008, 47507988803583, +STORE, 47507988803584, 47507988914175, +STORE, 47507988865024, 47507988914175, +STORE, 47507988803584, 47507988865023, +ERASE, 47507988803584, 47507988803584, +STORE, 47507988803584, 47507988865023, +STORE, 47507988889600, 47507988914175, +STORE, 47507988865024, 47507988889599, +ERASE, 47507988865024, 47507988865024, +STORE, 47507988865024, 47507988914175, +ERASE, 47507988865024, 47507988865024, +STORE, 47507988865024, 47507988889599, +STORE, 47507988889600, 47507988914175, +STORE, 47507988897792, 47507988914175, +STORE, 47507988889600, 47507988897791, +ERASE, 47507988889600, 47507988889600, +STORE, 47507988889600, 47507988897791, +ERASE, 47507988897792, 47507988897792, +STORE, 47507988897792, 47507988914175, +STORE, 47507988897792, 47507988922367, +STORE, 47507988922368, 47507989086207, +ERASE, 47507988922368, 47507988922368, +STORE, 47507988922368, 47507988934655, +STORE, 47507988934656, 47507989086207, +STORE, 47507989032960, 47507989086207, +STORE, 47507988934656, 47507989032959, +ERASE, 47507988934656, 47507988934656, +STORE, 47507988934656, 47507989032959, +STORE, 47507989078016, 47507989086207, +STORE, 47507989032960, 47507989078015, +ERASE, 47507989032960, 47507989032960, +STORE, 47507989032960, 47507989086207, +ERASE, 47507989032960, 47507989032960, +STORE, 47507989032960, 47507989078015, +STORE, 47507989078016, 47507989086207, +ERASE, 47507989078016, 47507989078016, +STORE, 47507989078016, 47507989086207, +STORE, 47507989086208, 47507989684223, +STORE, 47507989204992, 47507989684223, +STORE, 47507989086208, 47507989204991, +ERASE, 47507989204992, 47507989204992, +STORE, 47507989204992, 47507989630975, +STORE, 47507989630976, 47507989684223, +STORE, 47507989520384, 47507989630975, +STORE, 47507989204992, 47507989520383, +ERASE, 47507989204992, 47507989204992, +STORE, 47507989204992, 47507989520383, +STORE, 47507989626880, 47507989630975, +STORE, 47507989520384, 47507989626879, +ERASE, 47507989520384, 47507989520384, +STORE, 47507989520384, 47507989626879, +ERASE, 47507989630976, 47507989630976, +STORE, 47507989630976, 47507989684223, +STORE, 47507989684224, 47507992735743, +STORE, 47507990228992, 47507992735743, +STORE, 47507989684224, 47507990228991, +ERASE, 47507990228992, 47507990228992, +STORE, 47507990228992, 47507992514559, +STORE, 47507992514560, 47507992735743, +STORE, 47507991924736, 47507992514559, +STORE, 47507990228992, 47507991924735, +ERASE, 47507990228992, 47507990228992, +STORE, 47507990228992, 47507991924735, +STORE, 47507992510464, 47507992514559, +STORE, 47507991924736, 47507992510463, +ERASE, 47507991924736, 47507991924736, +STORE, 47507991924736, 47507992510463, +STORE, 47507992719360, 47507992735743, +STORE, 47507992514560, 47507992719359, +ERASE, 47507992514560, 47507992514560, +STORE, 47507992514560, 47507992719359, +ERASE, 47507992719360, 47507992719360, +STORE, 47507992719360, 47507992735743, +STORE, 47507992735744, 47507992768511, +ERASE, 47507992735744, 47507992735744, +STORE, 47507992735744, 47507992743935, +STORE, 47507992743936, 47507992768511, +STORE, 47507992756224, 47507992768511, +STORE, 47507992743936, 47507992756223, +ERASE, 47507992743936, 47507992743936, +STORE, 47507992743936, 47507992756223, +STORE, 47507992760320, 47507992768511, +STORE, 47507992756224, 47507992760319, +ERASE, 47507992756224, 47507992756224, +STORE, 47507992756224, 47507992768511, +ERASE, 47507992756224, 47507992756224, +STORE, 47507992756224, 47507992760319, +STORE, 47507992760320, 47507992768511, +ERASE, 47507992760320, 47507992760320, +STORE, 47507992760320, 47507992768511, +STORE, 47507992768512, 47507992805375, +ERASE, 47507992768512, 47507992768512, +STORE, 47507992768512, 47507992776703, +STORE, 47507992776704, 47507992805375, +STORE, 47507992793088, 47507992805375, +STORE, 47507992776704, 47507992793087, +ERASE, 47507992776704, 47507992776704, +STORE, 47507992776704, 47507992793087, +STORE, 47507992797184, 47507992805375, +STORE, 47507992793088, 47507992797183, +ERASE, 47507992793088, 47507992793088, +STORE, 47507992793088, 47507992805375, +ERASE, 47507992793088, 47507992793088, +STORE, 47507992793088, 47507992797183, +STORE, 47507992797184, 47507992805375, +ERASE, 47507992797184, 47507992797184, +STORE, 47507992797184, 47507992805375, +STORE, 47507992805376, 47507993280511, +ERASE, 47507992805376, 47507992805376, +STORE, 47507992805376, 47507992813567, +STORE, 47507992813568, 47507993280511, +STORE, 47507993149440, 47507993280511, +STORE, 47507992813568, 47507993149439, +ERASE, 47507992813568, 47507992813568, +STORE, 47507992813568, 47507993149439, +STORE, 47507993272320, 47507993280511, +STORE, 47507993149440, 47507993272319, +ERASE, 47507993149440, 47507993149440, +STORE, 47507993149440, 47507993280511, +ERASE, 47507993149440, 47507993149440, +STORE, 47507993149440, 47507993272319, +STORE, 47507993272320, 47507993280511, +ERASE, 47507993272320, 47507993272320, +STORE, 47507993272320, 47507993280511, +STORE, 47507993280512, 47507993288703, +STORE, 47507993288704, 47507993309183, +ERASE, 47507993288704, 47507993288704, +STORE, 47507993288704, 47507993292799, +STORE, 47507993292800, 47507993309183, +STORE, 47507993296896, 47507993309183, +STORE, 47507993292800, 47507993296895, +ERASE, 47507993292800, 47507993292800, +STORE, 47507993292800, 47507993296895, +STORE, 47507993300992, 47507993309183, +STORE, 47507993296896, 47507993300991, +ERASE, 47507993296896, 47507993296896, +STORE, 47507993296896, 47507993309183, +ERASE, 47507993296896, 47507993296896, +STORE, 47507993296896, 47507993300991, +STORE, 47507993300992, 47507993309183, +ERASE, 47507993300992, 47507993300992, +STORE, 47507993300992, 47507993309183, +STORE, 47507993309184, 47507993317375, +ERASE, 47507985973248, 47507985973248, +STORE, 47507985973248, 47507985989631, +STORE, 47507985989632, 47507985997823, +ERASE, 47507993300992, 47507993300992, +STORE, 47507993300992, 47507993305087, +STORE, 47507993305088, 47507993309183, +ERASE, 47507988889600, 47507988889600, +STORE, 47507988889600, 47507988893695, +STORE, 47507988893696, 47507988897791, +ERASE, 47507993272320, 47507993272320, +STORE, 47507993272320, 47507993276415, +STORE, 47507993276416, 47507993280511, +ERASE, 47507992797184, 47507992797184, +STORE, 47507992797184, 47507992801279, +STORE, 47507992801280, 47507992805375, +ERASE, 47507992760320, 47507992760320, +STORE, 47507992760320, 47507992764415, +STORE, 47507992764416, 47507992768511, +ERASE, 47507992514560, 47507992514560, +STORE, 47507992514560, 47507992711167, +STORE, 47507992711168, 47507992719359, +ERASE, 47507989630976, 47507989630976, +STORE, 47507989630976, 47507989667839, +STORE, 47507989667840, 47507989684223, +ERASE, 47507989078016, 47507989078016, +STORE, 47507989078016, 47507989082111, +STORE, 47507989082112, 47507989086207, +ERASE, 47507988762624, 47507988762624, +STORE, 47507988762624, 47507988766719, +STORE, 47507988766720, 47507988770815, +ERASE, 47507986493440, 47507986493440, +STORE, 47507986493440, 47507986513919, +STORE, 47507986513920, 47507986518015, +ERASE, 47507986161664, 47507986161664, +STORE, 47507986161664, 47507986165759, +STORE, 47507986165760, 47507986169855, +ERASE, 47507986116608, 47507986116608, +STORE, 47507986116608, 47507986120703, +STORE, 47507986120704, 47507986124799, +ERASE, 94386579570688, 94386579570688, +STORE, 94386579570688, 94386579693567, +STORE, 94386579693568, 94386579697663, +ERASE, 140124810997760, 140124810997760, +STORE, 140124810997760, 140124811001855, +STORE, 140124811001856, 140124811005951, +ERASE, 47507984158720, 47507984158720, +STORE, 94386583982080, 94386584117247, +STORE, 94386583982080, 94386584256511, +ERASE, 94386583982080, 94386583982080, +STORE, 94386583982080, 94386584223743, +STORE, 94386584223744, 94386584256511, +ERASE, 94386584223744, 94386584223744, +STORE, 140737488347136, 140737488351231, +STORE, 140733763395584, 140737488351231, +ERASE, 140733763395584, 140733763395584, +STORE, 140733763395584, 140733763399679, +STORE, 94011546472448, 94011547152383, +ERASE, 94011546472448, 94011546472448, +STORE, 94011546472448, 94011546537983, +STORE, 94011546537984, 94011547152383, +ERASE, 94011546537984, 94011546537984, +STORE, 94011546537984, 94011546886143, +STORE, 94011546886144, 94011547025407, +STORE, 94011547025408, 94011547152383, +STORE, 139757597949952, 139757598121983, +ERASE, 139757597949952, 139757597949952, +STORE, 139757597949952, 139757597954047, +STORE, 139757597954048, 139757598121983, +ERASE, 139757597954048, 139757597954048, +STORE, 139757597954048, 139757598076927, +STORE, 139757598076928, 139757598109695, +STORE, 139757598109696, 139757598117887, +STORE, 139757598117888, 139757598121983, +STORE, 140733763596288, 140733763600383, +STORE, 140733763584000, 140733763596287, +STORE, 47875197046784, 47875197054975, +STORE, 47875197054976, 47875197063167, +STORE, 47875197063168, 47875198902271, +STORE, 47875197202432, 47875198902271, +STORE, 47875197063168, 47875197202431, +ERASE, 47875197202432, 47875197202432, +STORE, 47875197202432, 47875198861311, +STORE, 47875198861312, 47875198902271, +STORE, 47875198545920, 47875198861311, +STORE, 47875197202432, 47875198545919, +ERASE, 47875197202432, 47875197202432, +STORE, 47875197202432, 47875198545919, +STORE, 47875198857216, 47875198861311, +STORE, 47875198545920, 47875198857215, +ERASE, 47875198545920, 47875198545920, +STORE, 47875198545920, 47875198857215, +STORE, 47875198885888, 47875198902271, +STORE, 47875198861312, 47875198885887, +ERASE, 47875198861312, 47875198861312, +STORE, 47875198861312, 47875198885887, +ERASE, 47875198885888, 47875198885888, +STORE, 47875198885888, 47875198902271, +STORE, 47875198902272, 47875199012863, +STORE, 47875198918656, 47875199012863, +STORE, 47875198902272, 47875198918655, +ERASE, 47875198918656, 47875198918656, +STORE, 47875198918656, 47875199004671, +STORE, 47875199004672, 47875199012863, +STORE, 47875198980096, 47875199004671, +STORE, 47875198918656, 47875198980095, +ERASE, 47875198918656, 47875198918656, +STORE, 47875198918656, 47875198980095, +STORE, 47875199000576, 47875199004671, +STORE, 47875198980096, 47875199000575, +ERASE, 47875198980096, 47875198980096, +STORE, 47875198980096, 47875199000575, +ERASE, 47875199004672, 47875199004672, +STORE, 47875199004672, 47875199012863, +STORE, 47875199012864, 47875199057919, +ERASE, 47875199012864, 47875199012864, +STORE, 47875199012864, 47875199021055, +STORE, 47875199021056, 47875199057919, +STORE, 47875199041536, 47875199057919, +STORE, 47875199021056, 47875199041535, +ERASE, 47875199021056, 47875199021056, +STORE, 47875199021056, 47875199041535, +STORE, 47875199049728, 47875199057919, +STORE, 47875199041536, 47875199049727, +ERASE, 47875199041536, 47875199041536, +STORE, 47875199041536, 47875199057919, +ERASE, 47875199041536, 47875199041536, +STORE, 47875199041536, 47875199049727, +STORE, 47875199049728, 47875199057919, +ERASE, 47875199049728, 47875199049728, +STORE, 47875199049728, 47875199057919, +STORE, 47875199057920, 47875199406079, +STORE, 47875199098880, 47875199406079, +STORE, 47875199057920, 47875199098879, +ERASE, 47875199098880, 47875199098880, +STORE, 47875199098880, 47875199381503, +STORE, 47875199381504, 47875199406079, +STORE, 47875199311872, 47875199381503, +STORE, 47875199098880, 47875199311871, +ERASE, 47875199098880, 47875199098880, +STORE, 47875199098880, 47875199311871, +STORE, 47875199377408, 47875199381503, +STORE, 47875199311872, 47875199377407, +ERASE, 47875199311872, 47875199311872, +STORE, 47875199311872, 47875199377407, +ERASE, 47875199381504, 47875199381504, +STORE, 47875199381504, 47875199406079, +STORE, 47875199406080, 47875201667071, +STORE, 47875199557632, 47875201667071, +STORE, 47875199406080, 47875199557631, +ERASE, 47875199557632, 47875199557632, +STORE, 47875199557632, 47875201650687, +STORE, 47875201650688, 47875201667071, +STORE, 47875201658880, 47875201667071, +STORE, 47875201650688, 47875201658879, +ERASE, 47875201650688, 47875201650688, +STORE, 47875201650688, 47875201658879, +ERASE, 47875201658880, 47875201658880, +STORE, 47875201658880, 47875201667071, +STORE, 47875201667072, 47875201802239, +ERASE, 47875201667072, 47875201667072, +STORE, 47875201667072, 47875201691647, +STORE, 47875201691648, 47875201802239, +STORE, 47875201753088, 47875201802239, +STORE, 47875201691648, 47875201753087, +ERASE, 47875201691648, 47875201691648, +STORE, 47875201691648, 47875201753087, +STORE, 47875201777664, 47875201802239, +STORE, 47875201753088, 47875201777663, +ERASE, 47875201753088, 47875201753088, +STORE, 47875201753088, 47875201802239, +ERASE, 47875201753088, 47875201753088, +STORE, 47875201753088, 47875201777663, +STORE, 47875201777664, 47875201802239, +STORE, 47875201785856, 47875201802239, +STORE, 47875201777664, 47875201785855, +ERASE, 47875201777664, 47875201777664, +STORE, 47875201777664, 47875201785855, +ERASE, 47875201785856, 47875201785856, +STORE, 47875201785856, 47875201802239, +STORE, 47875201785856, 47875201810431, +STORE, 47875201810432, 47875201974271, +ERASE, 47875201810432, 47875201810432, +STORE, 47875201810432, 47875201822719, +STORE, 47875201822720, 47875201974271, +STORE, 47875201921024, 47875201974271, +STORE, 47875201822720, 47875201921023, +ERASE, 47875201822720, 47875201822720, +STORE, 47875201822720, 47875201921023, +STORE, 47875201966080, 47875201974271, +STORE, 47875201921024, 47875201966079, +ERASE, 47875201921024, 47875201921024, +STORE, 47875201921024, 47875201974271, +ERASE, 47875201921024, 47875201921024, +STORE, 47875201921024, 47875201966079, +STORE, 47875201966080, 47875201974271, +ERASE, 47875201966080, 47875201966080, +STORE, 47875201966080, 47875201974271, +STORE, 47875201974272, 47875202572287, +STORE, 47875202093056, 47875202572287, +STORE, 47875201974272, 47875202093055, +ERASE, 47875202093056, 47875202093056, +STORE, 47875202093056, 47875202519039, +STORE, 47875202519040, 47875202572287, +STORE, 47875202408448, 47875202519039, +STORE, 47875202093056, 47875202408447, +ERASE, 47875202093056, 47875202093056, +STORE, 47875202093056, 47875202408447, +STORE, 47875202514944, 47875202519039, +STORE, 47875202408448, 47875202514943, +ERASE, 47875202408448, 47875202408448, +STORE, 47875202408448, 47875202514943, +ERASE, 47875202519040, 47875202519040, +STORE, 47875202519040, 47875202572287, +STORE, 47875202572288, 47875205623807, +STORE, 47875203117056, 47875205623807, +STORE, 47875202572288, 47875203117055, +ERASE, 47875203117056, 47875203117056, +STORE, 47875203117056, 47875205402623, +STORE, 47875205402624, 47875205623807, +STORE, 47875204812800, 47875205402623, +STORE, 47875203117056, 47875204812799, +ERASE, 47875203117056, 47875203117056, +STORE, 47875203117056, 47875204812799, +STORE, 47875205398528, 47875205402623, +STORE, 47875204812800, 47875205398527, +ERASE, 47875204812800, 47875204812800, +STORE, 47875204812800, 47875205398527, +STORE, 47875205607424, 47875205623807, +STORE, 47875205402624, 47875205607423, +ERASE, 47875205402624, 47875205402624, +STORE, 47875205402624, 47875205607423, +ERASE, 47875205607424, 47875205607424, +STORE, 47875205607424, 47875205623807, +STORE, 47875205623808, 47875205656575, +ERASE, 47875205623808, 47875205623808, +STORE, 47875205623808, 47875205631999, +STORE, 47875205632000, 47875205656575, +STORE, 47875205644288, 47875205656575, +STORE, 47875205632000, 47875205644287, +ERASE, 47875205632000, 47875205632000, +STORE, 47875205632000, 47875205644287, +STORE, 47875205648384, 47875205656575, +STORE, 47875205644288, 47875205648383, +ERASE, 47875205644288, 47875205644288, +STORE, 47875205644288, 47875205656575, +ERASE, 47875205644288, 47875205644288, +STORE, 47875205644288, 47875205648383, +STORE, 47875205648384, 47875205656575, +ERASE, 47875205648384, 47875205648384, +STORE, 47875205648384, 47875205656575, +STORE, 47875205656576, 47875205693439, +ERASE, 47875205656576, 47875205656576, +STORE, 47875205656576, 47875205664767, +STORE, 47875205664768, 47875205693439, +STORE, 47875205681152, 47875205693439, +STORE, 47875205664768, 47875205681151, +ERASE, 47875205664768, 47875205664768, +STORE, 47875205664768, 47875205681151, +STORE, 47875205685248, 47875205693439, +STORE, 47875205681152, 47875205685247, +ERASE, 47875205681152, 47875205681152, +STORE, 47875205681152, 47875205693439, +ERASE, 47875205681152, 47875205681152, +STORE, 47875205681152, 47875205685247, +STORE, 47875205685248, 47875205693439, +ERASE, 47875205685248, 47875205685248, +STORE, 47875205685248, 47875205693439, +STORE, 47875205693440, 47875206168575, +ERASE, 47875205693440, 47875205693440, +STORE, 47875205693440, 47875205701631, +STORE, 47875205701632, 47875206168575, +STORE, 47875206037504, 47875206168575, +STORE, 47875205701632, 47875206037503, +ERASE, 47875205701632, 47875205701632, +STORE, 47875205701632, 47875206037503, +STORE, 47875206160384, 47875206168575, +STORE, 47875206037504, 47875206160383, +ERASE, 47875206037504, 47875206037504, +STORE, 47875206037504, 47875206168575, +ERASE, 47875206037504, 47875206037504, +STORE, 47875206037504, 47875206160383, +STORE, 47875206160384, 47875206168575, +ERASE, 47875206160384, 47875206160384, +STORE, 47875206160384, 47875206168575, +STORE, 47875206168576, 47875206176767, +STORE, 47875206176768, 47875206197247, +ERASE, 47875206176768, 47875206176768, +STORE, 47875206176768, 47875206180863, +STORE, 47875206180864, 47875206197247, +STORE, 47875206184960, 47875206197247, +STORE, 47875206180864, 47875206184959, +ERASE, 47875206180864, 47875206180864, +STORE, 47875206180864, 47875206184959, +STORE, 47875206189056, 47875206197247, +STORE, 47875206184960, 47875206189055, +ERASE, 47875206184960, 47875206184960, +STORE, 47875206184960, 47875206197247, +ERASE, 47875206184960, 47875206184960, +STORE, 47875206184960, 47875206189055, +STORE, 47875206189056, 47875206197247, +ERASE, 47875206189056, 47875206189056, +STORE, 47875206189056, 47875206197247, +STORE, 47875206197248, 47875206205439, +ERASE, 47875198861312, 47875198861312, +STORE, 47875198861312, 47875198877695, +STORE, 47875198877696, 47875198885887, +ERASE, 47875206189056, 47875206189056, +STORE, 47875206189056, 47875206193151, +STORE, 47875206193152, 47875206197247, +ERASE, 47875201777664, 47875201777664, +STORE, 47875201777664, 47875201781759, +STORE, 47875201781760, 47875201785855, +ERASE, 47875206160384, 47875206160384, +STORE, 47875206160384, 47875206164479, +STORE, 47875206164480, 47875206168575, +ERASE, 47875205685248, 47875205685248, +STORE, 47875205685248, 47875205689343, +STORE, 47875205689344, 47875205693439, +ERASE, 47875205648384, 47875205648384, +STORE, 47875205648384, 47875205652479, +STORE, 47875205652480, 47875205656575, +ERASE, 47875205402624, 47875205402624, +STORE, 47875205402624, 47875205599231, +STORE, 47875205599232, 47875205607423, +ERASE, 47875202519040, 47875202519040, +STORE, 47875202519040, 47875202555903, +STORE, 47875202555904, 47875202572287, +ERASE, 47875201966080, 47875201966080, +STORE, 47875201966080, 47875201970175, +STORE, 47875201970176, 47875201974271, +ERASE, 47875201650688, 47875201650688, +STORE, 47875201650688, 47875201654783, +STORE, 47875201654784, 47875201658879, +ERASE, 47875199381504, 47875199381504, +STORE, 47875199381504, 47875199401983, +STORE, 47875199401984, 47875199406079, +ERASE, 47875199049728, 47875199049728, +STORE, 47875199049728, 47875199053823, +STORE, 47875199053824, 47875199057919, +ERASE, 47875199004672, 47875199004672, +STORE, 47875199004672, 47875199008767, +STORE, 47875199008768, 47875199012863, +ERASE, 94011547025408, 94011547025408, +STORE, 94011547025408, 94011547148287, +STORE, 94011547148288, 94011547152383, +ERASE, 139757598109696, 139757598109696, +STORE, 139757598109696, 139757598113791, +STORE, 139757598113792, 139757598117887, +ERASE, 47875197046784, 47875197046784, +STORE, 94011557584896, 94011557720063, +STORE, 94011557584896, 94011557855231, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557851135, +STORE, 94011557851136, 94011557855231, +ERASE, 94011557851136, 94011557851136, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557847039, +STORE, 94011557847040, 94011557851135, +ERASE, 94011557847040, 94011557847040, +STORE, 94011557584896, 94011557982207, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557978111, +STORE, 94011557978112, 94011557982207, +ERASE, 94011557978112, 94011557978112, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557974015, +STORE, 94011557974016, 94011557978111, +ERASE, 94011557974016, 94011557974016, +STORE, 140737488347136, 140737488351231, +STORE, 140734130360320, 140737488351231, +ERASE, 140734130360320, 140734130360320, +STORE, 140734130360320, 140734130364415, +STORE, 94641232105472, 94641232785407, +ERASE, 94641232105472, 94641232105472, +STORE, 94641232105472, 94641232171007, +STORE, 94641232171008, 94641232785407, +ERASE, 94641232171008, 94641232171008, +STORE, 94641232171008, 94641232519167, +STORE, 94641232519168, 94641232658431, +STORE, 94641232658432, 94641232785407, +STORE, 139726599516160, 139726599688191, +ERASE, 139726599516160, 139726599516160, +STORE, 139726599516160, 139726599520255, +STORE, 139726599520256, 139726599688191, +ERASE, 139726599520256, 139726599520256, +STORE, 139726599520256, 139726599643135, +STORE, 139726599643136, 139726599675903, +STORE, 139726599675904, 139726599684095, +STORE, 139726599684096, 139726599688191, +STORE, 140734130446336, 140734130450431, +STORE, 140734130434048, 140734130446335, +STORE, 47906195480576, 47906195488767, +STORE, 47906195488768, 47906195496959, +STORE, 47906195496960, 47906197336063, +STORE, 47906195636224, 47906197336063, +STORE, 47906195496960, 47906195636223, +ERASE, 47906195636224, 47906195636224, +STORE, 47906195636224, 47906197295103, +STORE, 47906197295104, 47906197336063, +STORE, 47906196979712, 47906197295103, +STORE, 47906195636224, 47906196979711, +ERASE, 47906195636224, 47906195636224, +STORE, 47906195636224, 47906196979711, +STORE, 47906197291008, 47906197295103, +STORE, 47906196979712, 47906197291007, +ERASE, 47906196979712, 47906196979712, +STORE, 47906196979712, 47906197291007, +STORE, 47906197319680, 47906197336063, +STORE, 47906197295104, 47906197319679, +ERASE, 47906197295104, 47906197295104, +STORE, 47906197295104, 47906197319679, +ERASE, 47906197319680, 47906197319680, +STORE, 47906197319680, 47906197336063, +STORE, 47906197336064, 47906197446655, +STORE, 47906197352448, 47906197446655, +STORE, 47906197336064, 47906197352447, +ERASE, 47906197352448, 47906197352448, +STORE, 47906197352448, 47906197438463, +STORE, 47906197438464, 47906197446655, +STORE, 47906197413888, 47906197438463, +STORE, 47906197352448, 47906197413887, +ERASE, 47906197352448, 47906197352448, +STORE, 47906197352448, 47906197413887, +STORE, 47906197434368, 47906197438463, +STORE, 47906197413888, 47906197434367, +ERASE, 47906197413888, 47906197413888, +STORE, 47906197413888, 47906197434367, +ERASE, 47906197438464, 47906197438464, +STORE, 47906197438464, 47906197446655, +STORE, 47906197446656, 47906197491711, +ERASE, 47906197446656, 47906197446656, +STORE, 47906197446656, 47906197454847, +STORE, 47906197454848, 47906197491711, +STORE, 47906197475328, 47906197491711, +STORE, 47906197454848, 47906197475327, +ERASE, 47906197454848, 47906197454848, +STORE, 47906197454848, 47906197475327, +STORE, 47906197483520, 47906197491711, +STORE, 47906197475328, 47906197483519, +ERASE, 47906197475328, 47906197475328, +STORE, 47906197475328, 47906197491711, +ERASE, 47906197475328, 47906197475328, +STORE, 47906197475328, 47906197483519, +STORE, 47906197483520, 47906197491711, +ERASE, 47906197483520, 47906197483520, +STORE, 47906197483520, 47906197491711, +STORE, 47906197491712, 47906197839871, +STORE, 47906197532672, 47906197839871, +STORE, 47906197491712, 47906197532671, +ERASE, 47906197532672, 47906197532672, +STORE, 47906197532672, 47906197815295, +STORE, 47906197815296, 47906197839871, +STORE, 47906197745664, 47906197815295, +STORE, 47906197532672, 47906197745663, +ERASE, 47906197532672, 47906197532672, +STORE, 47906197532672, 47906197745663, +STORE, 47906197811200, 47906197815295, +STORE, 47906197745664, 47906197811199, +ERASE, 47906197745664, 47906197745664, +STORE, 47906197745664, 47906197811199, +ERASE, 47906197815296, 47906197815296, +STORE, 47906197815296, 47906197839871, +STORE, 47906197839872, 47906200100863, +STORE, 47906197991424, 47906200100863, +STORE, 47906197839872, 47906197991423, +ERASE, 47906197991424, 47906197991424, +STORE, 47906197991424, 47906200084479, +STORE, 47906200084480, 47906200100863, +STORE, 47906200092672, 47906200100863, +STORE, 47906200084480, 47906200092671, +ERASE, 47906200084480, 47906200084480, +STORE, 47906200084480, 47906200092671, +ERASE, 47906200092672, 47906200092672, +STORE, 47906200092672, 47906200100863, +STORE, 47906200100864, 47906200236031, +ERASE, 47906200100864, 47906200100864, +STORE, 47906200100864, 47906200125439, +STORE, 47906200125440, 47906200236031, +STORE, 47906200186880, 47906200236031, +STORE, 47906200125440, 47906200186879, +ERASE, 47906200125440, 47906200125440, +STORE, 47906200125440, 47906200186879, +STORE, 47906200211456, 47906200236031, +STORE, 47906200186880, 47906200211455, +ERASE, 47906200186880, 47906200186880, +STORE, 47906200186880, 47906200236031, +ERASE, 47906200186880, 47906200186880, +STORE, 47906200186880, 47906200211455, +STORE, 47906200211456, 47906200236031, +STORE, 47906200219648, 47906200236031, +STORE, 47906200211456, 47906200219647, +ERASE, 47906200211456, 47906200211456, +STORE, 47906200211456, 47906200219647, +ERASE, 47906200219648, 47906200219648, +STORE, 47906200219648, 47906200236031, +STORE, 47906200219648, 47906200244223, +STORE, 47906200244224, 47906200408063, +ERASE, 47906200244224, 47906200244224, +STORE, 47906200244224, 47906200256511, +STORE, 47906200256512, 47906200408063, +STORE, 47906200354816, 47906200408063, +STORE, 47906200256512, 47906200354815, +ERASE, 47906200256512, 47906200256512, +STORE, 47906200256512, 47906200354815, +STORE, 47906200399872, 47906200408063, +STORE, 47906200354816, 47906200399871, +ERASE, 47906200354816, 47906200354816, +STORE, 47906200354816, 47906200408063, +ERASE, 47906200354816, 47906200354816, +STORE, 47906200354816, 47906200399871, +STORE, 47906200399872, 47906200408063, +ERASE, 47906200399872, 47906200399872, +STORE, 47906200399872, 47906200408063, +STORE, 47906200408064, 47906201006079, +STORE, 47906200526848, 47906201006079, +STORE, 47906200408064, 47906200526847, +ERASE, 47906200526848, 47906200526848, +STORE, 47906200526848, 47906200952831, +STORE, 47906200952832, 47906201006079, +STORE, 47906200842240, 47906200952831, +STORE, 47906200526848, 47906200842239, +ERASE, 47906200526848, 47906200526848, +STORE, 47906200526848, 47906200842239, +STORE, 47906200948736, 47906200952831, +STORE, 47906200842240, 47906200948735, +ERASE, 47906200842240, 47906200842240, +STORE, 47906200842240, 47906200948735, +ERASE, 47906200952832, 47906200952832, +STORE, 47906200952832, 47906201006079, +STORE, 47906201006080, 47906204057599, +STORE, 47906201550848, 47906204057599, +STORE, 47906201006080, 47906201550847, +ERASE, 47906201550848, 47906201550848, +STORE, 47906201550848, 47906203836415, +STORE, 47906203836416, 47906204057599, +STORE, 47906203246592, 47906203836415, +STORE, 47906201550848, 47906203246591, +ERASE, 47906201550848, 47906201550848, +STORE, 47906201550848, 47906203246591, +STORE, 47906203832320, 47906203836415, +STORE, 47906203246592, 47906203832319, +ERASE, 47906203246592, 47906203246592, +STORE, 47906203246592, 47906203832319, +STORE, 47906204041216, 47906204057599, +STORE, 47906203836416, 47906204041215, +ERASE, 47906203836416, 47906203836416, +STORE, 47906203836416, 47906204041215, +ERASE, 47906204041216, 47906204041216, +STORE, 47906204041216, 47906204057599, +STORE, 47906204057600, 47906204090367, +ERASE, 47906204057600, 47906204057600, +STORE, 47906204057600, 47906204065791, +STORE, 47906204065792, 47906204090367, +STORE, 47906204078080, 47906204090367, +STORE, 47906204065792, 47906204078079, +ERASE, 47906204065792, 47906204065792, +STORE, 47906204065792, 47906204078079, +STORE, 47906204082176, 47906204090367, +STORE, 47906204078080, 47906204082175, +ERASE, 47906204078080, 47906204078080, +STORE, 47906204078080, 47906204090367, +ERASE, 47906204078080, 47906204078080, +STORE, 47906204078080, 47906204082175, +STORE, 47906204082176, 47906204090367, +ERASE, 47906204082176, 47906204082176, +STORE, 47906204082176, 47906204090367, +STORE, 47906204090368, 47906204127231, +ERASE, 47906204090368, 47906204090368, +STORE, 47906204090368, 47906204098559, +STORE, 47906204098560, 47906204127231, +STORE, 47906204114944, 47906204127231, +STORE, 47906204098560, 47906204114943, +ERASE, 47906204098560, 47906204098560, +STORE, 47906204098560, 47906204114943, +STORE, 47906204119040, 47906204127231, +STORE, 47906204114944, 47906204119039, +ERASE, 47906204114944, 47906204114944, +STORE, 47906204114944, 47906204127231, +ERASE, 47906204114944, 47906204114944, +STORE, 47906204114944, 47906204119039, +STORE, 47906204119040, 47906204127231, +ERASE, 47906204119040, 47906204119040, +STORE, 47906204119040, 47906204127231, +STORE, 47906204127232, 47906204602367, +ERASE, 47906204127232, 47906204127232, +STORE, 47906204127232, 47906204135423, +STORE, 47906204135424, 47906204602367, +STORE, 47906204471296, 47906204602367, +STORE, 47906204135424, 47906204471295, +ERASE, 47906204135424, 47906204135424, +STORE, 47906204135424, 47906204471295, +STORE, 47906204594176, 47906204602367, +STORE, 47906204471296, 47906204594175, +ERASE, 47906204471296, 47906204471296, +STORE, 47906204471296, 47906204602367, +ERASE, 47906204471296, 47906204471296, +STORE, 47906204471296, 47906204594175, +STORE, 47906204594176, 47906204602367, +ERASE, 47906204594176, 47906204594176, +STORE, 47906204594176, 47906204602367, +STORE, 47906204602368, 47906204610559, +STORE, 47906204610560, 47906204631039, +ERASE, 47906204610560, 47906204610560, +STORE, 47906204610560, 47906204614655, +STORE, 47906204614656, 47906204631039, +STORE, 47906204618752, 47906204631039, +STORE, 47906204614656, 47906204618751, +ERASE, 47906204614656, 47906204614656, +STORE, 47906204614656, 47906204618751, +STORE, 47906204622848, 47906204631039, +STORE, 47906204618752, 47906204622847, +ERASE, 47906204618752, 47906204618752, +STORE, 47906204618752, 47906204631039, +ERASE, 47906204618752, 47906204618752, +STORE, 47906204618752, 47906204622847, +STORE, 47906204622848, 47906204631039, +ERASE, 47906204622848, 47906204622848, +STORE, 47906204622848, 47906204631039, +STORE, 47906204631040, 47906204639231, +ERASE, 47906197295104, 47906197295104, +STORE, 47906197295104, 47906197311487, +STORE, 47906197311488, 47906197319679, +ERASE, 47906204622848, 47906204622848, +STORE, 47906204622848, 47906204626943, +STORE, 47906204626944, 47906204631039, +ERASE, 47906200211456, 47906200211456, +STORE, 47906200211456, 47906200215551, +STORE, 47906200215552, 47906200219647, +ERASE, 47906204594176, 47906204594176, +STORE, 47906204594176, 47906204598271, +STORE, 47906204598272, 47906204602367, +ERASE, 47906204119040, 47906204119040, +STORE, 47906204119040, 47906204123135, +STORE, 47906204123136, 47906204127231, +ERASE, 47906204082176, 47906204082176, +STORE, 47906204082176, 47906204086271, +STORE, 47906204086272, 47906204090367, +ERASE, 47906203836416, 47906203836416, +STORE, 47906203836416, 47906204033023, +STORE, 47906204033024, 47906204041215, +ERASE, 47906200952832, 47906200952832, +STORE, 47906200952832, 47906200989695, +STORE, 47906200989696, 47906201006079, +ERASE, 47906200399872, 47906200399872, +STORE, 47906200399872, 47906200403967, +STORE, 47906200403968, 47906200408063, +ERASE, 47906200084480, 47906200084480, +STORE, 47906200084480, 47906200088575, +STORE, 47906200088576, 47906200092671, +ERASE, 47906197815296, 47906197815296, +STORE, 47906197815296, 47906197835775, +STORE, 47906197835776, 47906197839871, +ERASE, 47906197483520, 47906197483520, +STORE, 47906197483520, 47906197487615, +STORE, 47906197487616, 47906197491711, +ERASE, 47906197438464, 47906197438464, +STORE, 47906197438464, 47906197442559, +STORE, 47906197442560, 47906197446655, +ERASE, 94641232658432, 94641232658432, +STORE, 94641232658432, 94641232781311, +STORE, 94641232781312, 94641232785407, +ERASE, 139726599675904, 139726599675904, +STORE, 139726599675904, 139726599679999, +STORE, 139726599680000, 139726599684095, +ERASE, 47906195480576, 47906195480576, +STORE, 94641242615808, 94641242750975, + }; + + unsigned long set10[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140736427839488, 140737488351231, +ERASE, 140736427839488, 140736427839488, +STORE, 140736427839488, 140736427843583, +STORE, 94071213395968, 94071213567999, +ERASE, 94071213395968, 94071213395968, +STORE, 94071213395968, 94071213412351, +STORE, 94071213412352, 94071213567999, +ERASE, 94071213412352, 94071213412352, +STORE, 94071213412352, 94071213514751, +STORE, 94071213514752, 94071213555711, +STORE, 94071213555712, 94071213567999, +STORE, 139968410644480, 139968410816511, +ERASE, 139968410644480, 139968410644480, +STORE, 139968410644480, 139968410648575, +STORE, 139968410648576, 139968410816511, +ERASE, 139968410648576, 139968410648576, +STORE, 139968410648576, 139968410771455, +STORE, 139968410771456, 139968410804223, +STORE, 139968410804224, 139968410812415, +STORE, 139968410812416, 139968410816511, +STORE, 140736429277184, 140736429281279, +STORE, 140736429264896, 140736429277183, +STORE, 47664384352256, 47664384360447, +STORE, 47664384360448, 47664384368639, +STORE, 47664384368640, 47664384532479, +ERASE, 47664384368640, 47664384368640, +STORE, 47664384368640, 47664384380927, +STORE, 47664384380928, 47664384532479, +STORE, 47664384479232, 47664384532479, +STORE, 47664384380928, 47664384479231, +ERASE, 47664384380928, 47664384380928, +STORE, 47664384380928, 47664384479231, +STORE, 47664384524288, 47664384532479, +STORE, 47664384479232, 47664384524287, +ERASE, 47664384479232, 47664384479232, +STORE, 47664384479232, 47664384532479, +ERASE, 47664384479232, 47664384479232, +STORE, 47664384479232, 47664384524287, +STORE, 47664384524288, 47664384532479, +ERASE, 47664384524288, 47664384524288, +STORE, 47664384524288, 47664384532479, +STORE, 47664384532480, 47664387583999, +STORE, 47664385077248, 47664387583999, +STORE, 47664384532480, 47664385077247, +ERASE, 47664385077248, 47664385077248, +STORE, 47664385077248, 47664387362815, +STORE, 47664387362816, 47664387583999, +STORE, 47664386772992, 47664387362815, +STORE, 47664385077248, 47664386772991, +ERASE, 47664385077248, 47664385077248, +STORE, 47664385077248, 47664386772991, +STORE, 47664387358720, 47664387362815, +STORE, 47664386772992, 47664387358719, +ERASE, 47664386772992, 47664386772992, +STORE, 47664386772992, 47664387358719, +STORE, 47664387567616, 47664387583999, +STORE, 47664387362816, 47664387567615, +ERASE, 47664387362816, 47664387362816, +STORE, 47664387362816, 47664387567615, +ERASE, 47664387567616, 47664387567616, +STORE, 47664387567616, 47664387583999, +STORE, 47664387584000, 47664389423103, +STORE, 47664387723264, 47664389423103, +STORE, 47664387584000, 47664387723263, +ERASE, 47664387723264, 47664387723264, +STORE, 47664387723264, 47664389382143, +STORE, 47664389382144, 47664389423103, +STORE, 47664389066752, 47664389382143, +STORE, 47664387723264, 47664389066751, +ERASE, 47664387723264, 47664387723264, +STORE, 47664387723264, 47664389066751, +STORE, 47664389378048, 47664389382143, +STORE, 47664389066752, 47664389378047, +ERASE, 47664389066752, 47664389066752, +STORE, 47664389066752, 47664389378047, +STORE, 47664389406720, 47664389423103, +STORE, 47664389382144, 47664389406719, +ERASE, 47664389382144, 47664389382144, +STORE, 47664389382144, 47664389406719, +ERASE, 47664389406720, 47664389406720, +STORE, 47664389406720, 47664389423103, +STORE, 47664389423104, 47664389558271, +ERASE, 47664389423104, 47664389423104, +STORE, 47664389423104, 47664389447679, +STORE, 47664389447680, 47664389558271, +STORE, 47664389509120, 47664389558271, +STORE, 47664389447680, 47664389509119, +ERASE, 47664389447680, 47664389447680, +STORE, 47664389447680, 47664389509119, +STORE, 47664389533696, 47664389558271, +STORE, 47664389509120, 47664389533695, +ERASE, 47664389509120, 47664389509120, +STORE, 47664389509120, 47664389558271, +ERASE, 47664389509120, 47664389509120, +STORE, 47664389509120, 47664389533695, +STORE, 47664389533696, 47664389558271, +STORE, 47664389541888, 47664389558271, +STORE, 47664389533696, 47664389541887, +ERASE, 47664389533696, 47664389533696, +STORE, 47664389533696, 47664389541887, +ERASE, 47664389541888, 47664389541888, +STORE, 47664389541888, 47664389558271, +STORE, 47664389558272, 47664389578751, +ERASE, 47664389558272, 47664389558272, +STORE, 47664389558272, 47664389562367, +STORE, 47664389562368, 47664389578751, +STORE, 47664389566464, 47664389578751, +STORE, 47664389562368, 47664389566463, +ERASE, 47664389562368, 47664389562368, +STORE, 47664389562368, 47664389566463, +STORE, 47664389570560, 47664389578751, +STORE, 47664389566464, 47664389570559, +ERASE, 47664389566464, 47664389566464, +STORE, 47664389566464, 47664389578751, +ERASE, 47664389566464, 47664389566464, +STORE, 47664389566464, 47664389570559, +STORE, 47664389570560, 47664389578751, +ERASE, 47664389570560, 47664389570560, +STORE, 47664389570560, 47664389578751, +STORE, 47664389578752, 47664389586943, +ERASE, 47664389382144, 47664389382144, +STORE, 47664389382144, 47664389398527, +STORE, 47664389398528, 47664389406719, +ERASE, 47664389570560, 47664389570560, +STORE, 47664389570560, 47664389574655, +STORE, 47664389574656, 47664389578751, +ERASE, 47664389533696, 47664389533696, +STORE, 47664389533696, 47664389537791, +STORE, 47664389537792, 47664389541887, +ERASE, 47664387362816, 47664387362816, +STORE, 47664387362816, 47664387559423, +STORE, 47664387559424, 47664387567615, +ERASE, 47664384524288, 47664384524288, +STORE, 47664384524288, 47664384528383, +STORE, 47664384528384, 47664384532479, +ERASE, 94071213555712, 94071213555712, +STORE, 94071213555712, 94071213563903, +STORE, 94071213563904, 94071213567999, +ERASE, 139968410804224, 139968410804224, +STORE, 139968410804224, 139968410808319, +STORE, 139968410808320, 139968410812415, +ERASE, 47664384352256, 47664384352256, +STORE, 94071244402688, 94071244537855, +STORE, 140737488347136, 140737488351231, +STORE, 140728271503360, 140737488351231, +ERASE, 140728271503360, 140728271503360, +STORE, 140728271503360, 140728271507455, +STORE, 94410361982976, 94410362155007, +ERASE, 94410361982976, 94410361982976, +STORE, 94410361982976, 94410361999359, +STORE, 94410361999360, 94410362155007, +ERASE, 94410361999360, 94410361999360, +STORE, 94410361999360, 94410362101759, +STORE, 94410362101760, 94410362142719, +STORE, 94410362142720, 94410362155007, +STORE, 140351953997824, 140351954169855, +ERASE, 140351953997824, 140351953997824, +STORE, 140351953997824, 140351954001919, +STORE, 140351954001920, 140351954169855, +ERASE, 140351954001920, 140351954001920, +STORE, 140351954001920, 140351954124799, +STORE, 140351954124800, 140351954157567, +STORE, 140351954157568, 140351954165759, +STORE, 140351954165760, 140351954169855, +STORE, 140728272429056, 140728272433151, +STORE, 140728272416768, 140728272429055, +STORE, 47280840998912, 47280841007103, +STORE, 47280841007104, 47280841015295, +STORE, 47280841015296, 47280841179135, +ERASE, 47280841015296, 47280841015296, +STORE, 47280841015296, 47280841027583, +STORE, 47280841027584, 47280841179135, +STORE, 47280841125888, 47280841179135, +STORE, 47280841027584, 47280841125887, +ERASE, 47280841027584, 47280841027584, +STORE, 47280841027584, 47280841125887, +STORE, 47280841170944, 47280841179135, +STORE, 47280841125888, 47280841170943, +ERASE, 47280841125888, 47280841125888, +STORE, 47280841125888, 47280841179135, +ERASE, 47280841125888, 47280841125888, +STORE, 47280841125888, 47280841170943, +STORE, 47280841170944, 47280841179135, +ERASE, 47280841170944, 47280841170944, +STORE, 47280841170944, 47280841179135, +STORE, 47280841179136, 47280844230655, +STORE, 47280841723904, 47280844230655, +STORE, 47280841179136, 47280841723903, +ERASE, 47280841723904, 47280841723904, +STORE, 47280841723904, 47280844009471, +STORE, 47280844009472, 47280844230655, +STORE, 47280843419648, 47280844009471, +STORE, 47280841723904, 47280843419647, +ERASE, 47280841723904, 47280841723904, +STORE, 47280841723904, 47280843419647, +STORE, 47280844005376, 47280844009471, +STORE, 47280843419648, 47280844005375, +ERASE, 47280843419648, 47280843419648, +STORE, 47280843419648, 47280844005375, +STORE, 47280844214272, 47280844230655, +STORE, 47280844009472, 47280844214271, +ERASE, 47280844009472, 47280844009472, +STORE, 47280844009472, 47280844214271, +ERASE, 47280844214272, 47280844214272, +STORE, 47280844214272, 47280844230655, +STORE, 47280844230656, 47280846069759, +STORE, 47280844369920, 47280846069759, +STORE, 47280844230656, 47280844369919, +ERASE, 47280844369920, 47280844369920, +STORE, 47280844369920, 47280846028799, +STORE, 47280846028800, 47280846069759, +STORE, 47280845713408, 47280846028799, +STORE, 47280844369920, 47280845713407, +ERASE, 47280844369920, 47280844369920, +STORE, 47280844369920, 47280845713407, +STORE, 47280846024704, 47280846028799, +STORE, 47280845713408, 47280846024703, +ERASE, 47280845713408, 47280845713408, +STORE, 47280845713408, 47280846024703, +STORE, 47280846053376, 47280846069759, +STORE, 47280846028800, 47280846053375, +ERASE, 47280846028800, 47280846028800, +STORE, 47280846028800, 47280846053375, +ERASE, 47280846053376, 47280846053376, +STORE, 47280846053376, 47280846069759, +STORE, 47280846069760, 47280846204927, +ERASE, 47280846069760, 47280846069760, +STORE, 47280846069760, 47280846094335, +STORE, 47280846094336, 47280846204927, +STORE, 47280846155776, 47280846204927, +STORE, 47280846094336, 47280846155775, +ERASE, 47280846094336, 47280846094336, +STORE, 47280846094336, 47280846155775, +STORE, 47280846180352, 47280846204927, +STORE, 47280846155776, 47280846180351, +ERASE, 47280846155776, 47280846155776, +STORE, 47280846155776, 47280846204927, +ERASE, 47280846155776, 47280846155776, +STORE, 47280846155776, 47280846180351, +STORE, 47280846180352, 47280846204927, +STORE, 47280846188544, 47280846204927, +STORE, 47280846180352, 47280846188543, +ERASE, 47280846180352, 47280846180352, +STORE, 47280846180352, 47280846188543, +ERASE, 47280846188544, 47280846188544, +STORE, 47280846188544, 47280846204927, +STORE, 47280846204928, 47280846225407, +ERASE, 47280846204928, 47280846204928, +STORE, 47280846204928, 47280846209023, +STORE, 47280846209024, 47280846225407, +STORE, 47280846213120, 47280846225407, +STORE, 47280846209024, 47280846213119, +ERASE, 47280846209024, 47280846209024, +STORE, 47280846209024, 47280846213119, +STORE, 47280846217216, 47280846225407, +STORE, 47280846213120, 47280846217215, +ERASE, 47280846213120, 47280846213120, +STORE, 47280846213120, 47280846225407, +ERASE, 47280846213120, 47280846213120, +STORE, 47280846213120, 47280846217215, +STORE, 47280846217216, 47280846225407, +ERASE, 47280846217216, 47280846217216, +STORE, 47280846217216, 47280846225407, +STORE, 47280846225408, 47280846233599, +ERASE, 47280846028800, 47280846028800, +STORE, 47280846028800, 47280846045183, +STORE, 47280846045184, 47280846053375, +ERASE, 47280846217216, 47280846217216, +STORE, 47280846217216, 47280846221311, +STORE, 47280846221312, 47280846225407, +ERASE, 47280846180352, 47280846180352, +STORE, 47280846180352, 47280846184447, +STORE, 47280846184448, 47280846188543, +ERASE, 47280844009472, 47280844009472, +STORE, 47280844009472, 47280844206079, +STORE, 47280844206080, 47280844214271, +ERASE, 47280841170944, 47280841170944, +STORE, 47280841170944, 47280841175039, +STORE, 47280841175040, 47280841179135, +ERASE, 94410362142720, 94410362142720, +STORE, 94410362142720, 94410362150911, +STORE, 94410362150912, 94410362155007, +ERASE, 140351954157568, 140351954157568, +STORE, 140351954157568, 140351954161663, +STORE, 140351954161664, 140351954165759, +ERASE, 47280840998912, 47280840998912, +STORE, 94410379456512, 94410379591679, +STORE, 140737488347136, 140737488351231, +STORE, 140732946362368, 140737488351231, +ERASE, 140732946362368, 140732946362368, +STORE, 140732946362368, 140732946366463, +STORE, 94352937934848, 94352938106879, +ERASE, 94352937934848, 94352937934848, +STORE, 94352937934848, 94352937951231, +STORE, 94352937951232, 94352938106879, +ERASE, 94352937951232, 94352937951232, +STORE, 94352937951232, 94352938053631, +STORE, 94352938053632, 94352938094591, +STORE, 94352938094592, 94352938106879, +STORE, 140595518742528, 140595518914559, +ERASE, 140595518742528, 140595518742528, +STORE, 140595518742528, 140595518746623, +STORE, 140595518746624, 140595518914559, +ERASE, 140595518746624, 140595518746624, +STORE, 140595518746624, 140595518869503, +STORE, 140595518869504, 140595518902271, +STORE, 140595518902272, 140595518910463, +STORE, 140595518910464, 140595518914559, +STORE, 140732947468288, 140732947472383, +STORE, 140732947456000, 140732947468287, +STORE, 47037276254208, 47037276262399, +STORE, 47037276262400, 47037276270591, +STORE, 47037276270592, 47037276434431, +ERASE, 47037276270592, 47037276270592, +STORE, 47037276270592, 47037276282879, +STORE, 47037276282880, 47037276434431, +STORE, 47037276381184, 47037276434431, +STORE, 47037276282880, 47037276381183, +ERASE, 47037276282880, 47037276282880, +STORE, 47037276282880, 47037276381183, +STORE, 47037276426240, 47037276434431, +STORE, 47037276381184, 47037276426239, +ERASE, 47037276381184, 47037276381184, +STORE, 47037276381184, 47037276434431, +ERASE, 47037276381184, 47037276381184, +STORE, 47037276381184, 47037276426239, +STORE, 47037276426240, 47037276434431, +ERASE, 47037276426240, 47037276426240, +STORE, 47037276426240, 47037276434431, +STORE, 47037276434432, 47037279485951, +STORE, 47037276979200, 47037279485951, +STORE, 47037276434432, 47037276979199, +ERASE, 47037276979200, 47037276979200, +STORE, 47037276979200, 47037279264767, +STORE, 47037279264768, 47037279485951, +STORE, 47037278674944, 47037279264767, +STORE, 47037276979200, 47037278674943, +ERASE, 47037276979200, 47037276979200, +STORE, 47037276979200, 47037278674943, +STORE, 47037279260672, 47037279264767, +STORE, 47037278674944, 47037279260671, +ERASE, 47037278674944, 47037278674944, +STORE, 47037278674944, 47037279260671, +STORE, 47037279469568, 47037279485951, +STORE, 47037279264768, 47037279469567, +ERASE, 47037279264768, 47037279264768, +STORE, 47037279264768, 47037279469567, +ERASE, 47037279469568, 47037279469568, +STORE, 47037279469568, 47037279485951, +STORE, 47037279485952, 47037281325055, +STORE, 47037279625216, 47037281325055, +STORE, 47037279485952, 47037279625215, +ERASE, 47037279625216, 47037279625216, +STORE, 47037279625216, 47037281284095, +STORE, 47037281284096, 47037281325055, +STORE, 47037280968704, 47037281284095, +STORE, 47037279625216, 47037280968703, +ERASE, 47037279625216, 47037279625216, +STORE, 47037279625216, 47037280968703, +STORE, 47037281280000, 47037281284095, +STORE, 47037280968704, 47037281279999, +ERASE, 47037280968704, 47037280968704, +STORE, 47037280968704, 47037281279999, +STORE, 47037281308672, 47037281325055, +STORE, 47037281284096, 47037281308671, +ERASE, 47037281284096, 47037281284096, +STORE, 47037281284096, 47037281308671, +ERASE, 47037281308672, 47037281308672, +STORE, 47037281308672, 47037281325055, +STORE, 47037281325056, 47037281460223, +ERASE, 47037281325056, 47037281325056, +STORE, 47037281325056, 47037281349631, +STORE, 47037281349632, 47037281460223, +STORE, 47037281411072, 47037281460223, +STORE, 47037281349632, 47037281411071, +ERASE, 47037281349632, 47037281349632, +STORE, 47037281349632, 47037281411071, +STORE, 47037281435648, 47037281460223, +STORE, 47037281411072, 47037281435647, +ERASE, 47037281411072, 47037281411072, +STORE, 47037281411072, 47037281460223, +ERASE, 47037281411072, 47037281411072, +STORE, 47037281411072, 47037281435647, +STORE, 47037281435648, 47037281460223, +STORE, 47037281443840, 47037281460223, +STORE, 47037281435648, 47037281443839, +ERASE, 47037281435648, 47037281435648, +STORE, 47037281435648, 47037281443839, +ERASE, 47037281443840, 47037281443840, +STORE, 47037281443840, 47037281460223, +STORE, 47037281460224, 47037281480703, +ERASE, 47037281460224, 47037281460224, +STORE, 47037281460224, 47037281464319, +STORE, 47037281464320, 47037281480703, +STORE, 47037281468416, 47037281480703, +STORE, 47037281464320, 47037281468415, +ERASE, 47037281464320, 47037281464320, +STORE, 47037281464320, 47037281468415, +STORE, 47037281472512, 47037281480703, +STORE, 47037281468416, 47037281472511, +ERASE, 47037281468416, 47037281468416, +STORE, 47037281468416, 47037281480703, +ERASE, 47037281468416, 47037281468416, +STORE, 47037281468416, 47037281472511, +STORE, 47037281472512, 47037281480703, +ERASE, 47037281472512, 47037281472512, +STORE, 47037281472512, 47037281480703, +STORE, 47037281480704, 47037281488895, +ERASE, 47037281284096, 47037281284096, +STORE, 47037281284096, 47037281300479, +STORE, 47037281300480, 47037281308671, +ERASE, 47037281472512, 47037281472512, +STORE, 47037281472512, 47037281476607, +STORE, 47037281476608, 47037281480703, +ERASE, 47037281435648, 47037281435648, +STORE, 47037281435648, 47037281439743, +STORE, 47037281439744, 47037281443839, +ERASE, 47037279264768, 47037279264768, +STORE, 47037279264768, 47037279461375, +STORE, 47037279461376, 47037279469567, +ERASE, 47037276426240, 47037276426240, +STORE, 47037276426240, 47037276430335, +STORE, 47037276430336, 47037276434431, +ERASE, 94352938094592, 94352938094592, +STORE, 94352938094592, 94352938102783, +STORE, 94352938102784, 94352938106879, +ERASE, 140595518902272, 140595518902272, +STORE, 140595518902272, 140595518906367, +STORE, 140595518906368, 140595518910463, +ERASE, 47037276254208, 47037276254208, +STORE, 94352938438656, 94352938573823, +STORE, 140737488347136, 140737488351231, +STORE, 140733506027520, 140737488351231, +ERASE, 140733506027520, 140733506027520, +STORE, 140733506027520, 140733506031615, +STORE, 94150123073536, 94150123245567, +ERASE, 94150123073536, 94150123073536, +STORE, 94150123073536, 94150123089919, +STORE, 94150123089920, 94150123245567, +ERASE, 94150123089920, 94150123089920, +STORE, 94150123089920, 94150123192319, +STORE, 94150123192320, 94150123233279, +STORE, 94150123233280, 94150123245567, +STORE, 140081290375168, 140081290547199, +ERASE, 140081290375168, 140081290375168, +STORE, 140081290375168, 140081290379263, +STORE, 140081290379264, 140081290547199, +ERASE, 140081290379264, 140081290379264, +STORE, 140081290379264, 140081290502143, +STORE, 140081290502144, 140081290534911, +STORE, 140081290534912, 140081290543103, +STORE, 140081290543104, 140081290547199, +STORE, 140733506707456, 140733506711551, +STORE, 140733506695168, 140733506707455, +STORE, 47551504621568, 47551504629759, +STORE, 47551504629760, 47551504637951, +STORE, 47551504637952, 47551504801791, +ERASE, 47551504637952, 47551504637952, +STORE, 47551504637952, 47551504650239, +STORE, 47551504650240, 47551504801791, +STORE, 47551504748544, 47551504801791, +STORE, 47551504650240, 47551504748543, +ERASE, 47551504650240, 47551504650240, +STORE, 47551504650240, 47551504748543, +STORE, 47551504793600, 47551504801791, +STORE, 47551504748544, 47551504793599, +ERASE, 47551504748544, 47551504748544, +STORE, 47551504748544, 47551504801791, +ERASE, 47551504748544, 47551504748544, +STORE, 47551504748544, 47551504793599, +STORE, 47551504793600, 47551504801791, +ERASE, 47551504793600, 47551504793600, +STORE, 47551504793600, 47551504801791, +STORE, 47551504801792, 47551507853311, +STORE, 47551505346560, 47551507853311, +STORE, 47551504801792, 47551505346559, +ERASE, 47551505346560, 47551505346560, +STORE, 47551505346560, 47551507632127, +STORE, 47551507632128, 47551507853311, +STORE, 47551507042304, 47551507632127, +STORE, 47551505346560, 47551507042303, +ERASE, 47551505346560, 47551505346560, +STORE, 47551505346560, 47551507042303, +STORE, 47551507628032, 47551507632127, +STORE, 47551507042304, 47551507628031, +ERASE, 47551507042304, 47551507042304, +STORE, 47551507042304, 47551507628031, +STORE, 47551507836928, 47551507853311, +STORE, 47551507632128, 47551507836927, +ERASE, 47551507632128, 47551507632128, +STORE, 47551507632128, 47551507836927, +ERASE, 47551507836928, 47551507836928, +STORE, 47551507836928, 47551507853311, +STORE, 47551507853312, 47551509692415, +STORE, 47551507992576, 47551509692415, +STORE, 47551507853312, 47551507992575, +ERASE, 47551507992576, 47551507992576, +STORE, 47551507992576, 47551509651455, +STORE, 47551509651456, 47551509692415, +STORE, 47551509336064, 47551509651455, +STORE, 47551507992576, 47551509336063, +ERASE, 47551507992576, 47551507992576, +STORE, 47551507992576, 47551509336063, +STORE, 47551509647360, 47551509651455, +STORE, 47551509336064, 47551509647359, +ERASE, 47551509336064, 47551509336064, +STORE, 47551509336064, 47551509647359, +STORE, 47551509676032, 47551509692415, +STORE, 47551509651456, 47551509676031, +ERASE, 47551509651456, 47551509651456, +STORE, 47551509651456, 47551509676031, +ERASE, 47551509676032, 47551509676032, +STORE, 47551509676032, 47551509692415, +STORE, 47551509692416, 47551509827583, +ERASE, 47551509692416, 47551509692416, +STORE, 47551509692416, 47551509716991, +STORE, 47551509716992, 47551509827583, +STORE, 47551509778432, 47551509827583, +STORE, 47551509716992, 47551509778431, +ERASE, 47551509716992, 47551509716992, +STORE, 47551509716992, 47551509778431, +STORE, 47551509803008, 47551509827583, +STORE, 47551509778432, 47551509803007, +ERASE, 47551509778432, 47551509778432, +STORE, 47551509778432, 47551509827583, +ERASE, 47551509778432, 47551509778432, +STORE, 47551509778432, 47551509803007, +STORE, 47551509803008, 47551509827583, +STORE, 47551509811200, 47551509827583, +STORE, 47551509803008, 47551509811199, +ERASE, 47551509803008, 47551509803008, +STORE, 47551509803008, 47551509811199, +ERASE, 47551509811200, 47551509811200, +STORE, 47551509811200, 47551509827583, +STORE, 47551509827584, 47551509848063, +ERASE, 47551509827584, 47551509827584, +STORE, 47551509827584, 47551509831679, +STORE, 47551509831680, 47551509848063, +STORE, 47551509835776, 47551509848063, +STORE, 47551509831680, 47551509835775, +ERASE, 47551509831680, 47551509831680, +STORE, 47551509831680, 47551509835775, +STORE, 47551509839872, 47551509848063, +STORE, 47551509835776, 47551509839871, +ERASE, 47551509835776, 47551509835776, +STORE, 47551509835776, 47551509848063, +ERASE, 47551509835776, 47551509835776, +STORE, 47551509835776, 47551509839871, +STORE, 47551509839872, 47551509848063, +ERASE, 47551509839872, 47551509839872, +STORE, 47551509839872, 47551509848063, +STORE, 47551509848064, 47551509856255, +ERASE, 47551509651456, 47551509651456, +STORE, 47551509651456, 47551509667839, +STORE, 47551509667840, 47551509676031, +ERASE, 47551509839872, 47551509839872, +STORE, 47551509839872, 47551509843967, +STORE, 47551509843968, 47551509848063, +ERASE, 47551509803008, 47551509803008, +STORE, 47551509803008, 47551509807103, +STORE, 47551509807104, 47551509811199, +ERASE, 47551507632128, 47551507632128, +STORE, 47551507632128, 47551507828735, +STORE, 47551507828736, 47551507836927, +ERASE, 47551504793600, 47551504793600, +STORE, 47551504793600, 47551504797695, +STORE, 47551504797696, 47551504801791, +ERASE, 94150123233280, 94150123233280, +STORE, 94150123233280, 94150123241471, +STORE, 94150123241472, 94150123245567, +ERASE, 140081290534912, 140081290534912, +STORE, 140081290534912, 140081290539007, +STORE, 140081290539008, 140081290543103, +ERASE, 47551504621568, 47551504621568, +STORE, 94150148112384, 94150148247551, +STORE, 140737488347136, 140737488351231, +STORE, 140734389334016, 140737488351231, +ERASE, 140734389334016, 140734389334016, +STORE, 140734389334016, 140734389338111, +STORE, 94844636606464, 94844636778495, +ERASE, 94844636606464, 94844636606464, +STORE, 94844636606464, 94844636622847, +STORE, 94844636622848, 94844636778495, +ERASE, 94844636622848, 94844636622848, +STORE, 94844636622848, 94844636725247, +STORE, 94844636725248, 94844636766207, +STORE, 94844636766208, 94844636778495, +STORE, 139922765217792, 139922765389823, +ERASE, 139922765217792, 139922765217792, +STORE, 139922765217792, 139922765221887, +STORE, 139922765221888, 139922765389823, +ERASE, 139922765221888, 139922765221888, +STORE, 139922765221888, 139922765344767, +STORE, 139922765344768, 139922765377535, +STORE, 139922765377536, 139922765385727, +STORE, 139922765385728, 139922765389823, +STORE, 140734389678080, 140734389682175, +STORE, 140734389665792, 140734389678079, +STORE, 47710029778944, 47710029787135, +STORE, 47710029787136, 47710029795327, +STORE, 47710029795328, 47710029959167, +ERASE, 47710029795328, 47710029795328, +STORE, 47710029795328, 47710029807615, +STORE, 47710029807616, 47710029959167, +STORE, 47710029905920, 47710029959167, +STORE, 47710029807616, 47710029905919, +ERASE, 47710029807616, 47710029807616, +STORE, 47710029807616, 47710029905919, +STORE, 47710029950976, 47710029959167, +STORE, 47710029905920, 47710029950975, +ERASE, 47710029905920, 47710029905920, +STORE, 47710029905920, 47710029959167, +ERASE, 47710029905920, 47710029905920, +STORE, 47710029905920, 47710029950975, +STORE, 47710029950976, 47710029959167, +ERASE, 47710029950976, 47710029950976, +STORE, 47710029950976, 47710029959167, +STORE, 47710029959168, 47710033010687, +STORE, 47710030503936, 47710033010687, +STORE, 47710029959168, 47710030503935, +ERASE, 47710030503936, 47710030503936, +STORE, 47710030503936, 47710032789503, +STORE, 47710032789504, 47710033010687, +STORE, 47710032199680, 47710032789503, +STORE, 47710030503936, 47710032199679, +ERASE, 47710030503936, 47710030503936, +STORE, 47710030503936, 47710032199679, +STORE, 47710032785408, 47710032789503, +STORE, 47710032199680, 47710032785407, +ERASE, 47710032199680, 47710032199680, +STORE, 47710032199680, 47710032785407, +STORE, 47710032994304, 47710033010687, +STORE, 47710032789504, 47710032994303, +ERASE, 47710032789504, 47710032789504, +STORE, 47710032789504, 47710032994303, +ERASE, 47710032994304, 47710032994304, +STORE, 47710032994304, 47710033010687, +STORE, 47710033010688, 47710034849791, +STORE, 47710033149952, 47710034849791, +STORE, 47710033010688, 47710033149951, +ERASE, 47710033149952, 47710033149952, +STORE, 47710033149952, 47710034808831, +STORE, 47710034808832, 47710034849791, +STORE, 47710034493440, 47710034808831, +STORE, 47710033149952, 47710034493439, +ERASE, 47710033149952, 47710033149952, +STORE, 47710033149952, 47710034493439, +STORE, 47710034804736, 47710034808831, +STORE, 47710034493440, 47710034804735, +ERASE, 47710034493440, 47710034493440, +STORE, 47710034493440, 47710034804735, +STORE, 47710034833408, 47710034849791, +STORE, 47710034808832, 47710034833407, +ERASE, 47710034808832, 47710034808832, +STORE, 47710034808832, 47710034833407, +ERASE, 47710034833408, 47710034833408, +STORE, 47710034833408, 47710034849791, +STORE, 47710034849792, 47710034984959, +ERASE, 47710034849792, 47710034849792, +STORE, 47710034849792, 47710034874367, +STORE, 47710034874368, 47710034984959, +STORE, 47710034935808, 47710034984959, +STORE, 47710034874368, 47710034935807, +ERASE, 47710034874368, 47710034874368, +STORE, 47710034874368, 47710034935807, +STORE, 47710034960384, 47710034984959, +STORE, 47710034935808, 47710034960383, +ERASE, 47710034935808, 47710034935808, +STORE, 47710034935808, 47710034984959, +ERASE, 47710034935808, 47710034935808, +STORE, 47710034935808, 47710034960383, +STORE, 47710034960384, 47710034984959, +STORE, 47710034968576, 47710034984959, +STORE, 47710034960384, 47710034968575, +ERASE, 47710034960384, 47710034960384, +STORE, 47710034960384, 47710034968575, +ERASE, 47710034968576, 47710034968576, +STORE, 47710034968576, 47710034984959, +STORE, 47710034984960, 47710035005439, +ERASE, 47710034984960, 47710034984960, +STORE, 47710034984960, 47710034989055, +STORE, 47710034989056, 47710035005439, +STORE, 47710034993152, 47710035005439, +STORE, 47710034989056, 47710034993151, +ERASE, 47710034989056, 47710034989056, +STORE, 47710034989056, 47710034993151, +STORE, 47710034997248, 47710035005439, +STORE, 47710034993152, 47710034997247, +ERASE, 47710034993152, 47710034993152, +STORE, 47710034993152, 47710035005439, +ERASE, 47710034993152, 47710034993152, +STORE, 47710034993152, 47710034997247, +STORE, 47710034997248, 47710035005439, +ERASE, 47710034997248, 47710034997248, +STORE, 47710034997248, 47710035005439, +STORE, 47710035005440, 47710035013631, +ERASE, 47710034808832, 47710034808832, +STORE, 47710034808832, 47710034825215, +STORE, 47710034825216, 47710034833407, +ERASE, 47710034997248, 47710034997248, +STORE, 47710034997248, 47710035001343, +STORE, 47710035001344, 47710035005439, +ERASE, 47710034960384, 47710034960384, +STORE, 47710034960384, 47710034964479, +STORE, 47710034964480, 47710034968575, +ERASE, 47710032789504, 47710032789504, +STORE, 47710032789504, 47710032986111, +STORE, 47710032986112, 47710032994303, +ERASE, 47710029950976, 47710029950976, +STORE, 47710029950976, 47710029955071, +STORE, 47710029955072, 47710029959167, +ERASE, 94844636766208, 94844636766208, +STORE, 94844636766208, 94844636774399, +STORE, 94844636774400, 94844636778495, +ERASE, 139922765377536, 139922765377536, +STORE, 139922765377536, 139922765381631, +STORE, 139922765381632, 139922765385727, +ERASE, 47710029778944, 47710029778944, +STORE, 94844641775616, 94844641910783, +STORE, 140737488347136, 140737488351231, +STORE, 140732213886976, 140737488351231, +ERASE, 140732213886976, 140732213886976, +STORE, 140732213886976, 140732213891071, +STORE, 94240508887040, 94240509059071, +ERASE, 94240508887040, 94240508887040, +STORE, 94240508887040, 94240508903423, +STORE, 94240508903424, 94240509059071, +ERASE, 94240508903424, 94240508903424, +STORE, 94240508903424, 94240509005823, +STORE, 94240509005824, 94240509046783, +STORE, 94240509046784, 94240509059071, +STORE, 140275106516992, 140275106689023, +ERASE, 140275106516992, 140275106516992, +STORE, 140275106516992, 140275106521087, +STORE, 140275106521088, 140275106689023, +ERASE, 140275106521088, 140275106521088, +STORE, 140275106521088, 140275106643967, +STORE, 140275106643968, 140275106676735, +STORE, 140275106676736, 140275106684927, +STORE, 140275106684928, 140275106689023, +STORE, 140732213977088, 140732213981183, +STORE, 140732213964800, 140732213977087, +STORE, 47357688479744, 47357688487935, +STORE, 47357688487936, 47357688496127, +STORE, 47357688496128, 47357688659967, +ERASE, 47357688496128, 47357688496128, +STORE, 47357688496128, 47357688508415, +STORE, 47357688508416, 47357688659967, +STORE, 47357688606720, 47357688659967, +STORE, 47357688508416, 47357688606719, +ERASE, 47357688508416, 47357688508416, +STORE, 47357688508416, 47357688606719, +STORE, 47357688651776, 47357688659967, +STORE, 47357688606720, 47357688651775, +ERASE, 47357688606720, 47357688606720, +STORE, 47357688606720, 47357688659967, +ERASE, 47357688606720, 47357688606720, +STORE, 47357688606720, 47357688651775, +STORE, 47357688651776, 47357688659967, +ERASE, 47357688651776, 47357688651776, +STORE, 47357688651776, 47357688659967, +STORE, 47357688659968, 47357691711487, +STORE, 47357689204736, 47357691711487, +STORE, 47357688659968, 47357689204735, +ERASE, 47357689204736, 47357689204736, +STORE, 47357689204736, 47357691490303, +STORE, 47357691490304, 47357691711487, +STORE, 47357690900480, 47357691490303, +STORE, 47357689204736, 47357690900479, +ERASE, 47357689204736, 47357689204736, +STORE, 47357689204736, 47357690900479, +STORE, 47357691486208, 47357691490303, +STORE, 47357690900480, 47357691486207, +ERASE, 47357690900480, 47357690900480, +STORE, 47357690900480, 47357691486207, +STORE, 47357691695104, 47357691711487, +STORE, 47357691490304, 47357691695103, +ERASE, 47357691490304, 47357691490304, +STORE, 47357691490304, 47357691695103, +ERASE, 47357691695104, 47357691695104, +STORE, 47357691695104, 47357691711487, +STORE, 47357691711488, 47357693550591, +STORE, 47357691850752, 47357693550591, +STORE, 47357691711488, 47357691850751, +ERASE, 47357691850752, 47357691850752, +STORE, 47357691850752, 47357693509631, +STORE, 47357693509632, 47357693550591, +STORE, 47357693194240, 47357693509631, +STORE, 47357691850752, 47357693194239, +ERASE, 47357691850752, 47357691850752, +STORE, 47357691850752, 47357693194239, +STORE, 47357693505536, 47357693509631, +STORE, 47357693194240, 47357693505535, +ERASE, 47357693194240, 47357693194240, +STORE, 47357693194240, 47357693505535, +STORE, 47357693534208, 47357693550591, +STORE, 47357693509632, 47357693534207, +ERASE, 47357693509632, 47357693509632, +STORE, 47357693509632, 47357693534207, +ERASE, 47357693534208, 47357693534208, +STORE, 47357693534208, 47357693550591, +STORE, 47357693550592, 47357693685759, +ERASE, 47357693550592, 47357693550592, +STORE, 47357693550592, 47357693575167, +STORE, 47357693575168, 47357693685759, +STORE, 47357693636608, 47357693685759, +STORE, 47357693575168, 47357693636607, +ERASE, 47357693575168, 47357693575168, +STORE, 47357693575168, 47357693636607, +STORE, 47357693661184, 47357693685759, +STORE, 47357693636608, 47357693661183, +ERASE, 47357693636608, 47357693636608, +STORE, 47357693636608, 47357693685759, +ERASE, 47357693636608, 47357693636608, +STORE, 47357693636608, 47357693661183, +STORE, 47357693661184, 47357693685759, +STORE, 47357693669376, 47357693685759, +STORE, 47357693661184, 47357693669375, +ERASE, 47357693661184, 47357693661184, +STORE, 47357693661184, 47357693669375, +ERASE, 47357693669376, 47357693669376, +STORE, 47357693669376, 47357693685759, +STORE, 47357693685760, 47357693706239, +ERASE, 47357693685760, 47357693685760, +STORE, 47357693685760, 47357693689855, +STORE, 47357693689856, 47357693706239, +STORE, 47357693693952, 47357693706239, +STORE, 47357693689856, 47357693693951, +ERASE, 47357693689856, 47357693689856, +STORE, 47357693689856, 47357693693951, +STORE, 47357693698048, 47357693706239, +STORE, 47357693693952, 47357693698047, +ERASE, 47357693693952, 47357693693952, +STORE, 47357693693952, 47357693706239, +ERASE, 47357693693952, 47357693693952, +STORE, 47357693693952, 47357693698047, +STORE, 47357693698048, 47357693706239, +ERASE, 47357693698048, 47357693698048, +STORE, 47357693698048, 47357693706239, +STORE, 47357693706240, 47357693714431, +ERASE, 47357693509632, 47357693509632, +STORE, 47357693509632, 47357693526015, +STORE, 47357693526016, 47357693534207, +ERASE, 47357693698048, 47357693698048, +STORE, 47357693698048, 47357693702143, +STORE, 47357693702144, 47357693706239, +ERASE, 47357693661184, 47357693661184, +STORE, 47357693661184, 47357693665279, +STORE, 47357693665280, 47357693669375, +ERASE, 47357691490304, 47357691490304, +STORE, 47357691490304, 47357691686911, +STORE, 47357691686912, 47357691695103, +ERASE, 47357688651776, 47357688651776, +STORE, 47357688651776, 47357688655871, +STORE, 47357688655872, 47357688659967, +ERASE, 94240509046784, 94240509046784, +STORE, 94240509046784, 94240509054975, +STORE, 94240509054976, 94240509059071, +ERASE, 140275106676736, 140275106676736, +STORE, 140275106676736, 140275106680831, +STORE, 140275106680832, 140275106684927, +ERASE, 47357688479744, 47357688479744, +STORE, 94240518361088, 94240518496255, +STORE, 140737488347136, 140737488351231, +STORE, 140732688277504, 140737488351231, +ERASE, 140732688277504, 140732688277504, +STORE, 140732688277504, 140732688281599, +STORE, 94629171351552, 94629172064255, +ERASE, 94629171351552, 94629171351552, +STORE, 94629171351552, 94629171400703, +STORE, 94629171400704, 94629172064255, +ERASE, 94629171400704, 94629171400704, +STORE, 94629171400704, 94629171945471, +STORE, 94629171945472, 94629172043775, +STORE, 94629172043776, 94629172064255, +STORE, 139770707644416, 139770707816447, +ERASE, 139770707644416, 139770707644416, +STORE, 139770707644416, 139770707648511, +STORE, 139770707648512, 139770707816447, +ERASE, 139770707648512, 139770707648512, +STORE, 139770707648512, 139770707771391, +STORE, 139770707771392, 139770707804159, +STORE, 139770707804160, 139770707812351, +STORE, 139770707812352, 139770707816447, +STORE, 140732689121280, 140732689125375, +STORE, 140732689108992, 140732689121279, +STORE, 47862087352320, 47862087360511, +STORE, 47862087360512, 47862087368703, +STORE, 47862087368704, 47862087475199, +STORE, 47862087385088, 47862087475199, +STORE, 47862087368704, 47862087385087, +ERASE, 47862087385088, 47862087385088, +STORE, 47862087385088, 47862087458815, +STORE, 47862087458816, 47862087475199, +STORE, 47862087438336, 47862087458815, +STORE, 47862087385088, 47862087438335, +ERASE, 47862087385088, 47862087385088, +STORE, 47862087385088, 47862087438335, +STORE, 47862087454720, 47862087458815, +STORE, 47862087438336, 47862087454719, +ERASE, 47862087438336, 47862087438336, +STORE, 47862087438336, 47862087454719, +STORE, 47862087467008, 47862087475199, +STORE, 47862087458816, 47862087467007, +ERASE, 47862087458816, 47862087458816, +STORE, 47862087458816, 47862087467007, +ERASE, 47862087467008, 47862087467008, +STORE, 47862087467008, 47862087475199, +STORE, 47862087475200, 47862089314303, +STORE, 47862087614464, 47862089314303, +STORE, 47862087475200, 47862087614463, +ERASE, 47862087614464, 47862087614464, +STORE, 47862087614464, 47862089273343, +STORE, 47862089273344, 47862089314303, +STORE, 47862088957952, 47862089273343, +STORE, 47862087614464, 47862088957951, +ERASE, 47862087614464, 47862087614464, +STORE, 47862087614464, 47862088957951, +STORE, 47862089269248, 47862089273343, +STORE, 47862088957952, 47862089269247, +ERASE, 47862088957952, 47862088957952, +STORE, 47862088957952, 47862089269247, +STORE, 47862089297920, 47862089314303, +STORE, 47862089273344, 47862089297919, +ERASE, 47862089273344, 47862089273344, +STORE, 47862089273344, 47862089297919, +ERASE, 47862089297920, 47862089297920, +STORE, 47862089297920, 47862089314303, +STORE, 47862089297920, 47862089326591, +ERASE, 47862089273344, 47862089273344, +STORE, 47862089273344, 47862089289727, +STORE, 47862089289728, 47862089297919, +ERASE, 47862087458816, 47862087458816, +STORE, 47862087458816, 47862087462911, +STORE, 47862087462912, 47862087467007, +ERASE, 94629172043776, 94629172043776, +STORE, 94629172043776, 94629172060159, +STORE, 94629172060160, 94629172064255, +ERASE, 139770707804160, 139770707804160, +STORE, 139770707804160, 139770707808255, +STORE, 139770707808256, 139770707812351, +ERASE, 47862087352320, 47862087352320, +STORE, 94629197533184, 94629197668351, +STORE, 140737488347136, 140737488351231, +STORE, 140727540711424, 140737488351231, +ERASE, 140727540711424, 140727540711424, +STORE, 140727540711424, 140727540715519, +STORE, 94299865313280, 94299866025983, +ERASE, 94299865313280, 94299865313280, +STORE, 94299865313280, 94299865362431, +STORE, 94299865362432, 94299866025983, +ERASE, 94299865362432, 94299865362432, +STORE, 94299865362432, 94299865907199, +STORE, 94299865907200, 94299866005503, +STORE, 94299866005504, 94299866025983, +STORE, 140680268763136, 140680268935167, +ERASE, 140680268763136, 140680268763136, +STORE, 140680268763136, 140680268767231, +STORE, 140680268767232, 140680268935167, +ERASE, 140680268767232, 140680268767232, +STORE, 140680268767232, 140680268890111, +STORE, 140680268890112, 140680268922879, +STORE, 140680268922880, 140680268931071, +STORE, 140680268931072, 140680268935167, +STORE, 140727541424128, 140727541428223, +STORE, 140727541411840, 140727541424127, +STORE, 46952526233600, 46952526241791, +STORE, 46952526241792, 46952526249983, +STORE, 46952526249984, 46952526356479, +STORE, 46952526266368, 46952526356479, +STORE, 46952526249984, 46952526266367, +ERASE, 46952526266368, 46952526266368, +STORE, 46952526266368, 46952526340095, +STORE, 46952526340096, 46952526356479, +STORE, 46952526319616, 46952526340095, +STORE, 46952526266368, 46952526319615, +ERASE, 46952526266368, 46952526266368, +STORE, 46952526266368, 46952526319615, +STORE, 46952526336000, 46952526340095, +STORE, 46952526319616, 46952526335999, +ERASE, 46952526319616, 46952526319616, +STORE, 46952526319616, 46952526335999, +STORE, 46952526348288, 46952526356479, +STORE, 46952526340096, 46952526348287, +ERASE, 46952526340096, 46952526340096, +STORE, 46952526340096, 46952526348287, +ERASE, 46952526348288, 46952526348288, +STORE, 46952526348288, 46952526356479, +STORE, 46952526356480, 46952528195583, +STORE, 46952526495744, 46952528195583, +STORE, 46952526356480, 46952526495743, +ERASE, 46952526495744, 46952526495744, +STORE, 46952526495744, 46952528154623, +STORE, 46952528154624, 46952528195583, +STORE, 46952527839232, 46952528154623, +STORE, 46952526495744, 46952527839231, +ERASE, 46952526495744, 46952526495744, +STORE, 46952526495744, 46952527839231, +STORE, 46952528150528, 46952528154623, +STORE, 46952527839232, 46952528150527, +ERASE, 46952527839232, 46952527839232, +STORE, 46952527839232, 46952528150527, +STORE, 46952528179200, 46952528195583, +STORE, 46952528154624, 46952528179199, +ERASE, 46952528154624, 46952528154624, +STORE, 46952528154624, 46952528179199, +ERASE, 46952528179200, 46952528179200, +STORE, 46952528179200, 46952528195583, +STORE, 46952528179200, 46952528207871, +ERASE, 46952528154624, 46952528154624, +STORE, 46952528154624, 46952528171007, +STORE, 46952528171008, 46952528179199, +ERASE, 46952526340096, 46952526340096, +STORE, 46952526340096, 46952526344191, +STORE, 46952526344192, 46952526348287, +ERASE, 94299866005504, 94299866005504, +STORE, 94299866005504, 94299866021887, +STORE, 94299866021888, 94299866025983, +ERASE, 140680268922880, 140680268922880, +STORE, 140680268922880, 140680268926975, +STORE, 140680268926976, 140680268931071, +ERASE, 46952526233600, 46952526233600, +STORE, 140737488347136, 140737488351231, +STORE, 140722874793984, 140737488351231, +ERASE, 140722874793984, 140722874793984, +STORE, 140722874793984, 140722874798079, +STORE, 94448916213760, 94448916926463, +ERASE, 94448916213760, 94448916213760, +STORE, 94448916213760, 94448916262911, +STORE, 94448916262912, 94448916926463, +ERASE, 94448916262912, 94448916262912, +STORE, 94448916262912, 94448916807679, +STORE, 94448916807680, 94448916905983, +STORE, 94448916905984, 94448916926463, +STORE, 140389117046784, 140389117218815, +ERASE, 140389117046784, 140389117046784, +STORE, 140389117046784, 140389117050879, +STORE, 140389117050880, 140389117218815, +ERASE, 140389117050880, 140389117050880, +STORE, 140389117050880, 140389117173759, +STORE, 140389117173760, 140389117206527, +STORE, 140389117206528, 140389117214719, +STORE, 140389117214720, 140389117218815, +STORE, 140722875297792, 140722875301887, +STORE, 140722875285504, 140722875297791, +STORE, 47243677949952, 47243677958143, +STORE, 47243677958144, 47243677966335, +STORE, 47243677966336, 47243678072831, +STORE, 47243677982720, 47243678072831, +STORE, 47243677966336, 47243677982719, +ERASE, 47243677982720, 47243677982720, +STORE, 47243677982720, 47243678056447, +STORE, 47243678056448, 47243678072831, +STORE, 47243678035968, 47243678056447, +STORE, 47243677982720, 47243678035967, +ERASE, 47243677982720, 47243677982720, +STORE, 47243677982720, 47243678035967, +STORE, 47243678052352, 47243678056447, +STORE, 47243678035968, 47243678052351, +ERASE, 47243678035968, 47243678035968, +STORE, 47243678035968, 47243678052351, +STORE, 47243678064640, 47243678072831, +STORE, 47243678056448, 47243678064639, +ERASE, 47243678056448, 47243678056448, +STORE, 47243678056448, 47243678064639, +ERASE, 47243678064640, 47243678064640, +STORE, 47243678064640, 47243678072831, +STORE, 47243678072832, 47243679911935, +STORE, 47243678212096, 47243679911935, +STORE, 47243678072832, 47243678212095, +ERASE, 47243678212096, 47243678212096, +STORE, 47243678212096, 47243679870975, +STORE, 47243679870976, 47243679911935, +STORE, 47243679555584, 47243679870975, +STORE, 47243678212096, 47243679555583, +ERASE, 47243678212096, 47243678212096, +STORE, 47243678212096, 47243679555583, +STORE, 47243679866880, 47243679870975, +STORE, 47243679555584, 47243679866879, +ERASE, 47243679555584, 47243679555584, +STORE, 47243679555584, 47243679866879, +STORE, 47243679895552, 47243679911935, +STORE, 47243679870976, 47243679895551, +ERASE, 47243679870976, 47243679870976, +STORE, 47243679870976, 47243679895551, +ERASE, 47243679895552, 47243679895552, +STORE, 47243679895552, 47243679911935, +STORE, 47243679895552, 47243679924223, +ERASE, 47243679870976, 47243679870976, +STORE, 47243679870976, 47243679887359, +STORE, 47243679887360, 47243679895551, +ERASE, 47243678056448, 47243678056448, +STORE, 47243678056448, 47243678060543, +STORE, 47243678060544, 47243678064639, +ERASE, 94448916905984, 94448916905984, +STORE, 94448916905984, 94448916922367, +STORE, 94448916922368, 94448916926463, +ERASE, 140389117206528, 140389117206528, +STORE, 140389117206528, 140389117210623, +STORE, 140389117210624, 140389117214719, +ERASE, 47243677949952, 47243677949952, +STORE, 140737488347136, 140737488351231, +STORE, 140733068505088, 140737488351231, +ERASE, 140733068505088, 140733068505088, +STORE, 140733068505088, 140733068509183, +STORE, 94207145750528, 94207146463231, +ERASE, 94207145750528, 94207145750528, +STORE, 94207145750528, 94207145799679, +STORE, 94207145799680, 94207146463231, +ERASE, 94207145799680, 94207145799680, +STORE, 94207145799680, 94207146344447, +STORE, 94207146344448, 94207146442751, +STORE, 94207146442752, 94207146463231, +STORE, 140684504911872, 140684505083903, +ERASE, 140684504911872, 140684504911872, +STORE, 140684504911872, 140684504915967, +STORE, 140684504915968, 140684505083903, +ERASE, 140684504915968, 140684504915968, +STORE, 140684504915968, 140684505038847, +STORE, 140684505038848, 140684505071615, +STORE, 140684505071616, 140684505079807, +STORE, 140684505079808, 140684505083903, +STORE, 140733068607488, 140733068611583, +STORE, 140733068595200, 140733068607487, +STORE, 46948290084864, 46948290093055, +STORE, 46948290093056, 46948290101247, +STORE, 46948290101248, 46948290207743, +STORE, 46948290117632, 46948290207743, +STORE, 46948290101248, 46948290117631, +ERASE, 46948290117632, 46948290117632, +STORE, 46948290117632, 46948290191359, +STORE, 46948290191360, 46948290207743, +STORE, 46948290170880, 46948290191359, +STORE, 46948290117632, 46948290170879, +ERASE, 46948290117632, 46948290117632, +STORE, 46948290117632, 46948290170879, +STORE, 46948290187264, 46948290191359, +STORE, 46948290170880, 46948290187263, +ERASE, 46948290170880, 46948290170880, +STORE, 46948290170880, 46948290187263, +STORE, 46948290199552, 46948290207743, +STORE, 46948290191360, 46948290199551, +ERASE, 46948290191360, 46948290191360, +STORE, 46948290191360, 46948290199551, +ERASE, 46948290199552, 46948290199552, +STORE, 46948290199552, 46948290207743, +STORE, 46948290207744, 46948292046847, +STORE, 46948290347008, 46948292046847, +STORE, 46948290207744, 46948290347007, +ERASE, 46948290347008, 46948290347008, +STORE, 46948290347008, 46948292005887, +STORE, 46948292005888, 46948292046847, +STORE, 46948291690496, 46948292005887, +STORE, 46948290347008, 46948291690495, +ERASE, 46948290347008, 46948290347008, +STORE, 46948290347008, 46948291690495, +STORE, 46948292001792, 46948292005887, +STORE, 46948291690496, 46948292001791, +ERASE, 46948291690496, 46948291690496, +STORE, 46948291690496, 46948292001791, +STORE, 46948292030464, 46948292046847, +STORE, 46948292005888, 46948292030463, +ERASE, 46948292005888, 46948292005888, +STORE, 46948292005888, 46948292030463, +ERASE, 46948292030464, 46948292030464, +STORE, 46948292030464, 46948292046847, +STORE, 46948292030464, 46948292059135, +ERASE, 46948292005888, 46948292005888, +STORE, 46948292005888, 46948292022271, +STORE, 46948292022272, 46948292030463, +ERASE, 46948290191360, 46948290191360, +STORE, 46948290191360, 46948290195455, +STORE, 46948290195456, 46948290199551, +ERASE, 94207146442752, 94207146442752, +STORE, 94207146442752, 94207146459135, +STORE, 94207146459136, 94207146463231, +ERASE, 140684505071616, 140684505071616, +STORE, 140684505071616, 140684505075711, +STORE, 140684505075712, 140684505079807, +ERASE, 46948290084864, 46948290084864, +STORE, 140737488347136, 140737488351231, +STORE, 140726367158272, 140737488351231, +ERASE, 140726367158272, 140726367158272, +STORE, 140726367158272, 140726367162367, +STORE, 94436124106752, 94436124819455, +ERASE, 94436124106752, 94436124106752, +STORE, 94436124106752, 94436124155903, +STORE, 94436124155904, 94436124819455, +ERASE, 94436124155904, 94436124155904, +STORE, 94436124155904, 94436124700671, +STORE, 94436124700672, 94436124798975, +STORE, 94436124798976, 94436124819455, +STORE, 140049025044480, 140049025216511, +ERASE, 140049025044480, 140049025044480, +STORE, 140049025044480, 140049025048575, +STORE, 140049025048576, 140049025216511, +ERASE, 140049025048576, 140049025048576, +STORE, 140049025048576, 140049025171455, +STORE, 140049025171456, 140049025204223, +STORE, 140049025204224, 140049025212415, +STORE, 140049025212416, 140049025216511, +STORE, 140726367256576, 140726367260671, +STORE, 140726367244288, 140726367256575, +STORE, 47583769952256, 47583769960447, +STORE, 47583769960448, 47583769968639, +STORE, 47583769968640, 47583770075135, +STORE, 47583769985024, 47583770075135, +STORE, 47583769968640, 47583769985023, +ERASE, 47583769985024, 47583769985024, +STORE, 47583769985024, 47583770058751, +STORE, 47583770058752, 47583770075135, +STORE, 47583770038272, 47583770058751, +STORE, 47583769985024, 47583770038271, +ERASE, 47583769985024, 47583769985024, +STORE, 47583769985024, 47583770038271, +STORE, 47583770054656, 47583770058751, +STORE, 47583770038272, 47583770054655, +ERASE, 47583770038272, 47583770038272, +STORE, 47583770038272, 47583770054655, +STORE, 47583770066944, 47583770075135, +STORE, 47583770058752, 47583770066943, +ERASE, 47583770058752, 47583770058752, +STORE, 47583770058752, 47583770066943, +ERASE, 47583770066944, 47583770066944, +STORE, 47583770066944, 47583770075135, +STORE, 47583770075136, 47583771914239, +STORE, 47583770214400, 47583771914239, +STORE, 47583770075136, 47583770214399, +ERASE, 47583770214400, 47583770214400, +STORE, 47583770214400, 47583771873279, +STORE, 47583771873280, 47583771914239, +STORE, 47583771557888, 47583771873279, +STORE, 47583770214400, 47583771557887, +ERASE, 47583770214400, 47583770214400, +STORE, 47583770214400, 47583771557887, +STORE, 47583771869184, 47583771873279, +STORE, 47583771557888, 47583771869183, +ERASE, 47583771557888, 47583771557888, +STORE, 47583771557888, 47583771869183, +STORE, 47583771897856, 47583771914239, +STORE, 47583771873280, 47583771897855, +ERASE, 47583771873280, 47583771873280, +STORE, 47583771873280, 47583771897855, +ERASE, 47583771897856, 47583771897856, +STORE, 47583771897856, 47583771914239, +STORE, 47583771897856, 47583771926527, +ERASE, 47583771873280, 47583771873280, +STORE, 47583771873280, 47583771889663, +STORE, 47583771889664, 47583771897855, +ERASE, 47583770058752, 47583770058752, +STORE, 47583770058752, 47583770062847, +STORE, 47583770062848, 47583770066943, +ERASE, 94436124798976, 94436124798976, +STORE, 94436124798976, 94436124815359, +STORE, 94436124815360, 94436124819455, +ERASE, 140049025204224, 140049025204224, +STORE, 140049025204224, 140049025208319, +STORE, 140049025208320, 140049025212415, +ERASE, 47583769952256, 47583769952256, +STORE, 140737488347136, 140737488351231, +STORE, 140727116099584, 140737488351231, +ERASE, 140727116099584, 140727116099584, +STORE, 140727116099584, 140727116103679, +STORE, 94166319734784, 94166320447487, +ERASE, 94166319734784, 94166319734784, +STORE, 94166319734784, 94166319783935, +STORE, 94166319783936, 94166320447487, +ERASE, 94166319783936, 94166319783936, +STORE, 94166319783936, 94166320328703, +STORE, 94166320328704, 94166320427007, +STORE, 94166320427008, 94166320447487, +STORE, 139976559542272, 139976559714303, +ERASE, 139976559542272, 139976559542272, +STORE, 139976559542272, 139976559546367, +STORE, 139976559546368, 139976559714303, +ERASE, 139976559546368, 139976559546368, +STORE, 139976559546368, 139976559669247, +STORE, 139976559669248, 139976559702015, +STORE, 139976559702016, 139976559710207, +STORE, 139976559710208, 139976559714303, +STORE, 140727116222464, 140727116226559, +STORE, 140727116210176, 140727116222463, +STORE, 47656235454464, 47656235462655, +STORE, 47656235462656, 47656235470847, +STORE, 47656235470848, 47656235577343, +STORE, 47656235487232, 47656235577343, +STORE, 47656235470848, 47656235487231, +ERASE, 47656235487232, 47656235487232, +STORE, 47656235487232, 47656235560959, +STORE, 47656235560960, 47656235577343, +STORE, 47656235540480, 47656235560959, +STORE, 47656235487232, 47656235540479, +ERASE, 47656235487232, 47656235487232, +STORE, 47656235487232, 47656235540479, +STORE, 47656235556864, 47656235560959, +STORE, 47656235540480, 47656235556863, +ERASE, 47656235540480, 47656235540480, +STORE, 47656235540480, 47656235556863, +STORE, 47656235569152, 47656235577343, +STORE, 47656235560960, 47656235569151, +ERASE, 47656235560960, 47656235560960, +STORE, 47656235560960, 47656235569151, +ERASE, 47656235569152, 47656235569152, +STORE, 47656235569152, 47656235577343, +STORE, 47656235577344, 47656237416447, +STORE, 47656235716608, 47656237416447, +STORE, 47656235577344, 47656235716607, +ERASE, 47656235716608, 47656235716608, +STORE, 47656235716608, 47656237375487, +STORE, 47656237375488, 47656237416447, +STORE, 47656237060096, 47656237375487, +STORE, 47656235716608, 47656237060095, +ERASE, 47656235716608, 47656235716608, +STORE, 47656235716608, 47656237060095, +STORE, 47656237371392, 47656237375487, +STORE, 47656237060096, 47656237371391, +ERASE, 47656237060096, 47656237060096, +STORE, 47656237060096, 47656237371391, +STORE, 47656237400064, 47656237416447, +STORE, 47656237375488, 47656237400063, +ERASE, 47656237375488, 47656237375488, +STORE, 47656237375488, 47656237400063, +ERASE, 47656237400064, 47656237400064, +STORE, 47656237400064, 47656237416447, +STORE, 47656237400064, 47656237428735, +ERASE, 47656237375488, 47656237375488, +STORE, 47656237375488, 47656237391871, +STORE, 47656237391872, 47656237400063, +ERASE, 47656235560960, 47656235560960, +STORE, 47656235560960, 47656235565055, +STORE, 47656235565056, 47656235569151, +ERASE, 94166320427008, 94166320427008, +STORE, 94166320427008, 94166320443391, +STORE, 94166320443392, 94166320447487, +ERASE, 139976559702016, 139976559702016, +STORE, 139976559702016, 139976559706111, +STORE, 139976559706112, 139976559710207, +ERASE, 47656235454464, 47656235454464, +STORE, 94166332153856, 94166332289023, +STORE, 140737488347136, 140737488351231, +STORE, 140726412816384, 140737488351231, +ERASE, 140726412816384, 140726412816384, +STORE, 140726412816384, 140726412820479, +STORE, 94094884507648, 94094885220351, +ERASE, 94094884507648, 94094884507648, +STORE, 94094884507648, 94094884556799, +STORE, 94094884556800, 94094885220351, +ERASE, 94094884556800, 94094884556800, +STORE, 94094884556800, 94094885101567, +STORE, 94094885101568, 94094885199871, +STORE, 94094885199872, 94094885220351, +STORE, 139773773938688, 139773774110719, +ERASE, 139773773938688, 139773773938688, +STORE, 139773773938688, 139773773942783, +STORE, 139773773942784, 139773774110719, +ERASE, 139773773942784, 139773773942784, +STORE, 139773773942784, 139773774065663, +STORE, 139773774065664, 139773774098431, +STORE, 139773774098432, 139773774106623, +STORE, 139773774106624, 139773774110719, +STORE, 140726412963840, 140726412967935, +STORE, 140726412951552, 140726412963839, +STORE, 47859021058048, 47859021066239, +STORE, 47859021066240, 47859021074431, +STORE, 47859021074432, 47859021180927, +STORE, 47859021090816, 47859021180927, +STORE, 47859021074432, 47859021090815, +ERASE, 47859021090816, 47859021090816, +STORE, 47859021090816, 47859021164543, +STORE, 47859021164544, 47859021180927, +STORE, 47859021144064, 47859021164543, +STORE, 47859021090816, 47859021144063, +ERASE, 47859021090816, 47859021090816, +STORE, 47859021090816, 47859021144063, +STORE, 47859021160448, 47859021164543, +STORE, 47859021144064, 47859021160447, +ERASE, 47859021144064, 47859021144064, +STORE, 47859021144064, 47859021160447, +STORE, 47859021172736, 47859021180927, +STORE, 47859021164544, 47859021172735, +ERASE, 47859021164544, 47859021164544, +STORE, 47859021164544, 47859021172735, +ERASE, 47859021172736, 47859021172736, +STORE, 47859021172736, 47859021180927, +STORE, 47859021180928, 47859023020031, +STORE, 47859021320192, 47859023020031, +STORE, 47859021180928, 47859021320191, +ERASE, 47859021320192, 47859021320192, +STORE, 47859021320192, 47859022979071, +STORE, 47859022979072, 47859023020031, +STORE, 47859022663680, 47859022979071, +STORE, 47859021320192, 47859022663679, +ERASE, 47859021320192, 47859021320192, +STORE, 47859021320192, 47859022663679, +STORE, 47859022974976, 47859022979071, +STORE, 47859022663680, 47859022974975, +ERASE, 47859022663680, 47859022663680, +STORE, 47859022663680, 47859022974975, +STORE, 47859023003648, 47859023020031, +STORE, 47859022979072, 47859023003647, +ERASE, 47859022979072, 47859022979072, +STORE, 47859022979072, 47859023003647, +ERASE, 47859023003648, 47859023003648, +STORE, 47859023003648, 47859023020031, +STORE, 47859023003648, 47859023032319, +ERASE, 47859022979072, 47859022979072, +STORE, 47859022979072, 47859022995455, +STORE, 47859022995456, 47859023003647, +ERASE, 47859021164544, 47859021164544, +STORE, 47859021164544, 47859021168639, +STORE, 47859021168640, 47859021172735, +ERASE, 94094885199872, 94094885199872, +STORE, 94094885199872, 94094885216255, +STORE, 94094885216256, 94094885220351, +ERASE, 139773774098432, 139773774098432, +STORE, 139773774098432, 139773774102527, +STORE, 139773774102528, 139773774106623, +ERASE, 47859021058048, 47859021058048, +STORE, 94094901108736, 94094901243903, +STORE, 140737488347136, 140737488351231, +STORE, 140736567963648, 140737488351231, +ERASE, 140736567963648, 140736567963648, +STORE, 140736567963648, 140736567967743, +STORE, 94924425748480, 94924426461183, +ERASE, 94924425748480, 94924425748480, +STORE, 94924425748480, 94924425797631, +STORE, 94924425797632, 94924426461183, +ERASE, 94924425797632, 94924425797632, +STORE, 94924425797632, 94924426342399, +STORE, 94924426342400, 94924426440703, +STORE, 94924426440704, 94924426461183, +STORE, 140042126319616, 140042126491647, +ERASE, 140042126319616, 140042126319616, +STORE, 140042126319616, 140042126323711, +STORE, 140042126323712, 140042126491647, +ERASE, 140042126323712, 140042126323712, +STORE, 140042126323712, 140042126446591, +STORE, 140042126446592, 140042126479359, +STORE, 140042126479360, 140042126487551, +STORE, 140042126487552, 140042126491647, +STORE, 140736568672256, 140736568676351, +STORE, 140736568659968, 140736568672255, +STORE, 47590668677120, 47590668685311, +STORE, 47590668685312, 47590668693503, +STORE, 47590668693504, 47590668799999, +STORE, 47590668709888, 47590668799999, +STORE, 47590668693504, 47590668709887, +ERASE, 47590668709888, 47590668709888, +STORE, 47590668709888, 47590668783615, +STORE, 47590668783616, 47590668799999, +STORE, 47590668763136, 47590668783615, +STORE, 47590668709888, 47590668763135, +ERASE, 47590668709888, 47590668709888, +STORE, 47590668709888, 47590668763135, +STORE, 47590668779520, 47590668783615, +STORE, 47590668763136, 47590668779519, +ERASE, 47590668763136, 47590668763136, +STORE, 47590668763136, 47590668779519, +STORE, 47590668791808, 47590668799999, +STORE, 47590668783616, 47590668791807, +ERASE, 47590668783616, 47590668783616, +STORE, 47590668783616, 47590668791807, +ERASE, 47590668791808, 47590668791808, +STORE, 47590668791808, 47590668799999, +STORE, 47590668800000, 47590670639103, +STORE, 47590668939264, 47590670639103, +STORE, 47590668800000, 47590668939263, +ERASE, 47590668939264, 47590668939264, +STORE, 47590668939264, 47590670598143, +STORE, 47590670598144, 47590670639103, +STORE, 47590670282752, 47590670598143, +STORE, 47590668939264, 47590670282751, +ERASE, 47590668939264, 47590668939264, +STORE, 47590668939264, 47590670282751, +STORE, 47590670594048, 47590670598143, +STORE, 47590670282752, 47590670594047, +ERASE, 47590670282752, 47590670282752, +STORE, 47590670282752, 47590670594047, +STORE, 47590670622720, 47590670639103, +STORE, 47590670598144, 47590670622719, +ERASE, 47590670598144, 47590670598144, +STORE, 47590670598144, 47590670622719, +ERASE, 47590670622720, 47590670622720, +STORE, 47590670622720, 47590670639103, +STORE, 47590670622720, 47590670651391, +ERASE, 47590670598144, 47590670598144, +STORE, 47590670598144, 47590670614527, +STORE, 47590670614528, 47590670622719, +ERASE, 47590668783616, 47590668783616, +STORE, 47590668783616, 47590668787711, +STORE, 47590668787712, 47590668791807, +ERASE, 94924426440704, 94924426440704, +STORE, 94924426440704, 94924426457087, +STORE, 94924426457088, 94924426461183, +ERASE, 140042126479360, 140042126479360, +STORE, 140042126479360, 140042126483455, +STORE, 140042126483456, 140042126487551, +ERASE, 47590668677120, 47590668677120, +STORE, 140737488347136, 140737488351231, +STORE, 140733281439744, 140737488351231, +ERASE, 140733281439744, 140733281439744, +STORE, 140733281439744, 140733281443839, +STORE, 94490667069440, 94490667782143, +ERASE, 94490667069440, 94490667069440, +STORE, 94490667069440, 94490667118591, +STORE, 94490667118592, 94490667782143, +ERASE, 94490667118592, 94490667118592, +STORE, 94490667118592, 94490667663359, +STORE, 94490667663360, 94490667761663, +STORE, 94490667761664, 94490667782143, +STORE, 139878215118848, 139878215290879, +ERASE, 139878215118848, 139878215118848, +STORE, 139878215118848, 139878215122943, +STORE, 139878215122944, 139878215290879, +ERASE, 139878215122944, 139878215122944, +STORE, 139878215122944, 139878215245823, +STORE, 139878215245824, 139878215278591, +STORE, 139878215278592, 139878215286783, +STORE, 139878215286784, 139878215290879, +STORE, 140733281464320, 140733281468415, +STORE, 140733281452032, 140733281464319, +STORE, 47754579877888, 47754579886079, +STORE, 47754579886080, 47754579894271, +STORE, 47754579894272, 47754580000767, +STORE, 47754579910656, 47754580000767, +STORE, 47754579894272, 47754579910655, +ERASE, 47754579910656, 47754579910656, +STORE, 47754579910656, 47754579984383, +STORE, 47754579984384, 47754580000767, +STORE, 47754579963904, 47754579984383, +STORE, 47754579910656, 47754579963903, +ERASE, 47754579910656, 47754579910656, +STORE, 47754579910656, 47754579963903, +STORE, 47754579980288, 47754579984383, +STORE, 47754579963904, 47754579980287, +ERASE, 47754579963904, 47754579963904, +STORE, 47754579963904, 47754579980287, +STORE, 47754579992576, 47754580000767, +STORE, 47754579984384, 47754579992575, +ERASE, 47754579984384, 47754579984384, +STORE, 47754579984384, 47754579992575, +ERASE, 47754579992576, 47754579992576, +STORE, 47754579992576, 47754580000767, +STORE, 47754580000768, 47754581839871, +STORE, 47754580140032, 47754581839871, +STORE, 47754580000768, 47754580140031, +ERASE, 47754580140032, 47754580140032, +STORE, 47754580140032, 47754581798911, +STORE, 47754581798912, 47754581839871, +STORE, 47754581483520, 47754581798911, +STORE, 47754580140032, 47754581483519, +ERASE, 47754580140032, 47754580140032, +STORE, 47754580140032, 47754581483519, +STORE, 47754581794816, 47754581798911, +STORE, 47754581483520, 47754581794815, +ERASE, 47754581483520, 47754581483520, +STORE, 47754581483520, 47754581794815, +STORE, 47754581823488, 47754581839871, +STORE, 47754581798912, 47754581823487, +ERASE, 47754581798912, 47754581798912, +STORE, 47754581798912, 47754581823487, +ERASE, 47754581823488, 47754581823488, +STORE, 47754581823488, 47754581839871, +STORE, 47754581823488, 47754581852159, +ERASE, 47754581798912, 47754581798912, +STORE, 47754581798912, 47754581815295, +STORE, 47754581815296, 47754581823487, +ERASE, 47754579984384, 47754579984384, +STORE, 47754579984384, 47754579988479, +STORE, 47754579988480, 47754579992575, +ERASE, 94490667761664, 94490667761664, +STORE, 94490667761664, 94490667778047, +STORE, 94490667778048, 94490667782143, +ERASE, 139878215278592, 139878215278592, +STORE, 139878215278592, 139878215282687, +STORE, 139878215282688, 139878215286783, +ERASE, 47754579877888, 47754579877888, +STORE, 94490669649920, 94490669785087, +STORE, 140737488347136, 140737488351231, +STORE, 140735382188032, 140737488351231, +ERASE, 140735382188032, 140735382188032, +STORE, 140735382188032, 140735382192127, +STORE, 94150181302272, 94150182014975, +ERASE, 94150181302272, 94150181302272, +STORE, 94150181302272, 94150181351423, +STORE, 94150181351424, 94150182014975, +ERASE, 94150181351424, 94150181351424, +STORE, 94150181351424, 94150181896191, +STORE, 94150181896192, 94150181994495, +STORE, 94150181994496, 94150182014975, +STORE, 139679752458240, 139679752630271, +ERASE, 139679752458240, 139679752458240, +STORE, 139679752458240, 139679752462335, +STORE, 139679752462336, 139679752630271, +ERASE, 139679752462336, 139679752462336, +STORE, 139679752462336, 139679752585215, +STORE, 139679752585216, 139679752617983, +STORE, 139679752617984, 139679752626175, +STORE, 139679752626176, 139679752630271, +STORE, 140735382536192, 140735382540287, +STORE, 140735382523904, 140735382536191, +STORE, 47953042538496, 47953042546687, +STORE, 47953042546688, 47953042554879, +STORE, 47953042554880, 47953042661375, +STORE, 47953042571264, 47953042661375, +STORE, 47953042554880, 47953042571263, +ERASE, 47953042571264, 47953042571264, +STORE, 47953042571264, 47953042644991, +STORE, 47953042644992, 47953042661375, +STORE, 47953042624512, 47953042644991, +STORE, 47953042571264, 47953042624511, +ERASE, 47953042571264, 47953042571264, +STORE, 47953042571264, 47953042624511, +STORE, 47953042640896, 47953042644991, +STORE, 47953042624512, 47953042640895, +ERASE, 47953042624512, 47953042624512, +STORE, 47953042624512, 47953042640895, +STORE, 47953042653184, 47953042661375, +STORE, 47953042644992, 47953042653183, +ERASE, 47953042644992, 47953042644992, +STORE, 47953042644992, 47953042653183, +ERASE, 47953042653184, 47953042653184, +STORE, 47953042653184, 47953042661375, +STORE, 47953042661376, 47953044500479, +STORE, 47953042800640, 47953044500479, +STORE, 47953042661376, 47953042800639, +ERASE, 47953042800640, 47953042800640, +STORE, 47953042800640, 47953044459519, +STORE, 47953044459520, 47953044500479, +STORE, 47953044144128, 47953044459519, +STORE, 47953042800640, 47953044144127, +ERASE, 47953042800640, 47953042800640, +STORE, 47953042800640, 47953044144127, +STORE, 47953044455424, 47953044459519, +STORE, 47953044144128, 47953044455423, +ERASE, 47953044144128, 47953044144128, +STORE, 47953044144128, 47953044455423, +STORE, 47953044484096, 47953044500479, +STORE, 47953044459520, 47953044484095, +ERASE, 47953044459520, 47953044459520, +STORE, 47953044459520, 47953044484095, +ERASE, 47953044484096, 47953044484096, +STORE, 47953044484096, 47953044500479, +STORE, 47953044484096, 47953044512767, +ERASE, 47953044459520, 47953044459520, +STORE, 47953044459520, 47953044475903, +STORE, 47953044475904, 47953044484095, +ERASE, 47953042644992, 47953042644992, +STORE, 47953042644992, 47953042649087, +STORE, 47953042649088, 47953042653183, +ERASE, 94150181994496, 94150181994496, +STORE, 94150181994496, 94150182010879, +STORE, 94150182010880, 94150182014975, +ERASE, 139679752617984, 139679752617984, +STORE, 139679752617984, 139679752622079, +STORE, 139679752622080, 139679752626175, +ERASE, 47953042538496, 47953042538496, +STORE, 140737488347136, 140737488351231, +STORE, 140737044123648, 140737488351231, +ERASE, 140737044123648, 140737044123648, +STORE, 140737044123648, 140737044127743, +STORE, 94425324294144, 94425325006847, +ERASE, 94425324294144, 94425324294144, +STORE, 94425324294144, 94425324343295, +STORE, 94425324343296, 94425325006847, +ERASE, 94425324343296, 94425324343296, +STORE, 94425324343296, 94425324888063, +STORE, 94425324888064, 94425324986367, +STORE, 94425324986368, 94425325006847, +STORE, 140382015016960, 140382015188991, +ERASE, 140382015016960, 140382015016960, +STORE, 140382015016960, 140382015021055, +STORE, 140382015021056, 140382015188991, +ERASE, 140382015021056, 140382015021056, +STORE, 140382015021056, 140382015143935, +STORE, 140382015143936, 140382015176703, +STORE, 140382015176704, 140382015184895, +STORE, 140382015184896, 140382015188991, +STORE, 140737045585920, 140737045590015, +STORE, 140737045573632, 140737045585919, +STORE, 47250779979776, 47250779987967, +STORE, 47250779987968, 47250779996159, +STORE, 47250779996160, 47250780102655, +STORE, 47250780012544, 47250780102655, +STORE, 47250779996160, 47250780012543, +ERASE, 47250780012544, 47250780012544, +STORE, 47250780012544, 47250780086271, +STORE, 47250780086272, 47250780102655, +STORE, 47250780065792, 47250780086271, +STORE, 47250780012544, 47250780065791, +ERASE, 47250780012544, 47250780012544, +STORE, 47250780012544, 47250780065791, +STORE, 47250780082176, 47250780086271, +STORE, 47250780065792, 47250780082175, +ERASE, 47250780065792, 47250780065792, +STORE, 47250780065792, 47250780082175, +STORE, 47250780094464, 47250780102655, +STORE, 47250780086272, 47250780094463, +ERASE, 47250780086272, 47250780086272, +STORE, 47250780086272, 47250780094463, +ERASE, 47250780094464, 47250780094464, +STORE, 47250780094464, 47250780102655, +STORE, 47250780102656, 47250781941759, +STORE, 47250780241920, 47250781941759, +STORE, 47250780102656, 47250780241919, +ERASE, 47250780241920, 47250780241920, +STORE, 47250780241920, 47250781900799, +STORE, 47250781900800, 47250781941759, +STORE, 47250781585408, 47250781900799, +STORE, 47250780241920, 47250781585407, +ERASE, 47250780241920, 47250780241920, +STORE, 47250780241920, 47250781585407, +STORE, 47250781896704, 47250781900799, +STORE, 47250781585408, 47250781896703, +ERASE, 47250781585408, 47250781585408, +STORE, 47250781585408, 47250781896703, +STORE, 47250781925376, 47250781941759, +STORE, 47250781900800, 47250781925375, +ERASE, 47250781900800, 47250781900800, +STORE, 47250781900800, 47250781925375, +ERASE, 47250781925376, 47250781925376, +STORE, 47250781925376, 47250781941759, +STORE, 47250781925376, 47250781954047, +ERASE, 47250781900800, 47250781900800, +STORE, 47250781900800, 47250781917183, +STORE, 47250781917184, 47250781925375, +ERASE, 47250780086272, 47250780086272, +STORE, 47250780086272, 47250780090367, +STORE, 47250780090368, 47250780094463, +ERASE, 94425324986368, 94425324986368, +STORE, 94425324986368, 94425325002751, +STORE, 94425325002752, 94425325006847, +ERASE, 140382015176704, 140382015176704, +STORE, 140382015176704, 140382015180799, +STORE, 140382015180800, 140382015184895, +ERASE, 47250779979776, 47250779979776, +STORE, 94425351438336, 94425351573503, +STORE, 140737488347136, 140737488351231, +STORE, 140736801144832, 140737488351231, +ERASE, 140736801144832, 140736801144832, +STORE, 140736801144832, 140736801148927, +STORE, 94629429358592, 94629430071295, +ERASE, 94629429358592, 94629429358592, +STORE, 94629429358592, 94629429407743, +STORE, 94629429407744, 94629430071295, +ERASE, 94629429407744, 94629429407744, +STORE, 94629429407744, 94629429952511, +STORE, 94629429952512, 94629430050815, +STORE, 94629430050816, 94629430071295, +STORE, 139801685483520, 139801685655551, +ERASE, 139801685483520, 139801685483520, +STORE, 139801685483520, 139801685487615, +STORE, 139801685487616, 139801685655551, +ERASE, 139801685487616, 139801685487616, +STORE, 139801685487616, 139801685610495, +STORE, 139801685610496, 139801685643263, +STORE, 139801685643264, 139801685651455, +STORE, 139801685651456, 139801685655551, +STORE, 140736801198080, 140736801202175, +STORE, 140736801185792, 140736801198079, +STORE, 47831109513216, 47831109521407, +STORE, 47831109521408, 47831109529599, +STORE, 47831109529600, 47831109636095, +STORE, 47831109545984, 47831109636095, +STORE, 47831109529600, 47831109545983, +ERASE, 47831109545984, 47831109545984, +STORE, 47831109545984, 47831109619711, +STORE, 47831109619712, 47831109636095, +STORE, 47831109599232, 47831109619711, +STORE, 47831109545984, 47831109599231, +ERASE, 47831109545984, 47831109545984, +STORE, 47831109545984, 47831109599231, +STORE, 47831109615616, 47831109619711, +STORE, 47831109599232, 47831109615615, +ERASE, 47831109599232, 47831109599232, +STORE, 47831109599232, 47831109615615, +STORE, 47831109627904, 47831109636095, +STORE, 47831109619712, 47831109627903, +ERASE, 47831109619712, 47831109619712, +STORE, 47831109619712, 47831109627903, +ERASE, 47831109627904, 47831109627904, +STORE, 47831109627904, 47831109636095, +STORE, 47831109636096, 47831111475199, +STORE, 47831109775360, 47831111475199, +STORE, 47831109636096, 47831109775359, +ERASE, 47831109775360, 47831109775360, +STORE, 47831109775360, 47831111434239, +STORE, 47831111434240, 47831111475199, +STORE, 47831111118848, 47831111434239, +STORE, 47831109775360, 47831111118847, +ERASE, 47831109775360, 47831109775360, +STORE, 47831109775360, 47831111118847, +STORE, 47831111430144, 47831111434239, +STORE, 47831111118848, 47831111430143, +ERASE, 47831111118848, 47831111118848, +STORE, 47831111118848, 47831111430143, +STORE, 47831111458816, 47831111475199, +STORE, 47831111434240, 47831111458815, +ERASE, 47831111434240, 47831111434240, +STORE, 47831111434240, 47831111458815, +ERASE, 47831111458816, 47831111458816, +STORE, 47831111458816, 47831111475199, +STORE, 47831111458816, 47831111487487, +ERASE, 47831111434240, 47831111434240, +STORE, 47831111434240, 47831111450623, +STORE, 47831111450624, 47831111458815, +ERASE, 47831109619712, 47831109619712, +STORE, 47831109619712, 47831109623807, +STORE, 47831109623808, 47831109627903, +ERASE, 94629430050816, 94629430050816, +STORE, 94629430050816, 94629430067199, +STORE, 94629430067200, 94629430071295, +ERASE, 139801685643264, 139801685643264, +STORE, 139801685643264, 139801685647359, +STORE, 139801685647360, 139801685651455, +ERASE, 47831109513216, 47831109513216, +STORE, 140737488347136, 140737488351231, +STORE, 140729419612160, 140737488351231, +ERASE, 140729419612160, 140729419612160, +STORE, 140729419612160, 140729419616255, +STORE, 94443354148864, 94443354861567, +ERASE, 94443354148864, 94443354148864, +STORE, 94443354148864, 94443354198015, +STORE, 94443354198016, 94443354861567, +ERASE, 94443354198016, 94443354198016, +STORE, 94443354198016, 94443354742783, +STORE, 94443354742784, 94443354841087, +STORE, 94443354841088, 94443354861567, +STORE, 139741700038656, 139741700210687, +ERASE, 139741700038656, 139741700038656, +STORE, 139741700038656, 139741700042751, +STORE, 139741700042752, 139741700210687, +ERASE, 139741700042752, 139741700042752, +STORE, 139741700042752, 139741700165631, +STORE, 139741700165632, 139741700198399, +STORE, 139741700198400, 139741700206591, +STORE, 139741700206592, 139741700210687, +STORE, 140729420574720, 140729420578815, +STORE, 140729420562432, 140729420574719, +STORE, 47891094958080, 47891094966271, +STORE, 47891094966272, 47891094974463, +STORE, 47891094974464, 47891095080959, +STORE, 47891094990848, 47891095080959, +STORE, 47891094974464, 47891094990847, +ERASE, 47891094990848, 47891094990848, +STORE, 47891094990848, 47891095064575, +STORE, 47891095064576, 47891095080959, +STORE, 47891095044096, 47891095064575, +STORE, 47891094990848, 47891095044095, +ERASE, 47891094990848, 47891094990848, +STORE, 47891094990848, 47891095044095, +STORE, 47891095060480, 47891095064575, +STORE, 47891095044096, 47891095060479, +ERASE, 47891095044096, 47891095044096, +STORE, 47891095044096, 47891095060479, +STORE, 47891095072768, 47891095080959, +STORE, 47891095064576, 47891095072767, +ERASE, 47891095064576, 47891095064576, +STORE, 47891095064576, 47891095072767, +ERASE, 47891095072768, 47891095072768, +STORE, 47891095072768, 47891095080959, +STORE, 47891095080960, 47891096920063, +STORE, 47891095220224, 47891096920063, +STORE, 47891095080960, 47891095220223, +ERASE, 47891095220224, 47891095220224, +STORE, 47891095220224, 47891096879103, +STORE, 47891096879104, 47891096920063, +STORE, 47891096563712, 47891096879103, +STORE, 47891095220224, 47891096563711, +ERASE, 47891095220224, 47891095220224, +STORE, 47891095220224, 47891096563711, +STORE, 47891096875008, 47891096879103, +STORE, 47891096563712, 47891096875007, +ERASE, 47891096563712, 47891096563712, +STORE, 47891096563712, 47891096875007, +STORE, 47891096903680, 47891096920063, +STORE, 47891096879104, 47891096903679, +ERASE, 47891096879104, 47891096879104, +STORE, 47891096879104, 47891096903679, +ERASE, 47891096903680, 47891096903680, +STORE, 47891096903680, 47891096920063, +STORE, 47891096903680, 47891096932351, +ERASE, 47891096879104, 47891096879104, +STORE, 47891096879104, 47891096895487, +STORE, 47891096895488, 47891096903679, +ERASE, 47891095064576, 47891095064576, +STORE, 47891095064576, 47891095068671, +STORE, 47891095068672, 47891095072767, +ERASE, 94443354841088, 94443354841088, +STORE, 94443354841088, 94443354857471, +STORE, 94443354857472, 94443354861567, +ERASE, 139741700198400, 139741700198400, +STORE, 139741700198400, 139741700202495, +STORE, 139741700202496, 139741700206591, +ERASE, 47891094958080, 47891094958080, +STORE, 94443360825344, 94443360960511, +STORE, 140737488347136, 140737488351231, +STORE, 140722961661952, 140737488351231, +ERASE, 140722961661952, 140722961661952, +STORE, 140722961661952, 140722961666047, +STORE, 94878388944896, 94878389657599, +ERASE, 94878388944896, 94878388944896, +STORE, 94878388944896, 94878388994047, +STORE, 94878388994048, 94878389657599, +ERASE, 94878388994048, 94878388994048, +STORE, 94878388994048, 94878389538815, +STORE, 94878389538816, 94878389637119, +STORE, 94878389637120, 94878389657599, +STORE, 140210690056192, 140210690228223, +ERASE, 140210690056192, 140210690056192, +STORE, 140210690056192, 140210690060287, +STORE, 140210690060288, 140210690228223, +ERASE, 140210690060288, 140210690060288, +STORE, 140210690060288, 140210690183167, +STORE, 140210690183168, 140210690215935, +STORE, 140210690215936, 140210690224127, +STORE, 140210690224128, 140210690228223, +STORE, 140722963148800, 140722963152895, +STORE, 140722963136512, 140722963148799, +STORE, 47422104940544, 47422104948735, +STORE, 47422104948736, 47422104956927, +STORE, 47422104956928, 47422105063423, +STORE, 47422104973312, 47422105063423, +STORE, 47422104956928, 47422104973311, +ERASE, 47422104973312, 47422104973312, +STORE, 47422104973312, 47422105047039, +STORE, 47422105047040, 47422105063423, +STORE, 47422105026560, 47422105047039, +STORE, 47422104973312, 47422105026559, +ERASE, 47422104973312, 47422104973312, +STORE, 47422104973312, 47422105026559, +STORE, 47422105042944, 47422105047039, +STORE, 47422105026560, 47422105042943, +ERASE, 47422105026560, 47422105026560, +STORE, 47422105026560, 47422105042943, +STORE, 47422105055232, 47422105063423, +STORE, 47422105047040, 47422105055231, +ERASE, 47422105047040, 47422105047040, +STORE, 47422105047040, 47422105055231, +ERASE, 47422105055232, 47422105055232, +STORE, 47422105055232, 47422105063423, +STORE, 47422105063424, 47422106902527, +STORE, 47422105202688, 47422106902527, +STORE, 47422105063424, 47422105202687, +ERASE, 47422105202688, 47422105202688, +STORE, 47422105202688, 47422106861567, +STORE, 47422106861568, 47422106902527, +STORE, 47422106546176, 47422106861567, +STORE, 47422105202688, 47422106546175, +ERASE, 47422105202688, 47422105202688, +STORE, 47422105202688, 47422106546175, +STORE, 47422106857472, 47422106861567, +STORE, 47422106546176, 47422106857471, +ERASE, 47422106546176, 47422106546176, +STORE, 47422106546176, 47422106857471, +STORE, 47422106886144, 47422106902527, +STORE, 47422106861568, 47422106886143, +ERASE, 47422106861568, 47422106861568, +STORE, 47422106861568, 47422106886143, +ERASE, 47422106886144, 47422106886144, +STORE, 47422106886144, 47422106902527, +STORE, 47422106886144, 47422106914815, +ERASE, 47422106861568, 47422106861568, +STORE, 47422106861568, 47422106877951, +STORE, 47422106877952, 47422106886143, +ERASE, 47422105047040, 47422105047040, +STORE, 47422105047040, 47422105051135, +STORE, 47422105051136, 47422105055231, +ERASE, 94878389637120, 94878389637120, +STORE, 94878389637120, 94878389653503, +STORE, 94878389653504, 94878389657599, +ERASE, 140210690215936, 140210690215936, +STORE, 140210690215936, 140210690220031, +STORE, 140210690220032, 140210690224127, +ERASE, 47422104940544, 47422104940544, +STORE, 140737488347136, 140737488351231, +STORE, 140727690309632, 140737488351231, +ERASE, 140727690309632, 140727690309632, +STORE, 140727690309632, 140727690313727, +STORE, 94121892208640, 94121892921343, +ERASE, 94121892208640, 94121892208640, +STORE, 94121892208640, 94121892257791, +STORE, 94121892257792, 94121892921343, +ERASE, 94121892257792, 94121892257792, +STORE, 94121892257792, 94121892802559, +STORE, 94121892802560, 94121892900863, +STORE, 94121892900864, 94121892921343, +STORE, 140662438326272, 140662438498303, +ERASE, 140662438326272, 140662438326272, +STORE, 140662438326272, 140662438330367, +STORE, 140662438330368, 140662438498303, +ERASE, 140662438330368, 140662438330368, +STORE, 140662438330368, 140662438453247, +STORE, 140662438453248, 140662438486015, +STORE, 140662438486016, 140662438494207, +STORE, 140662438494208, 140662438498303, +STORE, 140727690379264, 140727690383359, +STORE, 140727690366976, 140727690379263, +STORE, 46970356670464, 46970356678655, +STORE, 46970356678656, 46970356686847, +STORE, 46970356686848, 46970356793343, +STORE, 46970356703232, 46970356793343, +STORE, 46970356686848, 46970356703231, +ERASE, 46970356703232, 46970356703232, +STORE, 46970356703232, 46970356776959, +STORE, 46970356776960, 46970356793343, +STORE, 46970356756480, 46970356776959, +STORE, 46970356703232, 46970356756479, +ERASE, 46970356703232, 46970356703232, +STORE, 46970356703232, 46970356756479, +STORE, 46970356772864, 46970356776959, +STORE, 46970356756480, 46970356772863, +ERASE, 46970356756480, 46970356756480, +STORE, 46970356756480, 46970356772863, +STORE, 46970356785152, 46970356793343, +STORE, 46970356776960, 46970356785151, +ERASE, 46970356776960, 46970356776960, +STORE, 46970356776960, 46970356785151, +ERASE, 46970356785152, 46970356785152, +STORE, 46970356785152, 46970356793343, +STORE, 46970356793344, 46970358632447, +STORE, 46970356932608, 46970358632447, +STORE, 46970356793344, 46970356932607, +ERASE, 46970356932608, 46970356932608, +STORE, 46970356932608, 46970358591487, +STORE, 46970358591488, 46970358632447, +STORE, 46970358276096, 46970358591487, +STORE, 46970356932608, 46970358276095, +ERASE, 46970356932608, 46970356932608, +STORE, 46970356932608, 46970358276095, +STORE, 46970358587392, 46970358591487, +STORE, 46970358276096, 46970358587391, +ERASE, 46970358276096, 46970358276096, +STORE, 46970358276096, 46970358587391, +STORE, 46970358616064, 46970358632447, +STORE, 46970358591488, 46970358616063, +ERASE, 46970358591488, 46970358591488, +STORE, 46970358591488, 46970358616063, +ERASE, 46970358616064, 46970358616064, +STORE, 46970358616064, 46970358632447, +STORE, 46970358616064, 46970358644735, +ERASE, 46970358591488, 46970358591488, +STORE, 46970358591488, 46970358607871, +STORE, 46970358607872, 46970358616063, +ERASE, 46970356776960, 46970356776960, +STORE, 46970356776960, 46970356781055, +STORE, 46970356781056, 46970356785151, +ERASE, 94121892900864, 94121892900864, +STORE, 94121892900864, 94121892917247, +STORE, 94121892917248, 94121892921343, +ERASE, 140662438486016, 140662438486016, +STORE, 140662438486016, 140662438490111, +STORE, 140662438490112, 140662438494207, +ERASE, 46970356670464, 46970356670464, +STORE, 94121898610688, 94121898745855, +STORE, 140737488347136, 140737488351231, +STORE, 140737189351424, 140737488351231, +ERASE, 140737189351424, 140737189351424, +STORE, 140737189351424, 140737189355519, +STORE, 93847948832768, 93847949545471, +ERASE, 93847948832768, 93847948832768, +STORE, 93847948832768, 93847948881919, +STORE, 93847948881920, 93847949545471, +ERASE, 93847948881920, 93847948881920, +STORE, 93847948881920, 93847949426687, +STORE, 93847949426688, 93847949524991, +STORE, 93847949524992, 93847949545471, +STORE, 139698989985792, 139698990157823, +ERASE, 139698989985792, 139698989985792, +STORE, 139698989985792, 139698989989887, +STORE, 139698989989888, 139698990157823, +ERASE, 139698989989888, 139698989989888, +STORE, 139698989989888, 139698990112767, +STORE, 139698990112768, 139698990145535, +STORE, 139698990145536, 139698990153727, +STORE, 139698990153728, 139698990157823, +STORE, 140737189744640, 140737189748735, +STORE, 140737189732352, 140737189744639, +STORE, 47933805010944, 47933805019135, +STORE, 47933805019136, 47933805027327, +STORE, 47933805027328, 47933805133823, +STORE, 47933805043712, 47933805133823, +STORE, 47933805027328, 47933805043711, +ERASE, 47933805043712, 47933805043712, +STORE, 47933805043712, 47933805117439, +STORE, 47933805117440, 47933805133823, +STORE, 47933805096960, 47933805117439, +STORE, 47933805043712, 47933805096959, +ERASE, 47933805043712, 47933805043712, +STORE, 47933805043712, 47933805096959, +STORE, 47933805113344, 47933805117439, +STORE, 47933805096960, 47933805113343, +ERASE, 47933805096960, 47933805096960, +STORE, 47933805096960, 47933805113343, +STORE, 47933805125632, 47933805133823, +STORE, 47933805117440, 47933805125631, +ERASE, 47933805117440, 47933805117440, +STORE, 47933805117440, 47933805125631, +ERASE, 47933805125632, 47933805125632, +STORE, 47933805125632, 47933805133823, +STORE, 47933805133824, 47933806972927, +STORE, 47933805273088, 47933806972927, +STORE, 47933805133824, 47933805273087, +ERASE, 47933805273088, 47933805273088, +STORE, 47933805273088, 47933806931967, +STORE, 47933806931968, 47933806972927, +STORE, 47933806616576, 47933806931967, +STORE, 47933805273088, 47933806616575, +ERASE, 47933805273088, 47933805273088, +STORE, 47933805273088, 47933806616575, +STORE, 47933806927872, 47933806931967, +STORE, 47933806616576, 47933806927871, +ERASE, 47933806616576, 47933806616576, +STORE, 47933806616576, 47933806927871, +STORE, 47933806956544, 47933806972927, +STORE, 47933806931968, 47933806956543, +ERASE, 47933806931968, 47933806931968, +STORE, 47933806931968, 47933806956543, +ERASE, 47933806956544, 47933806956544, +STORE, 47933806956544, 47933806972927, +STORE, 47933806956544, 47933806985215, +ERASE, 47933806931968, 47933806931968, +STORE, 47933806931968, 47933806948351, +STORE, 47933806948352, 47933806956543, +ERASE, 47933805117440, 47933805117440, +STORE, 47933805117440, 47933805121535, +STORE, 47933805121536, 47933805125631, +ERASE, 93847949524992, 93847949524992, +STORE, 93847949524992, 93847949541375, +STORE, 93847949541376, 93847949545471, +ERASE, 139698990145536, 139698990145536, +STORE, 139698990145536, 139698990149631, +STORE, 139698990149632, 139698990153727, +ERASE, 47933805010944, 47933805010944, +STORE, 140737488347136, 140737488351231, +STORE, 140725553991680, 140737488351231, +ERASE, 140725553991680, 140725553991680, +STORE, 140725553991680, 140725553995775, +STORE, 93980056248320, 93980056961023, +ERASE, 93980056248320, 93980056248320, +STORE, 93980056248320, 93980056297471, +STORE, 93980056297472, 93980056961023, +ERASE, 93980056297472, 93980056297472, +STORE, 93980056297472, 93980056842239, +STORE, 93980056842240, 93980056940543, +STORE, 93980056940544, 93980056961023, +STORE, 140146588971008, 140146589143039, +ERASE, 140146588971008, 140146588971008, +STORE, 140146588971008, 140146588975103, +STORE, 140146588975104, 140146589143039, +ERASE, 140146588975104, 140146588975104, +STORE, 140146588975104, 140146589097983, +STORE, 140146589097984, 140146589130751, +STORE, 140146589130752, 140146589138943, +STORE, 140146589138944, 140146589143039, +STORE, 140725554860032, 140725554864127, +STORE, 140725554847744, 140725554860031, +STORE, 47486206025728, 47486206033919, +STORE, 47486206033920, 47486206042111, +STORE, 47486206042112, 47486206148607, +STORE, 47486206058496, 47486206148607, +STORE, 47486206042112, 47486206058495, +ERASE, 47486206058496, 47486206058496, +STORE, 47486206058496, 47486206132223, +STORE, 47486206132224, 47486206148607, +STORE, 47486206111744, 47486206132223, +STORE, 47486206058496, 47486206111743, +ERASE, 47486206058496, 47486206058496, +STORE, 47486206058496, 47486206111743, +STORE, 47486206128128, 47486206132223, +STORE, 47486206111744, 47486206128127, +ERASE, 47486206111744, 47486206111744, +STORE, 47486206111744, 47486206128127, +STORE, 47486206140416, 47486206148607, +STORE, 47486206132224, 47486206140415, +ERASE, 47486206132224, 47486206132224, +STORE, 47486206132224, 47486206140415, +ERASE, 47486206140416, 47486206140416, +STORE, 47486206140416, 47486206148607, +STORE, 47486206148608, 47486207987711, +STORE, 47486206287872, 47486207987711, +STORE, 47486206148608, 47486206287871, +ERASE, 47486206287872, 47486206287872, +STORE, 47486206287872, 47486207946751, +STORE, 47486207946752, 47486207987711, +STORE, 47486207631360, 47486207946751, +STORE, 47486206287872, 47486207631359, +ERASE, 47486206287872, 47486206287872, +STORE, 47486206287872, 47486207631359, +STORE, 47486207942656, 47486207946751, +STORE, 47486207631360, 47486207942655, +ERASE, 47486207631360, 47486207631360, +STORE, 47486207631360, 47486207942655, +STORE, 47486207971328, 47486207987711, +STORE, 47486207946752, 47486207971327, +ERASE, 47486207946752, 47486207946752, +STORE, 47486207946752, 47486207971327, +ERASE, 47486207971328, 47486207971328, +STORE, 47486207971328, 47486207987711, +STORE, 47486207971328, 47486207999999, +ERASE, 47486207946752, 47486207946752, +STORE, 47486207946752, 47486207963135, +STORE, 47486207963136, 47486207971327, +ERASE, 47486206132224, 47486206132224, +STORE, 47486206132224, 47486206136319, +STORE, 47486206136320, 47486206140415, +ERASE, 93980056940544, 93980056940544, +STORE, 93980056940544, 93980056956927, +STORE, 93980056956928, 93980056961023, +ERASE, 140146589130752, 140146589130752, +STORE, 140146589130752, 140146589134847, +STORE, 140146589134848, 140146589138943, +ERASE, 47486206025728, 47486206025728, +STORE, 93980070006784, 93980070141951, +STORE, 140737488347136, 140737488351231, +STORE, 140727334776832, 140737488351231, +ERASE, 140727334776832, 140727334776832, +STORE, 140727334776832, 140727334780927, +STORE, 94049747247104, 94049747959807, +ERASE, 94049747247104, 94049747247104, +STORE, 94049747247104, 94049747296255, +STORE, 94049747296256, 94049747959807, +ERASE, 94049747296256, 94049747296256, +STORE, 94049747296256, 94049747841023, +STORE, 94049747841024, 94049747939327, +STORE, 94049747939328, 94049747959807, +STORE, 140227307216896, 140227307388927, +ERASE, 140227307216896, 140227307216896, +STORE, 140227307216896, 140227307220991, +STORE, 140227307220992, 140227307388927, +ERASE, 140227307220992, 140227307220992, +STORE, 140227307220992, 140227307343871, +STORE, 140227307343872, 140227307376639, +STORE, 140227307376640, 140227307384831, +STORE, 140227307384832, 140227307388927, +STORE, 140727335337984, 140727335342079, +STORE, 140727335325696, 140727335337983, +STORE, 47405487779840, 47405487788031, +STORE, 47405487788032, 47405487796223, +STORE, 47405487796224, 47405487902719, +STORE, 47405487812608, 47405487902719, +STORE, 47405487796224, 47405487812607, +ERASE, 47405487812608, 47405487812608, +STORE, 47405487812608, 47405487886335, +STORE, 47405487886336, 47405487902719, +STORE, 47405487865856, 47405487886335, +STORE, 47405487812608, 47405487865855, +ERASE, 47405487812608, 47405487812608, +STORE, 47405487812608, 47405487865855, +STORE, 47405487882240, 47405487886335, +STORE, 47405487865856, 47405487882239, +ERASE, 47405487865856, 47405487865856, +STORE, 47405487865856, 47405487882239, +STORE, 47405487894528, 47405487902719, +STORE, 47405487886336, 47405487894527, +ERASE, 47405487886336, 47405487886336, +STORE, 47405487886336, 47405487894527, +ERASE, 47405487894528, 47405487894528, +STORE, 47405487894528, 47405487902719, +STORE, 47405487902720, 47405489741823, +STORE, 47405488041984, 47405489741823, +STORE, 47405487902720, 47405488041983, +ERASE, 47405488041984, 47405488041984, +STORE, 47405488041984, 47405489700863, +STORE, 47405489700864, 47405489741823, +STORE, 47405489385472, 47405489700863, +STORE, 47405488041984, 47405489385471, +ERASE, 47405488041984, 47405488041984, +STORE, 47405488041984, 47405489385471, +STORE, 47405489696768, 47405489700863, +STORE, 47405489385472, 47405489696767, +ERASE, 47405489385472, 47405489385472, +STORE, 47405489385472, 47405489696767, +STORE, 47405489725440, 47405489741823, +STORE, 47405489700864, 47405489725439, +ERASE, 47405489700864, 47405489700864, +STORE, 47405489700864, 47405489725439, +ERASE, 47405489725440, 47405489725440, +STORE, 47405489725440, 47405489741823, +STORE, 47405489725440, 47405489754111, +ERASE, 47405489700864, 47405489700864, +STORE, 47405489700864, 47405489717247, +STORE, 47405489717248, 47405489725439, +ERASE, 47405487886336, 47405487886336, +STORE, 47405487886336, 47405487890431, +STORE, 47405487890432, 47405487894527, +ERASE, 94049747939328, 94049747939328, +STORE, 94049747939328, 94049747955711, +STORE, 94049747955712, 94049747959807, +ERASE, 140227307376640, 140227307376640, +STORE, 140227307376640, 140227307380735, +STORE, 140227307380736, 140227307384831, +ERASE, 47405487779840, 47405487779840, +STORE, 94049758810112, 94049758945279, +STORE, 140737488347136, 140737488351231, +STORE, 140727079718912, 140737488351231, +ERASE, 140727079718912, 140727079718912, +STORE, 140727079718912, 140727079723007, +STORE, 94250996527104, 94250997239807, +ERASE, 94250996527104, 94250996527104, +STORE, 94250996527104, 94250996576255, +STORE, 94250996576256, 94250997239807, +ERASE, 94250996576256, 94250996576256, +STORE, 94250996576256, 94250997121023, +STORE, 94250997121024, 94250997219327, +STORE, 94250997219328, 94250997239807, +STORE, 140060022587392, 140060022759423, +ERASE, 140060022587392, 140060022587392, +STORE, 140060022587392, 140060022591487, +STORE, 140060022591488, 140060022759423, +ERASE, 140060022591488, 140060022591488, +STORE, 140060022591488, 140060022714367, +STORE, 140060022714368, 140060022747135, +STORE, 140060022747136, 140060022755327, +STORE, 140060022755328, 140060022759423, +STORE, 140727079788544, 140727079792639, +STORE, 140727079776256, 140727079788543, +STORE, 47572772409344, 47572772417535, +STORE, 47572772417536, 47572772425727, +STORE, 47572772425728, 47572772532223, +STORE, 47572772442112, 47572772532223, +STORE, 47572772425728, 47572772442111, +ERASE, 47572772442112, 47572772442112, +STORE, 47572772442112, 47572772515839, +STORE, 47572772515840, 47572772532223, +STORE, 47572772495360, 47572772515839, +STORE, 47572772442112, 47572772495359, +ERASE, 47572772442112, 47572772442112, +STORE, 47572772442112, 47572772495359, +STORE, 47572772511744, 47572772515839, +STORE, 47572772495360, 47572772511743, +ERASE, 47572772495360, 47572772495360, +STORE, 47572772495360, 47572772511743, +STORE, 47572772524032, 47572772532223, +STORE, 47572772515840, 47572772524031, +ERASE, 47572772515840, 47572772515840, +STORE, 47572772515840, 47572772524031, +ERASE, 47572772524032, 47572772524032, +STORE, 47572772524032, 47572772532223, +STORE, 47572772532224, 47572774371327, +STORE, 47572772671488, 47572774371327, +STORE, 47572772532224, 47572772671487, +ERASE, 47572772671488, 47572772671488, +STORE, 47572772671488, 47572774330367, +STORE, 47572774330368, 47572774371327, +STORE, 47572774014976, 47572774330367, +STORE, 47572772671488, 47572774014975, +ERASE, 47572772671488, 47572772671488, +STORE, 47572772671488, 47572774014975, +STORE, 47572774326272, 47572774330367, +STORE, 47572774014976, 47572774326271, +ERASE, 47572774014976, 47572774014976, +STORE, 47572774014976, 47572774326271, +STORE, 47572774354944, 47572774371327, +STORE, 47572774330368, 47572774354943, +ERASE, 47572774330368, 47572774330368, +STORE, 47572774330368, 47572774354943, +ERASE, 47572774354944, 47572774354944, +STORE, 47572774354944, 47572774371327, +STORE, 47572774354944, 47572774383615, +ERASE, 47572774330368, 47572774330368, +STORE, 47572774330368, 47572774346751, +STORE, 47572774346752, 47572774354943, +ERASE, 47572772515840, 47572772515840, +STORE, 47572772515840, 47572772519935, +STORE, 47572772519936, 47572772524031, +ERASE, 94250997219328, 94250997219328, +STORE, 94250997219328, 94250997235711, +STORE, 94250997235712, 94250997239807, +ERASE, 140060022747136, 140060022747136, +STORE, 140060022747136, 140060022751231, +STORE, 140060022751232, 140060022755327, +ERASE, 47572772409344, 47572772409344, +STORE, 94251018305536, 94251018440703, +STORE, 140737488347136, 140737488351231, +STORE, 140730012389376, 140737488351231, +ERASE, 140730012389376, 140730012389376, +STORE, 140730012389376, 140730012393471, +STORE, 94382607675392, 94382607695871, +ERASE, 94382607675392, 94382607675392, +STORE, 94382607675392, 94382607679487, +STORE, 94382607679488, 94382607695871, +ERASE, 94382607679488, 94382607679488, +STORE, 94382607679488, 94382607683583, +STORE, 94382607683584, 94382607687679, +STORE, 94382607687680, 94382607695871, +STORE, 140252451454976, 140252451627007, +ERASE, 140252451454976, 140252451454976, +STORE, 140252451454976, 140252451459071, +STORE, 140252451459072, 140252451627007, +ERASE, 140252451459072, 140252451459072, +STORE, 140252451459072, 140252451581951, +STORE, 140252451581952, 140252451614719, +STORE, 140252451614720, 140252451622911, +STORE, 140252451622912, 140252451627007, +STORE, 140730013548544, 140730013552639, +STORE, 140730013536256, 140730013548543, +STORE, 47380343541760, 47380343549951, +STORE, 47380343549952, 47380343558143, +STORE, 47380343558144, 47380345397247, +STORE, 47380343697408, 47380345397247, +STORE, 47380343558144, 47380343697407, +ERASE, 47380343697408, 47380343697408, +STORE, 47380343697408, 47380345356287, +STORE, 47380345356288, 47380345397247, +STORE, 47380345040896, 47380345356287, +STORE, 47380343697408, 47380345040895, +ERASE, 47380343697408, 47380343697408, +STORE, 47380343697408, 47380345040895, +STORE, 47380345352192, 47380345356287, +STORE, 47380345040896, 47380345352191, +ERASE, 47380345040896, 47380345040896, +STORE, 47380345040896, 47380345352191, +STORE, 47380345380864, 47380345397247, +STORE, 47380345356288, 47380345380863, +ERASE, 47380345356288, 47380345356288, +STORE, 47380345356288, 47380345380863, +ERASE, 47380345380864, 47380345380864, +STORE, 47380345380864, 47380345397247, +ERASE, 47380345356288, 47380345356288, +STORE, 47380345356288, 47380345372671, +STORE, 47380345372672, 47380345380863, +ERASE, 94382607687680, 94382607687680, +STORE, 94382607687680, 94382607691775, +STORE, 94382607691776, 94382607695871, +ERASE, 140252451614720, 140252451614720, +STORE, 140252451614720, 140252451618815, +STORE, 140252451618816, 140252451622911, +ERASE, 47380343541760, 47380343541760, +STORE, 94382626803712, 94382626938879, +STORE, 140737488347136, 140737488351231, +STORE, 140730900271104, 140737488351231, +ERASE, 140730900271104, 140730900271104, +STORE, 140730900271104, 140730900275199, +STORE, 93855478120448, 93855478337535, +ERASE, 93855478120448, 93855478120448, +STORE, 93855478120448, 93855478198271, +STORE, 93855478198272, 93855478337535, +ERASE, 93855478198272, 93855478198272, +STORE, 93855478198272, 93855478243327, +STORE, 93855478243328, 93855478288383, +STORE, 93855478288384, 93855478337535, +STORE, 140092686573568, 140092686745599, +ERASE, 140092686573568, 140092686573568, +STORE, 140092686573568, 140092686577663, +STORE, 140092686577664, 140092686745599, +ERASE, 140092686577664, 140092686577664, +STORE, 140092686577664, 140092686700543, +STORE, 140092686700544, 140092686733311, +STORE, 140092686733312, 140092686741503, +STORE, 140092686741504, 140092686745599, +STORE, 140730900537344, 140730900541439, +STORE, 140730900525056, 140730900537343, +STORE, 47540108423168, 47540108431359, +STORE, 47540108431360, 47540108439551, +STORE, 47540108439552, 47540110278655, +STORE, 47540108578816, 47540110278655, +STORE, 47540108439552, 47540108578815, +ERASE, 47540108578816, 47540108578816, +STORE, 47540108578816, 47540110237695, +STORE, 47540110237696, 47540110278655, +STORE, 47540109922304, 47540110237695, +STORE, 47540108578816, 47540109922303, +ERASE, 47540108578816, 47540108578816, +STORE, 47540108578816, 47540109922303, +STORE, 47540110233600, 47540110237695, +STORE, 47540109922304, 47540110233599, +ERASE, 47540109922304, 47540109922304, +STORE, 47540109922304, 47540110233599, +STORE, 47540110262272, 47540110278655, +STORE, 47540110237696, 47540110262271, +ERASE, 47540110237696, 47540110237696, +STORE, 47540110237696, 47540110262271, +ERASE, 47540110262272, 47540110262272, +STORE, 47540110262272, 47540110278655, +ERASE, 47540110237696, 47540110237696, +STORE, 47540110237696, 47540110254079, +STORE, 47540110254080, 47540110262271, +ERASE, 93855478288384, 93855478288384, +STORE, 93855478288384, 93855478333439, +STORE, 93855478333440, 93855478337535, +ERASE, 140092686733312, 140092686733312, +STORE, 140092686733312, 140092686737407, +STORE, 140092686737408, 140092686741503, +ERASE, 47540108423168, 47540108423168, +STORE, 93855492222976, 93855492358143, +STORE, 93855492222976, 93855492493311, +STORE, 140737488347136, 140737488351231, +STORE, 140733498146816, 140737488351231, +ERASE, 140733498146816, 140733498146816, +STORE, 140733498146816, 140733498150911, +STORE, 94170739654656, 94170740367359, +ERASE, 94170739654656, 94170739654656, +STORE, 94170739654656, 94170739703807, +STORE, 94170739703808, 94170740367359, +ERASE, 94170739703808, 94170739703808, +STORE, 94170739703808, 94170740248575, +STORE, 94170740248576, 94170740346879, +STORE, 94170740346880, 94170740367359, +STORE, 140024788877312, 140024789049343, +ERASE, 140024788877312, 140024788877312, +STORE, 140024788877312, 140024788881407, +STORE, 140024788881408, 140024789049343, +ERASE, 140024788881408, 140024788881408, +STORE, 140024788881408, 140024789004287, +STORE, 140024789004288, 140024789037055, +STORE, 140024789037056, 140024789045247, +STORE, 140024789045248, 140024789049343, +STORE, 140733499023360, 140733499027455, +STORE, 140733499011072, 140733499023359, +STORE, 47608006119424, 47608006127615, +STORE, 47608006127616, 47608006135807, +STORE, 47608006135808, 47608006242303, +STORE, 47608006152192, 47608006242303, +STORE, 47608006135808, 47608006152191, +ERASE, 47608006152192, 47608006152192, +STORE, 47608006152192, 47608006225919, +STORE, 47608006225920, 47608006242303, +STORE, 47608006205440, 47608006225919, +STORE, 47608006152192, 47608006205439, +ERASE, 47608006152192, 47608006152192, +STORE, 47608006152192, 47608006205439, +STORE, 47608006221824, 47608006225919, +STORE, 47608006205440, 47608006221823, +ERASE, 47608006205440, 47608006205440, +STORE, 47608006205440, 47608006221823, +STORE, 47608006234112, 47608006242303, +STORE, 47608006225920, 47608006234111, +ERASE, 47608006225920, 47608006225920, +STORE, 47608006225920, 47608006234111, +ERASE, 47608006234112, 47608006234112, +STORE, 47608006234112, 47608006242303, +STORE, 47608006242304, 47608008081407, +STORE, 47608006381568, 47608008081407, +STORE, 47608006242304, 47608006381567, +ERASE, 47608006381568, 47608006381568, +STORE, 47608006381568, 47608008040447, +STORE, 47608008040448, 47608008081407, +STORE, 47608007725056, 47608008040447, +STORE, 47608006381568, 47608007725055, +ERASE, 47608006381568, 47608006381568, +STORE, 47608006381568, 47608007725055, +STORE, 47608008036352, 47608008040447, +STORE, 47608007725056, 47608008036351, +ERASE, 47608007725056, 47608007725056, +STORE, 47608007725056, 47608008036351, +STORE, 47608008065024, 47608008081407, +STORE, 47608008040448, 47608008065023, +ERASE, 47608008040448, 47608008040448, +STORE, 47608008040448, 47608008065023, +ERASE, 47608008065024, 47608008065024, +STORE, 47608008065024, 47608008081407, +STORE, 47608008065024, 47608008093695, +ERASE, 47608008040448, 47608008040448, +STORE, 47608008040448, 47608008056831, +STORE, 47608008056832, 47608008065023, +ERASE, 47608006225920, 47608006225920, +STORE, 47608006225920, 47608006230015, +STORE, 47608006230016, 47608006234111, +ERASE, 94170740346880, 94170740346880, +STORE, 94170740346880, 94170740363263, +STORE, 94170740363264, 94170740367359, +ERASE, 140024789037056, 140024789037056, +STORE, 140024789037056, 140024789041151, +STORE, 140024789041152, 140024789045247, +ERASE, 47608006119424, 47608006119424, +STORE, 140737488347136, 140737488351231, +STORE, 140730264326144, 140737488351231, +ERASE, 140730264326144, 140730264326144, +STORE, 140730264326144, 140730264330239, +STORE, 94653216407552, 94653217120255, +ERASE, 94653216407552, 94653216407552, +STORE, 94653216407552, 94653216456703, +STORE, 94653216456704, 94653217120255, +ERASE, 94653216456704, 94653216456704, +STORE, 94653216456704, 94653217001471, +STORE, 94653217001472, 94653217099775, +STORE, 94653217099776, 94653217120255, +STORE, 140103617011712, 140103617183743, +ERASE, 140103617011712, 140103617011712, +STORE, 140103617011712, 140103617015807, +STORE, 140103617015808, 140103617183743, +ERASE, 140103617015808, 140103617015808, +STORE, 140103617015808, 140103617138687, +STORE, 140103617138688, 140103617171455, +STORE, 140103617171456, 140103617179647, +STORE, 140103617179648, 140103617183743, +STORE, 140730265427968, 140730265432063, +STORE, 140730265415680, 140730265427967, +STORE, 47529177985024, 47529177993215, +STORE, 47529177993216, 47529178001407, +STORE, 47529178001408, 47529178107903, +STORE, 47529178017792, 47529178107903, +STORE, 47529178001408, 47529178017791, +ERASE, 47529178017792, 47529178017792, +STORE, 47529178017792, 47529178091519, +STORE, 47529178091520, 47529178107903, +STORE, 47529178071040, 47529178091519, +STORE, 47529178017792, 47529178071039, +ERASE, 47529178017792, 47529178017792, +STORE, 47529178017792, 47529178071039, +STORE, 47529178087424, 47529178091519, +STORE, 47529178071040, 47529178087423, +ERASE, 47529178071040, 47529178071040, +STORE, 47529178071040, 47529178087423, +STORE, 47529178099712, 47529178107903, +STORE, 47529178091520, 47529178099711, +ERASE, 47529178091520, 47529178091520, +STORE, 47529178091520, 47529178099711, +ERASE, 47529178099712, 47529178099712, +STORE, 47529178099712, 47529178107903, +STORE, 47529178107904, 47529179947007, +STORE, 47529178247168, 47529179947007, +STORE, 47529178107904, 47529178247167, +ERASE, 47529178247168, 47529178247168, +STORE, 47529178247168, 47529179906047, +STORE, 47529179906048, 47529179947007, +STORE, 47529179590656, 47529179906047, +STORE, 47529178247168, 47529179590655, +ERASE, 47529178247168, 47529178247168, +STORE, 47529178247168, 47529179590655, +STORE, 47529179901952, 47529179906047, +STORE, 47529179590656, 47529179901951, +ERASE, 47529179590656, 47529179590656, +STORE, 47529179590656, 47529179901951, +STORE, 47529179930624, 47529179947007, +STORE, 47529179906048, 47529179930623, +ERASE, 47529179906048, 47529179906048, +STORE, 47529179906048, 47529179930623, +ERASE, 47529179930624, 47529179930624, +STORE, 47529179930624, 47529179947007, +STORE, 47529179930624, 47529179959295, +ERASE, 47529179906048, 47529179906048, +STORE, 47529179906048, 47529179922431, +STORE, 47529179922432, 47529179930623, +ERASE, 47529178091520, 47529178091520, +STORE, 47529178091520, 47529178095615, +STORE, 47529178095616, 47529178099711, +ERASE, 94653217099776, 94653217099776, +STORE, 94653217099776, 94653217116159, +STORE, 94653217116160, 94653217120255, +ERASE, 140103617171456, 140103617171456, +STORE, 140103617171456, 140103617175551, +STORE, 140103617175552, 140103617179647, +ERASE, 47529177985024, 47529177985024, +STORE, 94653241135104, 94653241270271, +STORE, 140737488347136, 140737488351231, +STORE, 140736284549120, 140737488351231, +ERASE, 140736284549120, 140736284549120, +STORE, 140736284549120, 140736284553215, +STORE, 93963663822848, 93963664506879, +ERASE, 93963663822848, 93963663822848, +STORE, 93963663822848, 93963663884287, +STORE, 93963663884288, 93963664506879, +ERASE, 93963663884288, 93963663884288, +STORE, 93963663884288, 93963664240639, +STORE, 93963664240640, 93963664379903, +STORE, 93963664379904, 93963664506879, +STORE, 140450188439552, 140450188611583, +ERASE, 140450188439552, 140450188439552, +STORE, 140450188439552, 140450188443647, +STORE, 140450188443648, 140450188611583, +ERASE, 140450188443648, 140450188443648, +STORE, 140450188443648, 140450188566527, +STORE, 140450188566528, 140450188599295, +STORE, 140450188599296, 140450188607487, +STORE, 140450188607488, 140450188611583, +STORE, 140736284577792, 140736284581887, +STORE, 140736284565504, 140736284577791, +STORE, 47182606557184, 47182606565375, +STORE, 47182606565376, 47182606573567, +STORE, 47182606573568, 47182608412671, +STORE, 47182606712832, 47182608412671, +STORE, 47182606573568, 47182606712831, +ERASE, 47182606712832, 47182606712832, +STORE, 47182606712832, 47182608371711, +STORE, 47182608371712, 47182608412671, +STORE, 47182608056320, 47182608371711, +STORE, 47182606712832, 47182608056319, +ERASE, 47182606712832, 47182606712832, +STORE, 47182606712832, 47182608056319, +STORE, 47182608367616, 47182608371711, +STORE, 47182608056320, 47182608367615, +ERASE, 47182608056320, 47182608056320, +STORE, 47182608056320, 47182608367615, +STORE, 47182608396288, 47182608412671, +STORE, 47182608371712, 47182608396287, +ERASE, 47182608371712, 47182608371712, +STORE, 47182608371712, 47182608396287, +ERASE, 47182608396288, 47182608396288, +STORE, 47182608396288, 47182608412671, +STORE, 47182608412672, 47182608523263, +STORE, 47182608429056, 47182608523263, +STORE, 47182608412672, 47182608429055, +ERASE, 47182608429056, 47182608429056, +STORE, 47182608429056, 47182608515071, +STORE, 47182608515072, 47182608523263, +STORE, 47182608490496, 47182608515071, +STORE, 47182608429056, 47182608490495, +ERASE, 47182608429056, 47182608429056, +STORE, 47182608429056, 47182608490495, +STORE, 47182608510976, 47182608515071, +STORE, 47182608490496, 47182608510975, +ERASE, 47182608490496, 47182608490496, +STORE, 47182608490496, 47182608510975, +ERASE, 47182608515072, 47182608515072, +STORE, 47182608515072, 47182608523263, +STORE, 47182608523264, 47182608568319, +ERASE, 47182608523264, 47182608523264, +STORE, 47182608523264, 47182608531455, +STORE, 47182608531456, 47182608568319, +STORE, 47182608551936, 47182608568319, +STORE, 47182608531456, 47182608551935, +ERASE, 47182608531456, 47182608531456, +STORE, 47182608531456, 47182608551935, +STORE, 47182608560128, 47182608568319, +STORE, 47182608551936, 47182608560127, +ERASE, 47182608551936, 47182608551936, +STORE, 47182608551936, 47182608568319, +ERASE, 47182608551936, 47182608551936, +STORE, 47182608551936, 47182608560127, +STORE, 47182608560128, 47182608568319, +ERASE, 47182608560128, 47182608560128, +STORE, 47182608560128, 47182608568319, +STORE, 47182608568320, 47182608916479, +STORE, 47182608609280, 47182608916479, +STORE, 47182608568320, 47182608609279, +ERASE, 47182608609280, 47182608609280, +STORE, 47182608609280, 47182608891903, +STORE, 47182608891904, 47182608916479, +STORE, 47182608822272, 47182608891903, +STORE, 47182608609280, 47182608822271, +ERASE, 47182608609280, 47182608609280, +STORE, 47182608609280, 47182608822271, +STORE, 47182608887808, 47182608891903, +STORE, 47182608822272, 47182608887807, +ERASE, 47182608822272, 47182608822272, +STORE, 47182608822272, 47182608887807, +ERASE, 47182608891904, 47182608891904, +STORE, 47182608891904, 47182608916479, +STORE, 47182608916480, 47182611177471, +STORE, 47182609068032, 47182611177471, +STORE, 47182608916480, 47182609068031, +ERASE, 47182609068032, 47182609068032, +STORE, 47182609068032, 47182611161087, +STORE, 47182611161088, 47182611177471, +STORE, 47182611169280, 47182611177471, +STORE, 47182611161088, 47182611169279, +ERASE, 47182611161088, 47182611161088, +STORE, 47182611161088, 47182611169279, +ERASE, 47182611169280, 47182611169280, +STORE, 47182611169280, 47182611177471, +STORE, 47182611177472, 47182611312639, +ERASE, 47182611177472, 47182611177472, +STORE, 47182611177472, 47182611202047, +STORE, 47182611202048, 47182611312639, +STORE, 47182611263488, 47182611312639, +STORE, 47182611202048, 47182611263487, +ERASE, 47182611202048, 47182611202048, +STORE, 47182611202048, 47182611263487, +STORE, 47182611288064, 47182611312639, +STORE, 47182611263488, 47182611288063, +ERASE, 47182611263488, 47182611263488, +STORE, 47182611263488, 47182611312639, +ERASE, 47182611263488, 47182611263488, +STORE, 47182611263488, 47182611288063, +STORE, 47182611288064, 47182611312639, +STORE, 47182611296256, 47182611312639, +STORE, 47182611288064, 47182611296255, +ERASE, 47182611288064, 47182611288064, +STORE, 47182611288064, 47182611296255, +ERASE, 47182611296256, 47182611296256, +STORE, 47182611296256, 47182611312639, +STORE, 47182611296256, 47182611320831, +STORE, 47182611320832, 47182611484671, +ERASE, 47182611320832, 47182611320832, +STORE, 47182611320832, 47182611333119, +STORE, 47182611333120, 47182611484671, +STORE, 47182611431424, 47182611484671, +STORE, 47182611333120, 47182611431423, +ERASE, 47182611333120, 47182611333120, +STORE, 47182611333120, 47182611431423, +STORE, 47182611476480, 47182611484671, +STORE, 47182611431424, 47182611476479, +ERASE, 47182611431424, 47182611431424, +STORE, 47182611431424, 47182611484671, +ERASE, 47182611431424, 47182611431424, +STORE, 47182611431424, 47182611476479, +STORE, 47182611476480, 47182611484671, +ERASE, 47182611476480, 47182611476480, +STORE, 47182611476480, 47182611484671, +STORE, 47182611484672, 47182612082687, +STORE, 47182611603456, 47182612082687, +STORE, 47182611484672, 47182611603455, +ERASE, 47182611603456, 47182611603456, +STORE, 47182611603456, 47182612029439, +STORE, 47182612029440, 47182612082687, +STORE, 47182611918848, 47182612029439, +STORE, 47182611603456, 47182611918847, +ERASE, 47182611603456, 47182611603456, +STORE, 47182611603456, 47182611918847, +STORE, 47182612025344, 47182612029439, +STORE, 47182611918848, 47182612025343, +ERASE, 47182611918848, 47182611918848, +STORE, 47182611918848, 47182612025343, +ERASE, 47182612029440, 47182612029440, +STORE, 47182612029440, 47182612082687, +STORE, 47182612082688, 47182615134207, +STORE, 47182612627456, 47182615134207, +STORE, 47182612082688, 47182612627455, +ERASE, 47182612627456, 47182612627456, +STORE, 47182612627456, 47182614913023, +STORE, 47182614913024, 47182615134207, +STORE, 47182614323200, 47182614913023, +STORE, 47182612627456, 47182614323199, +ERASE, 47182612627456, 47182612627456, +STORE, 47182612627456, 47182614323199, +STORE, 47182614908928, 47182614913023, +STORE, 47182614323200, 47182614908927, +ERASE, 47182614323200, 47182614323200, +STORE, 47182614323200, 47182614908927, +STORE, 47182615117824, 47182615134207, +STORE, 47182614913024, 47182615117823, +ERASE, 47182614913024, 47182614913024, +STORE, 47182614913024, 47182615117823, +ERASE, 47182615117824, 47182615117824, +STORE, 47182615117824, 47182615134207, +STORE, 47182615134208, 47182615166975, +ERASE, 47182615134208, 47182615134208, +STORE, 47182615134208, 47182615142399, +STORE, 47182615142400, 47182615166975, +STORE, 47182615154688, 47182615166975, +STORE, 47182615142400, 47182615154687, +ERASE, 47182615142400, 47182615142400, +STORE, 47182615142400, 47182615154687, +STORE, 47182615158784, 47182615166975, +STORE, 47182615154688, 47182615158783, +ERASE, 47182615154688, 47182615154688, +STORE, 47182615154688, 47182615166975, +ERASE, 47182615154688, 47182615154688, +STORE, 47182615154688, 47182615158783, +STORE, 47182615158784, 47182615166975, +ERASE, 47182615158784, 47182615158784, +STORE, 47182615158784, 47182615166975, +STORE, 47182615166976, 47182615203839, +ERASE, 47182615166976, 47182615166976, +STORE, 47182615166976, 47182615175167, +STORE, 47182615175168, 47182615203839, +STORE, 47182615191552, 47182615203839, +STORE, 47182615175168, 47182615191551, +ERASE, 47182615175168, 47182615175168, +STORE, 47182615175168, 47182615191551, +STORE, 47182615195648, 47182615203839, +STORE, 47182615191552, 47182615195647, +ERASE, 47182615191552, 47182615191552, +STORE, 47182615191552, 47182615203839, +ERASE, 47182615191552, 47182615191552, +STORE, 47182615191552, 47182615195647, +STORE, 47182615195648, 47182615203839, +ERASE, 47182615195648, 47182615195648, +STORE, 47182615195648, 47182615203839, +STORE, 47182615203840, 47182615678975, +ERASE, 47182615203840, 47182615203840, +STORE, 47182615203840, 47182615212031, +STORE, 47182615212032, 47182615678975, +STORE, 47182615547904, 47182615678975, +STORE, 47182615212032, 47182615547903, +ERASE, 47182615212032, 47182615212032, +STORE, 47182615212032, 47182615547903, +STORE, 47182615670784, 47182615678975, +STORE, 47182615547904, 47182615670783, +ERASE, 47182615547904, 47182615547904, +STORE, 47182615547904, 47182615678975, +ERASE, 47182615547904, 47182615547904, +STORE, 47182615547904, 47182615670783, +STORE, 47182615670784, 47182615678975, +ERASE, 47182615670784, 47182615670784, +STORE, 47182615670784, 47182615678975, +STORE, 47182615678976, 47182615687167, +STORE, 47182615687168, 47182615707647, +ERASE, 47182615687168, 47182615687168, +STORE, 47182615687168, 47182615691263, +STORE, 47182615691264, 47182615707647, +STORE, 47182615695360, 47182615707647, +STORE, 47182615691264, 47182615695359, +ERASE, 47182615691264, 47182615691264, +STORE, 47182615691264, 47182615695359, +STORE, 47182615699456, 47182615707647, +STORE, 47182615695360, 47182615699455, +ERASE, 47182615695360, 47182615695360, +STORE, 47182615695360, 47182615707647, +ERASE, 47182615695360, 47182615695360, +STORE, 47182615695360, 47182615699455, +STORE, 47182615699456, 47182615707647, +ERASE, 47182615699456, 47182615699456, +STORE, 47182615699456, 47182615707647, +STORE, 47182615707648, 47182615715839, +ERASE, 47182608371712, 47182608371712, +STORE, 47182608371712, 47182608388095, +STORE, 47182608388096, 47182608396287, +ERASE, 47182615699456, 47182615699456, +STORE, 47182615699456, 47182615703551, +STORE, 47182615703552, 47182615707647, +ERASE, 47182611288064, 47182611288064, +STORE, 47182611288064, 47182611292159, +STORE, 47182611292160, 47182611296255, +ERASE, 47182615670784, 47182615670784, +STORE, 47182615670784, 47182615674879, +STORE, 47182615674880, 47182615678975, +ERASE, 47182615195648, 47182615195648, +STORE, 47182615195648, 47182615199743, +STORE, 47182615199744, 47182615203839, +ERASE, 47182615158784, 47182615158784, +STORE, 47182615158784, 47182615162879, +STORE, 47182615162880, 47182615166975, +ERASE, 47182614913024, 47182614913024, +STORE, 47182614913024, 47182615109631, +STORE, 47182615109632, 47182615117823, +ERASE, 47182612029440, 47182612029440, +STORE, 47182612029440, 47182612066303, +STORE, 47182612066304, 47182612082687, +ERASE, 47182611476480, 47182611476480, +STORE, 47182611476480, 47182611480575, +STORE, 47182611480576, 47182611484671, +ERASE, 47182611161088, 47182611161088, +STORE, 47182611161088, 47182611165183, +STORE, 47182611165184, 47182611169279, +ERASE, 47182608891904, 47182608891904, +STORE, 47182608891904, 47182608912383, +STORE, 47182608912384, 47182608916479, +ERASE, 47182608560128, 47182608560128, +STORE, 47182608560128, 47182608564223, +STORE, 47182608564224, 47182608568319, +ERASE, 47182608515072, 47182608515072, +STORE, 47182608515072, 47182608519167, +STORE, 47182608519168, 47182608523263, +ERASE, 93963664379904, 93963664379904, +STORE, 93963664379904, 93963664502783, +STORE, 93963664502784, 93963664506879, +ERASE, 140450188599296, 140450188599296, +STORE, 140450188599296, 140450188603391, +STORE, 140450188603392, 140450188607487, +ERASE, 47182606557184, 47182606557184, +STORE, 93963694723072, 93963694858239, +STORE, 140737488347136, 140737488351231, +STORE, 140730313261056, 140737488351231, +ERASE, 140730313261056, 140730313261056, +STORE, 140730313261056, 140730313265151, +STORE, 94386579017728, 94386579697663, +ERASE, 94386579017728, 94386579017728, +STORE, 94386579017728, 94386579083263, +STORE, 94386579083264, 94386579697663, +ERASE, 94386579083264, 94386579083264, +STORE, 94386579083264, 94386579431423, +STORE, 94386579431424, 94386579570687, +STORE, 94386579570688, 94386579697663, +STORE, 140124810838016, 140124811010047, +ERASE, 140124810838016, 140124810838016, +STORE, 140124810838016, 140124810842111, +STORE, 140124810842112, 140124811010047, +ERASE, 140124810842112, 140124810842112, +STORE, 140124810842112, 140124810964991, +STORE, 140124810964992, 140124810997759, +STORE, 140124810997760, 140124811005951, +STORE, 140124811005952, 140124811010047, +STORE, 140730313601024, 140730313605119, +STORE, 140730313588736, 140730313601023, +STORE, 47507984158720, 47507984166911, +STORE, 47507984166912, 47507984175103, +STORE, 47507984175104, 47507986014207, +STORE, 47507984314368, 47507986014207, +STORE, 47507984175104, 47507984314367, +ERASE, 47507984314368, 47507984314368, +STORE, 47507984314368, 47507985973247, +STORE, 47507985973248, 47507986014207, +STORE, 47507985657856, 47507985973247, +STORE, 47507984314368, 47507985657855, +ERASE, 47507984314368, 47507984314368, +STORE, 47507984314368, 47507985657855, +STORE, 47507985969152, 47507985973247, +STORE, 47507985657856, 47507985969151, +ERASE, 47507985657856, 47507985657856, +STORE, 47507985657856, 47507985969151, +STORE, 47507985997824, 47507986014207, +STORE, 47507985973248, 47507985997823, +ERASE, 47507985973248, 47507985973248, +STORE, 47507985973248, 47507985997823, +ERASE, 47507985997824, 47507985997824, +STORE, 47507985997824, 47507986014207, +STORE, 47507986014208, 47507986124799, +STORE, 47507986030592, 47507986124799, +STORE, 47507986014208, 47507986030591, +ERASE, 47507986030592, 47507986030592, +STORE, 47507986030592, 47507986116607, +STORE, 47507986116608, 47507986124799, +STORE, 47507986092032, 47507986116607, +STORE, 47507986030592, 47507986092031, +ERASE, 47507986030592, 47507986030592, +STORE, 47507986030592, 47507986092031, +STORE, 47507986112512, 47507986116607, +STORE, 47507986092032, 47507986112511, +ERASE, 47507986092032, 47507986092032, +STORE, 47507986092032, 47507986112511, +ERASE, 47507986116608, 47507986116608, +STORE, 47507986116608, 47507986124799, +STORE, 47507986124800, 47507986169855, +ERASE, 47507986124800, 47507986124800, +STORE, 47507986124800, 47507986132991, +STORE, 47507986132992, 47507986169855, +STORE, 47507986153472, 47507986169855, +STORE, 47507986132992, 47507986153471, +ERASE, 47507986132992, 47507986132992, +STORE, 47507986132992, 47507986153471, +STORE, 47507986161664, 47507986169855, +STORE, 47507986153472, 47507986161663, +ERASE, 47507986153472, 47507986153472, +STORE, 47507986153472, 47507986169855, +ERASE, 47507986153472, 47507986153472, +STORE, 47507986153472, 47507986161663, +STORE, 47507986161664, 47507986169855, +ERASE, 47507986161664, 47507986161664, +STORE, 47507986161664, 47507986169855, +STORE, 47507986169856, 47507986518015, +STORE, 47507986210816, 47507986518015, +STORE, 47507986169856, 47507986210815, +ERASE, 47507986210816, 47507986210816, +STORE, 47507986210816, 47507986493439, +STORE, 47507986493440, 47507986518015, +STORE, 47507986423808, 47507986493439, +STORE, 47507986210816, 47507986423807, +ERASE, 47507986210816, 47507986210816, +STORE, 47507986210816, 47507986423807, +STORE, 47507986489344, 47507986493439, +STORE, 47507986423808, 47507986489343, +ERASE, 47507986423808, 47507986423808, +STORE, 47507986423808, 47507986489343, +ERASE, 47507986493440, 47507986493440, +STORE, 47507986493440, 47507986518015, +STORE, 47507986518016, 47507988779007, +STORE, 47507986669568, 47507988779007, +STORE, 47507986518016, 47507986669567, +ERASE, 47507986669568, 47507986669568, +STORE, 47507986669568, 47507988762623, +STORE, 47507988762624, 47507988779007, +STORE, 47507988770816, 47507988779007, +STORE, 47507988762624, 47507988770815, +ERASE, 47507988762624, 47507988762624, +STORE, 47507988762624, 47507988770815, +ERASE, 47507988770816, 47507988770816, +STORE, 47507988770816, 47507988779007, +STORE, 47507988779008, 47507988914175, +ERASE, 47507988779008, 47507988779008, +STORE, 47507988779008, 47507988803583, +STORE, 47507988803584, 47507988914175, +STORE, 47507988865024, 47507988914175, +STORE, 47507988803584, 47507988865023, +ERASE, 47507988803584, 47507988803584, +STORE, 47507988803584, 47507988865023, +STORE, 47507988889600, 47507988914175, +STORE, 47507988865024, 47507988889599, +ERASE, 47507988865024, 47507988865024, +STORE, 47507988865024, 47507988914175, +ERASE, 47507988865024, 47507988865024, +STORE, 47507988865024, 47507988889599, +STORE, 47507988889600, 47507988914175, +STORE, 47507988897792, 47507988914175, +STORE, 47507988889600, 47507988897791, +ERASE, 47507988889600, 47507988889600, +STORE, 47507988889600, 47507988897791, +ERASE, 47507988897792, 47507988897792, +STORE, 47507988897792, 47507988914175, +STORE, 47507988897792, 47507988922367, +STORE, 47507988922368, 47507989086207, +ERASE, 47507988922368, 47507988922368, +STORE, 47507988922368, 47507988934655, +STORE, 47507988934656, 47507989086207, +STORE, 47507989032960, 47507989086207, +STORE, 47507988934656, 47507989032959, +ERASE, 47507988934656, 47507988934656, +STORE, 47507988934656, 47507989032959, +STORE, 47507989078016, 47507989086207, +STORE, 47507989032960, 47507989078015, +ERASE, 47507989032960, 47507989032960, +STORE, 47507989032960, 47507989086207, +ERASE, 47507989032960, 47507989032960, +STORE, 47507989032960, 47507989078015, +STORE, 47507989078016, 47507989086207, +ERASE, 47507989078016, 47507989078016, +STORE, 47507989078016, 47507989086207, +STORE, 47507989086208, 47507989684223, +STORE, 47507989204992, 47507989684223, +STORE, 47507989086208, 47507989204991, +ERASE, 47507989204992, 47507989204992, +STORE, 47507989204992, 47507989630975, +STORE, 47507989630976, 47507989684223, +STORE, 47507989520384, 47507989630975, +STORE, 47507989204992, 47507989520383, +ERASE, 47507989204992, 47507989204992, +STORE, 47507989204992, 47507989520383, +STORE, 47507989626880, 47507989630975, +STORE, 47507989520384, 47507989626879, +ERASE, 47507989520384, 47507989520384, +STORE, 47507989520384, 47507989626879, +ERASE, 47507989630976, 47507989630976, +STORE, 47507989630976, 47507989684223, +STORE, 47507989684224, 47507992735743, +STORE, 47507990228992, 47507992735743, +STORE, 47507989684224, 47507990228991, +ERASE, 47507990228992, 47507990228992, +STORE, 47507990228992, 47507992514559, +STORE, 47507992514560, 47507992735743, +STORE, 47507991924736, 47507992514559, +STORE, 47507990228992, 47507991924735, +ERASE, 47507990228992, 47507990228992, +STORE, 47507990228992, 47507991924735, +STORE, 47507992510464, 47507992514559, +STORE, 47507991924736, 47507992510463, +ERASE, 47507991924736, 47507991924736, +STORE, 47507991924736, 47507992510463, +STORE, 47507992719360, 47507992735743, +STORE, 47507992514560, 47507992719359, +ERASE, 47507992514560, 47507992514560, +STORE, 47507992514560, 47507992719359, +ERASE, 47507992719360, 47507992719360, +STORE, 47507992719360, 47507992735743, +STORE, 47507992735744, 47507992768511, +ERASE, 47507992735744, 47507992735744, +STORE, 47507992735744, 47507992743935, +STORE, 47507992743936, 47507992768511, +STORE, 47507992756224, 47507992768511, +STORE, 47507992743936, 47507992756223, +ERASE, 47507992743936, 47507992743936, +STORE, 47507992743936, 47507992756223, +STORE, 47507992760320, 47507992768511, +STORE, 47507992756224, 47507992760319, +ERASE, 47507992756224, 47507992756224, +STORE, 47507992756224, 47507992768511, +ERASE, 47507992756224, 47507992756224, +STORE, 47507992756224, 47507992760319, +STORE, 47507992760320, 47507992768511, +ERASE, 47507992760320, 47507992760320, +STORE, 47507992760320, 47507992768511, +STORE, 47507992768512, 47507992805375, +ERASE, 47507992768512, 47507992768512, +STORE, 47507992768512, 47507992776703, +STORE, 47507992776704, 47507992805375, +STORE, 47507992793088, 47507992805375, +STORE, 47507992776704, 47507992793087, +ERASE, 47507992776704, 47507992776704, +STORE, 47507992776704, 47507992793087, +STORE, 47507992797184, 47507992805375, +STORE, 47507992793088, 47507992797183, +ERASE, 47507992793088, 47507992793088, +STORE, 47507992793088, 47507992805375, +ERASE, 47507992793088, 47507992793088, +STORE, 47507992793088, 47507992797183, +STORE, 47507992797184, 47507992805375, +ERASE, 47507992797184, 47507992797184, +STORE, 47507992797184, 47507992805375, +STORE, 47507992805376, 47507993280511, +ERASE, 47507992805376, 47507992805376, +STORE, 47507992805376, 47507992813567, +STORE, 47507992813568, 47507993280511, +STORE, 47507993149440, 47507993280511, +STORE, 47507992813568, 47507993149439, +ERASE, 47507992813568, 47507992813568, +STORE, 47507992813568, 47507993149439, +STORE, 47507993272320, 47507993280511, +STORE, 47507993149440, 47507993272319, +ERASE, 47507993149440, 47507993149440, +STORE, 47507993149440, 47507993280511, +ERASE, 47507993149440, 47507993149440, +STORE, 47507993149440, 47507993272319, +STORE, 47507993272320, 47507993280511, +ERASE, 47507993272320, 47507993272320, +STORE, 47507993272320, 47507993280511, +STORE, 47507993280512, 47507993288703, +STORE, 47507993288704, 47507993309183, +ERASE, 47507993288704, 47507993288704, +STORE, 47507993288704, 47507993292799, +STORE, 47507993292800, 47507993309183, +STORE, 47507993296896, 47507993309183, +STORE, 47507993292800, 47507993296895, +ERASE, 47507993292800, 47507993292800, +STORE, 47507993292800, 47507993296895, +STORE, 47507993300992, 47507993309183, +STORE, 47507993296896, 47507993300991, +ERASE, 47507993296896, 47507993296896, +STORE, 47507993296896, 47507993309183, +ERASE, 47507993296896, 47507993296896, +STORE, 47507993296896, 47507993300991, +STORE, 47507993300992, 47507993309183, +ERASE, 47507993300992, 47507993300992, +STORE, 47507993300992, 47507993309183, +STORE, 47507993309184, 47507993317375, +ERASE, 47507985973248, 47507985973248, +STORE, 47507985973248, 47507985989631, +STORE, 47507985989632, 47507985997823, +ERASE, 47507993300992, 47507993300992, +STORE, 47507993300992, 47507993305087, +STORE, 47507993305088, 47507993309183, +ERASE, 47507988889600, 47507988889600, +STORE, 47507988889600, 47507988893695, +STORE, 47507988893696, 47507988897791, +ERASE, 47507993272320, 47507993272320, +STORE, 47507993272320, 47507993276415, +STORE, 47507993276416, 47507993280511, +ERASE, 47507992797184, 47507992797184, +STORE, 47507992797184, 47507992801279, +STORE, 47507992801280, 47507992805375, +ERASE, 47507992760320, 47507992760320, +STORE, 47507992760320, 47507992764415, +STORE, 47507992764416, 47507992768511, +ERASE, 47507992514560, 47507992514560, +STORE, 47507992514560, 47507992711167, +STORE, 47507992711168, 47507992719359, +ERASE, 47507989630976, 47507989630976, +STORE, 47507989630976, 47507989667839, +STORE, 47507989667840, 47507989684223, +ERASE, 47507989078016, 47507989078016, +STORE, 47507989078016, 47507989082111, +STORE, 47507989082112, 47507989086207, +ERASE, 47507988762624, 47507988762624, +STORE, 47507988762624, 47507988766719, +STORE, 47507988766720, 47507988770815, +ERASE, 47507986493440, 47507986493440, +STORE, 47507986493440, 47507986513919, +STORE, 47507986513920, 47507986518015, +ERASE, 47507986161664, 47507986161664, +STORE, 47507986161664, 47507986165759, +STORE, 47507986165760, 47507986169855, +ERASE, 47507986116608, 47507986116608, +STORE, 47507986116608, 47507986120703, +STORE, 47507986120704, 47507986124799, +ERASE, 94386579570688, 94386579570688, +STORE, 94386579570688, 94386579693567, +STORE, 94386579693568, 94386579697663, +ERASE, 140124810997760, 140124810997760, +STORE, 140124810997760, 140124811001855, +STORE, 140124811001856, 140124811005951, +ERASE, 47507984158720, 47507984158720, +STORE, 94386583982080, 94386584117247, +STORE, 94386583982080, 94386584256511, +ERASE, 94386583982080, 94386583982080, +STORE, 94386583982080, 94386584223743, +STORE, 94386584223744, 94386584256511, +ERASE, 94386584223744, 94386584223744, +STORE, 140737488347136, 140737488351231, +STORE, 140733763395584, 140737488351231, +ERASE, 140733763395584, 140733763395584, +STORE, 140733763395584, 140733763399679, +STORE, 94011546472448, 94011547152383, +ERASE, 94011546472448, 94011546472448, +STORE, 94011546472448, 94011546537983, +STORE, 94011546537984, 94011547152383, +ERASE, 94011546537984, 94011546537984, +STORE, 94011546537984, 94011546886143, +STORE, 94011546886144, 94011547025407, +STORE, 94011547025408, 94011547152383, +STORE, 139757597949952, 139757598121983, +ERASE, 139757597949952, 139757597949952, +STORE, 139757597949952, 139757597954047, +STORE, 139757597954048, 139757598121983, +ERASE, 139757597954048, 139757597954048, +STORE, 139757597954048, 139757598076927, +STORE, 139757598076928, 139757598109695, +STORE, 139757598109696, 139757598117887, +STORE, 139757598117888, 139757598121983, +STORE, 140733763596288, 140733763600383, +STORE, 140733763584000, 140733763596287, +STORE, 47875197046784, 47875197054975, +STORE, 47875197054976, 47875197063167, +STORE, 47875197063168, 47875198902271, +STORE, 47875197202432, 47875198902271, +STORE, 47875197063168, 47875197202431, +ERASE, 47875197202432, 47875197202432, +STORE, 47875197202432, 47875198861311, +STORE, 47875198861312, 47875198902271, +STORE, 47875198545920, 47875198861311, +STORE, 47875197202432, 47875198545919, +ERASE, 47875197202432, 47875197202432, +STORE, 47875197202432, 47875198545919, +STORE, 47875198857216, 47875198861311, +STORE, 47875198545920, 47875198857215, +ERASE, 47875198545920, 47875198545920, +STORE, 47875198545920, 47875198857215, +STORE, 47875198885888, 47875198902271, +STORE, 47875198861312, 47875198885887, +ERASE, 47875198861312, 47875198861312, +STORE, 47875198861312, 47875198885887, +ERASE, 47875198885888, 47875198885888, +STORE, 47875198885888, 47875198902271, +STORE, 47875198902272, 47875199012863, +STORE, 47875198918656, 47875199012863, +STORE, 47875198902272, 47875198918655, +ERASE, 47875198918656, 47875198918656, +STORE, 47875198918656, 47875199004671, +STORE, 47875199004672, 47875199012863, +STORE, 47875198980096, 47875199004671, +STORE, 47875198918656, 47875198980095, +ERASE, 47875198918656, 47875198918656, +STORE, 47875198918656, 47875198980095, +STORE, 47875199000576, 47875199004671, +STORE, 47875198980096, 47875199000575, +ERASE, 47875198980096, 47875198980096, +STORE, 47875198980096, 47875199000575, +ERASE, 47875199004672, 47875199004672, +STORE, 47875199004672, 47875199012863, +STORE, 47875199012864, 47875199057919, +ERASE, 47875199012864, 47875199012864, +STORE, 47875199012864, 47875199021055, +STORE, 47875199021056, 47875199057919, +STORE, 47875199041536, 47875199057919, +STORE, 47875199021056, 47875199041535, +ERASE, 47875199021056, 47875199021056, +STORE, 47875199021056, 47875199041535, +STORE, 47875199049728, 47875199057919, +STORE, 47875199041536, 47875199049727, +ERASE, 47875199041536, 47875199041536, +STORE, 47875199041536, 47875199057919, +ERASE, 47875199041536, 47875199041536, +STORE, 47875199041536, 47875199049727, +STORE, 47875199049728, 47875199057919, +ERASE, 47875199049728, 47875199049728, +STORE, 47875199049728, 47875199057919, +STORE, 47875199057920, 47875199406079, +STORE, 47875199098880, 47875199406079, +STORE, 47875199057920, 47875199098879, +ERASE, 47875199098880, 47875199098880, +STORE, 47875199098880, 47875199381503, +STORE, 47875199381504, 47875199406079, +STORE, 47875199311872, 47875199381503, +STORE, 47875199098880, 47875199311871, +ERASE, 47875199098880, 47875199098880, +STORE, 47875199098880, 47875199311871, +STORE, 47875199377408, 47875199381503, +STORE, 47875199311872, 47875199377407, +ERASE, 47875199311872, 47875199311872, +STORE, 47875199311872, 47875199377407, +ERASE, 47875199381504, 47875199381504, +STORE, 47875199381504, 47875199406079, +STORE, 47875199406080, 47875201667071, +STORE, 47875199557632, 47875201667071, +STORE, 47875199406080, 47875199557631, +ERASE, 47875199557632, 47875199557632, +STORE, 47875199557632, 47875201650687, +STORE, 47875201650688, 47875201667071, +STORE, 47875201658880, 47875201667071, +STORE, 47875201650688, 47875201658879, +ERASE, 47875201650688, 47875201650688, +STORE, 47875201650688, 47875201658879, +ERASE, 47875201658880, 47875201658880, +STORE, 47875201658880, 47875201667071, +STORE, 47875201667072, 47875201802239, +ERASE, 47875201667072, 47875201667072, +STORE, 47875201667072, 47875201691647, +STORE, 47875201691648, 47875201802239, +STORE, 47875201753088, 47875201802239, +STORE, 47875201691648, 47875201753087, +ERASE, 47875201691648, 47875201691648, +STORE, 47875201691648, 47875201753087, +STORE, 47875201777664, 47875201802239, +STORE, 47875201753088, 47875201777663, +ERASE, 47875201753088, 47875201753088, +STORE, 47875201753088, 47875201802239, +ERASE, 47875201753088, 47875201753088, +STORE, 47875201753088, 47875201777663, +STORE, 47875201777664, 47875201802239, +STORE, 47875201785856, 47875201802239, +STORE, 47875201777664, 47875201785855, +ERASE, 47875201777664, 47875201777664, +STORE, 47875201777664, 47875201785855, +ERASE, 47875201785856, 47875201785856, +STORE, 47875201785856, 47875201802239, +STORE, 47875201785856, 47875201810431, +STORE, 47875201810432, 47875201974271, +ERASE, 47875201810432, 47875201810432, +STORE, 47875201810432, 47875201822719, +STORE, 47875201822720, 47875201974271, +STORE, 47875201921024, 47875201974271, +STORE, 47875201822720, 47875201921023, +ERASE, 47875201822720, 47875201822720, +STORE, 47875201822720, 47875201921023, +STORE, 47875201966080, 47875201974271, +STORE, 47875201921024, 47875201966079, +ERASE, 47875201921024, 47875201921024, +STORE, 47875201921024, 47875201974271, +ERASE, 47875201921024, 47875201921024, +STORE, 47875201921024, 47875201966079, +STORE, 47875201966080, 47875201974271, +ERASE, 47875201966080, 47875201966080, +STORE, 47875201966080, 47875201974271, +STORE, 47875201974272, 47875202572287, +STORE, 47875202093056, 47875202572287, +STORE, 47875201974272, 47875202093055, +ERASE, 47875202093056, 47875202093056, +STORE, 47875202093056, 47875202519039, +STORE, 47875202519040, 47875202572287, +STORE, 47875202408448, 47875202519039, +STORE, 47875202093056, 47875202408447, +ERASE, 47875202093056, 47875202093056, +STORE, 47875202093056, 47875202408447, +STORE, 47875202514944, 47875202519039, +STORE, 47875202408448, 47875202514943, +ERASE, 47875202408448, 47875202408448, +STORE, 47875202408448, 47875202514943, +ERASE, 47875202519040, 47875202519040, +STORE, 47875202519040, 47875202572287, +STORE, 47875202572288, 47875205623807, +STORE, 47875203117056, 47875205623807, +STORE, 47875202572288, 47875203117055, +ERASE, 47875203117056, 47875203117056, +STORE, 47875203117056, 47875205402623, +STORE, 47875205402624, 47875205623807, +STORE, 47875204812800, 47875205402623, +STORE, 47875203117056, 47875204812799, +ERASE, 47875203117056, 47875203117056, +STORE, 47875203117056, 47875204812799, +STORE, 47875205398528, 47875205402623, +STORE, 47875204812800, 47875205398527, +ERASE, 47875204812800, 47875204812800, +STORE, 47875204812800, 47875205398527, +STORE, 47875205607424, 47875205623807, +STORE, 47875205402624, 47875205607423, +ERASE, 47875205402624, 47875205402624, +STORE, 47875205402624, 47875205607423, +ERASE, 47875205607424, 47875205607424, +STORE, 47875205607424, 47875205623807, +STORE, 47875205623808, 47875205656575, +ERASE, 47875205623808, 47875205623808, +STORE, 47875205623808, 47875205631999, +STORE, 47875205632000, 47875205656575, +STORE, 47875205644288, 47875205656575, +STORE, 47875205632000, 47875205644287, +ERASE, 47875205632000, 47875205632000, +STORE, 47875205632000, 47875205644287, +STORE, 47875205648384, 47875205656575, +STORE, 47875205644288, 47875205648383, +ERASE, 47875205644288, 47875205644288, +STORE, 47875205644288, 47875205656575, +ERASE, 47875205644288, 47875205644288, +STORE, 47875205644288, 47875205648383, +STORE, 47875205648384, 47875205656575, +ERASE, 47875205648384, 47875205648384, +STORE, 47875205648384, 47875205656575, +STORE, 47875205656576, 47875205693439, +ERASE, 47875205656576, 47875205656576, +STORE, 47875205656576, 47875205664767, +STORE, 47875205664768, 47875205693439, +STORE, 47875205681152, 47875205693439, +STORE, 47875205664768, 47875205681151, +ERASE, 47875205664768, 47875205664768, +STORE, 47875205664768, 47875205681151, +STORE, 47875205685248, 47875205693439, +STORE, 47875205681152, 47875205685247, +ERASE, 47875205681152, 47875205681152, +STORE, 47875205681152, 47875205693439, +ERASE, 47875205681152, 47875205681152, +STORE, 47875205681152, 47875205685247, +STORE, 47875205685248, 47875205693439, +ERASE, 47875205685248, 47875205685248, +STORE, 47875205685248, 47875205693439, +STORE, 47875205693440, 47875206168575, +ERASE, 47875205693440, 47875205693440, +STORE, 47875205693440, 47875205701631, +STORE, 47875205701632, 47875206168575, +STORE, 47875206037504, 47875206168575, +STORE, 47875205701632, 47875206037503, +ERASE, 47875205701632, 47875205701632, +STORE, 47875205701632, 47875206037503, +STORE, 47875206160384, 47875206168575, +STORE, 47875206037504, 47875206160383, +ERASE, 47875206037504, 47875206037504, +STORE, 47875206037504, 47875206168575, +ERASE, 47875206037504, 47875206037504, +STORE, 47875206037504, 47875206160383, +STORE, 47875206160384, 47875206168575, +ERASE, 47875206160384, 47875206160384, +STORE, 47875206160384, 47875206168575, +STORE, 47875206168576, 47875206176767, +STORE, 47875206176768, 47875206197247, +ERASE, 47875206176768, 47875206176768, +STORE, 47875206176768, 47875206180863, +STORE, 47875206180864, 47875206197247, +STORE, 47875206184960, 47875206197247, +STORE, 47875206180864, 47875206184959, +ERASE, 47875206180864, 47875206180864, +STORE, 47875206180864, 47875206184959, +STORE, 47875206189056, 47875206197247, +STORE, 47875206184960, 47875206189055, +ERASE, 47875206184960, 47875206184960, +STORE, 47875206184960, 47875206197247, +ERASE, 47875206184960, 47875206184960, +STORE, 47875206184960, 47875206189055, +STORE, 47875206189056, 47875206197247, +ERASE, 47875206189056, 47875206189056, +STORE, 47875206189056, 47875206197247, +STORE, 47875206197248, 47875206205439, +ERASE, 47875198861312, 47875198861312, +STORE, 47875198861312, 47875198877695, +STORE, 47875198877696, 47875198885887, +ERASE, 47875206189056, 47875206189056, +STORE, 47875206189056, 47875206193151, +STORE, 47875206193152, 47875206197247, +ERASE, 47875201777664, 47875201777664, +STORE, 47875201777664, 47875201781759, +STORE, 47875201781760, 47875201785855, +ERASE, 47875206160384, 47875206160384, +STORE, 47875206160384, 47875206164479, +STORE, 47875206164480, 47875206168575, +ERASE, 47875205685248, 47875205685248, +STORE, 47875205685248, 47875205689343, +STORE, 47875205689344, 47875205693439, +ERASE, 47875205648384, 47875205648384, +STORE, 47875205648384, 47875205652479, +STORE, 47875205652480, 47875205656575, +ERASE, 47875205402624, 47875205402624, +STORE, 47875205402624, 47875205599231, +STORE, 47875205599232, 47875205607423, +ERASE, 47875202519040, 47875202519040, +STORE, 47875202519040, 47875202555903, +STORE, 47875202555904, 47875202572287, +ERASE, 47875201966080, 47875201966080, +STORE, 47875201966080, 47875201970175, +STORE, 47875201970176, 47875201974271, +ERASE, 47875201650688, 47875201650688, +STORE, 47875201650688, 47875201654783, +STORE, 47875201654784, 47875201658879, +ERASE, 47875199381504, 47875199381504, +STORE, 47875199381504, 47875199401983, +STORE, 47875199401984, 47875199406079, +ERASE, 47875199049728, 47875199049728, +STORE, 47875199049728, 47875199053823, +STORE, 47875199053824, 47875199057919, +ERASE, 47875199004672, 47875199004672, +STORE, 47875199004672, 47875199008767, +STORE, 47875199008768, 47875199012863, +ERASE, 94011547025408, 94011547025408, +STORE, 94011547025408, 94011547148287, +STORE, 94011547148288, 94011547152383, +ERASE, 139757598109696, 139757598109696, +STORE, 139757598109696, 139757598113791, +STORE, 139757598113792, 139757598117887, +ERASE, 47875197046784, 47875197046784, +STORE, 94011557584896, 94011557720063, +STORE, 94011557584896, 94011557855231, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557851135, +STORE, 94011557851136, 94011557855231, +ERASE, 94011557851136, 94011557851136, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557847039, +STORE, 94011557847040, 94011557851135, +ERASE, 94011557847040, 94011557847040, +STORE, 94011557584896, 94011557982207, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557978111, +STORE, 94011557978112, 94011557982207, +ERASE, 94011557978112, 94011557978112, +ERASE, 94011557584896, 94011557584896, +STORE, 94011557584896, 94011557974015, +STORE, 94011557974016, 94011557978111, +ERASE, 94011557974016, 94011557974016, +STORE, 140737488347136, 140737488351231, +STORE, 140734130360320, 140737488351231, +ERASE, 140734130360320, 140734130360320, +STORE, 140734130360320, 140734130364415, +STORE, 94641232105472, 94641232785407, +ERASE, 94641232105472, 94641232105472, +STORE, 94641232105472, 94641232171007, +STORE, 94641232171008, 94641232785407, +ERASE, 94641232171008, 94641232171008, +STORE, 94641232171008, 94641232519167, +STORE, 94641232519168, 94641232658431, +STORE, 94641232658432, 94641232785407, +STORE, 139726599516160, 139726599688191, +ERASE, 139726599516160, 139726599516160, +STORE, 139726599516160, 139726599520255, +STORE, 139726599520256, 139726599688191, +ERASE, 139726599520256, 139726599520256, +STORE, 139726599520256, 139726599643135, +STORE, 139726599643136, 139726599675903, +STORE, 139726599675904, 139726599684095, +STORE, 139726599684096, 139726599688191, +STORE, 140734130446336, 140734130450431, +STORE, 140734130434048, 140734130446335, +STORE, 47906195480576, 47906195488767, +STORE, 47906195488768, 47906195496959, +STORE, 47906195496960, 47906197336063, +STORE, 47906195636224, 47906197336063, +STORE, 47906195496960, 47906195636223, +ERASE, 47906195636224, 47906195636224, +STORE, 47906195636224, 47906197295103, +STORE, 47906197295104, 47906197336063, +STORE, 47906196979712, 47906197295103, +STORE, 47906195636224, 47906196979711, +ERASE, 47906195636224, 47906195636224, +STORE, 47906195636224, 47906196979711, +STORE, 47906197291008, 47906197295103, +STORE, 47906196979712, 47906197291007, +ERASE, 47906196979712, 47906196979712, +STORE, 47906196979712, 47906197291007, +STORE, 47906197319680, 47906197336063, +STORE, 47906197295104, 47906197319679, +ERASE, 47906197295104, 47906197295104, +STORE, 47906197295104, 47906197319679, +ERASE, 47906197319680, 47906197319680, +STORE, 47906197319680, 47906197336063, +STORE, 47906197336064, 47906197446655, +STORE, 47906197352448, 47906197446655, +STORE, 47906197336064, 47906197352447, +ERASE, 47906197352448, 47906197352448, +STORE, 47906197352448, 47906197438463, +STORE, 47906197438464, 47906197446655, +STORE, 47906197413888, 47906197438463, +STORE, 47906197352448, 47906197413887, +ERASE, 47906197352448, 47906197352448, +STORE, 47906197352448, 47906197413887, +STORE, 47906197434368, 47906197438463, +STORE, 47906197413888, 47906197434367, +ERASE, 47906197413888, 47906197413888, +STORE, 47906197413888, 47906197434367, +ERASE, 47906197438464, 47906197438464, +STORE, 47906197438464, 47906197446655, +STORE, 47906197446656, 47906197491711, +ERASE, 47906197446656, 47906197446656, +STORE, 47906197446656, 47906197454847, +STORE, 47906197454848, 47906197491711, +STORE, 47906197475328, 47906197491711, +STORE, 47906197454848, 47906197475327, +ERASE, 47906197454848, 47906197454848, +STORE, 47906197454848, 47906197475327, +STORE, 47906197483520, 47906197491711, +STORE, 47906197475328, 47906197483519, +ERASE, 47906197475328, 47906197475328, +STORE, 47906197475328, 47906197491711, +ERASE, 47906197475328, 47906197475328, +STORE, 47906197475328, 47906197483519, +STORE, 47906197483520, 47906197491711, +ERASE, 47906197483520, 47906197483520, +STORE, 47906197483520, 47906197491711, +STORE, 47906197491712, 47906197839871, +STORE, 47906197532672, 47906197839871, +STORE, 47906197491712, 47906197532671, +ERASE, 47906197532672, 47906197532672, +STORE, 47906197532672, 47906197815295, +STORE, 47906197815296, 47906197839871, +STORE, 47906197745664, 47906197815295, +STORE, 47906197532672, 47906197745663, +ERASE, 47906197532672, 47906197532672, +STORE, 47906197532672, 47906197745663, +STORE, 47906197811200, 47906197815295, +STORE, 47906197745664, 47906197811199, +ERASE, 47906197745664, 47906197745664, +STORE, 47906197745664, 47906197811199, +ERASE, 47906197815296, 47906197815296, +STORE, 47906197815296, 47906197839871, +STORE, 47906197839872, 47906200100863, +STORE, 47906197991424, 47906200100863, +STORE, 47906197839872, 47906197991423, +ERASE, 47906197991424, 47906197991424, +STORE, 47906197991424, 47906200084479, +STORE, 47906200084480, 47906200100863, +STORE, 47906200092672, 47906200100863, +STORE, 47906200084480, 47906200092671, +ERASE, 47906200084480, 47906200084480, +STORE, 47906200084480, 47906200092671, +ERASE, 47906200092672, 47906200092672, +STORE, 47906200092672, 47906200100863, +STORE, 47906200100864, 47906200236031, +ERASE, 47906200100864, 47906200100864, +STORE, 47906200100864, 47906200125439, +STORE, 47906200125440, 47906200236031, +STORE, 47906200186880, 47906200236031, +STORE, 47906200125440, 47906200186879, +ERASE, 47906200125440, 47906200125440, +STORE, 47906200125440, 47906200186879, +STORE, 47906200211456, 47906200236031, +STORE, 47906200186880, 47906200211455, +ERASE, 47906200186880, 47906200186880, +STORE, 47906200186880, 47906200236031, +ERASE, 47906200186880, 47906200186880, +STORE, 47906200186880, 47906200211455, +STORE, 47906200211456, 47906200236031, +STORE, 47906200219648, 47906200236031, +STORE, 47906200211456, 47906200219647, +ERASE, 47906200211456, 47906200211456, +STORE, 47906200211456, 47906200219647, +ERASE, 47906200219648, 47906200219648, +STORE, 47906200219648, 47906200236031, +STORE, 47906200219648, 47906200244223, +STORE, 47906200244224, 47906200408063, +ERASE, 47906200244224, 47906200244224, +STORE, 47906200244224, 47906200256511, +STORE, 47906200256512, 47906200408063, +STORE, 47906200354816, 47906200408063, +STORE, 47906200256512, 47906200354815, +ERASE, 47906200256512, 47906200256512, +STORE, 47906200256512, 47906200354815, +STORE, 47906200399872, 47906200408063, +STORE, 47906200354816, 47906200399871, +ERASE, 47906200354816, 47906200354816, +STORE, 47906200354816, 47906200408063, +ERASE, 47906200354816, 47906200354816, +STORE, 47906200354816, 47906200399871, +STORE, 47906200399872, 47906200408063, +ERASE, 47906200399872, 47906200399872, +STORE, 47906200399872, 47906200408063, +STORE, 47906200408064, 47906201006079, +STORE, 47906200526848, 47906201006079, +STORE, 47906200408064, 47906200526847, +ERASE, 47906200526848, 47906200526848, +STORE, 47906200526848, 47906200952831, +STORE, 47906200952832, 47906201006079, +STORE, 47906200842240, 47906200952831, +STORE, 47906200526848, 47906200842239, +ERASE, 47906200526848, 47906200526848, +STORE, 47906200526848, 47906200842239, +STORE, 47906200948736, 47906200952831, +STORE, 47906200842240, 47906200948735, +ERASE, 47906200842240, 47906200842240, +STORE, 47906200842240, 47906200948735, +ERASE, 47906200952832, 47906200952832, +STORE, 47906200952832, 47906201006079, +STORE, 47906201006080, 47906204057599, +STORE, 47906201550848, 47906204057599, +STORE, 47906201006080, 47906201550847, +ERASE, 47906201550848, 47906201550848, +STORE, 47906201550848, 47906203836415, +STORE, 47906203836416, 47906204057599, +STORE, 47906203246592, 47906203836415, +STORE, 47906201550848, 47906203246591, +ERASE, 47906201550848, 47906201550848, +STORE, 47906201550848, 47906203246591, +STORE, 47906203832320, 47906203836415, +STORE, 47906203246592, 47906203832319, +ERASE, 47906203246592, 47906203246592, +STORE, 47906203246592, 47906203832319, +STORE, 47906204041216, 47906204057599, +STORE, 47906203836416, 47906204041215, +ERASE, 47906203836416, 47906203836416, +STORE, 47906203836416, 47906204041215, +ERASE, 47906204041216, 47906204041216, +STORE, 47906204041216, 47906204057599, +STORE, 47906204057600, 47906204090367, +ERASE, 47906204057600, 47906204057600, +STORE, 47906204057600, 47906204065791, +STORE, 47906204065792, 47906204090367, +STORE, 47906204078080, 47906204090367, +STORE, 47906204065792, 47906204078079, +ERASE, 47906204065792, 47906204065792, +STORE, 47906204065792, 47906204078079, +STORE, 47906204082176, 47906204090367, +STORE, 47906204078080, 47906204082175, +ERASE, 47906204078080, 47906204078080, +STORE, 47906204078080, 47906204090367, +ERASE, 47906204078080, 47906204078080, +STORE, 47906204078080, 47906204082175, +STORE, 47906204082176, 47906204090367, +ERASE, 47906204082176, 47906204082176, +STORE, 47906204082176, 47906204090367, +STORE, 47906204090368, 47906204127231, +ERASE, 47906204090368, 47906204090368, +STORE, 47906204090368, 47906204098559, +STORE, 47906204098560, 47906204127231, +STORE, 47906204114944, 47906204127231, +STORE, 47906204098560, 47906204114943, +ERASE, 47906204098560, 47906204098560, +STORE, 47906204098560, 47906204114943, +STORE, 47906204119040, 47906204127231, +STORE, 47906204114944, 47906204119039, +ERASE, 47906204114944, 47906204114944, +STORE, 47906204114944, 47906204127231, +ERASE, 47906204114944, 47906204114944, +STORE, 47906204114944, 47906204119039, +STORE, 47906204119040, 47906204127231, +ERASE, 47906204119040, 47906204119040, +STORE, 47906204119040, 47906204127231, +STORE, 47906204127232, 47906204602367, +ERASE, 47906204127232, 47906204127232, +STORE, 47906204127232, 47906204135423, +STORE, 47906204135424, 47906204602367, +STORE, 47906204471296, 47906204602367, +STORE, 47906204135424, 47906204471295, +ERASE, 47906204135424, 47906204135424, +STORE, 47906204135424, 47906204471295, +STORE, 47906204594176, 47906204602367, +STORE, 47906204471296, 47906204594175, +ERASE, 47906204471296, 47906204471296, +STORE, 47906204471296, 47906204602367, +ERASE, 47906204471296, 47906204471296, +STORE, 47906204471296, 47906204594175, +STORE, 47906204594176, 47906204602367, +ERASE, 47906204594176, 47906204594176, +STORE, 47906204594176, 47906204602367, +STORE, 47906204602368, 47906204610559, +STORE, 47906204610560, 47906204631039, +ERASE, 47906204610560, 47906204610560, +STORE, 47906204610560, 47906204614655, +STORE, 47906204614656, 47906204631039, +STORE, 47906204618752, 47906204631039, +STORE, 47906204614656, 47906204618751, +ERASE, 47906204614656, 47906204614656, +STORE, 47906204614656, 47906204618751, +STORE, 47906204622848, 47906204631039, +STORE, 47906204618752, 47906204622847, +ERASE, 47906204618752, 47906204618752, +STORE, 47906204618752, 47906204631039, +ERASE, 47906204618752, 47906204618752, +STORE, 47906204618752, 47906204622847, +STORE, 47906204622848, 47906204631039, +ERASE, 47906204622848, 47906204622848, +STORE, 47906204622848, 47906204631039, +STORE, 47906204631040, 47906204639231, +ERASE, 47906197295104, 47906197295104, +STORE, 47906197295104, 47906197311487, +STORE, 47906197311488, 47906197319679, +ERASE, 47906204622848, 47906204622848, +STORE, 47906204622848, 47906204626943, +STORE, 47906204626944, 47906204631039, +ERASE, 47906200211456, 47906200211456, +STORE, 47906200211456, 47906200215551, +STORE, 47906200215552, 47906200219647, +ERASE, 47906204594176, 47906204594176, +STORE, 47906204594176, 47906204598271, +STORE, 47906204598272, 47906204602367, +ERASE, 47906204119040, 47906204119040, +STORE, 47906204119040, 47906204123135, +STORE, 47906204123136, 47906204127231, +ERASE, 47906204082176, 47906204082176, +STORE, 47906204082176, 47906204086271, +STORE, 47906204086272, 47906204090367, +ERASE, 47906203836416, 47906203836416, +STORE, 47906203836416, 47906204033023, +STORE, 47906204033024, 47906204041215, +ERASE, 47906200952832, 47906200952832, +STORE, 47906200952832, 47906200989695, +STORE, 47906200989696, 47906201006079, +ERASE, 47906200399872, 47906200399872, +STORE, 47906200399872, 47906200403967, +STORE, 47906200403968, 47906200408063, +ERASE, 47906200084480, 47906200084480, +STORE, 47906200084480, 47906200088575, +STORE, 47906200088576, 47906200092671, +ERASE, 47906197815296, 47906197815296, +STORE, 47906197815296, 47906197835775, +STORE, 47906197835776, 47906197839871, +ERASE, 47906197483520, 47906197483520, +STORE, 47906197483520, 47906197487615, +STORE, 47906197487616, 47906197491711, +ERASE, 47906197438464, 47906197438464, +STORE, 47906197438464, 47906197442559, +STORE, 47906197442560, 47906197446655, +ERASE, 94641232658432, 94641232658432, +STORE, 94641232658432, 94641232781311, +STORE, 94641232781312, 94641232785407, +ERASE, 139726599675904, 139726599675904, +STORE, 139726599675904, 139726599679999, +STORE, 139726599680000, 139726599684095, +ERASE, 47906195480576, 47906195480576, +STORE, 94641242615808, 94641242750975, + }; + unsigned long set11[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140732658499584, 140737488351231, +ERASE, 140732658499584, 140732658499584, +STORE, 140732658499584, 140732658503679, +STORE, 94029856579584, 94029856751615, +ERASE, 94029856579584, 94029856579584, +STORE, 94029856579584, 94029856595967, +STORE, 94029856595968, 94029856751615, +ERASE, 94029856595968, 94029856595968, +STORE, 94029856595968, 94029856698367, +STORE, 94029856698368, 94029856739327, +STORE, 94029856739328, 94029856751615, +STORE, 140014592573440, 140014592745471, +ERASE, 140014592573440, 140014592573440, +STORE, 140014592573440, 140014592577535, +STORE, 140014592577536, 140014592745471, +ERASE, 140014592577536, 140014592577536, +STORE, 140014592577536, 140014592700415, +STORE, 140014592700416, 140014592733183, +STORE, 140014592733184, 140014592741375, +STORE, 140014592741376, 140014592745471, +STORE, 140732658565120, 140732658569215, +STORE, 140732658552832, 140732658565119, + }; + + unsigned long set12[] = { /* contains 12 values. */ +STORE, 140737488347136, 140737488351231, +STORE, 140732658499584, 140737488351231, +ERASE, 140732658499584, 140732658499584, +STORE, 140732658499584, 140732658503679, +STORE, 94029856579584, 94029856751615, +ERASE, 94029856579584, 94029856579584, +STORE, 94029856579584, 94029856595967, +STORE, 94029856595968, 94029856751615, +ERASE, 94029856595968, 94029856595968, +STORE, 94029856595968, 94029856698367, +STORE, 94029856698368, 94029856739327, +STORE, 94029856739328, 94029856751615, +STORE, 140014592573440, 140014592745471, +ERASE, 140014592573440, 140014592573440, +STORE, 140014592573440, 140014592577535, +STORE, 140014592577536, 140014592745471, +ERASE, 140014592577536, 140014592577536, +STORE, 140014592577536, 140014592700415, +STORE, 140014592700416, 140014592733183, +STORE, 140014592733184, 140014592741375, +STORE, 140014592741376, 140014592745471, +STORE, 140732658565120, 140732658569215, +STORE, 140732658552832, 140732658565119, +STORE, 140014592741375, 140014592741375, /* contrived */ +STORE, 140014592733184, 140014592741376, /* creates first entry retry. */ + }; + unsigned long set13[] = { +STORE, 140373516247040, 140373516251135,/*: ffffa2e7b0e10d80 */ +STORE, 140373516251136, 140373516255231,/*: ffffa2e7b1195d80 */ +STORE, 140373516255232, 140373516443647,/*: ffffa2e7b0e109c0 */ +STORE, 140373516443648, 140373516587007,/*: ffffa2e7b05fecc0 */ +STORE, 140373516963840, 140373518647295,/*: ffffa2e7bfbdcc00 */ +STORE, 140373518647296, 140373518663679,/*: ffffa2e7bf5d59c0 */ +STORE, 140373518663680, 140373518684159,/*: deleted (257) */ +STORE, 140373518680064, 140373518684159,/*: ffffa2e7b0e1cb40 */ +STORE, 140373518684160, 140373518688254,/*: ffffa2e7b05fec00 */ +STORE, 140373518688256, 140373518692351,/*: ffffa2e7bfbdcd80 */ +STORE, 140373518692352, 140373518696447,/*: ffffa2e7b0749e40 */ + }; + unsigned long set14[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140731667996672, 140737488351231, +SNULL, 140731668000767, 140737488351231, +STORE, 140731667996672, 140731668000767, +STORE, 140731667865600, 140731668000767, +STORE, 94077521272832, 94077521313791, +SNULL, 94077521301503, 94077521313791, +STORE, 94077521272832, 94077521301503, +STORE, 94077521301504, 94077521313791, +ERASE, 94077521301504, 94077521313791, +STORE, 94077521305600, 94077521313791, +STORE, 139826134630400, 139826136883199, +SNULL, 139826134773759, 139826136883199, +STORE, 139826134630400, 139826134773759, +STORE, 139826134773760, 139826136883199, +ERASE, 139826134773760, 139826136883199, +STORE, 139826136870912, 139826136879103, +STORE, 139826136879104, 139826136883199, +STORE, 140731668013056, 140731668017151, +STORE, 140731668000768, 140731668013055, +STORE, 139826136862720, 139826136870911, +STORE, 139826132406272, 139826134630399, +SNULL, 139826134056959, 139826134630399, +STORE, 139826132406272, 139826134056959, +STORE, 139826134056960, 139826134630399, +SNULL, 139826134056960, 139826134626303, +STORE, 139826134626304, 139826134630399, +STORE, 139826134056960, 139826134626303, +ERASE, 139826134056960, 139826134626303, +STORE, 139826134056960, 139826134626303, +ERASE, 139826134626304, 139826134630399, +STORE, 139826134626304, 139826134630399, +STORE, 139826136842240, 139826136862719, +STORE, 139826130022400, 139826132406271, +SNULL, 139826130022400, 139826130288639, +STORE, 139826130288640, 139826132406271, +STORE, 139826130022400, 139826130288639, +SNULL, 139826132381695, 139826132406271, +STORE, 139826130288640, 139826132381695, +STORE, 139826132381696, 139826132406271, +SNULL, 139826132381696, 139826132402175, +STORE, 139826132402176, 139826132406271, +STORE, 139826132381696, 139826132402175, +ERASE, 139826132381696, 139826132402175, +STORE, 139826132381696, 139826132402175, +ERASE, 139826132402176, 139826132406271, +STORE, 139826132402176, 139826132406271, +STORE, 139826127806464, 139826130022399, +SNULL, 139826127806464, 139826127904767, +STORE, 139826127904768, 139826130022399, +STORE, 139826127806464, 139826127904767, +SNULL, 139826129997823, 139826130022399, +STORE, 139826127904768, 139826129997823, +STORE, 139826129997824, 139826130022399, +SNULL, 139826129997824, 139826130006015, +STORE, 139826130006016, 139826130022399, +STORE, 139826129997824, 139826130006015, +ERASE, 139826129997824, 139826130006015, +STORE, 139826129997824, 139826130006015, +ERASE, 139826130006016, 139826130022399, +STORE, 139826130006016, 139826130022399, +STORE, 139826124009472, 139826127806463, +SNULL, 139826124009472, 139826125668351, +STORE, 139826125668352, 139826127806463, +STORE, 139826124009472, 139826125668351, +SNULL, 139826127765503, 139826127806463, +STORE, 139826125668352, 139826127765503, +STORE, 139826127765504, 139826127806463, +SNULL, 139826127765504, 139826127790079, +STORE, 139826127790080, 139826127806463, +STORE, 139826127765504, 139826127790079, +ERASE, 139826127765504, 139826127790079, +STORE, 139826127765504, 139826127790079, +ERASE, 139826127790080, 139826127806463, +STORE, 139826127790080, 139826127806463, +STORE, 139826121748480, 139826124009471, +SNULL, 139826121748480, 139826121900031, +STORE, 139826121900032, 139826124009471, +STORE, 139826121748480, 139826121900031, +SNULL, 139826123993087, 139826124009471, +STORE, 139826121900032, 139826123993087, +STORE, 139826123993088, 139826124009471, +SNULL, 139826123993088, 139826124001279, +STORE, 139826124001280, 139826124009471, +STORE, 139826123993088, 139826124001279, +ERASE, 139826123993088, 139826124001279, +STORE, 139826123993088, 139826124001279, +ERASE, 139826124001280, 139826124009471, +STORE, 139826124001280, 139826124009471, +STORE, 139826119626752, 139826121748479, +SNULL, 139826119626752, 139826119643135, +STORE, 139826119643136, 139826121748479, +STORE, 139826119626752, 139826119643135, +SNULL, 139826121740287, 139826121748479, +STORE, 139826119643136, 139826121740287, +STORE, 139826121740288, 139826121748479, +ERASE, 139826121740288, 139826121748479, +STORE, 139826121740288, 139826121748479, +STORE, 139826136834048, 139826136842239, +STORE, 139826117496832, 139826119626751, +SNULL, 139826117496832, 139826117525503, +STORE, 139826117525504, 139826119626751, +STORE, 139826117496832, 139826117525503, +SNULL, 139826119618559, 139826119626751, +STORE, 139826117525504, 139826119618559, +STORE, 139826119618560, 139826119626751, +ERASE, 139826119618560, 139826119626751, +STORE, 139826119618560, 139826119626751, +STORE, 139826115244032, 139826117496831, +SNULL, 139826115244032, 139826115395583, +STORE, 139826115395584, 139826117496831, +STORE, 139826115244032, 139826115395583, +SNULL, 139826117488639, 139826117496831, +STORE, 139826115395584, 139826117488639, +STORE, 139826117488640, 139826117496831, +ERASE, 139826117488640, 139826117496831, +STORE, 139826117488640, 139826117496831, +STORE, 139826113073152, 139826115244031, +SNULL, 139826113073152, 139826113142783, +STORE, 139826113142784, 139826115244031, +STORE, 139826113073152, 139826113142783, +SNULL, 139826115235839, 139826115244031, +STORE, 139826113142784, 139826115235839, +STORE, 139826115235840, 139826115244031, +ERASE, 139826115235840, 139826115244031, +STORE, 139826115235840, 139826115244031, +STORE, 139826109861888, 139826113073151, +SNULL, 139826109861888, 139826110939135, +STORE, 139826110939136, 139826113073151, +STORE, 139826109861888, 139826110939135, +SNULL, 139826113036287, 139826113073151, +STORE, 139826110939136, 139826113036287, +STORE, 139826113036288, 139826113073151, +ERASE, 139826113036288, 139826113073151, +STORE, 139826113036288, 139826113073151, +STORE, 139826107727872, 139826109861887, +SNULL, 139826107727872, 139826107756543, +STORE, 139826107756544, 139826109861887, +STORE, 139826107727872, 139826107756543, +SNULL, 139826109853695, 139826109861887, +STORE, 139826107756544, 139826109853695, +STORE, 139826109853696, 139826109861887, +ERASE, 139826109853696, 139826109861887, +STORE, 139826109853696, 139826109861887, +STORE, 139826105417728, 139826107727871, +SNULL, 139826105417728, 139826105622527, +STORE, 139826105622528, 139826107727871, +STORE, 139826105417728, 139826105622527, +SNULL, 139826107719679, 139826107727871, +STORE, 139826105622528, 139826107719679, +STORE, 139826107719680, 139826107727871, +ERASE, 139826107719680, 139826107727871, +STORE, 139826107719680, 139826107727871, +STORE, 139826136825856, 139826136842239, +STORE, 139826103033856, 139826105417727, +SNULL, 139826103033856, 139826103226367, +STORE, 139826103226368, 139826105417727, +STORE, 139826103033856, 139826103226367, +SNULL, 139826105319423, 139826105417727, +STORE, 139826103226368, 139826105319423, +STORE, 139826105319424, 139826105417727, +ERASE, 139826105319424, 139826105417727, +STORE, 139826105319424, 139826105417727, +STORE, 139826100916224, 139826103033855, +SNULL, 139826100916224, 139826100932607, +STORE, 139826100932608, 139826103033855, +STORE, 139826100916224, 139826100932607, +SNULL, 139826103025663, 139826103033855, +STORE, 139826100932608, 139826103025663, +STORE, 139826103025664, 139826103033855, +ERASE, 139826103025664, 139826103033855, +STORE, 139826103025664, 139826103033855, +STORE, 139826098348032, 139826100916223, +SNULL, 139826098348032, 139826098814975, +STORE, 139826098814976, 139826100916223, +STORE, 139826098348032, 139826098814975, +SNULL, 139826100908031, 139826100916223, +STORE, 139826098814976, 139826100908031, +STORE, 139826100908032, 139826100916223, +ERASE, 139826100908032, 139826100916223, +STORE, 139826100908032, 139826100916223, +STORE, 139826096234496, 139826098348031, +SNULL, 139826096234496, 139826096246783, +STORE, 139826096246784, 139826098348031, +STORE, 139826096234496, 139826096246783, +SNULL, 139826098339839, 139826098348031, +STORE, 139826096246784, 139826098339839, +STORE, 139826098339840, 139826098348031, +ERASE, 139826098339840, 139826098348031, +STORE, 139826098339840, 139826098348031, +STORE, 139826094055424, 139826096234495, +SNULL, 139826094055424, 139826094133247, +STORE, 139826094133248, 139826096234495, +STORE, 139826094055424, 139826094133247, +SNULL, 139826096226303, 139826096234495, +STORE, 139826094133248, 139826096226303, +STORE, 139826096226304, 139826096234495, +ERASE, 139826096226304, 139826096234495, +STORE, 139826096226304, 139826096234495, +STORE, 139826136817664, 139826136842239, +STORE, 139826091937792, 139826094055423, +SNULL, 139826091937792, 139826091954175, +STORE, 139826091954176, 139826094055423, +STORE, 139826091937792, 139826091954175, +SNULL, 139826094047231, 139826094055423, +STORE, 139826091954176, 139826094047231, +STORE, 139826094047232, 139826094055423, +ERASE, 139826094047232, 139826094055423, +STORE, 139826094047232, 139826094055423, +STORE, 139826136809472, 139826136842239, +SNULL, 139826127781887, 139826127790079, +STORE, 139826127765504, 139826127781887, +STORE, 139826127781888, 139826127790079, +SNULL, 139826094051327, 139826094055423, +STORE, 139826094047232, 139826094051327, +STORE, 139826094051328, 139826094055423, +SNULL, 139826096230399, 139826096234495, +STORE, 139826096226304, 139826096230399, +STORE, 139826096230400, 139826096234495, +SNULL, 139826098343935, 139826098348031, +STORE, 139826098339840, 139826098343935, +STORE, 139826098343936, 139826098348031, +SNULL, 139826130001919, 139826130006015, +STORE, 139826129997824, 139826130001919, +STORE, 139826130001920, 139826130006015, +SNULL, 139826100912127, 139826100916223, +STORE, 139826100908032, 139826100912127, +STORE, 139826100912128, 139826100916223, +SNULL, 139826103029759, 139826103033855, +STORE, 139826103025664, 139826103029759, +STORE, 139826103029760, 139826103033855, +SNULL, 139826105413631, 139826105417727, +STORE, 139826105319424, 139826105413631, +STORE, 139826105413632, 139826105417727, +SNULL, 139826107723775, 139826107727871, +STORE, 139826107719680, 139826107723775, +STORE, 139826107723776, 139826107727871, +SNULL, 139826109857791, 139826109861887, +STORE, 139826109853696, 139826109857791, +STORE, 139826109857792, 139826109861887, +SNULL, 139826113044479, 139826113073151, +STORE, 139826113036288, 139826113044479, +STORE, 139826113044480, 139826113073151, +SNULL, 139826115239935, 139826115244031, +STORE, 139826115235840, 139826115239935, +STORE, 139826115239936, 139826115244031, +SNULL, 139826117492735, 139826117496831, +STORE, 139826117488640, 139826117492735, +STORE, 139826117492736, 139826117496831, +SNULL, 139826119622655, 139826119626751, +STORE, 139826119618560, 139826119622655, +STORE, 139826119622656, 139826119626751, +SNULL, 139826121744383, 139826121748479, +STORE, 139826121740288, 139826121744383, +STORE, 139826121744384, 139826121748479, +SNULL, 139826123997183, 139826124001279, +STORE, 139826123993088, 139826123997183, +STORE, 139826123997184, 139826124001279, +SNULL, 139826132398079, 139826132402175, +STORE, 139826132381696, 139826132398079, +STORE, 139826132398080, 139826132402175, +SNULL, 139826134622207, 139826134626303, +STORE, 139826134056960, 139826134622207, +STORE, 139826134622208, 139826134626303, +SNULL, 94077521309695, 94077521313791, +STORE, 94077521305600, 94077521309695, +STORE, 94077521309696, 94077521313791, +SNULL, 139826136875007, 139826136879103, +STORE, 139826136870912, 139826136875007, +STORE, 139826136875008, 139826136879103, +ERASE, 139826136842240, 139826136862719, +STORE, 94077554049024, 94077554184191, +STORE, 139826136543232, 139826136842239, +STORE, 139826136276992, 139826136842239, +STORE, 139826136010752, 139826136842239, +STORE, 139826135744512, 139826136842239, +SNULL, 139826136543231, 139826136842239, +STORE, 139826135744512, 139826136543231, +STORE, 139826136543232, 139826136842239, +SNULL, 139826136543232, 139826136809471, +STORE, 139826136809472, 139826136842239, +STORE, 139826136543232, 139826136809471, + }; + unsigned long set15[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140722061451264, 140737488351231, +SNULL, 140722061455359, 140737488351231, +STORE, 140722061451264, 140722061455359, +STORE, 140722061320192, 140722061455359, +STORE, 94728600248320, 94728600289279, +SNULL, 94728600276991, 94728600289279, +STORE, 94728600248320, 94728600276991, +STORE, 94728600276992, 94728600289279, +ERASE, 94728600276992, 94728600289279, +STORE, 94728600281088, 94728600289279, +STORE, 139906806779904, 139906809032703, +SNULL, 139906806923263, 139906809032703, +STORE, 139906806779904, 139906806923263, +STORE, 139906806923264, 139906809032703, +ERASE, 139906806923264, 139906809032703, +STORE, 139906809020416, 139906809028607, +STORE, 139906809028608, 139906809032703, +STORE, 140722061692928, 140722061697023, +STORE, 140722061680640, 140722061692927, +STORE, 139906809012224, 139906809020415, +STORE, 139906804555776, 139906806779903, +SNULL, 139906806206463, 139906806779903, +STORE, 139906804555776, 139906806206463, +STORE, 139906806206464, 139906806779903, +SNULL, 139906806206464, 139906806775807, +STORE, 139906806775808, 139906806779903, +STORE, 139906806206464, 139906806775807, +ERASE, 139906806206464, 139906806775807, +STORE, 139906806206464, 139906806775807, +ERASE, 139906806775808, 139906806779903, +STORE, 139906806775808, 139906806779903, +STORE, 139906808991744, 139906809012223, +STORE, 139906802171904, 139906804555775, +SNULL, 139906802171904, 139906802438143, +STORE, 139906802438144, 139906804555775, +STORE, 139906802171904, 139906802438143, +SNULL, 139906804531199, 139906804555775, +STORE, 139906802438144, 139906804531199, +STORE, 139906804531200, 139906804555775, +SNULL, 139906804531200, 139906804551679, +STORE, 139906804551680, 139906804555775, +STORE, 139906804531200, 139906804551679, +ERASE, 139906804531200, 139906804551679, +STORE, 139906804531200, 139906804551679, +ERASE, 139906804551680, 139906804555775, +STORE, 139906804551680, 139906804555775, +STORE, 139906799955968, 139906802171903, +SNULL, 139906799955968, 139906800054271, +STORE, 139906800054272, 139906802171903, +STORE, 139906799955968, 139906800054271, +SNULL, 139906802147327, 139906802171903, +STORE, 139906800054272, 139906802147327, +STORE, 139906802147328, 139906802171903, +SNULL, 139906802147328, 139906802155519, +STORE, 139906802155520, 139906802171903, +STORE, 139906802147328, 139906802155519, +ERASE, 139906802147328, 139906802155519, +STORE, 139906802147328, 139906802155519, +ERASE, 139906802155520, 139906802171903, +STORE, 139906802155520, 139906802171903, +STORE, 139906796158976, 139906799955967, +SNULL, 139906796158976, 139906797817855, +STORE, 139906797817856, 139906799955967, +STORE, 139906796158976, 139906797817855, +SNULL, 139906799915007, 139906799955967, +STORE, 139906797817856, 139906799915007, +STORE, 139906799915008, 139906799955967, +SNULL, 139906799915008, 139906799939583, +STORE, 139906799939584, 139906799955967, +STORE, 139906799915008, 139906799939583, +ERASE, 139906799915008, 139906799939583, +STORE, 139906799915008, 139906799939583, +ERASE, 139906799939584, 139906799955967, +STORE, 139906799939584, 139906799955967, +STORE, 139906793897984, 139906796158975, +SNULL, 139906793897984, 139906794049535, +STORE, 139906794049536, 139906796158975, +STORE, 139906793897984, 139906794049535, +SNULL, 139906796142591, 139906796158975, +STORE, 139906794049536, 139906796142591, +STORE, 139906796142592, 139906796158975, +SNULL, 139906796142592, 139906796150783, +STORE, 139906796150784, 139906796158975, +STORE, 139906796142592, 139906796150783, +ERASE, 139906796142592, 139906796150783, +STORE, 139906796142592, 139906796150783, +ERASE, 139906796150784, 139906796158975, +STORE, 139906796150784, 139906796158975, +STORE, 139906791776256, 139906793897983, +SNULL, 139906791776256, 139906791792639, +STORE, 139906791792640, 139906793897983, +STORE, 139906791776256, 139906791792639, +SNULL, 139906793889791, 139906793897983, +STORE, 139906791792640, 139906793889791, +STORE, 139906793889792, 139906793897983, +ERASE, 139906793889792, 139906793897983, +STORE, 139906793889792, 139906793897983, +STORE, 139906808983552, 139906808991743, +STORE, 139906789646336, 139906791776255, +SNULL, 139906789646336, 139906789675007, +STORE, 139906789675008, 139906791776255, +STORE, 139906789646336, 139906789675007, +SNULL, 139906791768063, 139906791776255, +STORE, 139906789675008, 139906791768063, +STORE, 139906791768064, 139906791776255, +ERASE, 139906791768064, 139906791776255, +STORE, 139906791768064, 139906791776255, +STORE, 139906787393536, 139906789646335, +SNULL, 139906787393536, 139906787545087, +STORE, 139906787545088, 139906789646335, +STORE, 139906787393536, 139906787545087, +SNULL, 139906789638143, 139906789646335, +STORE, 139906787545088, 139906789638143, +STORE, 139906789638144, 139906789646335, +ERASE, 139906789638144, 139906789646335, +STORE, 139906789638144, 139906789646335, +STORE, 139906785222656, 139906787393535, +SNULL, 139906785222656, 139906785292287, +STORE, 139906785292288, 139906787393535, +STORE, 139906785222656, 139906785292287, +SNULL, 139906787385343, 139906787393535, +STORE, 139906785292288, 139906787385343, +STORE, 139906787385344, 139906787393535, +ERASE, 139906787385344, 139906787393535, +STORE, 139906787385344, 139906787393535, +STORE, 139906782011392, 139906785222655, +SNULL, 139906782011392, 139906783088639, +STORE, 139906783088640, 139906785222655, +STORE, 139906782011392, 139906783088639, +SNULL, 139906785185791, 139906785222655, +STORE, 139906783088640, 139906785185791, +STORE, 139906785185792, 139906785222655, +ERASE, 139906785185792, 139906785222655, +STORE, 139906785185792, 139906785222655, +STORE, 139906779877376, 139906782011391, +SNULL, 139906779877376, 139906779906047, +STORE, 139906779906048, 139906782011391, +STORE, 139906779877376, 139906779906047, +SNULL, 139906782003199, 139906782011391, +STORE, 139906779906048, 139906782003199, +STORE, 139906782003200, 139906782011391, +ERASE, 139906782003200, 139906782011391, +STORE, 139906782003200, 139906782011391, +STORE, 139906777567232, 139906779877375, +SNULL, 139906777567232, 139906777772031, +STORE, 139906777772032, 139906779877375, +STORE, 139906777567232, 139906777772031, +SNULL, 139906779869183, 139906779877375, +STORE, 139906777772032, 139906779869183, +STORE, 139906779869184, 139906779877375, +ERASE, 139906779869184, 139906779877375, +STORE, 139906779869184, 139906779877375, +STORE, 139906808975360, 139906808991743, +STORE, 139906775183360, 139906777567231, +SNULL, 139906775183360, 139906775375871, +STORE, 139906775375872, 139906777567231, +STORE, 139906775183360, 139906775375871, +SNULL, 139906777468927, 139906777567231, +STORE, 139906775375872, 139906777468927, +STORE, 139906777468928, 139906777567231, +ERASE, 139906777468928, 139906777567231, +STORE, 139906777468928, 139906777567231, +STORE, 139906773065728, 139906775183359, +SNULL, 139906773065728, 139906773082111, +STORE, 139906773082112, 139906775183359, +STORE, 139906773065728, 139906773082111, +SNULL, 139906775175167, 139906775183359, +STORE, 139906773082112, 139906775175167, +STORE, 139906775175168, 139906775183359, +ERASE, 139906775175168, 139906775183359, +STORE, 139906775175168, 139906775183359, +STORE, 139906770497536, 139906773065727, +SNULL, 139906770497536, 139906770964479, +STORE, 139906770964480, 139906773065727, +STORE, 139906770497536, 139906770964479, +SNULL, 139906773057535, 139906773065727, +STORE, 139906770964480, 139906773057535, +STORE, 139906773057536, 139906773065727, +ERASE, 139906773057536, 139906773065727, +STORE, 139906773057536, 139906773065727, +STORE, 139906768384000, 139906770497535, +SNULL, 139906768384000, 139906768396287, +STORE, 139906768396288, 139906770497535, +STORE, 139906768384000, 139906768396287, +SNULL, 139906770489343, 139906770497535, +STORE, 139906768396288, 139906770489343, +STORE, 139906770489344, 139906770497535, +ERASE, 139906770489344, 139906770497535, +STORE, 139906770489344, 139906770497535, +STORE, 139906766204928, 139906768383999, +SNULL, 139906766204928, 139906766282751, +STORE, 139906766282752, 139906768383999, +STORE, 139906766204928, 139906766282751, +SNULL, 139906768375807, 139906768383999, +STORE, 139906766282752, 139906768375807, +STORE, 139906768375808, 139906768383999, +ERASE, 139906768375808, 139906768383999, +STORE, 139906768375808, 139906768383999, +STORE, 139906808967168, 139906808991743, +STORE, 139906764087296, 139906766204927, +SNULL, 139906764087296, 139906764103679, +STORE, 139906764103680, 139906766204927, +STORE, 139906764087296, 139906764103679, +SNULL, 139906766196735, 139906766204927, +STORE, 139906764103680, 139906766196735, +STORE, 139906766196736, 139906766204927, +ERASE, 139906766196736, 139906766204927, +STORE, 139906766196736, 139906766204927, +STORE, 139906808958976, 139906808991743, +SNULL, 139906799931391, 139906799939583, +STORE, 139906799915008, 139906799931391, +STORE, 139906799931392, 139906799939583, +SNULL, 139906766200831, 139906766204927, +STORE, 139906766196736, 139906766200831, +STORE, 139906766200832, 139906766204927, +SNULL, 139906768379903, 139906768383999, +STORE, 139906768375808, 139906768379903, +STORE, 139906768379904, 139906768383999, +SNULL, 139906770493439, 139906770497535, +STORE, 139906770489344, 139906770493439, +STORE, 139906770493440, 139906770497535, +SNULL, 139906802151423, 139906802155519, +STORE, 139906802147328, 139906802151423, +STORE, 139906802151424, 139906802155519, +SNULL, 139906773061631, 139906773065727, +STORE, 139906773057536, 139906773061631, +STORE, 139906773061632, 139906773065727, +SNULL, 139906775179263, 139906775183359, +STORE, 139906775175168, 139906775179263, +STORE, 139906775179264, 139906775183359, +SNULL, 139906777563135, 139906777567231, +STORE, 139906777468928, 139906777563135, +STORE, 139906777563136, 139906777567231, +SNULL, 139906779873279, 139906779877375, +STORE, 139906779869184, 139906779873279, +STORE, 139906779873280, 139906779877375, +SNULL, 139906782007295, 139906782011391, +STORE, 139906782003200, 139906782007295, +STORE, 139906782007296, 139906782011391, +SNULL, 139906785193983, 139906785222655, +STORE, 139906785185792, 139906785193983, +STORE, 139906785193984, 139906785222655, +SNULL, 139906787389439, 139906787393535, +STORE, 139906787385344, 139906787389439, +STORE, 139906787389440, 139906787393535, +SNULL, 139906789642239, 139906789646335, +STORE, 139906789638144, 139906789642239, +STORE, 139906789642240, 139906789646335, +SNULL, 139906791772159, 139906791776255, +STORE, 139906791768064, 139906791772159, +STORE, 139906791772160, 139906791776255, +SNULL, 139906793893887, 139906793897983, +STORE, 139906793889792, 139906793893887, +STORE, 139906793893888, 139906793897983, +SNULL, 139906796146687, 139906796150783, +STORE, 139906796142592, 139906796146687, +STORE, 139906796146688, 139906796150783, +SNULL, 139906804547583, 139906804551679, +STORE, 139906804531200, 139906804547583, +STORE, 139906804547584, 139906804551679, +SNULL, 139906806771711, 139906806775807, +STORE, 139906806206464, 139906806771711, +STORE, 139906806771712, 139906806775807, +SNULL, 94728600285183, 94728600289279, +STORE, 94728600281088, 94728600285183, +STORE, 94728600285184, 94728600289279, +SNULL, 139906809024511, 139906809028607, +STORE, 139906809020416, 139906809024511, +STORE, 139906809024512, 139906809028607, +ERASE, 139906808991744, 139906809012223, +STORE, 94728620138496, 94728620273663, +STORE, 139906808692736, 139906808991743, +STORE, 139906808426496, 139906808991743, +STORE, 139906808160256, 139906808991743, +STORE, 139906807894016, 139906808991743, +SNULL, 139906808692735, 139906808991743, +STORE, 139906807894016, 139906808692735, +STORE, 139906808692736, 139906808991743, +SNULL, 139906808692736, 139906808958975, +STORE, 139906808958976, 139906808991743, +STORE, 139906808692736, 139906808958975, + }; + + unsigned long set16[] = { +STORE, 94174808662016, 94174809321471, +STORE, 94174811414528, 94174811426815, +STORE, 94174811426816, 94174811430911, +STORE, 94174811430912, 94174811443199, +STORE, 94174841700352, 94174841835519, +STORE, 140173257838592, 140173259497471, +STORE, 140173259497472, 140173261594623, +STORE, 140173261594624, 140173261611007, +STORE, 140173261611008, 140173261619199, +STORE, 140173261619200, 140173261635583, +STORE, 140173261635584, 140173261778943, +STORE, 140173263863808, 140173263871999, +STORE, 140173263876096, 140173263880191, +STORE, 140173263880192, 140173263884287, +STORE, 140173263884288, 140173263888383, +STORE, 140729801007104, 140729801142271, +STORE, 140729801617408, 140729801629695, +STORE, 140729801629696, 140729801633791, +STORE, 140737488347136, 140737488351231, +STORE, 140728166858752, 140737488351231, +SNULL, 140728166862847, 140737488351231, +STORE, 140728166858752, 140728166862847, +STORE, 140728166727680, 140728166862847, +STORE, 93912949866496, 93912950337535, +SNULL, 93912950288383, 93912950337535, +STORE, 93912949866496, 93912950288383, +STORE, 93912950288384, 93912950337535, +ERASE, 93912950288384, 93912950337535, +STORE, 93912950292480, 93912950337535, +STORE, 139921863385088, 139921865637887, +SNULL, 139921863528447, 139921865637887, +STORE, 139921863385088, 139921863528447, +STORE, 139921863528448, 139921865637887, +ERASE, 139921863528448, 139921865637887, +STORE, 139921865625600, 139921865633791, +STORE, 139921865633792, 139921865637887, +STORE, 140728167899136, 140728167903231, +STORE, 140728167886848, 140728167899135, +STORE, 139921865601024, 139921865625599, +STORE, 139921865592832, 139921865601023, +STORE, 139921861251072, 139921863385087, +SNULL, 139921861251072, 139921861279743, +STORE, 139921861279744, 139921863385087, +STORE, 139921861251072, 139921861279743, +SNULL, 139921863376895, 139921863385087, +STORE, 139921861279744, 139921863376895, +STORE, 139921863376896, 139921863385087, +ERASE, 139921863376896, 139921863385087, +STORE, 139921863376896, 139921863385087, +STORE, 139921858867200, 139921861251071, +SNULL, 139921858867200, 139921859133439, +STORE, 139921859133440, 139921861251071, +STORE, 139921858867200, 139921859133439, +SNULL, 139921861226495, 139921861251071, +STORE, 139921859133440, 139921861226495, +STORE, 139921861226496, 139921861251071, +SNULL, 139921861226496, 139921861246975, +STORE, 139921861246976, 139921861251071, +STORE, 139921861226496, 139921861246975, +ERASE, 139921861226496, 139921861246975, +STORE, 139921861226496, 139921861246975, +ERASE, 139921861246976, 139921861251071, +STORE, 139921861246976, 139921861251071, +STORE, 139921856675840, 139921858867199, +SNULL, 139921856675840, 139921856765951, +STORE, 139921856765952, 139921858867199, +STORE, 139921856675840, 139921856765951, +SNULL, 139921858859007, 139921858867199, +STORE, 139921856765952, 139921858859007, +STORE, 139921858859008, 139921858867199, +ERASE, 139921858859008, 139921858867199, +STORE, 139921858859008, 139921858867199, +STORE, 139921854414848, 139921856675839, +SNULL, 139921854414848, 139921854566399, +STORE, 139921854566400, 139921856675839, +STORE, 139921854414848, 139921854566399, +SNULL, 139921856659455, 139921856675839, +STORE, 139921854566400, 139921856659455, +STORE, 139921856659456, 139921856675839, +SNULL, 139921856659456, 139921856667647, +STORE, 139921856667648, 139921856675839, +STORE, 139921856659456, 139921856667647, +ERASE, 139921856659456, 139921856667647, +STORE, 139921856659456, 139921856667647, +ERASE, 139921856667648, 139921856675839, +STORE, 139921856667648, 139921856675839, +STORE, 139921852284928, 139921854414847, +SNULL, 139921852284928, 139921852313599, +STORE, 139921852313600, 139921854414847, +STORE, 139921852284928, 139921852313599, +SNULL, 139921854406655, 139921854414847, +STORE, 139921852313600, 139921854406655, +STORE, 139921854406656, 139921854414847, +ERASE, 139921854406656, 139921854414847, +STORE, 139921854406656, 139921854414847, +STORE, 139921850068992, 139921852284927, +SNULL, 139921850068992, 139921850167295, +STORE, 139921850167296, 139921852284927, +STORE, 139921850068992, 139921850167295, +SNULL, 139921852260351, 139921852284927, +STORE, 139921850167296, 139921852260351, +STORE, 139921852260352, 139921852284927, +SNULL, 139921852260352, 139921852268543, +STORE, 139921852268544, 139921852284927, +STORE, 139921852260352, 139921852268543, +ERASE, 139921852260352, 139921852268543, +STORE, 139921852260352, 139921852268543, +ERASE, 139921852268544, 139921852284927, +STORE, 139921852268544, 139921852284927, +STORE, 139921865584640, 139921865601023, +STORE, 139921846272000, 139921850068991, +SNULL, 139921846272000, 139921847930879, +STORE, 139921847930880, 139921850068991, +STORE, 139921846272000, 139921847930879, +SNULL, 139921850028031, 139921850068991, +STORE, 139921847930880, 139921850028031, +STORE, 139921850028032, 139921850068991, +SNULL, 139921850028032, 139921850052607, +STORE, 139921850052608, 139921850068991, +STORE, 139921850028032, 139921850052607, +ERASE, 139921850028032, 139921850052607, +STORE, 139921850028032, 139921850052607, +ERASE, 139921850052608, 139921850068991, +STORE, 139921850052608, 139921850068991, +STORE, 139921844154368, 139921846271999, +SNULL, 139921844154368, 139921844170751, +STORE, 139921844170752, 139921846271999, +STORE, 139921844154368, 139921844170751, +SNULL, 139921846263807, 139921846271999, +STORE, 139921844170752, 139921846263807, +STORE, 139921846263808, 139921846271999, +ERASE, 139921846263808, 139921846271999, +STORE, 139921846263808, 139921846271999, +STORE, 139921842036736, 139921844154367, +SNULL, 139921842036736, 139921842053119, +STORE, 139921842053120, 139921844154367, +STORE, 139921842036736, 139921842053119, +SNULL, 139921844146175, 139921844154367, +STORE, 139921842053120, 139921844146175, +STORE, 139921844146176, 139921844154367, +ERASE, 139921844146176, 139921844154367, +STORE, 139921844146176, 139921844154367, +STORE, 139921839468544, 139921842036735, +SNULL, 139921839468544, 139921839935487, +STORE, 139921839935488, 139921842036735, +STORE, 139921839468544, 139921839935487, +SNULL, 139921842028543, 139921842036735, +STORE, 139921839935488, 139921842028543, +STORE, 139921842028544, 139921842036735, +ERASE, 139921842028544, 139921842036735, +STORE, 139921842028544, 139921842036735, +STORE, 139921837355008, 139921839468543, +SNULL, 139921837355008, 139921837367295, +STORE, 139921837367296, 139921839468543, +STORE, 139921837355008, 139921837367295, +SNULL, 139921839460351, 139921839468543, +STORE, 139921837367296, 139921839460351, +STORE, 139921839460352, 139921839468543, +ERASE, 139921839460352, 139921839468543, +STORE, 139921839460352, 139921839468543, +STORE, 139921865576448, 139921865601023, +STORE, 139921865564160, 139921865601023, +SNULL, 139921850044415, 139921850052607, +STORE, 139921850028032, 139921850044415, +STORE, 139921850044416, 139921850052607, +SNULL, 139921839464447, 139921839468543, +STORE, 139921839460352, 139921839464447, +STORE, 139921839464448, 139921839468543, +SNULL, 139921852264447, 139921852268543, +STORE, 139921852260352, 139921852264447, +STORE, 139921852264448, 139921852268543, +SNULL, 139921842032639, 139921842036735, +STORE, 139921842028544, 139921842032639, +STORE, 139921842032640, 139921842036735, +SNULL, 139921844150271, 139921844154367, +STORE, 139921844146176, 139921844150271, +STORE, 139921844150272, 139921844154367, +SNULL, 139921846267903, 139921846271999, +STORE, 139921846263808, 139921846267903, +STORE, 139921846267904, 139921846271999, +SNULL, 139921854410751, 139921854414847, +STORE, 139921854406656, 139921854410751, +STORE, 139921854410752, 139921854414847, +SNULL, 139921856663551, 139921856667647, +STORE, 139921856659456, 139921856663551, +STORE, 139921856663552, 139921856667647, +SNULL, 139921858863103, 139921858867199, +STORE, 139921858859008, 139921858863103, +STORE, 139921858863104, 139921858867199, +SNULL, 139921861242879, 139921861246975, +STORE, 139921861226496, 139921861242879, +STORE, 139921861242880, 139921861246975, +SNULL, 139921863380991, 139921863385087, +STORE, 139921863376896, 139921863380991, +STORE, 139921863380992, 139921863385087, +SNULL, 93912950333439, 93912950337535, +STORE, 93912950292480, 93912950333439, +STORE, 93912950333440, 93912950337535, +SNULL, 139921865629695, 139921865633791, +STORE, 139921865625600, 139921865629695, +STORE, 139921865629696, 139921865633791, +ERASE, 139921865601024, 139921865625599, +STORE, 93912968110080, 93912968245247, +STORE, 139921828913152, 139921837355007, +STORE, 139921865621504, 139921865625599, +STORE, 139921865617408, 139921865621503, +STORE, 139921865613312, 139921865617407, +STORE, 139921865547776, 139921865564159, + }; + + unsigned long set17[] = { +STORE, 94397057224704, 94397057646591, +STORE, 94397057650688, 94397057691647, +STORE, 94397057691648, 94397057695743, +STORE, 94397075271680, 94397075406847, +STORE, 139953169051648, 139953169063935, +STORE, 139953169063936, 139953171156991, +STORE, 139953171156992, 139953171161087, +STORE, 139953171161088, 139953171165183, +STORE, 139953171165184, 139953171632127, +STORE, 139953171632128, 139953173725183, +STORE, 139953173725184, 139953173729279, +STORE, 139953173729280, 139953173733375, +STORE, 139953173733376, 139953173749759, +STORE, 139953173749760, 139953175842815, +STORE, 139953175842816, 139953175846911, +STORE, 139953175846912, 139953175851007, +STORE, 139953175851008, 139953175867391, +STORE, 139953175867392, 139953177960447, +STORE, 139953177960448, 139953177964543, +STORE, 139953177964544, 139953177968639, +STORE, 139953177968640, 139953179627519, +STORE, 139953179627520, 139953181724671, +STORE, 139953181724672, 139953181741055, +STORE, 139953181741056, 139953181749247, +STORE, 139953181749248, 139953181765631, +STORE, 139953181765632, 139953181863935, +STORE, 139953181863936, 139953183956991, +STORE, 139953183956992, 139953183961087, +STORE, 139953183961088, 139953183965183, +STORE, 139953183965184, 139953183981567, +STORE, 139953183981568, 139953184010239, +STORE, 139953184010240, 139953186103295, +STORE, 139953186103296, 139953186107391, +STORE, 139953186107392, 139953186111487, +STORE, 139953186111488, 139953186263039, +STORE, 139953186263040, 139953188356095, +STORE, 139953188356096, 139953188360191, +STORE, 139953188360192, 139953188364287, +STORE, 139953188364288, 139953188372479, +STORE, 139953188372480, 139953188462591, +STORE, 139953188462592, 139953190555647, +STORE, 139953190555648, 139953190559743, +STORE, 139953190559744, 139953190563839, +STORE, 139953190563840, 139953190830079, +STORE, 139953190830080, 139953192923135, +STORE, 139953192923136, 139953192939519, +STORE, 139953192939520, 139953192943615, +STORE, 139953192943616, 139953192947711, +STORE, 139953192947712, 139953192976383, +STORE, 139953192976384, 139953195073535, +STORE, 139953195073536, 139953195077631, +STORE, 139953195077632, 139953195081727, +STORE, 139953195081728, 139953195225087, +STORE, 139953197281280, 139953197318143, +STORE, 139953197322240, 139953197326335, +STORE, 139953197326336, 139953197330431, +STORE, 139953197330432, 139953197334527, +STORE, 140720477511680, 140720477646847, +STORE, 140720478302208, 140720478314495, +STORE, 140720478314496, 140720478318591, + }; + unsigned long set18[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140724953673728, 140737488351231, +SNULL, 140724953677823, 140737488351231, +STORE, 140724953673728, 140724953677823, +STORE, 140724953542656, 140724953677823, +STORE, 94675199266816, 94675199311871, +SNULL, 94675199303679, 94675199311871, +STORE, 94675199266816, 94675199303679, +STORE, 94675199303680, 94675199311871, +ERASE, 94675199303680, 94675199311871, +STORE, 94675199303680, 94675199311871, +STORE, 140222970605568, 140222972858367, +SNULL, 140222970748927, 140222972858367, +STORE, 140222970605568, 140222970748927, +STORE, 140222970748928, 140222972858367, +ERASE, 140222970748928, 140222972858367, +STORE, 140222972846080, 140222972854271, +STORE, 140222972854272, 140222972858367, +STORE, 140724954365952, 140724954370047, +STORE, 140724954353664, 140724954365951, +STORE, 140222972841984, 140222972846079, +STORE, 140222972833792, 140222972841983, +STORE, 140222968475648, 140222970605567, +SNULL, 140222968475648, 140222968504319, +STORE, 140222968504320, 140222970605567, +STORE, 140222968475648, 140222968504319, +SNULL, 140222970597375, 140222970605567, +STORE, 140222968504320, 140222970597375, +STORE, 140222970597376, 140222970605567, +ERASE, 140222970597376, 140222970605567, +STORE, 140222970597376, 140222970605567, + }; + unsigned long set19[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140725182459904, 140737488351231, +SNULL, 140725182463999, 140737488351231, +STORE, 140725182459904, 140725182463999, +STORE, 140725182328832, 140725182463999, +STORE, 94730166636544, 94730166763519, +SNULL, 94730166747135, 94730166763519, +STORE, 94730166636544, 94730166747135, +STORE, 94730166747136, 94730166763519, +ERASE, 94730166747136, 94730166763519, +STORE, 94730166751232, 94730166763519, +STORE, 140656834555904, 140656836808703, +SNULL, 140656834699263, 140656836808703, +STORE, 140656834555904, 140656834699263, +STORE, 140656834699264, 140656836808703, +ERASE, 140656834699264, 140656836808703, +STORE, 140656836796416, 140656836804607, +STORE, 140656836804608, 140656836808703, +STORE, 140725183389696, 140725183393791, +STORE, 140725183377408, 140725183389695, +STORE, 140656836788224, 140656836796415, +STORE, 140656832331776, 140656834555903, +SNULL, 140656833982463, 140656834555903, +STORE, 140656832331776, 140656833982463, +STORE, 140656833982464, 140656834555903, +SNULL, 140656833982464, 140656834551807, +STORE, 140656834551808, 140656834555903, +STORE, 140656833982464, 140656834551807, +ERASE, 140656833982464, 140656834551807, +STORE, 140656833982464, 140656834551807, +ERASE, 140656834551808, 140656834555903, +STORE, 140656834551808, 140656834555903, +STORE, 140656836763648, 140656836788223, +STORE, 140656830070784, 140656832331775, +SNULL, 140656830070784, 140656830222335, +STORE, 140656830222336, 140656832331775, +STORE, 140656830070784, 140656830222335, +SNULL, 140656832315391, 140656832331775, +STORE, 140656830222336, 140656832315391, +STORE, 140656832315392, 140656832331775, +SNULL, 140656832315392, 140656832323583, +STORE, 140656832323584, 140656832331775, +STORE, 140656832315392, 140656832323583, +ERASE, 140656832315392, 140656832323583, +STORE, 140656832315392, 140656832323583, +ERASE, 140656832323584, 140656832331775, +STORE, 140656832323584, 140656832331775, +STORE, 140656827940864, 140656830070783, +SNULL, 140656827940864, 140656827969535, +STORE, 140656827969536, 140656830070783, +STORE, 140656827940864, 140656827969535, +SNULL, 140656830062591, 140656830070783, +STORE, 140656827969536, 140656830062591, +STORE, 140656830062592, 140656830070783, +ERASE, 140656830062592, 140656830070783, +STORE, 140656830062592, 140656830070783, +STORE, 140656825724928, 140656827940863, +SNULL, 140656825724928, 140656825823231, +STORE, 140656825823232, 140656827940863, +STORE, 140656825724928, 140656825823231, +SNULL, 140656827916287, 140656827940863, +STORE, 140656825823232, 140656827916287, +STORE, 140656827916288, 140656827940863, +SNULL, 140656827916288, 140656827924479, +STORE, 140656827924480, 140656827940863, +STORE, 140656827916288, 140656827924479, +ERASE, 140656827916288, 140656827924479, +STORE, 140656827916288, 140656827924479, +ERASE, 140656827924480, 140656827940863, +STORE, 140656827924480, 140656827940863, +STORE, 140656821927936, 140656825724927, +SNULL, 140656821927936, 140656823586815, +STORE, 140656823586816, 140656825724927, +STORE, 140656821927936, 140656823586815, +SNULL, 140656825683967, 140656825724927, +STORE, 140656823586816, 140656825683967, +STORE, 140656825683968, 140656825724927, +SNULL, 140656825683968, 140656825708543, +STORE, 140656825708544, 140656825724927, +STORE, 140656825683968, 140656825708543, +ERASE, 140656825683968, 140656825708543, +STORE, 140656825683968, 140656825708543, +ERASE, 140656825708544, 140656825724927, +STORE, 140656825708544, 140656825724927, +STORE, 140656819806208, 140656821927935, +SNULL, 140656819806208, 140656819822591, +STORE, 140656819822592, 140656821927935, +STORE, 140656819806208, 140656819822591, +SNULL, 140656821919743, 140656821927935, +STORE, 140656819822592, 140656821919743, +STORE, 140656821919744, 140656821927935, +ERASE, 140656821919744, 140656821927935, +STORE, 140656821919744, 140656821927935, +STORE, 140656836755456, 140656836763647, +STORE, 140656817553408, 140656819806207, +SNULL, 140656817553408, 140656817704959, +STORE, 140656817704960, 140656819806207, +STORE, 140656817553408, 140656817704959, +SNULL, 140656819798015, 140656819806207, +STORE, 140656817704960, 140656819798015, +STORE, 140656819798016, 140656819806207, +ERASE, 140656819798016, 140656819806207, +STORE, 140656819798016, 140656819806207, +STORE, 140656815382528, 140656817553407, +SNULL, 140656815382528, 140656815452159, +STORE, 140656815452160, 140656817553407, +STORE, 140656815382528, 140656815452159, +SNULL, 140656817545215, 140656817553407, +STORE, 140656815452160, 140656817545215, +STORE, 140656817545216, 140656817553407, +ERASE, 140656817545216, 140656817553407, +STORE, 140656817545216, 140656817553407, +STORE, 140656812171264, 140656815382527, +SNULL, 140656812171264, 140656813248511, +STORE, 140656813248512, 140656815382527, +STORE, 140656812171264, 140656813248511, +SNULL, 140656815345663, 140656815382527, +STORE, 140656813248512, 140656815345663, +STORE, 140656815345664, 140656815382527, +ERASE, 140656815345664, 140656815382527, +STORE, 140656815345664, 140656815382527, +STORE, 140656810037248, 140656812171263, +SNULL, 140656810037248, 140656810065919, +STORE, 140656810065920, 140656812171263, +STORE, 140656810037248, 140656810065919, +SNULL, 140656812163071, 140656812171263, +STORE, 140656810065920, 140656812163071, +STORE, 140656812163072, 140656812171263, +ERASE, 140656812163072, 140656812171263, +STORE, 140656812163072, 140656812171263, +STORE, 140656807727104, 140656810037247, +SNULL, 140656807727104, 140656807931903, +STORE, 140656807931904, 140656810037247, +STORE, 140656807727104, 140656807931903, +SNULL, 140656810029055, 140656810037247, +STORE, 140656807931904, 140656810029055, +STORE, 140656810029056, 140656810037247, +ERASE, 140656810029056, 140656810037247, +STORE, 140656810029056, 140656810037247, +STORE, 140656805343232, 140656807727103, +SNULL, 140656805343232, 140656805535743, +STORE, 140656805535744, 140656807727103, +STORE, 140656805343232, 140656805535743, +SNULL, 140656807628799, 140656807727103, +STORE, 140656805535744, 140656807628799, +STORE, 140656807628800, 140656807727103, +ERASE, 140656807628800, 140656807727103, +STORE, 140656807628800, 140656807727103, +STORE, 140656836747264, 140656836763647, +STORE, 140656802775040, 140656805343231, +SNULL, 140656802775040, 140656803241983, +STORE, 140656803241984, 140656805343231, +STORE, 140656802775040, 140656803241983, +SNULL, 140656805335039, 140656805343231, +STORE, 140656803241984, 140656805335039, +STORE, 140656805335040, 140656805343231, +ERASE, 140656805335040, 140656805343231, +STORE, 140656805335040, 140656805343231, +STORE, 140656800661504, 140656802775039, +SNULL, 140656800661504, 140656800673791, +STORE, 140656800673792, 140656802775039, +STORE, 140656800661504, 140656800673791, +SNULL, 140656802766847, 140656802775039, +STORE, 140656800673792, 140656802766847, +STORE, 140656802766848, 140656802775039, +ERASE, 140656802766848, 140656802775039, +STORE, 140656802766848, 140656802775039, +STORE, 140656798482432, 140656800661503, +SNULL, 140656798482432, 140656798560255, +STORE, 140656798560256, 140656800661503, +STORE, 140656798482432, 140656798560255, +SNULL, 140656800653311, 140656800661503, +STORE, 140656798560256, 140656800653311, +STORE, 140656800653312, 140656800661503, +ERASE, 140656800653312, 140656800661503, +STORE, 140656800653312, 140656800661503, +STORE, 140656796364800, 140656798482431, +SNULL, 140656796364800, 140656796381183, +STORE, 140656796381184, 140656798482431, +STORE, 140656796364800, 140656796381183, +SNULL, 140656798474239, 140656798482431, +STORE, 140656796381184, 140656798474239, +STORE, 140656798474240, 140656798482431, +ERASE, 140656798474240, 140656798482431, +STORE, 140656798474240, 140656798482431, +STORE, 140656836739072, 140656836763647, +STORE, 140656836726784, 140656836763647, +SNULL, 140656825700351, 140656825708543, +STORE, 140656825683968, 140656825700351, +STORE, 140656825700352, 140656825708543, +SNULL, 140656798478335, 140656798482431, +STORE, 140656798474240, 140656798478335, +STORE, 140656798478336, 140656798482431, +SNULL, 140656800657407, 140656800661503, +STORE, 140656800653312, 140656800657407, +STORE, 140656800657408, 140656800661503, +SNULL, 140656802770943, 140656802775039, +STORE, 140656802766848, 140656802770943, +STORE, 140656802770944, 140656802775039, +SNULL, 140656827920383, 140656827924479, +STORE, 140656827916288, 140656827920383, +STORE, 140656827920384, 140656827924479, +SNULL, 140656805339135, 140656805343231, +STORE, 140656805335040, 140656805339135, +STORE, 140656805339136, 140656805343231, +SNULL, 140656807723007, 140656807727103, +STORE, 140656807628800, 140656807723007, +STORE, 140656807723008, 140656807727103, +SNULL, 140656810033151, 140656810037247, +STORE, 140656810029056, 140656810033151, +STORE, 140656810033152, 140656810037247, +SNULL, 140656812167167, 140656812171263, +STORE, 140656812163072, 140656812167167, +STORE, 140656812167168, 140656812171263, +SNULL, 140656815353855, 140656815382527, +STORE, 140656815345664, 140656815353855, +STORE, 140656815353856, 140656815382527, +SNULL, 140656817549311, 140656817553407, +STORE, 140656817545216, 140656817549311, +STORE, 140656817549312, 140656817553407, +SNULL, 140656819802111, 140656819806207, +STORE, 140656819798016, 140656819802111, +STORE, 140656819802112, 140656819806207, +SNULL, 140656821923839, 140656821927935, +STORE, 140656821919744, 140656821923839, +STORE, 140656821923840, 140656821927935, +SNULL, 140656830066687, 140656830070783, +STORE, 140656830062592, 140656830066687, +STORE, 140656830066688, 140656830070783, +SNULL, 140656832319487, 140656832323583, +STORE, 140656832315392, 140656832319487, +STORE, 140656832319488, 140656832323583, +SNULL, 140656834547711, 140656834551807, +STORE, 140656833982464, 140656834547711, +STORE, 140656834547712, 140656834551807, +SNULL, 94730166759423, 94730166763519, +STORE, 94730166751232, 94730166759423, +STORE, 94730166759424, 94730166763519, +SNULL, 140656836800511, 140656836804607, +STORE, 140656836796416, 140656836800511, +STORE, 140656836800512, 140656836804607, +ERASE, 140656836763648, 140656836788223, +STORE, 94730171318272, 94730171453439, +STORE, 140656836784128, 140656836788223, +STORE, 140656836780032, 140656836784127, +STORE, 140656791920640, 140656796364799, +STORE, 140656836775936, 140656836780031, +STORE, 140656787476480, 140656791920639, +STORE, 140656779083776, 140656787476479, +SNULL, 140656779087871, 140656787476479, +STORE, 140656779083776, 140656779087871, +STORE, 140656779087872, 140656787476479, +STORE, 140656836771840, 140656836775935, +STORE, 140656774639616, 140656779083775, +STORE, 140656766246912, 140656774639615, +SNULL, 140656766251007, 140656774639615, +STORE, 140656766246912, 140656766251007, +STORE, 140656766251008, 140656774639615, +ERASE, 140656791920640, 140656796364799, +ERASE, 140656836780032, 140656836784127, +ERASE, 140656787476480, 140656791920639, +ERASE, 140656836775936, 140656836780031, +STORE, 140656836780032, 140656836784127, +STORE, 140656791920640, 140656796364799, +STORE, 140656836775936, 140656836780031, +STORE, 140656787476480, 140656791920639, +ERASE, 140656774639616, 140656779083775, + }; + unsigned long set20[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140735952392192, 140737488351231, +SNULL, 140735952396287, 140737488351231, +STORE, 140735952392192, 140735952396287, +STORE, 140735952261120, 140735952396287, +STORE, 94849008947200, 94849009414143, +SNULL, 94849009364991, 94849009414143, +STORE, 94849008947200, 94849009364991, +STORE, 94849009364992, 94849009414143, +ERASE, 94849009364992, 94849009414143, +STORE, 94849009364992, 94849009414143, +STORE, 140590397943808, 140590400196607, +SNULL, 140590398087167, 140590400196607, +STORE, 140590397943808, 140590398087167, +STORE, 140590398087168, 140590400196607, +ERASE, 140590398087168, 140590400196607, +STORE, 140590400184320, 140590400192511, +STORE, 140590400192512, 140590400196607, +STORE, 140735952850944, 140735952855039, +STORE, 140735952838656, 140735952850943, +STORE, 140590400180224, 140590400184319, +STORE, 140590400172032, 140590400180223, +STORE, 140590395809792, 140590397943807, +SNULL, 140590395809792, 140590395838463, +STORE, 140590395838464, 140590397943807, +STORE, 140590395809792, 140590395838463, +SNULL, 140590397935615, 140590397943807, +STORE, 140590395838464, 140590397935615, +STORE, 140590397935616, 140590397943807, +ERASE, 140590397935616, 140590397943807, +STORE, 140590397935616, 140590397943807, +STORE, 140590393425920, 140590395809791, +SNULL, 140590393425920, 140590393692159, +STORE, 140590393692160, 140590395809791, +STORE, 140590393425920, 140590393692159, +SNULL, 140590395785215, 140590395809791, +STORE, 140590393692160, 140590395785215, +STORE, 140590395785216, 140590395809791, +SNULL, 140590395785216, 140590395805695, +STORE, 140590395805696, 140590395809791, +STORE, 140590395785216, 140590395805695, +ERASE, 140590395785216, 140590395805695, +STORE, 140590395785216, 140590395805695, +ERASE, 140590395805696, 140590395809791, +STORE, 140590395805696, 140590395809791, +STORE, 140590391234560, 140590393425919, +SNULL, 140590391234560, 140590391324671, +STORE, 140590391324672, 140590393425919, +STORE, 140590391234560, 140590391324671, +SNULL, 140590393417727, 140590393425919, +STORE, 140590391324672, 140590393417727, +STORE, 140590393417728, 140590393425919, +ERASE, 140590393417728, 140590393425919, +STORE, 140590393417728, 140590393425919, +STORE, 140590388973568, 140590391234559, +SNULL, 140590388973568, 140590389125119, +STORE, 140590389125120, 140590391234559, +STORE, 140590388973568, 140590389125119, +SNULL, 140590391218175, 140590391234559, +STORE, 140590389125120, 140590391218175, +STORE, 140590391218176, 140590391234559, +SNULL, 140590391218176, 140590391226367, +STORE, 140590391226368, 140590391234559, +STORE, 140590391218176, 140590391226367, +ERASE, 140590391218176, 140590391226367, +STORE, 140590391218176, 140590391226367, +ERASE, 140590391226368, 140590391234559, +STORE, 140590391226368, 140590391234559, +STORE, 140590386843648, 140590388973567, +SNULL, 140590386843648, 140590386872319, +STORE, 140590386872320, 140590388973567, +STORE, 140590386843648, 140590386872319, +SNULL, 140590388965375, 140590388973567, +STORE, 140590386872320, 140590388965375, +STORE, 140590388965376, 140590388973567, +ERASE, 140590388965376, 140590388973567, +STORE, 140590388965376, 140590388973567, +STORE, 140590384627712, 140590386843647, +SNULL, 140590384627712, 140590384726015, +STORE, 140590384726016, 140590386843647, +STORE, 140590384627712, 140590384726015, +SNULL, 140590386819071, 140590386843647, +STORE, 140590384726016, 140590386819071, +STORE, 140590386819072, 140590386843647, +SNULL, 140590386819072, 140590386827263, +STORE, 140590386827264, 140590386843647, +STORE, 140590386819072, 140590386827263, +ERASE, 140590386819072, 140590386827263, +STORE, 140590386819072, 140590386827263, +ERASE, 140590386827264, 140590386843647, +STORE, 140590386827264, 140590386843647, +STORE, 140590400163840, 140590400180223, +STORE, 140590380830720, 140590384627711, +SNULL, 140590380830720, 140590382489599, +STORE, 140590382489600, 140590384627711, +STORE, 140590380830720, 140590382489599, +SNULL, 140590384586751, 140590384627711, +STORE, 140590382489600, 140590384586751, +STORE, 140590384586752, 140590384627711, +SNULL, 140590384586752, 140590384611327, +STORE, 140590384611328, 140590384627711, +STORE, 140590384586752, 140590384611327, +ERASE, 140590384586752, 140590384611327, +STORE, 140590384586752, 140590384611327, +ERASE, 140590384611328, 140590384627711, +STORE, 140590384611328, 140590384627711, +STORE, 140590378713088, 140590380830719, +SNULL, 140590378713088, 140590378729471, +STORE, 140590378729472, 140590380830719, +STORE, 140590378713088, 140590378729471, +SNULL, 140590380822527, 140590380830719, +STORE, 140590378729472, 140590380822527, +STORE, 140590380822528, 140590380830719, +ERASE, 140590380822528, 140590380830719, +STORE, 140590380822528, 140590380830719, +STORE, 140590376595456, 140590378713087, +SNULL, 140590376595456, 140590376611839, +STORE, 140590376611840, 140590378713087, +STORE, 140590376595456, 140590376611839, +SNULL, 140590378704895, 140590378713087, +STORE, 140590376611840, 140590378704895, +STORE, 140590378704896, 140590378713087, +ERASE, 140590378704896, 140590378713087, +STORE, 140590378704896, 140590378713087, +STORE, 140590374027264, 140590376595455, +SNULL, 140590374027264, 140590374494207, +STORE, 140590374494208, 140590376595455, +STORE, 140590374027264, 140590374494207, +SNULL, 140590376587263, 140590376595455, +STORE, 140590374494208, 140590376587263, +STORE, 140590376587264, 140590376595455, +ERASE, 140590376587264, 140590376595455, +STORE, 140590376587264, 140590376595455, +STORE, 140590371913728, 140590374027263, +SNULL, 140590371913728, 140590371926015, +STORE, 140590371926016, 140590374027263, +STORE, 140590371913728, 140590371926015, +SNULL, 140590374019071, 140590374027263, +STORE, 140590371926016, 140590374019071, +STORE, 140590374019072, 140590374027263, +ERASE, 140590374019072, 140590374027263, +STORE, 140590374019072, 140590374027263, +STORE, 140590400155648, 140590400180223, +STORE, 140590400143360, 140590400180223, +SNULL, 140590384603135, 140590384611327, +STORE, 140590384586752, 140590384603135, +STORE, 140590384603136, 140590384611327, +SNULL, 140590374023167, 140590374027263, +STORE, 140590374019072, 140590374023167, +STORE, 140590374023168, 140590374027263, +SNULL, 140590386823167, 140590386827263, +STORE, 140590386819072, 140590386823167, +STORE, 140590386823168, 140590386827263, +SNULL, 140590376591359, 140590376595455, + }; + unsigned long set21[] = { +STORE, 93874710941696, 93874711363583, +STORE, 93874711367680, 93874711408639, +STORE, 93874711408640, 93874711412735, +STORE, 93874720989184, 93874721124351, +STORE, 140708365086720, 140708365099007, +STORE, 140708365099008, 140708367192063, +STORE, 140708367192064, 140708367196159, +STORE, 140708367196160, 140708367200255, +STORE, 140708367200256, 140708367667199, +STORE, 140708367667200, 140708369760255, +STORE, 140708369760256, 140708369764351, +STORE, 140708369764352, 140708369768447, +STORE, 140708369768448, 140708369784831, +STORE, 140708369784832, 140708371877887, +STORE, 140708371877888, 140708371881983, +STORE, 140708371881984, 140708371886079, +STORE, 140708371886080, 140708371902463, +STORE, 140708371902464, 140708373995519, +STORE, 140708373995520, 140708373999615, +STORE, 140708373999616, 140708374003711, +STORE, 140708374003712, 140708375662591, +STORE, 140708375662592, 140708377759743, +STORE, 140708377759744, 140708377776127, +STORE, 140708377776128, 140708377784319, +STORE, 140708377784320, 140708377800703, +STORE, 140708377800704, 140708377899007, +STORE, 140708377899008, 140708379992063, +STORE, 140708379992064, 140708379996159, +STORE, 140708379996160, 140708380000255, +STORE, 140708380000256, 140708380016639, +STORE, 140708380016640, 140708380045311, +STORE, 140708380045312, 140708382138367, +STORE, 140708382138368, 140708382142463, +STORE, 140708382142464, 140708382146559, +STORE, 140708382146560, 140708382298111, +STORE, 140708382298112, 140708384391167, +STORE, 140708384391168, 140708384395263, +STORE, 140708384395264, 140708384399359, +STORE, 140708384399360, 140708384407551, +STORE, 140708384407552, 140708384497663, +STORE, 140708384497664, 140708386590719, +STORE, 140708386590720, 140708386594815, +STORE, 140708386594816, 140708386598911, +STORE, 140708386598912, 140708386865151, +STORE, 140708386865152, 140708388958207, +STORE, 140708388958208, 140708388974591, +STORE, 140708388974592, 140708388978687, +STORE, 140708388978688, 140708388982783, +STORE, 140708388982784, 140708389011455, +STORE, 140708389011456, 140708391108607, +STORE, 140708391108608, 140708391112703, +STORE, 140708391112704, 140708391116799, +STORE, 140708391116800, 140708391260159, +STORE, 140708393291776, 140708393308159, +STORE, 140708393308160, 140708393312255, +STORE, 140708393312256, 140708393316351, +STORE, 140708393316352, 140708393353215, +STORE, 140708393353216, 140708393357311, +STORE, 140708393357312, 140708393361407, +STORE, 140708393361408, 140708393365503, +STORE, 140708393365504, 140708393369599, +STORE, 140730557042688, 140730557177855, +STORE, 140730557235200, 140730557247487, +STORE, 140730557247488, 140730557251583, +ERASE, 140708393353216, 140708393357311, +ERASE, 140708393312256, 140708393316351, +ERASE, 140708393308160, 140708393312255, +ERASE, 140708393291776, 140708393308159, + }; + unsigned long set22[] = { +STORE, 93951397134336, 93951397183487, +STORE, 93951397183488, 93951397728255, +STORE, 93951397728256, 93951397826559, +STORE, 93951397826560, 93951397842943, +STORE, 93951397842944, 93951397847039, +STORE, 93951425974272, 93951426109439, +STORE, 140685152665600, 140685152677887, +STORE, 140685152677888, 140685152829439, +STORE, 140685152829440, 140685154181119, +STORE, 140685154181120, 140685154484223, +STORE, 140685154484224, 140685154496511, +STORE, 140685154496512, 140685154508799, +STORE, 140685154508800, 140685154525183, +STORE, 140685154525184, 140685154541567, +STORE, 140685154541568, 140685154590719, +STORE, 140685154590720, 140685154603007, +STORE, 140685154603008, 140685154607103, +STORE, 140685154607104, 140685154611199, +STORE, 140685154611200, 140685154615295, +STORE, 140685154615296, 140685154631679, +STORE, 140685154639872, 140685154643967, +STORE, 140685154643968, 140685154766847, +STORE, 140685154766848, 140685154799615, +STORE, 140685154803712, 140685154807807, +STORE, 140685154807808, 140685154811903, +STORE, 140685154811904, 140685154815999, +STORE, 140722188902400, 140722189037567, +STORE, 140722189512704, 140722189524991, +STORE, 140722189524992, 140722189529087, +STORE, 140737488347136, 140737488351231, +STORE, 140733429354496, 140737488351231, +SNULL, 140733429358591, 140737488351231, +STORE, 140733429354496, 140733429358591, +STORE, 140733429223424, 140733429358591, +STORE, 94526683537408, 94526683660287, +SNULL, 94526683553791, 94526683660287, +STORE, 94526683537408, 94526683553791, +STORE, 94526683553792, 94526683660287, +ERASE, 94526683553792, 94526683660287, +STORE, 94526683553792, 94526683623423, +STORE, 94526683623424, 94526683647999, +STORE, 94526683652096, 94526683660287, +STORE, 140551363747840, 140551363923967, +SNULL, 140551363751935, 140551363923967, +STORE, 140551363747840, 140551363751935, +STORE, 140551363751936, 140551363923967, +ERASE, 140551363751936, 140551363923967, +STORE, 140551363751936, 140551363874815, +STORE, 140551363874816, 140551363907583, +STORE, 140551363911680, 140551363919871, +STORE, 140551363919872, 140551363923967, +STORE, 140733429690368, 140733429694463, +STORE, 140733429678080, 140733429690367, +STORE, 140551363739648, 140551363747839, +STORE, 140551363731456, 140551363739647, +STORE, 140551363379200, 140551363731455, +SNULL, 140551363379200, 140551363420159, +STORE, 140551363420160, 140551363731455, +STORE, 140551363379200, 140551363420159, +SNULL, 140551363706879, 140551363731455, +STORE, 140551363420160, 140551363706879, +STORE, 140551363706880, 140551363731455, +SNULL, 140551363420160, 140551363637247, +STORE, 140551363637248, 140551363706879, +STORE, 140551363420160, 140551363637247, +ERASE, 140551363420160, 140551363637247, +STORE, 140551363420160, 140551363637247, +SNULL, 140551363637248, 140551363702783, +STORE, 140551363702784, 140551363706879, +STORE, 140551363637248, 140551363702783, +ERASE, 140551363637248, 140551363702783, +STORE, 140551363637248, 140551363702783, +ERASE, 140551363706880, 140551363731455, +STORE, 140551363706880, 140551363731455, +STORE, 140551361531904, 140551363379199, +SNULL, 140551361683455, 140551363379199, +STORE, 140551361531904, 140551361683455, +STORE, 140551361683456, 140551363379199, +SNULL, 140551361683456, 140551363035135, +STORE, 140551363035136, 140551363379199, +STORE, 140551361683456, 140551363035135, +ERASE, 140551361683456, 140551363035135, +STORE, 140551361683456, 140551363035135, +SNULL, 140551363035136, 140551363338239, +STORE, 140551363338240, 140551363379199, +STORE, 140551363035136, 140551363338239, +ERASE, 140551363035136, 140551363338239, +STORE, 140551363035136, 140551363379199, +SNULL, 140551363338239, 140551363379199, +STORE, 140551363035136, 140551363338239, +STORE, 140551363338240, 140551363379199, +SNULL, 140551363338240, 140551363362815, +STORE, 140551363362816, 140551363379199, +STORE, 140551363338240, 140551363362815, +ERASE, 140551363338240, 140551363362815, +STORE, 140551363338240, 140551363362815, +ERASE, 140551363362816, 140551363379199, +STORE, 140551363362816, 140551363379199, +STORE, 140551361519616, 140551361531903, +SNULL, 140551363350527, 140551363362815, +STORE, 140551363338240, 140551363350527, +STORE, 140551363350528, 140551363362815, +SNULL, 140551363727359, 140551363731455, +STORE, 140551363706880, 140551363727359, +STORE, 140551363727360, 140551363731455, +SNULL, 94526683656191, 94526683660287, +STORE, 94526683652096, 94526683656191, +STORE, 94526683656192, 94526683660287, +SNULL, 140551363915775, 140551363919871, +STORE, 140551363911680, 140551363915775, +STORE, 140551363915776, 140551363919871, +ERASE, 140551363739648, 140551363747839, +STORE, 94526715490304, 94526715625471, +STORE, 140551361253376, 140551361531903, +STORE, 140551360987136, 140551361531903, +STORE, 140551360720896, 140551361531903, +STORE, 140551360454656, 140551361531903, +SNULL, 140551361253375, 140551361531903, +STORE, 140551360454656, 140551361253375, +STORE, 140551361253376, 140551361531903, +SNULL, 140551361253376, 140551361519615, +STORE, 140551361519616, 140551361531903, +STORE, 140551361253376, 140551361519615, +ERASE, 140551361253376, 140551361519615, + }; + + unsigned long set23[] = { +STORE, 94014447943680, 94014448156671, +STORE, 94014450253824, 94014450257919, +STORE, 94014450257920, 94014450266111, +STORE, 94014450266112, 94014450278399, +STORE, 94014464225280, 94014464630783, +STORE, 139761764306944, 139761765965823, +STORE, 139761765965824, 139761768062975, +STORE, 139761768062976, 139761768079359, +STORE, 139761768079360, 139761768087551, +STORE, 139761768087552, 139761768103935, +STORE, 139761768103936, 139761768116223, +STORE, 139761768116224, 139761770209279, +STORE, 139761770209280, 139761770213375, +STORE, 139761770213376, 139761770217471, +STORE, 139761770217472, 139761770360831, +STORE, 139761770729472, 139761772412927, +STORE, 139761772412928, 139761772429311, +STORE, 139761772457984, 139761772462079, +STORE, 139761772462080, 139761772466175, +STORE, 139761772466176, 139761772470271, +STORE, 140724336517120, 140724336652287, +STORE, 140724336955392, 140724336967679, +STORE, 140724336967680, 140724336971775, +STORE, 140737488347136, 140737488351231, +STORE, 140721840295936, 140737488351231, +SNULL, 140721840300031, 140737488351231, +STORE, 140721840295936, 140721840300031, +STORE, 140721840164864, 140721840300031, +STORE, 93937913667584, 93937915830271, +SNULL, 93937913729023, 93937915830271, +STORE, 93937913667584, 93937913729023, +STORE, 93937913729024, 93937915830271, +ERASE, 93937913729024, 93937915830271, +STORE, 93937915822080, 93937915830271, +STORE, 140598835335168, 140598837587967, +SNULL, 140598835478527, 140598837587967, +STORE, 140598835335168, 140598835478527, +STORE, 140598835478528, 140598837587967, +ERASE, 140598835478528, 140598837587967, +STORE, 140598837575680, 140598837583871, +STORE, 140598837583872, 140598837587967, +STORE, 140721841086464, 140721841090559, +STORE, 140721841074176, 140721841086463, +STORE, 140598837547008, 140598837575679, +STORE, 140598837538816, 140598837547007, +STORE, 140598831538176, 140598835335167, +SNULL, 140598831538176, 140598833197055, +STORE, 140598833197056, 140598835335167, +STORE, 140598831538176, 140598833197055, +SNULL, 140598835294207, 140598835335167, +STORE, 140598833197056, 140598835294207, +STORE, 140598835294208, 140598835335167, +SNULL, 140598835294208, 140598835318783, +STORE, 140598835318784, 140598835335167, +STORE, 140598835294208, 140598835318783, +ERASE, 140598835294208, 140598835318783, +STORE, 140598835294208, 140598835318783, +ERASE, 140598835318784, 140598835335167, +STORE, 140598835318784, 140598835335167, +SNULL, 140598835310591, 140598835318783, +STORE, 140598835294208, 140598835310591, +STORE, 140598835310592, 140598835318783, +SNULL, 93937915826175, 93937915830271, +STORE, 93937915822080, 93937915826175, +STORE, 93937915826176, 93937915830271, +SNULL, 140598837579775, 140598837583871, +STORE, 140598837575680, 140598837579775, +STORE, 140598837579776, 140598837583871, +ERASE, 140598837547008, 140598837575679, +STORE, 93937929179136, 93937929314303, +STORE, 140598835855360, 140598837538815, +STORE, 140737488347136, 140737488351231, +STORE, 140728187723776, 140737488351231, +SNULL, 140728187727871, 140737488351231, +STORE, 140728187723776, 140728187727871, +STORE, 140728187592704, 140728187727871, +STORE, 4194304, 5128191, +STORE, 7221248, 7241727, +STORE, 7241728, 7249919, +STORE, 140583951437824, 140583953690623, +SNULL, 140583951581183, 140583953690623, +STORE, 140583951437824, 140583951581183, +STORE, 140583951581184, 140583953690623, +ERASE, 140583951581184, 140583953690623, +STORE, 140583953678336, 140583953686527, +STORE, 140583953686528, 140583953690623, +STORE, 140728189116416, 140728189120511, +STORE, 140728189104128, 140728189116415, +STORE, 140583953649664, 140583953678335, +STORE, 140583953641472, 140583953649663, +STORE, 140583948275712, 140583951437823, +SNULL, 140583948275712, 140583949336575, +STORE, 140583949336576, 140583951437823, +STORE, 140583948275712, 140583949336575, +SNULL, 140583951429631, 140583951437823, +STORE, 140583949336576, 140583951429631, +STORE, 140583951429632, 140583951437823, +ERASE, 140583951429632, 140583951437823, +STORE, 140583951429632, 140583951437823, +STORE, 140583944478720, 140583948275711, +SNULL, 140583944478720, 140583946137599, +STORE, 140583946137600, 140583948275711, +STORE, 140583944478720, 140583946137599, +SNULL, 140583948234751, 140583948275711, +STORE, 140583946137600, 140583948234751, +STORE, 140583948234752, 140583948275711, +SNULL, 140583948234752, 140583948259327, +STORE, 140583948259328, 140583948275711, +STORE, 140583948234752, 140583948259327, +ERASE, 140583948234752, 140583948259327, +STORE, 140583948234752, 140583948259327, +ERASE, 140583948259328, 140583948275711, +STORE, 140583948259328, 140583948275711, +STORE, 140583953629184, 140583953649663, +SNULL, 140583948251135, 140583948259327, +STORE, 140583948234752, 140583948251135, +STORE, 140583948251136, 140583948259327, +SNULL, 140583951433727, 140583951437823, +STORE, 140583951429632, 140583951433727, +STORE, 140583951433728, 140583951437823, +SNULL, 7233535, 7241727, +STORE, 7221248, 7233535, +STORE, 7233536, 7241727, +SNULL, 140583953682431, 140583953686527, +STORE, 140583953678336, 140583953682431, +STORE, 140583953682432, 140583953686527, +ERASE, 140583953649664, 140583953678335, +STORE, 17821696, 17956863, +STORE, 17821696, 18104319, +STORE, 140583951945728, 140583953629183, +STORE, 94014447943680, 94014448156671, +STORE, 94014450253824, 94014450257919, +STORE, 94014450257920, 94014450266111, +STORE, 94014450266112, 94014450278399, +STORE, 94014464225280, 94014465196031, +STORE, 139761764306944, 139761765965823, +STORE, 139761765965824, 139761768062975, +STORE, 139761768062976, 139761768079359, +STORE, 139761768079360, 139761768087551, +STORE, 139761768087552, 139761768103935, +STORE, 139761768103936, 139761768116223, +STORE, 139761768116224, 139761770209279, +STORE, 139761770209280, 139761770213375, +STORE, 139761770213376, 139761770217471, +STORE, 139761770217472, 139761770360831, +STORE, 139761770729472, 139761772412927, +STORE, 139761772412928, 139761772429311, +STORE, 139761772457984, 139761772462079, +STORE, 139761772462080, 139761772466175, +STORE, 139761772466176, 139761772470271, +STORE, 140724336517120, 140724336652287, +STORE, 140724336955392, 140724336967679, +STORE, 140724336967680, 140724336971775, +STORE, 140737488347136, 140737488351231, +STORE, 140726063296512, 140737488351231, +SNULL, 140726063300607, 140737488351231, +STORE, 140726063296512, 140726063300607, +STORE, 140726063165440, 140726063300607, +STORE, 94016795934720, 94016798158847, +SNULL, 94016796045311, 94016798158847, +STORE, 94016795934720, 94016796045311, +STORE, 94016796045312, 94016798158847, +ERASE, 94016796045312, 94016798158847, +STORE, 94016798138368, 94016798150655, +STORE, 94016798150656, 94016798158847, +STORE, 139975915966464, 139975918219263, +SNULL, 139975916109823, 139975918219263, +STORE, 139975915966464, 139975916109823, +STORE, 139975916109824, 139975918219263, +ERASE, 139975916109824, 139975918219263, +STORE, 139975918206976, 139975918215167, +STORE, 139975918215168, 139975918219263, +STORE, 140726064541696, 140726064545791, +STORE, 140726064529408, 140726064541695, +STORE, 139975918178304, 139975918206975, +STORE, 139975918170112, 139975918178303, +STORE, 139975912169472, 139975915966463, +SNULL, 139975912169472, 139975913828351, +STORE, 139975913828352, 139975915966463, +STORE, 139975912169472, 139975913828351, +SNULL, 139975915925503, 139975915966463, +STORE, 139975913828352, 139975915925503, +STORE, 139975915925504, 139975915966463, +SNULL, 139975915925504, 139975915950079, +STORE, 139975915950080, 139975915966463, +STORE, 139975915925504, 139975915950079, +ERASE, 139975915925504, 139975915950079, +STORE, 139975915925504, 139975915950079, +ERASE, 139975915950080, 139975915966463, +STORE, 139975915950080, 139975915966463, +SNULL, 139975915941887, 139975915950079, +STORE, 139975915925504, 139975915941887, +STORE, 139975915941888, 139975915950079, +SNULL, 94016798146559, 94016798150655, +STORE, 94016798138368, 94016798146559, +STORE, 94016798146560, 94016798150655, +SNULL, 139975918211071, 139975918215167, +STORE, 139975918206976, 139975918211071, +STORE, 139975918211072, 139975918215167, +ERASE, 139975918178304, 139975918206975, +STORE, 94016804925440, 94016805060607, +STORE, 94596177661952, 94596177772543, +STORE, 94596179865600, 94596179873791, +STORE, 94596179873792, 94596179877887, +STORE, 94596179877888, 94596179886079, +STORE, 94596211597312, 94596211863551, +STORE, 140127351840768, 140127353499647, +STORE, 140127353499648, 140127355596799, +STORE, 140127355596800, 140127355613183, +STORE, 140127355613184, 140127355621375, +STORE, 140127355621376, 140127355637759, +STORE, 140127355637760, 140127355781119, +STORE, 140127357841408, 140127357849599, +STORE, 140127357878272, 140127357882367, +STORE, 140127357882368, 140127357886463, +STORE, 140127357886464, 140127357890559, +STORE, 140726167252992, 140726167392255, +STORE, 140726167838720, 140726167851007, +STORE, 140726167851008, 140726167855103, +STORE, 140737488347136, 140737488351231, +STORE, 140731874017280, 140737488351231, +SNULL, 140731874021375, 140737488351231, +STORE, 140731874017280, 140731874021375, +STORE, 140731873886208, 140731874021375, +STORE, 94178682265600, 94178684489727, +SNULL, 94178682376191, 94178684489727, +STORE, 94178682265600, 94178682376191, +STORE, 94178682376192, 94178684489727, +ERASE, 94178682376192, 94178684489727, +STORE, 94178684469248, 94178684481535, +STORE, 94178684481536, 94178684489727, +STORE, 140460853403648, 140460855656447, +SNULL, 140460853547007, 140460855656447, +STORE, 140460853403648, 140460853547007, +STORE, 140460853547008, 140460855656447, +ERASE, 140460853547008, 140460855656447, +STORE, 140460855644160, 140460855652351, +STORE, 140460855652352, 140460855656447, +STORE, 140731874103296, 140731874107391, +STORE, 140731874091008, 140731874103295, +STORE, 140460855615488, 140460855644159, +STORE, 140460855607296, 140460855615487, +STORE, 140460849606656, 140460853403647, +SNULL, 140460849606656, 140460851265535, +STORE, 140460851265536, 140460853403647, +STORE, 140460849606656, 140460851265535, +SNULL, 140460853362687, 140460853403647, +STORE, 140460851265536, 140460853362687, +STORE, 140460853362688, 140460853403647, +SNULL, 140460853362688, 140460853387263, +STORE, 140460853387264, 140460853403647, +STORE, 140460853362688, 140460853387263, +ERASE, 140460853362688, 140460853387263, +STORE, 140460853362688, 140460853387263, +ERASE, 140460853387264, 140460853403647, +STORE, 140460853387264, 140460853403647, +SNULL, 140460853379071, 140460853387263, +STORE, 140460853362688, 140460853379071, +STORE, 140460853379072, 140460853387263, +SNULL, 94178684477439, 94178684481535, +STORE, 94178684469248, 94178684477439, +STORE, 94178684477440, 94178684481535, +SNULL, 140460855648255, 140460855652351, +STORE, 140460855644160, 140460855648255, +STORE, 140460855648256, 140460855652351, +ERASE, 140460855615488, 140460855644159, +STORE, 94178692063232, 94178692198399, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733096603648, 140737488351231, +SNULL, 140733096611839, 140737488351231, +STORE, 140733096603648, 140733096611839, +STORE, 140733096472576, 140733096611839, +STORE, 94796716122112, 94796718325759, +SNULL, 94796716224511, 94796718325759, +STORE, 94796716122112, 94796716224511, +STORE, 94796716224512, 94796718325759, +ERASE, 94796716224512, 94796718325759, +STORE, 94796718317568, 94796718325759, +STORE, 139667892793344, 139667895046143, +SNULL, 139667892936703, 139667895046143, +STORE, 139667892793344, 139667892936703, +STORE, 139667892936704, 139667895046143, +ERASE, 139667892936704, 139667895046143, +STORE, 139667895033856, 139667895042047, +STORE, 139667895042048, 139667895046143, +STORE, 140733096857600, 140733096861695, +STORE, 140733096845312, 140733096857599, +STORE, 139667895005184, 139667895033855, +STORE, 139667894996992, 139667895005183, +STORE, 139667890532352, 139667892793343, +SNULL, 139667890532352, 139667890683903, +STORE, 139667890683904, 139667892793343, +STORE, 139667890532352, 139667890683903, +SNULL, 139667892776959, 139667892793343, +STORE, 139667890683904, 139667892776959, +STORE, 139667892776960, 139667892793343, +SNULL, 139667892776960, 139667892785151, +STORE, 139667892785152, 139667892793343, +STORE, 139667892776960, 139667892785151, +ERASE, 139667892776960, 139667892785151, +STORE, 139667892776960, 139667892785151, +ERASE, 139667892785152, 139667892793343, +STORE, 139667892785152, 139667892793343, +STORE, 139667886735360, 139667890532351, +SNULL, 139667886735360, 139667888394239, +STORE, 139667888394240, 139667890532351, +STORE, 139667886735360, 139667888394239, +SNULL, 139667890491391, 139667890532351, +STORE, 139667888394240, 139667890491391, +STORE, 139667890491392, 139667890532351, +SNULL, 139667890491392, 139667890515967, +STORE, 139667890515968, 139667890532351, +STORE, 139667890491392, 139667890515967, +ERASE, 139667890491392, 139667890515967, +STORE, 139667890491392, 139667890515967, +ERASE, 139667890515968, 139667890532351, +STORE, 139667890515968, 139667890532351, +STORE, 139667884167168, 139667886735359, +SNULL, 139667884167168, 139667884634111, +STORE, 139667884634112, 139667886735359, +STORE, 139667884167168, 139667884634111, +SNULL, 139667886727167, 139667886735359, +STORE, 139667884634112, 139667886727167, +STORE, 139667886727168, 139667886735359, +ERASE, 139667886727168, 139667886735359, +STORE, 139667886727168, 139667886735359, +STORE, 139667882053632, 139667884167167, +SNULL, 139667882053632, 139667882065919, +STORE, 139667882065920, 139667884167167, +STORE, 139667882053632, 139667882065919, +SNULL, 139667884158975, 139667884167167, +STORE, 139667882065920, 139667884158975, +STORE, 139667884158976, 139667884167167, +ERASE, 139667884158976, 139667884167167, +STORE, 139667884158976, 139667884167167, +STORE, 139667879837696, 139667882053631, +SNULL, 139667879837696, 139667879935999, +STORE, 139667879936000, 139667882053631, +STORE, 139667879837696, 139667879935999, +SNULL, 139667882029055, 139667882053631, +STORE, 139667879936000, 139667882029055, +STORE, 139667882029056, 139667882053631, +SNULL, 139667882029056, 139667882037247, +STORE, 139667882037248, 139667882053631, +STORE, 139667882029056, 139667882037247, +ERASE, 139667882029056, 139667882037247, +STORE, 139667882029056, 139667882037247, +ERASE, 139667882037248, 139667882053631, +STORE, 139667882037248, 139667882053631, +STORE, 139667894988800, 139667895005183, +SNULL, 139667890507775, 139667890515967, +STORE, 139667890491392, 139667890507775, +STORE, 139667890507776, 139667890515967, +SNULL, 139667882033151, 139667882037247, +STORE, 139667882029056, 139667882033151, +STORE, 139667882033152, 139667882037247, +SNULL, 139667884163071, 139667884167167, +STORE, 139667884158976, 139667884163071, +STORE, 139667884163072, 139667884167167, +SNULL, 139667886731263, 139667886735359, +STORE, 139667886727168, 139667886731263, +STORE, 139667886731264, 139667886735359, +SNULL, 139667892781055, 139667892785151, +STORE, 139667892776960, 139667892781055, +STORE, 139667892781056, 139667892785151, +SNULL, 94796718321663, 94796718325759, +STORE, 94796718317568, 94796718321663, +STORE, 94796718321664, 94796718325759, +SNULL, 139667895037951, 139667895042047, +STORE, 139667895033856, 139667895037951, +STORE, 139667895037952, 139667895042047, +ERASE, 139667895005184, 139667895033855, +STORE, 94796726063104, 94796726198271, +STORE, 139667893305344, 139667894988799, +STORE, 139667895005184, 139667895033855, +STORE, 94796726063104, 94796726333439, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722489507840, 140737488351231, +SNULL, 140722489516031, 140737488351231, +STORE, 140722489507840, 140722489516031, +STORE, 140722489376768, 140722489516031, +STORE, 93980993265664, 93980995489791, +SNULL, 93980993376255, 93980995489791, +STORE, 93980993265664, 93980993376255, +STORE, 93980993376256, 93980995489791, +ERASE, 93980993376256, 93980995489791, +STORE, 93980995469312, 93980995481599, +STORE, 93980995481600, 93980995489791, +STORE, 140261313593344, 140261315846143, +SNULL, 140261313736703, 140261315846143, +STORE, 140261313593344, 140261313736703, +STORE, 140261313736704, 140261315846143, +ERASE, 140261313736704, 140261315846143, +STORE, 140261315833856, 140261315842047, +STORE, 140261315842048, 140261315846143, +STORE, 140722489675776, 140722489679871, +STORE, 140722489663488, 140722489675775, +STORE, 140261315805184, 140261315833855, +STORE, 140261315796992, 140261315805183, +STORE, 140261309796352, 140261313593343, +SNULL, 140261309796352, 140261311455231, +STORE, 140261311455232, 140261313593343, +STORE, 140261309796352, 140261311455231, +SNULL, 140261313552383, 140261313593343, +STORE, 140261311455232, 140261313552383, +STORE, 140261313552384, 140261313593343, +SNULL, 140261313552384, 140261313576959, +STORE, 140261313576960, 140261313593343, +STORE, 140261313552384, 140261313576959, +ERASE, 140261313552384, 140261313576959, +STORE, 140261313552384, 140261313576959, +ERASE, 140261313576960, 140261313593343, +STORE, 140261313576960, 140261313593343, +SNULL, 140261313568767, 140261313576959, +STORE, 140261313552384, 140261313568767, +STORE, 140261313568768, 140261313576959, +SNULL, 93980995477503, 93980995481599, +STORE, 93980995469312, 93980995477503, +STORE, 93980995477504, 93980995481599, +SNULL, 140261315837951, 140261315842047, +STORE, 140261315833856, 140261315837951, +STORE, 140261315837952, 140261315842047, +ERASE, 140261315805184, 140261315833855, +STORE, 93980997443584, 93980997578751, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140737488338944, 140737488351231, +STORE, 140734059450368, 140737488351231, +SNULL, 140734059462655, 140737488351231, +STORE, 140734059450368, 140734059462655, +STORE, 140734059319296, 140734059462655, +STORE, 4194304, 5128191, +STORE, 7221248, 7241727, +STORE, 7241728, 7249919, +STORE, 140307554983936, 140307557236735, +SNULL, 140307555127295, 140307557236735, +STORE, 140307554983936, 140307555127295, +STORE, 140307555127296, 140307557236735, +ERASE, 140307555127296, 140307557236735, +STORE, 140307557224448, 140307557232639, +STORE, 140307557232640, 140307557236735, +STORE, 140734059483136, 140734059487231, +STORE, 140734059470848, 140734059483135, +STORE, 140307557195776, 140307557224447, +STORE, 140307557187584, 140307557195775, +STORE, 140307551821824, 140307554983935, +SNULL, 140307551821824, 140307552882687, +STORE, 140307552882688, 140307554983935, +STORE, 140307551821824, 140307552882687, +SNULL, 140307554975743, 140307554983935, +STORE, 140307552882688, 140307554975743, +STORE, 140307554975744, 140307554983935, +ERASE, 140307554975744, 140307554983935, +STORE, 140307554975744, 140307554983935, +STORE, 140307548024832, 140307551821823, +SNULL, 140307548024832, 140307549683711, +STORE, 140307549683712, 140307551821823, +STORE, 140307548024832, 140307549683711, +SNULL, 140307551780863, 140307551821823, +STORE, 140307549683712, 140307551780863, +STORE, 140307551780864, 140307551821823, +SNULL, 140307551780864, 140307551805439, +STORE, 140307551805440, 140307551821823, +STORE, 140307551780864, 140307551805439, +ERASE, 140307551780864, 140307551805439, +STORE, 140307551780864, 140307551805439, +ERASE, 140307551805440, 140307551821823, +STORE, 140307551805440, 140307551821823, +STORE, 140307557175296, 140307557195775, +SNULL, 140307551797247, 140307551805439, +STORE, 140307551780864, 140307551797247, +STORE, 140307551797248, 140307551805439, +SNULL, 140307554979839, 140307554983935, +STORE, 140307554975744, 140307554979839, +STORE, 140307554979840, 140307554983935, +SNULL, 7233535, 7241727, +STORE, 7221248, 7233535, +STORE, 7233536, 7241727, +SNULL, 140307557228543, 140307557232639, +STORE, 140307557224448, 140307557228543, +STORE, 140307557228544, 140307557232639, +ERASE, 140307557195776, 140307557224447, +STORE, 39698432, 39833599, +STORE, 39698432, 39981055, +STORE, 94306485321728, 94306485432319, +STORE, 94306487525376, 94306487533567, +STORE, 94306487533568, 94306487537663, +STORE, 94306487537664, 94306487545855, +STORE, 94306488868864, 94306489004031, +STORE, 140497673998336, 140497675657215, +STORE, 140497675657216, 140497677754367, +STORE, 140497677754368, 140497677770751, +STORE, 140497677770752, 140497677778943, +STORE, 140497677778944, 140497677795327, +STORE, 140497677795328, 140497677938687, +STORE, 140497679998976, 140497680007167, +STORE, 140497680035840, 140497680039935, +STORE, 140497680039936, 140497680044031, +STORE, 140497680044032, 140497680048127, +STORE, 140732780462080, 140732780601343, +STORE, 140732782239744, 140732782252031, +STORE, 140732782252032, 140732782256127, +STORE, 94236915900416, 94236916011007, +STORE, 94236918104064, 94236918112255, +STORE, 94236918112256, 94236918116351, +STORE, 94236918116352, 94236918124543, +STORE, 94236939489280, 94236939624447, +STORE, 140046091743232, 140046093402111, +STORE, 140046093402112, 140046095499263, +STORE, 140046095499264, 140046095515647, +STORE, 140046095515648, 140046095523839, +STORE, 140046095523840, 140046095540223, +STORE, 140046095540224, 140046095683583, +STORE, 140046097743872, 140046097752063, +STORE, 140046097780736, 140046097784831, +STORE, 140046097784832, 140046097788927, +STORE, 140046097788928, 140046097793023, +STORE, 140726694449152, 140726694588415, +STORE, 140726695313408, 140726695325695, +STORE, 140726695325696, 140726695329791, +STORE, 94894582779904, 94894582992895, +STORE, 94894585090048, 94894585094143, +STORE, 94894585094144, 94894585102335, +STORE, 94894585102336, 94894585114623, +STORE, 94894592868352, 94894594293759, +STORE, 139733563842560, 139733565501439, +STORE, 139733565501440, 139733567598591, +STORE, 139733567598592, 139733567614975, +STORE, 139733567614976, 139733567623167, +STORE, 139733567623168, 139733567639551, +STORE, 139733567639552, 139733567651839, +STORE, 139733567651840, 139733569744895, +STORE, 139733569744896, 139733569748991, +STORE, 139733569748992, 139733569753087, +STORE, 139733569753088, 139733569896447, +STORE, 139733570265088, 139733571948543, +STORE, 139733571948544, 139733571964927, +STORE, 139733571993600, 139733571997695, +STORE, 139733571997696, 139733572001791, +STORE, 139733572001792, 139733572005887, +STORE, 140726369255424, 140726369394687, +STORE, 140726370402304, 140726370414591, +STORE, 140726370414592, 140726370418687, +STORE, 94899236483072, 94899236696063, +STORE, 94899238793216, 94899238797311, +STORE, 94899238797312, 94899238805503, +STORE, 94899238805504, 94899238817791, +STORE, 94899263045632, 94899263979519, +STORE, 140040959893504, 140040961552383, +STORE, 140040961552384, 140040963649535, +STORE, 140040963649536, 140040963665919, +STORE, 140040963665920, 140040963674111, +STORE, 140040963674112, 140040963690495, +STORE, 140040963690496, 140040963702783, +STORE, 140040963702784, 140040965795839, +STORE, 140040965795840, 140040965799935, +STORE, 140040965799936, 140040965804031, +STORE, 140040965804032, 140040965947391, +STORE, 140040966316032, 140040967999487, +STORE, 140040967999488, 140040968015871, +STORE, 140040968044544, 140040968048639, +STORE, 140040968048640, 140040968052735, +STORE, 140040968052736, 140040968056831, +STORE, 140729921359872, 140729921499135, +STORE, 140729921613824, 140729921626111, +STORE, 140729921626112, 140729921630207, +STORE, 94818265190400, 94818265403391, +STORE, 94818267500544, 94818267504639, +STORE, 94818267504640, 94818267512831, +STORE, 94818267512832, 94818267525119, +STORE, 94818283372544, 94818285858815, +STORE, 139818425675776, 139818427334655, +STORE, 139818427334656, 139818429431807, +STORE, 139818429431808, 139818429448191, +STORE, 139818429448192, 139818429456383, +STORE, 139818429456384, 139818429472767, +STORE, 139818429472768, 139818429485055, +STORE, 139818429485056, 139818431578111, +STORE, 139818431578112, 139818431582207, +STORE, 139818431582208, 139818431586303, +STORE, 139818431586304, 139818431729663, +STORE, 139818432098304, 139818433781759, +STORE, 139818433781760, 139818433798143, +STORE, 139818433826816, 139818433830911, +STORE, 139818433830912, 139818433835007, +STORE, 139818433835008, 139818433839103, +STORE, 140726170509312, 140726170648575, +STORE, 140726171824128, 140726171836415, +STORE, 140726171836416, 140726171840511, +STORE, 94611513188352, 94611513401343, +STORE, 94611515498496, 94611515502591, +STORE, 94611515502592, 94611515510783, +STORE, 94611515510784, 94611515523071, +STORE, 94611516502016, 94611516907519, +STORE, 140596246388736, 140596248047615, +STORE, 140596248047616, 140596250144767, +STORE, 140596250144768, 140596250161151, +STORE, 140596250161152, 140596250169343, +STORE, 140596250169344, 140596250185727, +STORE, 140596250185728, 140596250198015, +STORE, 140596250198016, 140596252291071, +STORE, 140596252291072, 140596252295167, +STORE, 140596252295168, 140596252299263, +STORE, 140596252299264, 140596252442623, +STORE, 140596252811264, 140596254494719, +STORE, 140596254494720, 140596254511103, +STORE, 140596254539776, 140596254543871, +STORE, 140596254543872, 140596254547967, +STORE, 140596254547968, 140596254552063, +STORE, 140731551338496, 140731551477759, +STORE, 140731551780864, 140731551793151, +STORE, 140731551793152, 140731551797247, +STORE, 94313835851776, 94313836064767, +STORE, 94313838161920, 94313838166015, +STORE, 94313838166016, 94313838174207, +STORE, 94313838174208, 94313838186495, +STORE, 94313858416640, 94313861906431, +STORE, 140693503918080, 140693505576959, +STORE, 140693505576960, 140693507674111, +STORE, 140693507674112, 140693507690495, +STORE, 140693507690496, 140693507698687, +STORE, 140693507698688, 140693507715071, +STORE, 140693507715072, 140693507727359, +STORE, 140693507727360, 140693509820415, +STORE, 140693509820416, 140693509824511, +STORE, 140693509824512, 140693509828607, +STORE, 140693509828608, 140693509971967, +STORE, 140693510340608, 140693512024063, +STORE, 140693512024064, 140693512040447, +STORE, 140693512069120, 140693512073215, +STORE, 140693512073216, 140693512077311, +STORE, 140693512077312, 140693512081407, +STORE, 140721116065792, 140721116205055, +STORE, 140721117831168, 140721117843455, +STORE, 140721117843456, 140721117847551, +STORE, 94843650150400, 94843650363391, +STORE, 94843652460544, 94843652464639, +STORE, 94843652464640, 94843652472831, +STORE, 94843652472832, 94843652485119, +STORE, 94843685388288, 94843686281215, +STORE, 140484193681408, 140484195340287, +STORE, 140484195340288, 140484197437439, +STORE, 140484197437440, 140484197453823, +STORE, 140484197453824, 140484197462015, +STORE, 140484197462016, 140484197478399, +STORE, 140484197478400, 140484197490687, +STORE, 140484197490688, 140484199583743, +STORE, 140484199583744, 140484199587839, +STORE, 140484199587840, 140484199591935, +STORE, 140484199591936, 140484199735295, +STORE, 140484200103936, 140484201787391, +STORE, 140484201787392, 140484201803775, +STORE, 140484201832448, 140484201836543, +STORE, 140484201836544, 140484201840639, +STORE, 140484201840640, 140484201844735, +STORE, 140726294315008, 140726294454271, +STORE, 140726295646208, 140726295658495, +STORE, 140726295658496, 140726295662591, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140720422371328, 140737488351231, +SNULL, 140720422379519, 140737488351231, +STORE, 140720422371328, 140720422379519, +STORE, 140720422240256, 140720422379519, +STORE, 94417967845376, 94417970180095, +SNULL, 94417968058367, 94417970180095, +STORE, 94417967845376, 94417968058367, +STORE, 94417968058368, 94417970180095, +ERASE, 94417968058368, 94417970180095, +STORE, 94417970155520, 94417970167807, +STORE, 94417970167808, 94417970180095, +STORE, 140252450045952, 140252452298751, +SNULL, 140252450189311, 140252452298751, +STORE, 140252450045952, 140252450189311, +STORE, 140252450189312, 140252452298751, +ERASE, 140252450189312, 140252452298751, +STORE, 140252452286464, 140252452294655, +STORE, 140252452294656, 140252452298751, +STORE, 140720422416384, 140720422420479, +STORE, 140720422404096, 140720422416383, +STORE, 140252452257792, 140252452286463, +STORE, 140252452249600, 140252452257791, +STORE, 140252447932416, 140252450045951, +SNULL, 140252447932416, 140252447944703, +STORE, 140252447944704, 140252450045951, +STORE, 140252447932416, 140252447944703, +SNULL, 140252450037759, 140252450045951, +STORE, 140252447944704, 140252450037759, +STORE, 140252450037760, 140252450045951, +ERASE, 140252450037760, 140252450045951, +STORE, 140252450037760, 140252450045951, +STORE, 140252444135424, 140252447932415, +SNULL, 140252444135424, 140252445794303, +STORE, 140252445794304, 140252447932415, +STORE, 140252444135424, 140252445794303, +SNULL, 140252447891455, 140252447932415, +STORE, 140252445794304, 140252447891455, +STORE, 140252447891456, 140252447932415, +SNULL, 140252447891456, 140252447916031, +STORE, 140252447916032, 140252447932415, +STORE, 140252447891456, 140252447916031, +ERASE, 140252447891456, 140252447916031, +STORE, 140252447891456, 140252447916031, +ERASE, 140252447916032, 140252447932415, +STORE, 140252447916032, 140252447932415, +STORE, 140252452241408, 140252452257791, +SNULL, 140252447907839, 140252447916031, +STORE, 140252447891456, 140252447907839, +STORE, 140252447907840, 140252447916031, +SNULL, 140252450041855, 140252450045951, +STORE, 140252450037760, 140252450041855, +STORE, 140252450041856, 140252450045951, +SNULL, 94417970159615, 94417970167807, +STORE, 94417970155520, 94417970159615, +STORE, 94417970159616, 94417970167807, +SNULL, 140252452290559, 140252452294655, +STORE, 140252452286464, 140252452290559, +STORE, 140252452290560, 140252452294655, +ERASE, 140252452257792, 140252452286463, +STORE, 94417996333056, 94417996468223, +STORE, 140252450557952, 140252452241407, +STORE, 94417996333056, 94417996603391, +STORE, 94417996333056, 94417996738559, +STORE, 94417996333056, 94417996910591, +SNULL, 94417996881919, 94417996910591, +STORE, 94417996333056, 94417996881919, +STORE, 94417996881920, 94417996910591, +ERASE, 94417996881920, 94417996910591, +STORE, 94417996333056, 94417997017087, +STORE, 94417996333056, 94417997152255, +SNULL, 94417997135871, 94417997152255, +STORE, 94417996333056, 94417997135871, +STORE, 94417997135872, 94417997152255, +ERASE, 94417997135872, 94417997152255, +STORE, 94417996333056, 94417997291519, +SNULL, 94417997271039, 94417997291519, +STORE, 94417996333056, 94417997271039, +STORE, 94417997271040, 94417997291519, +ERASE, 94417997271040, 94417997291519, +STORE, 94417996333056, 94417997406207, +SNULL, 94417997381631, 94417997406207, +STORE, 94417996333056, 94417997381631, +STORE, 94417997381632, 94417997406207, +ERASE, 94417997381632, 94417997406207, +STORE, 94417996333056, 94417997516799, +SNULL, 94417997488127, 94417997516799, +STORE, 94417996333056, 94417997488127, +STORE, 94417997488128, 94417997516799, +ERASE, 94417997488128, 94417997516799, +STORE, 94417996333056, 94417997643775, +SNULL, 94417997631487, 94417997643775, +STORE, 94417996333056, 94417997631487, +STORE, 94417997631488, 94417997643775, +ERASE, 94417997631488, 94417997643775, +SNULL, 94417997590527, 94417997631487, +STORE, 94417996333056, 94417997590527, +STORE, 94417997590528, 94417997631487, +ERASE, 94417997590528, 94417997631487, +STORE, 94417996333056, 94417997733887, +STORE, 94417996333056, 94417997869055, +STORE, 94417996333056, 94417998004223, +SNULL, 94417998000127, 94417998004223, +STORE, 94417996333056, 94417998000127, +STORE, 94417998000128, 94417998004223, +ERASE, 94417998000128, 94417998004223, +STORE, 94049170993152, 94049171206143, +STORE, 94049173303296, 94049173307391, +STORE, 94049173307392, 94049173315583, +STORE, 94049173315584, 94049173327871, +STORE, 94049176236032, 94049183645695, +STORE, 139807795544064, 139807797202943, +STORE, 139807797202944, 139807799300095, +STORE, 139807799300096, 139807799316479, +STORE, 139807799316480, 139807799324671, +STORE, 139807799324672, 139807799341055, +STORE, 139807799341056, 139807799353343, +STORE, 139807799353344, 139807801446399, +STORE, 139807801446400, 139807801450495, +STORE, 139807801450496, 139807801454591, +STORE, 139807801454592, 139807801597951, +STORE, 139807801966592, 139807803650047, +STORE, 139807803650048, 139807803666431, +STORE, 139807803695104, 139807803699199, +STORE, 139807803699200, 139807803703295, +STORE, 139807803703296, 139807803707391, +STORE, 140727555538944, 140727555678207, +STORE, 140727555940352, 140727555952639, +STORE, 140727555952640, 140727555956735, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722483441664, 140737488351231, +SNULL, 140722483449855, 140737488351231, +STORE, 140722483441664, 140722483449855, +STORE, 140722483310592, 140722483449855, +STORE, 94416704921600, 94416707145727, +SNULL, 94416705032191, 94416707145727, +STORE, 94416704921600, 94416705032191, +STORE, 94416705032192, 94416707145727, +ERASE, 94416705032192, 94416707145727, +STORE, 94416707125248, 94416707137535, +STORE, 94416707137536, 94416707145727, +STORE, 140555439296512, 140555441549311, +SNULL, 140555439439871, 140555441549311, +STORE, 140555439296512, 140555439439871, +STORE, 140555439439872, 140555441549311, +ERASE, 140555439439872, 140555441549311, +STORE, 140555441537024, 140555441545215, +STORE, 140555441545216, 140555441549311, +STORE, 140722484781056, 140722484785151, +STORE, 140722484768768, 140722484781055, +STORE, 140555441508352, 140555441537023, +STORE, 140555441500160, 140555441508351, +STORE, 140555435499520, 140555439296511, +SNULL, 140555435499520, 140555437158399, +STORE, 140555437158400, 140555439296511, +STORE, 140555435499520, 140555437158399, +SNULL, 140555439255551, 140555439296511, +STORE, 140555437158400, 140555439255551, +STORE, 140555439255552, 140555439296511, +SNULL, 140555439255552, 140555439280127, +STORE, 140555439280128, 140555439296511, +STORE, 140555439255552, 140555439280127, +ERASE, 140555439255552, 140555439280127, +STORE, 140555439255552, 140555439280127, +ERASE, 140555439280128, 140555439296511, +STORE, 140555439280128, 140555439296511, +SNULL, 140555439271935, 140555439280127, +STORE, 140555439255552, 140555439271935, +STORE, 140555439271936, 140555439280127, +SNULL, 94416707133439, 94416707137535, +STORE, 94416707125248, 94416707133439, +STORE, 94416707133440, 94416707137535, +SNULL, 140555441541119, 140555441545215, +STORE, 140555441537024, 140555441541119, +STORE, 140555441541120, 140555441545215, +ERASE, 140555441508352, 140555441537023, +STORE, 94416724672512, 94416724807679, +STORE, 94686636953600, 94686637166591, +STORE, 94686639263744, 94686639267839, +STORE, 94686639267840, 94686639276031, +STORE, 94686639276032, 94686639288319, +STORE, 94686662193152, 94686663163903, +STORE, 140312944431104, 140312946089983, +STORE, 140312946089984, 140312948187135, +STORE, 140312948187136, 140312948203519, +STORE, 140312948203520, 140312948211711, +STORE, 140312948211712, 140312948228095, +STORE, 140312948228096, 140312948240383, +STORE, 140312948240384, 140312950333439, +STORE, 140312950333440, 140312950337535, +STORE, 140312950337536, 140312950341631, +STORE, 140312950341632, 140312950484991, +STORE, 140312950853632, 140312952537087, +STORE, 140312952537088, 140312952553471, +STORE, 140312952582144, 140312952586239, +STORE, 140312952586240, 140312952590335, +STORE, 140312952590336, 140312952594431, +STORE, 140730598920192, 140730599059455, +STORE, 140730599108608, 140730599120895, +STORE, 140730599120896, 140730599124991, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140726234079232, 140737488351231, +SNULL, 140726234087423, 140737488351231, +STORE, 140726234079232, 140726234087423, +STORE, 140726233948160, 140726234087423, +STORE, 94589467578368, 94589469802495, +SNULL, 94589467688959, 94589469802495, +STORE, 94589467578368, 94589467688959, +STORE, 94589467688960, 94589469802495, +ERASE, 94589467688960, 94589469802495, +STORE, 94589469782016, 94589469794303, +STORE, 94589469794304, 94589469802495, +STORE, 140587082842112, 140587085094911, +SNULL, 140587082985471, 140587085094911, +STORE, 140587082842112, 140587082985471, +STORE, 140587082985472, 140587085094911, +ERASE, 140587082985472, 140587085094911, +STORE, 140587085082624, 140587085090815, +STORE, 140587085090816, 140587085094911, +STORE, 140726234103808, 140726234107903, +STORE, 140726234091520, 140726234103807, +STORE, 140587085053952, 140587085082623, +STORE, 140587085045760, 140587085053951, +STORE, 140587079045120, 140587082842111, +SNULL, 140587079045120, 140587080703999, +STORE, 140587080704000, 140587082842111, +STORE, 140587079045120, 140587080703999, +SNULL, 140587082801151, 140587082842111, +STORE, 140587080704000, 140587082801151, +STORE, 140587082801152, 140587082842111, +SNULL, 140587082801152, 140587082825727, +STORE, 140587082825728, 140587082842111, +STORE, 140587082801152, 140587082825727, +ERASE, 140587082801152, 140587082825727, +STORE, 140587082801152, 140587082825727, +ERASE, 140587082825728, 140587082842111, +STORE, 140587082825728, 140587082842111, +SNULL, 140587082817535, 140587082825727, +STORE, 140587082801152, 140587082817535, +STORE, 140587082817536, 140587082825727, +SNULL, 94589469790207, 94589469794303, +STORE, 94589469782016, 94589469790207, +STORE, 94589469790208, 94589469794303, +SNULL, 140587085086719, 140587085090815, +STORE, 140587085082624, 140587085086719, +STORE, 140587085086720, 140587085090815, +ERASE, 140587085053952, 140587085082623, +STORE, 94589477507072, 94589477642239, +STORE, 94225448325120, 94225448538111, +STORE, 94225450635264, 94225450639359, +STORE, 94225450639360, 94225450647551, +STORE, 94225450647552, 94225450659839, +STORE, 94225470246912, 94225473548287, +STORE, 140199245496320, 140199247155199, +STORE, 140199247155200, 140199249252351, +STORE, 140199249252352, 140199249268735, +STORE, 140199249268736, 140199249276927, +STORE, 140199249276928, 140199249293311, +STORE, 140199249293312, 140199249305599, +STORE, 140199249305600, 140199251398655, +STORE, 140199251398656, 140199251402751, +STORE, 140199251402752, 140199251406847, +STORE, 140199251406848, 140199251550207, +STORE, 140199251918848, 140199253602303, +STORE, 140199253602304, 140199253618687, +STORE, 140199253647360, 140199253651455, +STORE, 140199253651456, 140199253655551, +STORE, 140199253655552, 140199253659647, +STORE, 140726264414208, 140726264553471, +STORE, 140726265843712, 140726265855999, +STORE, 140726265856000, 140726265860095, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733508358144, 140737488351231, +SNULL, 140733508366335, 140737488351231, +STORE, 140733508358144, 140733508366335, +STORE, 140733508227072, 140733508366335, +STORE, 94766263947264, 94766266171391, +SNULL, 94766264057855, 94766266171391, +STORE, 94766263947264, 94766264057855, +STORE, 94766264057856, 94766266171391, +ERASE, 94766264057856, 94766266171391, +STORE, 94766266150912, 94766266163199, +STORE, 94766266163200, 94766266171391, +STORE, 140693985132544, 140693987385343, +SNULL, 140693985275903, 140693987385343, +STORE, 140693985132544, 140693985275903, +STORE, 140693985275904, 140693987385343, +ERASE, 140693985275904, 140693987385343, +STORE, 140693987373056, 140693987381247, +STORE, 140693987381248, 140693987385343, +STORE, 140733509939200, 140733509943295, +STORE, 140733509926912, 140733509939199, +STORE, 140693987344384, 140693987373055, +STORE, 140693987336192, 140693987344383, +STORE, 140693981335552, 140693985132543, +SNULL, 140693981335552, 140693982994431, +STORE, 140693982994432, 140693985132543, +STORE, 140693981335552, 140693982994431, +SNULL, 140693985091583, 140693985132543, +STORE, 140693982994432, 140693985091583, +STORE, 140693985091584, 140693985132543, +SNULL, 140693985091584, 140693985116159, +STORE, 140693985116160, 140693985132543, +STORE, 140693985091584, 140693985116159, +ERASE, 140693985091584, 140693985116159, +STORE, 140693985091584, 140693985116159, +ERASE, 140693985116160, 140693985132543, +STORE, 140693985116160, 140693985132543, +SNULL, 140693985107967, 140693985116159, +STORE, 140693985091584, 140693985107967, +STORE, 140693985107968, 140693985116159, +SNULL, 94766266159103, 94766266163199, +STORE, 94766266150912, 94766266159103, +STORE, 94766266159104, 94766266163199, +SNULL, 140693987377151, 140693987381247, +STORE, 140693987373056, 140693987377151, +STORE, 140693987377152, 140693987381247, +ERASE, 140693987344384, 140693987373055, +STORE, 94766282035200, 94766282170367, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140724769353728, 140737488351231, +SNULL, 140724769361919, 140737488351231, +STORE, 140724769353728, 140724769361919, +STORE, 140724769222656, 140724769361919, +STORE, 94710460526592, 94710462750719, +SNULL, 94710460637183, 94710462750719, +STORE, 94710460526592, 94710460637183, +STORE, 94710460637184, 94710462750719, +ERASE, 94710460637184, 94710462750719, +STORE, 94710462730240, 94710462742527, +STORE, 94710462742528, 94710462750719, +STORE, 140469764395008, 140469766647807, +SNULL, 140469764538367, 140469766647807, +STORE, 140469764395008, 140469764538367, +STORE, 140469764538368, 140469766647807, +ERASE, 140469764538368, 140469766647807, +STORE, 140469766635520, 140469766643711, +STORE, 140469766643712, 140469766647807, +STORE, 140724770877440, 140724770881535, +STORE, 140724770865152, 140724770877439, +STORE, 140469766606848, 140469766635519, +STORE, 140469766598656, 140469766606847, +STORE, 140469760598016, 140469764395007, +SNULL, 140469760598016, 140469762256895, +STORE, 140469762256896, 140469764395007, +STORE, 140469760598016, 140469762256895, +SNULL, 140469764354047, 140469764395007, +STORE, 140469762256896, 140469764354047, +STORE, 140469764354048, 140469764395007, +SNULL, 140469764354048, 140469764378623, +STORE, 140469764378624, 140469764395007, +STORE, 140469764354048, 140469764378623, +ERASE, 140469764354048, 140469764378623, +STORE, 140469764354048, 140469764378623, +ERASE, 140469764378624, 140469764395007, +STORE, 140469764378624, 140469764395007, +SNULL, 140469764370431, 140469764378623, +STORE, 140469764354048, 140469764370431, +STORE, 140469764370432, 140469764378623, +SNULL, 94710462738431, 94710462742527, +STORE, 94710462730240, 94710462738431, +STORE, 94710462738432, 94710462742527, +SNULL, 140469766639615, 140469766643711, +STORE, 140469766635520, 140469766639615, +STORE, 140469766639616, 140469766643711, +ERASE, 140469766606848, 140469766635519, +STORE, 94710485581824, 94710485716991, +STORE, 94105755795456, 94105756008447, +STORE, 94105758105600, 94105758109695, +STORE, 94105758109696, 94105758117887, +STORE, 94105758117888, 94105758130175, +STORE, 94105788981248, 94105794871295, +STORE, 140641190031360, 140641191690239, +STORE, 140641191690240, 140641193787391, +STORE, 140641193787392, 140641193803775, +STORE, 140641193803776, 140641193811967, +STORE, 140641193811968, 140641193828351, +STORE, 140641193828352, 140641193840639, +STORE, 140641193840640, 140641195933695, +STORE, 140641195933696, 140641195937791, +STORE, 140641195937792, 140641195941887, +STORE, 140641195941888, 140641196085247, +STORE, 140641196453888, 140641198137343, +STORE, 140641198137344, 140641198153727, +STORE, 140641198182400, 140641198186495, +STORE, 140641198186496, 140641198190591, +STORE, 140641198190592, 140641198194687, +STORE, 140731980034048, 140731980173311, +STORE, 140731981078528, 140731981090815, +STORE, 140731981090816, 140731981094911, +STORE, 93828086431744, 93828086644735, +STORE, 93828088741888, 93828088745983, +STORE, 93828088745984, 93828088754175, +STORE, 93828088754176, 93828088766463, +STORE, 93828094193664, 93828096831487, +STORE, 139844717334528, 139844718993407, +STORE, 139844718993408, 139844721090559, +STORE, 139844721090560, 139844721106943, +STORE, 139844721106944, 139844721115135, +STORE, 139844721115136, 139844721131519, +STORE, 139844721131520, 139844721143807, +STORE, 139844721143808, 139844723236863, +STORE, 139844723236864, 139844723240959, +STORE, 139844723240960, 139844723245055, +STORE, 139844723245056, 139844723388415, +STORE, 139844723757056, 139844725440511, +STORE, 139844725440512, 139844725456895, +STORE, 139844725485568, 139844725489663, +STORE, 139844725489664, 139844725493759, +STORE, 139844725493760, 139844725497855, +STORE, 140729996185600, 140729996324863, +STORE, 140729996828672, 140729996840959, +STORE, 140729996840960, 140729996845055, +STORE, 140737488347136, 140737488351231, +STORE, 140722494771200, 140737488351231, +SNULL, 140722494775295, 140737488351231, +STORE, 140722494771200, 140722494775295, +STORE, 140722494640128, 140722494775295, +STORE, 94324011311104, 94324013535231, +SNULL, 94324011421695, 94324013535231, +STORE, 94324011311104, 94324011421695, +STORE, 94324011421696, 94324013535231, +ERASE, 94324011421696, 94324013535231, +STORE, 94324013514752, 94324013527039, +STORE, 94324013527040, 94324013535231, +STORE, 140151462309888, 140151464562687, +SNULL, 140151462453247, 140151464562687, +STORE, 140151462309888, 140151462453247, +STORE, 140151462453248, 140151464562687, +ERASE, 140151462453248, 140151464562687, +STORE, 140151464550400, 140151464558591, +STORE, 140151464558592, 140151464562687, +STORE, 140722495467520, 140722495471615, +STORE, 140722495455232, 140722495467519, +STORE, 140151464521728, 140151464550399, +STORE, 140151464513536, 140151464521727, +STORE, 140151458512896, 140151462309887, +SNULL, 140151458512896, 140151460171775, +STORE, 140151460171776, 140151462309887, +STORE, 140151458512896, 140151460171775, +SNULL, 140151462268927, 140151462309887, +STORE, 140151460171776, 140151462268927, +STORE, 140151462268928, 140151462309887, +SNULL, 140151462268928, 140151462293503, +STORE, 140151462293504, 140151462309887, +STORE, 140151462268928, 140151462293503, +ERASE, 140151462268928, 140151462293503, +STORE, 140151462268928, 140151462293503, +ERASE, 140151462293504, 140151462309887, +STORE, 140151462293504, 140151462309887, +SNULL, 140151462285311, 140151462293503, +STORE, 140151462268928, 140151462285311, +STORE, 140151462285312, 140151462293503, +SNULL, 94324013522943, 94324013527039, +STORE, 94324013514752, 94324013522943, +STORE, 94324013522944, 94324013527039, +SNULL, 140151464554495, 140151464558591, +STORE, 140151464550400, 140151464554495, +STORE, 140151464554496, 140151464558591, +ERASE, 140151464521728, 140151464550399, +STORE, 94324024778752, 94324024913919, +STORE, 94899262967808, 94899263180799, +STORE, 94899265277952, 94899265282047, +STORE, 94899265282048, 94899265290239, +STORE, 94899265290240, 94899265302527, +STORE, 94899295469568, 94899298689023, +STORE, 140434388418560, 140434390077439, +STORE, 140434390077440, 140434392174591, +STORE, 140434392174592, 140434392190975, +STORE, 140434392190976, 140434392199167, +STORE, 140434392199168, 140434392215551, +STORE, 140434392215552, 140434392227839, +STORE, 140434392227840, 140434394320895, +STORE, 140434394320896, 140434394324991, +STORE, 140434394324992, 140434394329087, +STORE, 140434394329088, 140434394472447, +STORE, 140434394841088, 140434396524543, +STORE, 140434396524544, 140434396540927, +STORE, 140434396569600, 140434396573695, +STORE, 140434396573696, 140434396577791, +STORE, 140434396577792, 140434396581887, +STORE, 140720618135552, 140720618274815, +STORE, 140720618418176, 140720618430463, +STORE, 140720618430464, 140720618434559, +STORE, 94425529798656, 94425530011647, +STORE, 94425532108800, 94425532112895, +STORE, 94425532112896, 94425532121087, +STORE, 94425532121088, 94425532133375, +STORE, 94425557753856, 94425566576639, +STORE, 140600528470016, 140600530128895, +STORE, 140600530128896, 140600532226047, +STORE, 140600532226048, 140600532242431, +STORE, 140600532242432, 140600532250623, +STORE, 140600532250624, 140600532267007, +STORE, 140600532267008, 140600532279295, +STORE, 140600532279296, 140600534372351, +STORE, 140600534372352, 140600534376447, +STORE, 140600534376448, 140600534380543, +STORE, 140600534380544, 140600534523903, +STORE, 140600534892544, 140600536575999, +STORE, 140600536576000, 140600536592383, +STORE, 140600536621056, 140600536625151, +STORE, 140600536625152, 140600536629247, +STORE, 140600536629248, 140600536633343, +STORE, 140721857785856, 140721857925119, +STORE, 140721858068480, 140721858080767, +STORE, 140721858080768, 140721858084863, +STORE, 94425529798656, 94425530011647, +STORE, 94425532108800, 94425532112895, +STORE, 94425532112896, 94425532121087, +STORE, 94425532121088, 94425532133375, +STORE, 94425557753856, 94425568772095, +STORE, 140600528470016, 140600530128895, +STORE, 140600530128896, 140600532226047, +STORE, 140600532226048, 140600532242431, +STORE, 140600532242432, 140600532250623, +STORE, 140600532250624, 140600532267007, +STORE, 140600532267008, 140600532279295, +STORE, 140600532279296, 140600534372351, +STORE, 140600534372352, 140600534376447, +STORE, 140600534376448, 140600534380543, +STORE, 140600534380544, 140600534523903, +STORE, 140600534892544, 140600536575999, +STORE, 140600536576000, 140600536592383, +STORE, 140600536621056, 140600536625151, +STORE, 140600536625152, 140600536629247, +STORE, 140600536629248, 140600536633343, +STORE, 140721857785856, 140721857925119, +STORE, 140721858068480, 140721858080767, +STORE, 140721858080768, 140721858084863, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735611645952, 140737488351231, +SNULL, 140735611654143, 140737488351231, +STORE, 140735611645952, 140735611654143, +STORE, 140735611514880, 140735611654143, +STORE, 94592137641984, 94592139866111, +SNULL, 94592137752575, 94592139866111, +STORE, 94592137641984, 94592137752575, +STORE, 94592137752576, 94592139866111, +ERASE, 94592137752576, 94592139866111, +STORE, 94592139845632, 94592139857919, +STORE, 94592139857920, 94592139866111, +STORE, 140350425030656, 140350427283455, +SNULL, 140350425174015, 140350427283455, +STORE, 140350425030656, 140350425174015, +STORE, 140350425174016, 140350427283455, +ERASE, 140350425174016, 140350427283455, +STORE, 140350427271168, 140350427279359, +STORE, 140350427279360, 140350427283455, +STORE, 140735612043264, 140735612047359, +STORE, 140735612030976, 140735612043263, +STORE, 140350427242496, 140350427271167, +STORE, 140350427234304, 140350427242495, +STORE, 140350421233664, 140350425030655, +SNULL, 140350421233664, 140350422892543, +STORE, 140350422892544, 140350425030655, +STORE, 140350421233664, 140350422892543, +SNULL, 140350424989695, 140350425030655, +STORE, 140350422892544, 140350424989695, +STORE, 140350424989696, 140350425030655, +SNULL, 140350424989696, 140350425014271, +STORE, 140350425014272, 140350425030655, +STORE, 140350424989696, 140350425014271, +ERASE, 140350424989696, 140350425014271, +STORE, 140350424989696, 140350425014271, +ERASE, 140350425014272, 140350425030655, +STORE, 140350425014272, 140350425030655, +SNULL, 140350425006079, 140350425014271, +STORE, 140350424989696, 140350425006079, +STORE, 140350425006080, 140350425014271, +SNULL, 94592139853823, 94592139857919, +STORE, 94592139845632, 94592139853823, +STORE, 94592139853824, 94592139857919, +SNULL, 140350427275263, 140350427279359, +STORE, 140350427271168, 140350427275263, +STORE, 140350427275264, 140350427279359, +ERASE, 140350427242496, 140350427271167, +STORE, 94592164823040, 94592164958207, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140723500535808, 140737488351231, +SNULL, 140723500543999, 140737488351231, +STORE, 140723500535808, 140723500543999, +STORE, 140723500404736, 140723500543999, +STORE, 94458379010048, 94458381234175, +SNULL, 94458379120639, 94458381234175, +STORE, 94458379010048, 94458379120639, +STORE, 94458379120640, 94458381234175, +ERASE, 94458379120640, 94458381234175, +STORE, 94458381213696, 94458381225983, +STORE, 94458381225984, 94458381234175, +STORE, 139771674230784, 139771676483583, +SNULL, 139771674374143, 139771676483583, +STORE, 139771674230784, 139771674374143, +STORE, 139771674374144, 139771676483583, +ERASE, 139771674374144, 139771676483583, +STORE, 139771676471296, 139771676479487, +STORE, 139771676479488, 139771676483583, +STORE, 140723500769280, 140723500773375, +STORE, 140723500756992, 140723500769279, +STORE, 139771676442624, 139771676471295, +STORE, 139771676434432, 139771676442623, +STORE, 139771670433792, 139771674230783, +SNULL, 139771670433792, 139771672092671, +STORE, 139771672092672, 139771674230783, +STORE, 139771670433792, 139771672092671, +SNULL, 139771674189823, 139771674230783, +STORE, 139771672092672, 139771674189823, +STORE, 139771674189824, 139771674230783, +SNULL, 139771674189824, 139771674214399, +STORE, 139771674214400, 139771674230783, +STORE, 139771674189824, 139771674214399, +ERASE, 139771674189824, 139771674214399, +STORE, 139771674189824, 139771674214399, +ERASE, 139771674214400, 139771674230783, +STORE, 139771674214400, 139771674230783, +SNULL, 139771674206207, 139771674214399, +STORE, 139771674189824, 139771674206207, +STORE, 139771674206208, 139771674214399, +SNULL, 94458381221887, 94458381225983, +STORE, 94458381213696, 94458381221887, +STORE, 94458381221888, 94458381225983, +SNULL, 139771676475391, 139771676479487, +STORE, 139771676471296, 139771676475391, +STORE, 139771676475392, 139771676479487, +ERASE, 139771676442624, 139771676471295, +STORE, 94458401873920, 94458402009087, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140731316264960, 140737488351231, +SNULL, 140731316273151, 140737488351231, +STORE, 140731316264960, 140731316273151, +STORE, 140731316133888, 140731316273151, +STORE, 94437830881280, 94437833215999, +SNULL, 94437831094271, 94437833215999, +STORE, 94437830881280, 94437831094271, +STORE, 94437831094272, 94437833215999, +ERASE, 94437831094272, 94437833215999, +STORE, 94437833191424, 94437833203711, +STORE, 94437833203712, 94437833215999, +STORE, 140265986031616, 140265988284415, +SNULL, 140265986174975, 140265988284415, +STORE, 140265986031616, 140265986174975, +STORE, 140265986174976, 140265988284415, +ERASE, 140265986174976, 140265988284415, +STORE, 140265988272128, 140265988280319, +STORE, 140265988280320, 140265988284415, +STORE, 140731316318208, 140731316322303, +STORE, 140731316305920, 140731316318207, +STORE, 140265988243456, 140265988272127, +STORE, 140265988235264, 140265988243455, +STORE, 140265983918080, 140265986031615, +SNULL, 140265983918080, 140265983930367, +STORE, 140265983930368, 140265986031615, +STORE, 140265983918080, 140265983930367, +SNULL, 140265986023423, 140265986031615, +STORE, 140265983930368, 140265986023423, +STORE, 140265986023424, 140265986031615, +ERASE, 140265986023424, 140265986031615, +STORE, 140265986023424, 140265986031615, +STORE, 140265980121088, 140265983918079, +SNULL, 140265980121088, 140265981779967, +STORE, 140265981779968, 140265983918079, +STORE, 140265980121088, 140265981779967, +SNULL, 140265983877119, 140265983918079, +STORE, 140265981779968, 140265983877119, +STORE, 140265983877120, 140265983918079, +SNULL, 140265983877120, 140265983901695, +STORE, 140265983901696, 140265983918079, +STORE, 140265983877120, 140265983901695, +ERASE, 140265983877120, 140265983901695, +STORE, 140265983877120, 140265983901695, +ERASE, 140265983901696, 140265983918079, +STORE, 140265983901696, 140265983918079, +STORE, 140265988227072, 140265988243455, +SNULL, 140265983893503, 140265983901695, +STORE, 140265983877120, 140265983893503, +STORE, 140265983893504, 140265983901695, +SNULL, 140265986027519, 140265986031615, +STORE, 140265986023424, 140265986027519, +STORE, 140265986027520, 140265986031615, +SNULL, 94437833195519, 94437833203711, +STORE, 94437833191424, 94437833195519, +STORE, 94437833195520, 94437833203711, +SNULL, 140265988276223, 140265988280319, +STORE, 140265988272128, 140265988276223, +STORE, 140265988276224, 140265988280319, +ERASE, 140265988243456, 140265988272127, +STORE, 94437847638016, 94437847773183, +STORE, 140265986543616, 140265988227071, +STORE, 94437847638016, 94437847908351, +STORE, 94437847638016, 94437848043519, +STORE, 94437847638016, 94437848190975, +SNULL, 94437848178687, 94437848190975, +STORE, 94437847638016, 94437848178687, +STORE, 94437848178688, 94437848190975, +ERASE, 94437848178688, 94437848190975, +STORE, 94437847638016, 94437848330239, +STORE, 94437847638016, 94437848465407, +SNULL, 94437848444927, 94437848465407, +STORE, 94437847638016, 94437848444927, +STORE, 94437848444928, 94437848465407, +ERASE, 94437848444928, 94437848465407, +STORE, 94437847638016, 94437848584191, +STORE, 94437847638016, 94437848719359, +SNULL, 94437848678399, 94437848719359, +STORE, 94437847638016, 94437848678399, +STORE, 94437848678400, 94437848719359, +ERASE, 94437848678400, 94437848719359, +STORE, 94437847638016, 94437848842239, +SNULL, 94437848825855, 94437848842239, +STORE, 94437847638016, 94437848825855, +STORE, 94437848825856, 94437848842239, +ERASE, 94437848825856, 94437848842239, +STORE, 94437847638016, 94437848961023, +STORE, 94437847638016, 94437849096191, +STORE, 94661814710272, 94661814923263, +STORE, 94661817020416, 94661817024511, +STORE, 94661817024512, 94661817032703, +STORE, 94661817032704, 94661817044991, +STORE, 94661840424960, 94661841240063, +STORE, 140582259814400, 140582261473279, +STORE, 140582261473280, 140582263570431, +STORE, 140582263570432, 140582263586815, +STORE, 140582263586816, 140582263595007, +STORE, 140582263595008, 140582263611391, +STORE, 140582263611392, 140582263623679, +STORE, 140582263623680, 140582265716735, +STORE, 140582265716736, 140582265720831, +STORE, 140582265720832, 140582265724927, +STORE, 140582265724928, 140582265868287, +STORE, 140582266236928, 140582267920383, +STORE, 140582267920384, 140582267936767, +STORE, 140582267965440, 140582267969535, +STORE, 140582267969536, 140582267973631, +STORE, 140582267973632, 140582267977727, +STORE, 140735472508928, 140735472648191, +STORE, 140735472672768, 140735472685055, +STORE, 140735472685056, 140735472689151, +STORE, 94440069140480, 94440069353471, +STORE, 94440071450624, 94440071454719, +STORE, 94440071454720, 94440071462911, +STORE, 94440071462912, 94440071475199, +STORE, 94440072122368, 94440079048703, +STORE, 140112218095616, 140112219754495, +STORE, 140112219754496, 140112221851647, +STORE, 140112221851648, 140112221868031, +STORE, 140112221868032, 140112221876223, +STORE, 140112221876224, 140112221892607, +STORE, 140112221892608, 140112221904895, +STORE, 140112221904896, 140112223997951, +STORE, 140112223997952, 140112224002047, +STORE, 140112224002048, 140112224006143, +STORE, 140112224006144, 140112224149503, +STORE, 140112224518144, 140112226201599, +STORE, 140112226201600, 140112226217983, +STORE, 140112226246656, 140112226250751, +STORE, 140112226250752, 140112226254847, +STORE, 140112226254848, 140112226258943, +STORE, 140737460969472, 140737461108735, +STORE, 140737462083584, 140737462095871, +STORE, 140737462095872, 140737462099967, +STORE, 94257654345728, 94257654390783, +STORE, 94257656483840, 94257656487935, +STORE, 94257656487936, 94257656492031, +STORE, 94257656492032, 94257656496127, +STORE, 94257665859584, 94257665994751, +STORE, 140507070345216, 140507070386175, +STORE, 140507070386176, 140507072483327, +STORE, 140507072483328, 140507072487423, +STORE, 140507072487424, 140507072491519, +STORE, 140507072491520, 140507072516095, +STORE, 140507072516096, 140507072561151, +STORE, 140507072561152, 140507074654207, +STORE, 140507074654208, 140507074658303, +STORE, 140507074658304, 140507074662399, +STORE, 140507074662400, 140507074744319, +STORE, 140507074744320, 140507076841471, +STORE, 140507076841472, 140507076845567, +STORE, 140507076845568, 140507076849663, +STORE, 140507076849664, 140507076857855, +STORE, 140507076857856, 140507076886527, +STORE, 140507076886528, 140507078979583, +STORE, 140507078979584, 140507078983679, +STORE, 140507078983680, 140507078987775, +STORE, 140507078987776, 140507079086079, +STORE, 140507079086080, 140507081179135, +STORE, 140507081179136, 140507081183231, +STORE, 140507081183232, 140507081187327, +STORE, 140507081187328, 140507081203711, +STORE, 140507081203712, 140507081220095, +STORE, 140507081220096, 140507083317247, +STORE, 140507083317248, 140507083321343, +STORE, 140507083321344, 140507083325439, +STORE, 140507083325440, 140507083792383, +STORE, 140507083792384, 140507085885439, +STORE, 140507085885440, 140507085889535, +STORE, 140507085889536, 140507085893631, +STORE, 140507085893632, 140507085905919, +STORE, 140507085905920, 140507087998975, +STORE, 140507087998976, 140507088003071, +STORE, 140507088003072, 140507088007167, +STORE, 140507088007168, 140507088125951, +STORE, 140507088125952, 140507090219007, +STORE, 140507090219008, 140507090223103, +STORE, 140507090223104, 140507090227199, +STORE, 140507090227200, 140507090268159, +STORE, 140507090268160, 140507091927039, +STORE, 140507091927040, 140507094024191, +STORE, 140507094024192, 140507094040575, +STORE, 140507094040576, 140507094048767, +STORE, 140507094048768, 140507094065151, +STORE, 140507094065152, 140507094216703, +STORE, 140507094216704, 140507096309759, +STORE, 140507096309760, 140507096313855, +STORE, 140507096313856, 140507096317951, +STORE, 140507096317952, 140507096326143, +STORE, 140507096326144, 140507096379391, +STORE, 140507096379392, 140507098472447, +STORE, 140507098472448, 140507098476543, +STORE, 140507098476544, 140507098480639, +STORE, 140507098480640, 140507098623999, +STORE, 140507098980352, 140507100663807, +STORE, 140507100663808, 140507100692479, +STORE, 140507100721152, 140507100725247, +STORE, 140507100725248, 140507100729343, +STORE, 140507100729344, 140507100733439, +STORE, 140728152780800, 140728152915967, +STORE, 140728153698304, 140728153710591, +STORE, 140728153710592, 140728153714687, +STORE, 140507068137472, 140507070345215, +SNULL, 140507068137472, 140507068190719, +STORE, 140507068190720, 140507070345215, +STORE, 140507068137472, 140507068190719, +SNULL, 140507070287871, 140507070345215, +STORE, 140507068190720, 140507070287871, +STORE, 140507070287872, 140507070345215, +SNULL, 140507070287872, 140507070296063, +STORE, 140507070296064, 140507070345215, +STORE, 140507070287872, 140507070296063, +ERASE, 140507070287872, 140507070296063, +STORE, 140507070287872, 140507070296063, +ERASE, 140507070296064, 140507070345215, +STORE, 140507070296064, 140507070345215, +STORE, 140507100692480, 140507100721151, +STORE, 140507065810944, 140507068137471, +SNULL, 140507065810944, 140507065843711, +STORE, 140507065843712, 140507068137471, +STORE, 140507065810944, 140507065843711, +SNULL, 140507067940863, 140507068137471, +STORE, 140507065843712, 140507067940863, +STORE, 140507067940864, 140507068137471, +SNULL, 140507067940864, 140507067949055, +STORE, 140507067949056, 140507068137471, +STORE, 140507067940864, 140507067949055, +ERASE, 140507067940864, 140507067949055, +STORE, 140507067940864, 140507067949055, +ERASE, 140507067949056, 140507068137471, +STORE, 140507067949056, 140507068137471, +SNULL, 140507067944959, 140507067949055, +STORE, 140507067940864, 140507067944959, +STORE, 140507067944960, 140507067949055, +SNULL, 140507070291967, 140507070296063, +STORE, 140507070287872, 140507070291967, +STORE, 140507070291968, 140507070296063, +ERASE, 140507100692480, 140507100721151, +STORE, 140507063705600, 140507065810943, +SNULL, 140507063705600, 140507063709695, +STORE, 140507063709696, 140507065810943, +STORE, 140507063705600, 140507063709695, +SNULL, 140507065802751, 140507065810943, +STORE, 140507063709696, 140507065802751, +STORE, 140507065802752, 140507065810943, +ERASE, 140507065802752, 140507065810943, +STORE, 140507065802752, 140507065810943, +SNULL, 140507065806847, 140507065810943, +STORE, 140507065802752, 140507065806847, +STORE, 140507065806848, 140507065810943, +STORE, 140507061600256, 140507063705599, +SNULL, 140507061600256, 140507061604351, +STORE, 140507061604352, 140507063705599, +STORE, 140507061600256, 140507061604351, +SNULL, 140507063697407, 140507063705599, +STORE, 140507061604352, 140507063697407, +STORE, 140507063697408, 140507063705599, +ERASE, 140507063697408, 140507063705599, +STORE, 140507063697408, 140507063705599, +SNULL, 140507063701503, 140507063705599, +STORE, 140507063697408, 140507063701503, +STORE, 140507063701504, 140507063705599, +STORE, 140507059490816, 140507061600255, +SNULL, 140507059490816, 140507059499007, +STORE, 140507059499008, 140507061600255, +STORE, 140507059490816, 140507059499007, +SNULL, 140507061592063, 140507061600255, +STORE, 140507059499008, 140507061592063, +STORE, 140507061592064, 140507061600255, +ERASE, 140507061592064, 140507061600255, +STORE, 140507061592064, 140507061600255, +SNULL, 140507061596159, 140507061600255, +STORE, 140507061592064, 140507061596159, +STORE, 140507061596160, 140507061600255, +STORE, 140507057377280, 140507059490815, +SNULL, 140507057377280, 140507057389567, +STORE, 140507057389568, 140507059490815, +STORE, 140507057377280, 140507057389567, +SNULL, 140507059482623, 140507059490815, +STORE, 140507057389568, 140507059482623, +STORE, 140507059482624, 140507059490815, +ERASE, 140507059482624, 140507059490815, +STORE, 140507059482624, 140507059490815, +SNULL, 140507059486719, 140507059490815, +STORE, 140507059482624, 140507059486719, +STORE, 140507059486720, 140507059490815, +STORE, 140507055255552, 140507057377279, +SNULL, 140507055255552, 140507055276031, +STORE, 140507055276032, 140507057377279, +STORE, 140507055255552, 140507055276031, +SNULL, 140507057369087, 140507057377279, +STORE, 140507055276032, 140507057369087, +STORE, 140507057369088, 140507057377279, +ERASE, 140507057369088, 140507057377279, +STORE, 140507057369088, 140507057377279, +SNULL, 140507057373183, 140507057377279, +STORE, 140507057369088, 140507057373183, +STORE, 140507057373184, 140507057377279, +STORE, 140507098693632, 140507098980351, +SNULL, 140507098959871, 140507098980351, +STORE, 140507098693632, 140507098959871, +STORE, 140507098959872, 140507098980351, +SNULL, 140507098959872, 140507098976255, +STORE, 140507098976256, 140507098980351, +STORE, 140507098959872, 140507098976255, +ERASE, 140507098959872, 140507098976255, +STORE, 140507098959872, 140507098976255, +ERASE, 140507098976256, 140507098980351, +STORE, 140507098976256, 140507098980351, +STORE, 140507100692480, 140507100721151, +STORE, 140507053125632, 140507055255551, +SNULL, 140507053125632, 140507053154303, +STORE, 140507053154304, 140507055255551, +STORE, 140507053125632, 140507053154303, +SNULL, 140507055247359, 140507055255551, +STORE, 140507053154304, 140507055247359, +STORE, 140507055247360, 140507055255551, +ERASE, 140507055247360, 140507055255551, +STORE, 140507055247360, 140507055255551, +STORE, 140507051012096, 140507053125631, +SNULL, 140507051012096, 140507051024383, +STORE, 140507051024384, 140507053125631, +STORE, 140507051012096, 140507051024383, +SNULL, 140507053117439, 140507053125631, +STORE, 140507051024384, 140507053117439, +STORE, 140507053117440, 140507053125631, +ERASE, 140507053117440, 140507053125631, +STORE, 140507053117440, 140507053125631, +SNULL, 140507053121535, 140507053125631, +STORE, 140507053117440, 140507053121535, +STORE, 140507053121536, 140507053125631, +SNULL, 140507055251455, 140507055255551, +STORE, 140507055247360, 140507055251455, +STORE, 140507055251456, 140507055255551, +SNULL, 140507098972159, 140507098976255, +STORE, 140507098959872, 140507098972159, +STORE, 140507098972160, 140507098976255, +ERASE, 140507100692480, 140507100721151, +STORE, 140507100717056, 140507100721151, +ERASE, 140507100717056, 140507100721151, +STORE, 140507100717056, 140507100721151, +ERASE, 140507100717056, 140507100721151, +STORE, 140507100717056, 140507100721151, +ERASE, 140507100717056, 140507100721151, +STORE, 140507100717056, 140507100721151, +ERASE, 140507100717056, 140507100721151, +STORE, 140507100692480, 140507100721151, +ERASE, 140507068137472, 140507068190719, +ERASE, 140507068190720, 140507070287871, +ERASE, 140507070287872, 140507070291967, +ERASE, 140507070291968, 140507070296063, +ERASE, 140507070296064, 140507070345215, +ERASE, 140507065810944, 140507065843711, +ERASE, 140507065843712, 140507067940863, +ERASE, 140507067940864, 140507067944959, +ERASE, 140507067944960, 140507067949055, +ERASE, 140507067949056, 140507068137471, +ERASE, 140507063705600, 140507063709695, +ERASE, 140507063709696, 140507065802751, +ERASE, 140507065802752, 140507065806847, +ERASE, 140507065806848, 140507065810943, +ERASE, 140507061600256, 140507061604351, +ERASE, 140507061604352, 140507063697407, +ERASE, 140507063697408, 140507063701503, +ERASE, 140507063701504, 140507063705599, +ERASE, 140507059490816, 140507059499007, +ERASE, 140507059499008, 140507061592063, +ERASE, 140507061592064, 140507061596159, +ERASE, 140507061596160, 140507061600255, +ERASE, 140507057377280, 140507057389567, +ERASE, 140507057389568, 140507059482623, +ERASE, 140507059482624, 140507059486719, +ERASE, 140507059486720, 140507059490815, +ERASE, 140507055255552, 140507055276031, +ERASE, 140507055276032, 140507057369087, +ERASE, 140507057369088, 140507057373183, +ERASE, 140507057373184, 140507057377279, +ERASE, 140507098693632, 140507098959871, +ERASE, 140507098959872, 140507098972159, +ERASE, 140507098972160, 140507098976255, +ERASE, 140507098976256, 140507098980351, +ERASE, 140507051012096, 140507051024383, +ERASE, 140507051024384, 140507053117439, +ERASE, 140507053117440, 140507053121535, +ERASE, 140507053121536, 140507053125631, +STORE, 94036448296960, 94036448509951, +STORE, 94036450607104, 94036450611199, +STORE, 94036450611200, 94036450619391, +STORE, 94036450619392, 94036450631679, +STORE, 94036482445312, 94036502376447, +STORE, 140469487013888, 140469488672767, +STORE, 140469488672768, 140469490769919, +STORE, 140469490769920, 140469490786303, +STORE, 140469490786304, 140469490794495, +STORE, 140469490794496, 140469490810879, +STORE, 140469490810880, 140469490823167, +STORE, 140469490823168, 140469492916223, +STORE, 140469492916224, 140469492920319, +STORE, 140469492920320, 140469492924415, +STORE, 140469492924416, 140469493067775, +STORE, 140469493436416, 140469495119871, +STORE, 140469495119872, 140469495136255, +STORE, 140469495164928, 140469495169023, +STORE, 140469495169024, 140469495173119, +STORE, 140469495173120, 140469495177215, +STORE, 140732281446400, 140732281585663, +STORE, 140732282736640, 140732282748927, +STORE, 140732282748928, 140732282753023, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140723411931136, 140737488351231, +SNULL, 140723411939327, 140737488351231, +STORE, 140723411931136, 140723411939327, +STORE, 140723411800064, 140723411939327, +STORE, 93993768685568, 93993770909695, +SNULL, 93993768796159, 93993770909695, +STORE, 93993768685568, 93993768796159, +STORE, 93993768796160, 93993770909695, +ERASE, 93993768796160, 93993770909695, +STORE, 93993770889216, 93993770901503, +STORE, 93993770901504, 93993770909695, +STORE, 140508681740288, 140508683993087, +SNULL, 140508681883647, 140508683993087, +STORE, 140508681740288, 140508681883647, +STORE, 140508681883648, 140508683993087, +ERASE, 140508681883648, 140508683993087, +STORE, 140508683980800, 140508683988991, +STORE, 140508683988992, 140508683993087, +STORE, 140723412070400, 140723412074495, +STORE, 140723412058112, 140723412070399, +STORE, 140508683952128, 140508683980799, +STORE, 140508683943936, 140508683952127, +STORE, 140508677943296, 140508681740287, +SNULL, 140508677943296, 140508679602175, +STORE, 140508679602176, 140508681740287, +STORE, 140508677943296, 140508679602175, +SNULL, 140508681699327, 140508681740287, +STORE, 140508679602176, 140508681699327, +STORE, 140508681699328, 140508681740287, +SNULL, 140508681699328, 140508681723903, +STORE, 140508681723904, 140508681740287, +STORE, 140508681699328, 140508681723903, +ERASE, 140508681699328, 140508681723903, +STORE, 140508681699328, 140508681723903, +ERASE, 140508681723904, 140508681740287, +STORE, 140508681723904, 140508681740287, +SNULL, 140508681715711, 140508681723903, +STORE, 140508681699328, 140508681715711, +STORE, 140508681715712, 140508681723903, +SNULL, 93993770897407, 93993770901503, +STORE, 93993770889216, 93993770897407, +STORE, 93993770897408, 93993770901503, +SNULL, 140508683984895, 140508683988991, +STORE, 140508683980800, 140508683984895, +STORE, 140508683984896, 140508683988991, +ERASE, 140508683952128, 140508683980799, +STORE, 93993791582208, 93993791717375, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140734685458432, 140737488351231, +SNULL, 140734685466623, 140737488351231, +STORE, 140734685458432, 140734685466623, +STORE, 140734685327360, 140734685466623, +STORE, 93832321548288, 93832323772415, +SNULL, 93832321658879, 93832323772415, +STORE, 93832321548288, 93832321658879, +STORE, 93832321658880, 93832323772415, +ERASE, 93832321658880, 93832323772415, +STORE, 93832323751936, 93832323764223, +STORE, 93832323764224, 93832323772415, +STORE, 140650945118208, 140650947371007, +SNULL, 140650945261567, 140650947371007, +STORE, 140650945118208, 140650945261567, +STORE, 140650945261568, 140650947371007, +ERASE, 140650945261568, 140650947371007, +STORE, 140650947358720, 140650947366911, +STORE, 140650947366912, 140650947371007, +STORE, 140734686081024, 140734686085119, +STORE, 140734686068736, 140734686081023, +STORE, 140650947330048, 140650947358719, +STORE, 140650947321856, 140650947330047, +STORE, 140650941321216, 140650945118207, +SNULL, 140650941321216, 140650942980095, +STORE, 140650942980096, 140650945118207, +STORE, 140650941321216, 140650942980095, +SNULL, 140650945077247, 140650945118207, +STORE, 140650942980096, 140650945077247, +STORE, 140650945077248, 140650945118207, +SNULL, 140650945077248, 140650945101823, +STORE, 140650945101824, 140650945118207, +STORE, 140650945077248, 140650945101823, +ERASE, 140650945077248, 140650945101823, +STORE, 140650945077248, 140650945101823, +ERASE, 140650945101824, 140650945118207, +STORE, 140650945101824, 140650945118207, +SNULL, 140650945093631, 140650945101823, +STORE, 140650945077248, 140650945093631, +STORE, 140650945093632, 140650945101823, +SNULL, 93832323760127, 93832323764223, +STORE, 93832323751936, 93832323760127, +STORE, 93832323760128, 93832323764223, +SNULL, 140650947362815, 140650947366911, +STORE, 140650947358720, 140650947362815, +STORE, 140650947362816, 140650947366911, +ERASE, 140650947330048, 140650947358719, +STORE, 93832331890688, 93832332025855, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140728333520896, 140737488351231, +SNULL, 140728333529087, 140737488351231, +STORE, 140728333520896, 140728333529087, +STORE, 140728333389824, 140728333529087, +STORE, 94872734732288, 94872736956415, +SNULL, 94872734842879, 94872736956415, +STORE, 94872734732288, 94872734842879, +STORE, 94872734842880, 94872736956415, +ERASE, 94872734842880, 94872736956415, +STORE, 94872736935936, 94872736948223, +STORE, 94872736948224, 94872736956415, +STORE, 139755193257984, 139755195510783, +SNULL, 139755193401343, 139755195510783, +STORE, 139755193257984, 139755193401343, +STORE, 139755193401344, 139755195510783, +ERASE, 139755193401344, 139755195510783, +STORE, 139755195498496, 139755195506687, +STORE, 139755195506688, 139755195510783, +STORE, 140728333926400, 140728333930495, +STORE, 140728333914112, 140728333926399, +STORE, 139755195469824, 139755195498495, +STORE, 139755195461632, 139755195469823, +STORE, 139755189460992, 139755193257983, +SNULL, 139755189460992, 139755191119871, +STORE, 139755191119872, 139755193257983, +STORE, 139755189460992, 139755191119871, +SNULL, 139755193217023, 139755193257983, +STORE, 139755191119872, 139755193217023, +STORE, 139755193217024, 139755193257983, +SNULL, 139755193217024, 139755193241599, +STORE, 139755193241600, 139755193257983, +STORE, 139755193217024, 139755193241599, +ERASE, 139755193217024, 139755193241599, +STORE, 139755193217024, 139755193241599, +ERASE, 139755193241600, 139755193257983, +STORE, 139755193241600, 139755193257983, +SNULL, 139755193233407, 139755193241599, +STORE, 139755193217024, 139755193233407, +STORE, 139755193233408, 139755193241599, +SNULL, 94872736944127, 94872736948223, +STORE, 94872736935936, 94872736944127, +STORE, 94872736944128, 94872736948223, +SNULL, 139755195502591, 139755195506687, +STORE, 139755195498496, 139755195502591, +STORE, 139755195502592, 139755195506687, +ERASE, 139755195469824, 139755195498495, +STORE, 94872749744128, 94872749879295, +STORE, 94720243642368, 94720243855359, +STORE, 94720245952512, 94720245956607, +STORE, 94720245956608, 94720245964799, +STORE, 94720245964800, 94720245977087, +STORE, 94720277745664, 94720278151167, +STORE, 140453174497280, 140453176156159, +STORE, 140453176156160, 140453178253311, +STORE, 140453178253312, 140453178269695, +STORE, 140453178269696, 140453178277887, +STORE, 140453178277888, 140453178294271, +STORE, 140453178294272, 140453178306559, +STORE, 140453178306560, 140453180399615, +STORE, 140453180399616, 140453180403711, +STORE, 140453180403712, 140453180407807, +STORE, 140453180407808, 140453180551167, +STORE, 140453180919808, 140453182603263, +STORE, 140453182603264, 140453182619647, +STORE, 140453182648320, 140453182652415, +STORE, 140453182652416, 140453182656511, +STORE, 140453182656512, 140453182660607, +STORE, 140733223923712, 140733224062975, +STORE, 140733224808448, 140733224820735, +STORE, 140733224820736, 140733224824831, +STORE, 94321091141632, 94321091354623, +STORE, 94321093451776, 94321093455871, +STORE, 94321093455872, 94321093464063, +STORE, 94321093464064, 94321093476351, +STORE, 94321115873280, 94321117229055, +STORE, 139695978840064, 139695980498943, +STORE, 139695980498944, 139695982596095, +STORE, 139695982596096, 139695982612479, +STORE, 139695982612480, 139695982620671, +STORE, 139695982620672, 139695982637055, +STORE, 139695982637056, 139695982649343, +STORE, 139695982649344, 139695984742399, +STORE, 139695984742400, 139695984746495, +STORE, 139695984746496, 139695984750591, +STORE, 139695984750592, 139695984893951, +STORE, 139695985262592, 139695986946047, +STORE, 139695986946048, 139695986962431, +STORE, 139695986991104, 139695986995199, +STORE, 139695986995200, 139695986999295, +STORE, 139695986999296, 139695987003391, +STORE, 140734650564608, 140734650703871, +STORE, 140734650785792, 140734650798079, +STORE, 140734650798080, 140734650802175, +STORE, 94523438456832, 94523438669823, +STORE, 94523440766976, 94523440771071, +STORE, 94523440771072, 94523440779263, +STORE, 94523440779264, 94523440791551, +STORE, 94523464544256, 94523465842687, +STORE, 140453231493120, 140453233151999, +STORE, 140453233152000, 140453235249151, +STORE, 140453235249152, 140453235265535, +STORE, 140453235265536, 140453235273727, +STORE, 140453235273728, 140453235290111, +STORE, 140453235290112, 140453235302399, +STORE, 140453235302400, 140453237395455, +STORE, 140453237395456, 140453237399551, +STORE, 140453237399552, 140453237403647, +STORE, 140453237403648, 140453237547007, +STORE, 140453237915648, 140453239599103, +STORE, 140453239599104, 140453239615487, +STORE, 140453239644160, 140453239648255, +STORE, 140453239648256, 140453239652351, +STORE, 140453239652352, 140453239656447, +STORE, 140734679445504, 140734679584767, +STORE, 140734680018944, 140734680031231, +STORE, 140734680031232, 140734680035327, +STORE, 94614776987648, 94614777200639, +STORE, 94614779297792, 94614779301887, +STORE, 94614779301888, 94614779310079, +STORE, 94614779310080, 94614779322367, +STORE, 94614798467072, 94614800699391, +STORE, 139677037182976, 139677038841855, +STORE, 139677038841856, 139677040939007, +STORE, 139677040939008, 139677040955391, +STORE, 139677040955392, 139677040963583, +STORE, 139677040963584, 139677040979967, +STORE, 139677040979968, 139677040992255, +STORE, 139677040992256, 139677043085311, +STORE, 139677043085312, 139677043089407, +STORE, 139677043089408, 139677043093503, +STORE, 139677043093504, 139677043236863, +STORE, 139677043605504, 139677045288959, +STORE, 139677045288960, 139677045305343, +STORE, 139677045334016, 139677045338111, +STORE, 139677045338112, 139677045342207, +STORE, 139677045342208, 139677045346303, +STORE, 140721604411392, 140721604550655, +STORE, 140721606135808, 140721606148095, +STORE, 140721606148096, 140721606152191, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140729280544768, 140737488351231, +SNULL, 140729280552959, 140737488351231, +STORE, 140729280544768, 140729280552959, +STORE, 140729280413696, 140729280552959, +STORE, 94863939334144, 94863941558271, +SNULL, 94863939444735, 94863941558271, +STORE, 94863939334144, 94863939444735, +STORE, 94863939444736, 94863941558271, +ERASE, 94863939444736, 94863941558271, +STORE, 94863941537792, 94863941550079, +STORE, 94863941550080, 94863941558271, +STORE, 139691047276544, 139691049529343, +SNULL, 139691047419903, 139691049529343, +STORE, 139691047276544, 139691047419903, +STORE, 139691047419904, 139691049529343, +ERASE, 139691047419904, 139691049529343, +STORE, 139691049517056, 139691049525247, +STORE, 139691049525248, 139691049529343, +STORE, 140729281679360, 140729281683455, +STORE, 140729281667072, 140729281679359, +STORE, 139691049488384, 139691049517055, +STORE, 139691049480192, 139691049488383, +STORE, 139691043479552, 139691047276543, +SNULL, 139691043479552, 139691045138431, +STORE, 139691045138432, 139691047276543, +STORE, 139691043479552, 139691045138431, +SNULL, 139691047235583, 139691047276543, +STORE, 139691045138432, 139691047235583, +STORE, 139691047235584, 139691047276543, +SNULL, 139691047235584, 139691047260159, +STORE, 139691047260160, 139691047276543, +STORE, 139691047235584, 139691047260159, +ERASE, 139691047235584, 139691047260159, +STORE, 139691047235584, 139691047260159, +ERASE, 139691047260160, 139691047276543, +STORE, 139691047260160, 139691047276543, +SNULL, 139691047251967, 139691047260159, +STORE, 139691047235584, 139691047251967, +STORE, 139691047251968, 139691047260159, +SNULL, 94863941545983, 94863941550079, +STORE, 94863941537792, 94863941545983, +STORE, 94863941545984, 94863941550079, +SNULL, 139691049521151, 139691049525247, +STORE, 139691049517056, 139691049521151, +STORE, 139691049521152, 139691049525247, +ERASE, 139691049488384, 139691049517055, +STORE, 94863951294464, 94863951429631, +STORE, 93998209294336, 93998209507327, +STORE, 93998211604480, 93998211608575, +STORE, 93998211608576, 93998211616767, +STORE, 93998211616768, 93998211629055, +STORE, 93998227210240, 93998227615743, +STORE, 140243029913600, 140243031572479, +STORE, 140243031572480, 140243033669631, +STORE, 140243033669632, 140243033686015, +STORE, 140243033686016, 140243033694207, +STORE, 140243033694208, 140243033710591, +STORE, 140243033710592, 140243033722879, +STORE, 140243033722880, 140243035815935, +STORE, 140243035815936, 140243035820031, +STORE, 140243035820032, 140243035824127, +STORE, 140243035824128, 140243035967487, +STORE, 140243036336128, 140243038019583, +STORE, 140243038019584, 140243038035967, +STORE, 140243038064640, 140243038068735, +STORE, 140243038068736, 140243038072831, +STORE, 140243038072832, 140243038076927, +STORE, 140734976479232, 140734976618495, +STORE, 140734977978368, 140734977990655, +STORE, 140734977990656, 140734977994751, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722742775808, 140737488351231, +SNULL, 140722742783999, 140737488351231, +STORE, 140722742775808, 140722742783999, +STORE, 140722742644736, 140722742783999, +STORE, 93857673662464, 93857675997183, +SNULL, 93857673875455, 93857675997183, +STORE, 93857673662464, 93857673875455, +STORE, 93857673875456, 93857675997183, +ERASE, 93857673875456, 93857675997183, +STORE, 93857675972608, 93857675984895, +STORE, 93857675984896, 93857675997183, +STORE, 140629677498368, 140629679751167, +SNULL, 140629677641727, 140629679751167, +STORE, 140629677498368, 140629677641727, +STORE, 140629677641728, 140629679751167, +ERASE, 140629677641728, 140629679751167, +STORE, 140629679738880, 140629679747071, +STORE, 140629679747072, 140629679751167, +STORE, 140722743222272, 140722743226367, +STORE, 140722743209984, 140722743222271, +STORE, 140629679710208, 140629679738879, +STORE, 140629679702016, 140629679710207, +STORE, 140629675384832, 140629677498367, +SNULL, 140629675384832, 140629675397119, +STORE, 140629675397120, 140629677498367, +STORE, 140629675384832, 140629675397119, +SNULL, 140629677490175, 140629677498367, +STORE, 140629675397120, 140629677490175, +STORE, 140629677490176, 140629677498367, +ERASE, 140629677490176, 140629677498367, +STORE, 140629677490176, 140629677498367, +STORE, 140629671587840, 140629675384831, +SNULL, 140629671587840, 140629673246719, +STORE, 140629673246720, 140629675384831, +STORE, 140629671587840, 140629673246719, +SNULL, 140629675343871, 140629675384831, +STORE, 140629673246720, 140629675343871, +STORE, 140629675343872, 140629675384831, +SNULL, 140629675343872, 140629675368447, +STORE, 140629675368448, 140629675384831, +STORE, 140629675343872, 140629675368447, +ERASE, 140629675343872, 140629675368447, +STORE, 140629675343872, 140629675368447, +ERASE, 140629675368448, 140629675384831, +STORE, 140629675368448, 140629675384831, +STORE, 140629679693824, 140629679710207, +SNULL, 140629675360255, 140629675368447, +STORE, 140629675343872, 140629675360255, +STORE, 140629675360256, 140629675368447, +SNULL, 140629677494271, 140629677498367, +STORE, 140629677490176, 140629677494271, +STORE, 140629677494272, 140629677498367, +SNULL, 93857675976703, 93857675984895, +STORE, 93857675972608, 93857675976703, +STORE, 93857675976704, 93857675984895, +SNULL, 140629679742975, 140629679747071, +STORE, 140629679738880, 140629679742975, +STORE, 140629679742976, 140629679747071, +ERASE, 140629679710208, 140629679738879, +STORE, 93857705832448, 93857705967615, +STORE, 140629678010368, 140629679693823, +STORE, 93857705832448, 93857706102783, +STORE, 93857705832448, 93857706237951, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735922421760, 140737488351231, +SNULL, 140735922429951, 140737488351231, +STORE, 140735922421760, 140735922429951, +STORE, 140735922290688, 140735922429951, +STORE, 94651136139264, 94651138363391, +SNULL, 94651136249855, 94651138363391, +STORE, 94651136139264, 94651136249855, +STORE, 94651136249856, 94651138363391, +ERASE, 94651136249856, 94651138363391, +STORE, 94651138342912, 94651138355199, +STORE, 94651138355200, 94651138363391, +STORE, 140325788266496, 140325790519295, +SNULL, 140325788409855, 140325790519295, +STORE, 140325788266496, 140325788409855, +STORE, 140325788409856, 140325790519295, +ERASE, 140325788409856, 140325790519295, +STORE, 140325790507008, 140325790515199, +STORE, 140325790515200, 140325790519295, +STORE, 140735923572736, 140735923576831, +STORE, 140735923560448, 140735923572735, +STORE, 140325790478336, 140325790507007, +STORE, 140325790470144, 140325790478335, +STORE, 140325784469504, 140325788266495, +SNULL, 140325784469504, 140325786128383, +STORE, 140325786128384, 140325788266495, +STORE, 140325784469504, 140325786128383, +SNULL, 140325788225535, 140325788266495, +STORE, 140325786128384, 140325788225535, +STORE, 140325788225536, 140325788266495, +SNULL, 140325788225536, 140325788250111, +STORE, 140325788250112, 140325788266495, +STORE, 140325788225536, 140325788250111, +ERASE, 140325788225536, 140325788250111, +STORE, 140325788225536, 140325788250111, +ERASE, 140325788250112, 140325788266495, +STORE, 140325788250112, 140325788266495, +SNULL, 140325788241919, 140325788250111, +STORE, 140325788225536, 140325788241919, +STORE, 140325788241920, 140325788250111, +SNULL, 94651138351103, 94651138355199, +STORE, 94651138342912, 94651138351103, +STORE, 94651138351104, 94651138355199, +SNULL, 140325790511103, 140325790515199, +STORE, 140325790507008, 140325790511103, +STORE, 140325790511104, 140325790515199, +ERASE, 140325790478336, 140325790507007, +STORE, 94651146297344, 94651146432511, +STORE, 94212330168320, 94212330381311, +STORE, 94212332478464, 94212332482559, +STORE, 94212332482560, 94212332490751, +STORE, 94212332490752, 94212332503039, +STORE, 94212348891136, 94212349825023, +STORE, 140611630604288, 140611632263167, +STORE, 140611632263168, 140611634360319, +STORE, 140611634360320, 140611634376703, +STORE, 140611634376704, 140611634384895, +STORE, 140611634384896, 140611634401279, +STORE, 140611634401280, 140611634413567, +STORE, 140611634413568, 140611636506623, +STORE, 140611636506624, 140611636510719, +STORE, 140611636510720, 140611636514815, +STORE, 140611636514816, 140611636658175, +STORE, 140611637026816, 140611638710271, +STORE, 140611638710272, 140611638726655, +STORE, 140611638755328, 140611638759423, +STORE, 140611638759424, 140611638763519, +STORE, 140611638763520, 140611638767615, +STORE, 140726974533632, 140726974672895, +STORE, 140726974943232, 140726974955519, +STORE, 140726974955520, 140726974959615, +STORE, 94572463521792, 94572463734783, +STORE, 94572465831936, 94572465836031, +STORE, 94572465836032, 94572465844223, +STORE, 94572465844224, 94572465856511, +STORE, 94572491534336, 94572492865535, +STORE, 140644351492096, 140644353150975, +STORE, 140644353150976, 140644355248127, +STORE, 140644355248128, 140644355264511, +STORE, 140644355264512, 140644355272703, +STORE, 140644355272704, 140644355289087, +STORE, 140644355289088, 140644355301375, +STORE, 140644355301376, 140644357394431, +STORE, 140644357394432, 140644357398527, +STORE, 140644357398528, 140644357402623, +STORE, 140644357402624, 140644357545983, +STORE, 140644357914624, 140644359598079, +STORE, 140644359598080, 140644359614463, +STORE, 140644359643136, 140644359647231, +STORE, 140644359647232, 140644359651327, +STORE, 140644359651328, 140644359655423, +STORE, 140727841824768, 140727841964031, +STORE, 140727843188736, 140727843201023, +STORE, 140727843201024, 140727843205119, +STORE, 94144315457536, 94144315670527, +STORE, 94144317767680, 94144317771775, +STORE, 94144317771776, 94144317779967, +STORE, 94144317779968, 94144317792255, +STORE, 94144318369792, 94144320815103, +STORE, 140316717645824, 140316719304703, +STORE, 140316719304704, 140316721401855, +STORE, 140316721401856, 140316721418239, +STORE, 140316721418240, 140316721426431, +STORE, 140316721426432, 140316721442815, +STORE, 140316721442816, 140316721455103, +STORE, 140316721455104, 140316723548159, +STORE, 140316723548160, 140316723552255, +STORE, 140316723552256, 140316723556351, +STORE, 140316723556352, 140316723699711, +STORE, 140316724068352, 140316725751807, +STORE, 140316725751808, 140316725768191, +STORE, 140316725796864, 140316725800959, +STORE, 140316725800960, 140316725805055, +STORE, 140316725805056, 140316725809151, +STORE, 140725744283648, 140725744422911, +STORE, 140725745852416, 140725745864703, +STORE, 140725745864704, 140725745868799, +STORE, 94646858846208, 94646859059199, +STORE, 94646861156352, 94646861160447, +STORE, 94646861160448, 94646861168639, +STORE, 94646861168640, 94646861180927, +STORE, 94646879805440, 94646881894399, +STORE, 140435449745408, 140435451404287, +STORE, 140435451404288, 140435453501439, +STORE, 140435453501440, 140435453517823, +STORE, 140435453517824, 140435453526015, +STORE, 140435453526016, 140435453542399, +STORE, 140435453542400, 140435453554687, +STORE, 140435453554688, 140435455647743, +STORE, 140435455647744, 140435455651839, +STORE, 140435455651840, 140435455655935, +STORE, 140435455655936, 140435455799295, +STORE, 140435456167936, 140435457851391, +STORE, 140435457851392, 140435457867775, +STORE, 140435457896448, 140435457900543, +STORE, 140435457900544, 140435457904639, +STORE, 140435457904640, 140435457908735, +STORE, 140721033818112, 140721033957375, +STORE, 140721034018816, 140721034031103, +STORE, 140721034031104, 140721034035199, +STORE, 94872903438336, 94872903651327, +STORE, 94872905748480, 94872905752575, +STORE, 94872905752576, 94872905760767, +STORE, 94872905760768, 94872905773055, +STORE, 94872931246080, 94872931651583, +STORE, 139771607810048, 139771609468927, +STORE, 139771609468928, 139771611566079, +STORE, 139771611566080, 139771611582463, +STORE, 139771611582464, 139771611590655, +STORE, 139771611590656, 139771611607039, +STORE, 139771611607040, 139771611619327, +STORE, 139771611619328, 139771613712383, +STORE, 139771613712384, 139771613716479, +STORE, 139771613716480, 139771613720575, +STORE, 139771613720576, 139771613863935, +STORE, 139771614232576, 139771615916031, +STORE, 139771615916032, 139771615932415, +STORE, 139771615961088, 139771615965183, +STORE, 139771615965184, 139771615969279, +STORE, 139771615969280, 139771615973375, +STORE, 140725402931200, 140725403070463, +STORE, 140725403852800, 140725403865087, +STORE, 140725403865088, 140725403869183, +STORE, 94740737736704, 94740737949695, +STORE, 94740740046848, 94740740050943, +STORE, 94740740050944, 94740740059135, +STORE, 94740740059136, 94740740071423, +STORE, 94740743249920, 94740744724479, +STORE, 140640287010816, 140640288669695, +STORE, 140640288669696, 140640290766847, +STORE, 140640290766848, 140640290783231, +STORE, 140640290783232, 140640290791423, +STORE, 140640290791424, 140640290807807, +STORE, 140640290807808, 140640290820095, +STORE, 140640290820096, 140640292913151, +STORE, 140640292913152, 140640292917247, +STORE, 140640292917248, 140640292921343, +STORE, 140640292921344, 140640293064703, +STORE, 140640293433344, 140640295116799, +STORE, 140640295116800, 140640295133183, +STORE, 140640295161856, 140640295165951, +STORE, 140640295165952, 140640295170047, +STORE, 140640295170048, 140640295174143, +STORE, 140725133303808, 140725133443071, +STORE, 140725133684736, 140725133697023, +STORE, 140725133697024, 140725133701119, +STORE, 140737488347136, 140737488351231, +STORE, 140722826371072, 140737488351231, +SNULL, 140722826375167, 140737488351231, +STORE, 140722826371072, 140722826375167, +STORE, 140722826240000, 140722826375167, +STORE, 94113818611712, 94113820835839, +SNULL, 94113818722303, 94113820835839, +STORE, 94113818611712, 94113818722303, +STORE, 94113818722304, 94113820835839, +ERASE, 94113818722304, 94113820835839, +STORE, 94113820815360, 94113820827647, +STORE, 94113820827648, 94113820835839, +STORE, 139628194508800, 139628196761599, +SNULL, 139628194652159, 139628196761599, +STORE, 139628194508800, 139628194652159, +STORE, 139628194652160, 139628196761599, +ERASE, 139628194652160, 139628196761599, +STORE, 139628196749312, 139628196757503, +STORE, 139628196757504, 139628196761599, +STORE, 140722826727424, 140722826731519, +STORE, 140722826715136, 140722826727423, +STORE, 139628196720640, 139628196749311, +STORE, 139628196712448, 139628196720639, +STORE, 139628190711808, 139628194508799, +SNULL, 139628190711808, 139628192370687, +STORE, 139628192370688, 139628194508799, +STORE, 139628190711808, 139628192370687, +SNULL, 139628194467839, 139628194508799, +STORE, 139628192370688, 139628194467839, +STORE, 139628194467840, 139628194508799, +SNULL, 139628194467840, 139628194492415, +STORE, 139628194492416, 139628194508799, +STORE, 139628194467840, 139628194492415, +ERASE, 139628194467840, 139628194492415, +STORE, 139628194467840, 139628194492415, +ERASE, 139628194492416, 139628194508799, +STORE, 139628194492416, 139628194508799, +SNULL, 139628194484223, 139628194492415, +STORE, 139628194467840, 139628194484223, +STORE, 139628194484224, 139628194492415, +SNULL, 94113820823551, 94113820827647, +STORE, 94113820815360, 94113820823551, +STORE, 94113820823552, 94113820827647, +SNULL, 139628196753407, 139628196757503, +STORE, 139628196749312, 139628196753407, +STORE, 139628196753408, 139628196757503, +ERASE, 139628196720640, 139628196749311, +STORE, 94113830850560, 94113830985727, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140731865833472, 140737488351231, +SNULL, 140731865841663, 140737488351231, +STORE, 140731865833472, 140731865841663, +STORE, 140731865702400, 140731865841663, +STORE, 94763339386880, 94763341611007, +SNULL, 94763339497471, 94763341611007, +STORE, 94763339386880, 94763339497471, +STORE, 94763339497472, 94763341611007, +ERASE, 94763339497472, 94763341611007, +STORE, 94763341590528, 94763341602815, +STORE, 94763341602816, 94763341611007, +STORE, 139778398486528, 139778400739327, +SNULL, 139778398629887, 139778400739327, +STORE, 139778398486528, 139778398629887, +STORE, 139778398629888, 139778400739327, +ERASE, 139778398629888, 139778400739327, +STORE, 139778400727040, 139778400735231, +STORE, 139778400735232, 139778400739327, +STORE, 140731865858048, 140731865862143, +STORE, 140731865845760, 140731865858047, +STORE, 139778400698368, 139778400727039, +STORE, 139778400690176, 139778400698367, +STORE, 139778394689536, 139778398486527, +SNULL, 139778394689536, 139778396348415, +STORE, 139778396348416, 139778398486527, +STORE, 139778394689536, 139778396348415, +SNULL, 139778398445567, 139778398486527, +STORE, 139778396348416, 139778398445567, +STORE, 139778398445568, 139778398486527, +SNULL, 139778398445568, 139778398470143, +STORE, 139778398470144, 139778398486527, +STORE, 139778398445568, 139778398470143, +ERASE, 139778398445568, 139778398470143, +STORE, 139778398445568, 139778398470143, +ERASE, 139778398470144, 139778398486527, +STORE, 139778398470144, 139778398486527, +SNULL, 139778398461951, 139778398470143, +STORE, 139778398445568, 139778398461951, +STORE, 139778398461952, 139778398470143, +SNULL, 94763341598719, 94763341602815, +STORE, 94763341590528, 94763341598719, +STORE, 94763341598720, 94763341602815, +SNULL, 139778400731135, 139778400735231, +STORE, 139778400727040, 139778400731135, +STORE, 139778400731136, 139778400735231, +ERASE, 139778400698368, 139778400727039, +STORE, 94763362197504, 94763362332671, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140737488338944, 140737488351231, +STORE, 140732053192704, 140737488351231, +SNULL, 140732053204991, 140737488351231, +STORE, 140732053192704, 140732053204991, +STORE, 140732053061632, 140732053204991, +STORE, 4194304, 26279935, +STORE, 28372992, 28454911, +STORE, 28454912, 29806591, +STORE, 140176018599936, 140176020852735, +SNULL, 140176018743295, 140176020852735, +STORE, 140176018599936, 140176018743295, +STORE, 140176018743296, 140176020852735, +ERASE, 140176018743296, 140176020852735, +STORE, 140176020840448, 140176020848639, +STORE, 140176020848640, 140176020852735, +STORE, 140732053381120, 140732053385215, +STORE, 140732053368832, 140732053381119, +STORE, 140176020811776, 140176020840447, +STORE, 140176020803584, 140176020811775, +STORE, 140176014766080, 140176018599935, +SNULL, 140176014766080, 140176016474111, +STORE, 140176016474112, 140176018599935, +STORE, 140176014766080, 140176016474111, +SNULL, 140176018567167, 140176018599935, +STORE, 140176016474112, 140176018567167, +STORE, 140176018567168, 140176018599935, +ERASE, 140176018567168, 140176018599935, +STORE, 140176018567168, 140176018599935, +STORE, 140176012570624, 140176014766079, +SNULL, 140176012570624, 140176012664831, +STORE, 140176012664832, 140176014766079, +STORE, 140176012570624, 140176012664831, +SNULL, 140176014757887, 140176014766079, +STORE, 140176012664832, 140176014757887, +STORE, 140176014757888, 140176014766079, +ERASE, 140176014757888, 140176014766079, +STORE, 140176014757888, 140176014766079, +STORE, 140176010051584, 140176012570623, +SNULL, 140176010051584, 140176010465279, +STORE, 140176010465280, 140176012570623, +STORE, 140176010051584, 140176010465279, +SNULL, 140176012558335, 140176012570623, +STORE, 140176010465280, 140176012558335, +STORE, 140176012558336, 140176012570623, +ERASE, 140176012558336, 140176012570623, +STORE, 140176012558336, 140176012570623, +STORE, 140176007417856, 140176010051583, +SNULL, 140176007417856, 140176007946239, +STORE, 140176007946240, 140176010051583, +STORE, 140176007417856, 140176007946239, +SNULL, 140176010043391, 140176010051583, +STORE, 140176007946240, 140176010043391, +STORE, 140176010043392, 140176010051583, +ERASE, 140176010043392, 140176010051583, +STORE, 140176010043392, 140176010051583, +STORE, 140176005304320, 140176007417855, +SNULL, 140176005304320, 140176005316607, +STORE, 140176005316608, 140176007417855, +STORE, 140176005304320, 140176005316607, +SNULL, 140176007409663, 140176007417855, +STORE, 140176005316608, 140176007409663, +STORE, 140176007409664, 140176007417855, +ERASE, 140176007409664, 140176007417855, +STORE, 140176007409664, 140176007417855, +STORE, 140176003100672, 140176005304319, +SNULL, 140176003100672, 140176003203071, +STORE, 140176003203072, 140176005304319, +STORE, 140176003100672, 140176003203071, +SNULL, 140176005296127, 140176005304319, +STORE, 140176003203072, 140176005296127, +STORE, 140176005296128, 140176005304319, +ERASE, 140176005296128, 140176005304319, +STORE, 140176005296128, 140176005304319, +STORE, 140176020795392, 140176020811775, +STORE, 140175999938560, 140176003100671, +SNULL, 140175999938560, 140176000999423, +STORE, 140176000999424, 140176003100671, +STORE, 140175999938560, 140176000999423, +SNULL, 140176003092479, 140176003100671, +STORE, 140176000999424, 140176003092479, +STORE, 140176003092480, 140176003100671, +ERASE, 140176003092480, 140176003100671, +STORE, 140176003092480, 140176003100671, +STORE, 140175996141568, 140175999938559, +SNULL, 140175996141568, 140175997800447, +STORE, 140175997800448, 140175999938559, +STORE, 140175996141568, 140175997800447, +SNULL, 140175999897599, 140175999938559, +STORE, 140175997800448, 140175999897599, +STORE, 140175999897600, 140175999938559, +SNULL, 140175999897600, 140175999922175, +STORE, 140175999922176, 140175999938559, +STORE, 140175999897600, 140175999922175, +ERASE, 140175999897600, 140175999922175, +STORE, 140175999897600, 140175999922175, +ERASE, 140175999922176, 140175999938559, +STORE, 140175999922176, 140175999938559, +STORE, 140176020783104, 140176020811775, +SNULL, 140175999913983, 140175999922175, +STORE, 140175999897600, 140175999913983, +STORE, 140175999913984, 140175999922175, +SNULL, 140176003096575, 140176003100671, +STORE, 140176003092480, 140176003096575, +STORE, 140176003096576, 140176003100671, +SNULL, 140176005300223, 140176005304319, +STORE, 140176005296128, 140176005300223, +STORE, 140176005300224, 140176005304319, +SNULL, 140176007413759, 140176007417855, +STORE, 140176007409664, 140176007413759, +STORE, 140176007413760, 140176007417855, +SNULL, 140176010047487, 140176010051583, +STORE, 140176010043392, 140176010047487, +STORE, 140176010047488, 140176010051583, +SNULL, 140176012566527, 140176012570623, +STORE, 140176012558336, 140176012566527, +STORE, 140176012566528, 140176012570623, +SNULL, 140176014761983, 140176014766079, +STORE, 140176014757888, 140176014761983, +STORE, 140176014761984, 140176014766079, +SNULL, 140176018571263, 140176018599935, +STORE, 140176018567168, 140176018571263, +STORE, 140176018571264, 140176018599935, +SNULL, 28405759, 28454911, +STORE, 28372992, 28405759, +STORE, 28405760, 28454911, +SNULL, 140176020844543, 140176020848639, +STORE, 140176020840448, 140176020844543, +STORE, 140176020844544, 140176020848639, +ERASE, 140176020811776, 140176020840447, +STORE, 53080064, 53215231, +STORE, 140176019099648, 140176020783103, +STORE, 140176020836352, 140176020840447, +STORE, 140176018964480, 140176019099647, +STORE, 53080064, 53358591, +STORE, 140175994044416, 140175996141567, +STORE, 140176020828160, 140176020840447, +STORE, 140176020819968, 140176020840447, +STORE, 140176020783104, 140176020819967, +STORE, 140176018948096, 140176019099647, +STORE, 53080064, 53493759, +STORE, 53080064, 53649407, +STORE, 140176018939904, 140176019099647, +STORE, 140176018931712, 140176019099647, +STORE, 53080064, 53784575, +STORE, 53080064, 53919743, +STORE, 140176018915328, 140176019099647, +STORE, 140176018907136, 140176019099647, +STORE, 53080064, 54059007, +STORE, 140175993769984, 140175996141567, +STORE, 140176018747392, 140176019099647, +STORE, 53080064, 54198271, +SNULL, 54190079, 54198271, +STORE, 53080064, 54190079, +STORE, 54190080, 54198271, +ERASE, 54190080, 54198271, +SNULL, 54181887, 54190079, +STORE, 53080064, 54181887, +STORE, 54181888, 54190079, +ERASE, 54181888, 54190079, +SNULL, 54173695, 54181887, +STORE, 53080064, 54173695, +STORE, 54173696, 54181887, +ERASE, 54173696, 54181887, +SNULL, 54165503, 54173695, +STORE, 53080064, 54165503, +STORE, 54165504, 54173695, +ERASE, 54165504, 54173695, +STORE, 140175993753600, 140175996141567, +STORE, 140175993688064, 140175996141567, +STORE, 140175993655296, 140175996141567, +STORE, 140175991558144, 140175996141567, +STORE, 140175991492608, 140175996141567, +STORE, 53080064, 54312959, +STORE, 140175991361536, 140175996141567, +STORE, 140175991099392, 140175996141567, +STORE, 140175991091200, 140175996141567, +STORE, 140175991074816, 140175996141567, +STORE, 140175991066624, 140175996141567, +STORE, 140175991058432, 140175996141567, +STORE, 53080064, 54448127, +SNULL, 54439935, 54448127, +STORE, 53080064, 54439935, +STORE, 54439936, 54448127, +ERASE, 54439936, 54448127, +SNULL, 54431743, 54439935, +STORE, 53080064, 54431743, +STORE, 54431744, 54439935, +ERASE, 54431744, 54439935, +SNULL, 54419455, 54431743, +STORE, 53080064, 54419455, +STORE, 54419456, 54431743, +ERASE, 54419456, 54431743, +SNULL, 54403071, 54419455, +STORE, 53080064, 54403071, +STORE, 54403072, 54419455, +ERASE, 54403072, 54419455, +STORE, 140175991042048, 140175996141567, +STORE, 53080064, 54538239, +SNULL, 54534143, 54538239, +STORE, 53080064, 54534143, +STORE, 54534144, 54538239, +ERASE, 54534144, 54538239, +SNULL, 54530047, 54534143, +STORE, 53080064, 54530047, +STORE, 54530048, 54534143, +ERASE, 54530048, 54534143, +SNULL, 54525951, 54530047, +STORE, 53080064, 54525951, +STORE, 54525952, 54530047, +ERASE, 54525952, 54530047, +SNULL, 54521855, 54525951, +STORE, 53080064, 54521855, +STORE, 54521856, 54525951, +ERASE, 54521856, 54525951, +SNULL, 54517759, 54521855, +STORE, 53080064, 54517759, +STORE, 54517760, 54521855, +ERASE, 54517760, 54521855, +SNULL, 54513663, 54517759, +STORE, 53080064, 54513663, +STORE, 54513664, 54517759, +ERASE, 54513664, 54517759, +SNULL, 54509567, 54513663, +STORE, 53080064, 54509567, +STORE, 54509568, 54513663, +ERASE, 54509568, 54513663, +STORE, 140175991025664, 140175996141567, +STORE, 140175990992896, 140175996141567, +STORE, 53080064, 54644735, +SNULL, 54628351, 54644735, +STORE, 53080064, 54628351, +STORE, 54628352, 54644735, +ERASE, 54628352, 54644735, +SNULL, 54616063, 54628351, +STORE, 53080064, 54616063, +STORE, 54616064, 54628351, +ERASE, 54616064, 54628351, +STORE, 140175988895744, 140175996141567, +STORE, 53080064, 54767615, +STORE, 140175988879360, 140175996141567, +STORE, 140175988617216, 140175996141567, +STORE, 140175988609024, 140175996141567, +STORE, 140175988600832, 140175996141567, +STORE, 53080064, 54906879, +SNULL, 54898687, 54906879, +STORE, 53080064, 54898687, +STORE, 54898688, 54906879, +ERASE, 54898688, 54906879, +SNULL, 54853631, 54898687, +STORE, 53080064, 54853631, +STORE, 54853632, 54898687, +ERASE, 54853632, 54898687, +STORE, 140175986503680, 140175996141567, +STORE, 53080064, 54996991, +STORE, 140175986495488, 140175996141567, +STORE, 140175986487296, 140175996141567, +STORE, 140175985438720, 140175996141567, +STORE, 53080064, 55136255, +STORE, 140175985405952, 140175996141567, +STORE, 140175985139712, 140175996141567, +SNULL, 140176018964479, 140176019099647, +STORE, 140176018747392, 140176018964479, +STORE, 140176018964480, 140176019099647, +ERASE, 140176018964480, 140176019099647, +STORE, 140175983042560, 140175996141567, +STORE, 140175982518272, 140175996141567, +STORE, 140175980421120, 140175996141567, +STORE, 53080064, 55287807, +STORE, 53080064, 55427071, +STORE, 140176019091456, 140176019099647, +STORE, 140176019083264, 140176019099647, +STORE, 140176019075072, 140176019099647, +STORE, 140176019066880, 140176019099647, +STORE, 140176019058688, 140176019099647, +STORE, 140175980158976, 140175996141567, +STORE, 140176019050496, 140176019099647, +STORE, 140176019042304, 140176019099647, +STORE, 140176019034112, 140176019099647, +STORE, 140176019025920, 140176019099647, +STORE, 140176019017728, 140176019099647, +STORE, 140176019009536, 140176019099647, +STORE, 140176019001344, 140176019099647, +STORE, 140176018993152, 140176019099647, +STORE, 140176018984960, 140176019099647, +STORE, 140176018976768, 140176019099647, +STORE, 140176018968576, 140176019099647, +STORE, 140175978061824, 140175996141567, +STORE, 53080064, 55603199, +STORE, 140175978029056, 140175996141567, +STORE, 140175977996288, 140175996141567, +STORE, 53080064, 55738367, +STORE, 53080064, 55881727, +STORE, 140175977963520, 140175996141567, +STORE, 140175977930752, 140175996141567, +STORE, 53080064, 56041471, +STORE, 140175977897984, 140175996141567, +STORE, 140175977865216, 140175996141567, +SNULL, 55881727, 56041471, +STORE, 53080064, 55881727, +STORE, 55881728, 56041471, +ERASE, 55881728, 56041471, +SNULL, 55721983, 55881727, +STORE, 53080064, 55721983, +STORE, 55721984, 55881727, +ERASE, 55721984, 55881727, +SNULL, 55570431, 55721983, +STORE, 53080064, 55570431, +STORE, 55570432, 55721983, +ERASE, 55570432, 55721983, +STORE, 140175977857024, 140175996141567, +STORE, 140175975759872, 140175996141567, +STORE, 53080064, 55754751, +STORE, 53080064, 55943167, +STORE, 140175975751680, 140175996141567, +STORE, 140175975743488, 140175996141567, +STORE, 140175975735296, 140175996141567, +STORE, 140175975727104, 140175996141567, +STORE, 140175975718912, 140175996141567, +STORE, 140175975710720, 140175996141567, +STORE, 140175975702528, 140175996141567, +STORE, 140175975694336, 140175996141567, +STORE, 140175975686144, 140175996141567, +STORE, 140175975677952, 140175996141567, +STORE, 140175975669760, 140175996141567, +STORE, 140175974621184, 140175996141567, +STORE, 140175974612992, 140175996141567, +STORE, 53080064, 56139775, +STORE, 140175972515840, 140175996141567, +STORE, 53080064, 56401919, +STORE, 140175970418688, 140175996141567, +STORE, 140175970410496, 140175996141567, +STORE, 140175970402304, 140175996141567, +STORE, 140175970394112, 140175996141567, +STORE, 53080064, 56569855, +STORE, 140175969865728, 140175996141567, +SNULL, 140175985139711, 140175996141567, +STORE, 140175969865728, 140175985139711, +STORE, 140175985139712, 140175996141567, +SNULL, 140175985139712, 140175985405951, +STORE, 140175985405952, 140175996141567, +STORE, 140175985139712, 140175985405951, +ERASE, 140175985139712, 140175985405951, +STORE, 140175965671424, 140175985139711, +STORE, 140175985397760, 140175996141567, +STORE, 140175985389568, 140175996141567, +STORE, 140175985381376, 140175996141567, +STORE, 140175985373184, 140175996141567, +STORE, 140175985364992, 140175996141567, +STORE, 140175985356800, 140175996141567, +STORE, 140175985348608, 140175996141567, +STORE, 140175985340416, 140175996141567, +STORE, 140175985332224, 140175996141567, +STORE, 140175985324032, 140175996141567, +STORE, 140175985315840, 140175996141567, +STORE, 140175985307648, 140175996141567, +STORE, 140175985299456, 140175996141567, +STORE, 140175985291264, 140175996141567, +STORE, 140175985283072, 140175996141567, +STORE, 140175985274880, 140175996141567, +STORE, 140175963574272, 140175985139711, +STORE, 140175985266688, 140175996141567, +STORE, 140175961477120, 140175985139711, +STORE, 53080064, 56831999, +STORE, 140175959379968, 140175985139711, +STORE, 140175985258496, 140175996141567, +STORE, 140175957282816, 140175985139711, +STORE, 140175985250304, 140175996141567, +STORE, 140175985242112, 140175996141567, +STORE, 140175985233920, 140175996141567, +STORE, 140175985225728, 140175996141567, +STORE, 140175985217536, 140175996141567, +STORE, 140175957151744, 140175985139711, +STORE, 140175956627456, 140175985139711, +SNULL, 140175980158975, 140175985139711, +STORE, 140175956627456, 140175980158975, +STORE, 140175980158976, 140175985139711, +SNULL, 140175980158976, 140175980421119, +STORE, 140175980421120, 140175985139711, +STORE, 140175980158976, 140175980421119, +ERASE, 140175980158976, 140175980421119, +STORE, 140175954530304, 140175980158975, +STORE, 140175985209344, 140175996141567, +STORE, 53080064, 57094143, +STORE, 140175952433152, 140175980158975, +STORE, 140175985192960, 140175996141567, +STORE, 140175985184768, 140175996141567, +STORE, 140175985176576, 140175996141567, +STORE, 140175985168384, 140175996141567, +STORE, 140175985160192, 140175996141567, +STORE, 140175985152000, 140175996141567, +STORE, 140175985143808, 140175996141567, +STORE, 140175980412928, 140175985139711, +STORE, 140175980404736, 140175985139711, +STORE, 140175980396544, 140175985139711, +STORE, 140175980388352, 140175985139711, +STORE, 140175980380160, 140175985139711, +STORE, 140175980371968, 140175985139711, +STORE, 140175980363776, 140175985139711, +STORE, 140175980355584, 140175985139711, +STORE, 140175980347392, 140175985139711, +STORE, 140175980339200, 140175985139711, +STORE, 53080064, 57356287, +SNULL, 140176018747392, 140176018907135, +STORE, 140176018907136, 140176018964479, +STORE, 140176018747392, 140176018907135, +ERASE, 140176018747392, 140176018907135, +STORE, 140175952146432, 140175980158975, +STORE, 140175950049280, 140175980158975, +SNULL, 140175952146431, 140175980158975, +STORE, 140175950049280, 140175952146431, +STORE, 140175952146432, 140175980158975, +SNULL, 140175952146432, 140175952433151, +STORE, 140175952433152, 140175980158975, +STORE, 140175952146432, 140175952433151, +ERASE, 140175952146432, 140175952433151, +STORE, 140176018898944, 140176018964479, +STORE, 53080064, 57749503, +STORE, 140175949520896, 140175952146431, +STORE, 140175947423744, 140175952146431, +SNULL, 140175993769983, 140175996141567, +STORE, 140175985143808, 140175993769983, +STORE, 140175993769984, 140175996141567, +SNULL, 140175993769984, 140175994044415, +STORE, 140175994044416, 140175996141567, +STORE, 140175993769984, 140175994044415, +ERASE, 140175993769984, 140175994044415, +STORE, 140176018890752, 140176018964479, +STORE, 140176018882560, 140176018964479, +STORE, 140176018874368, 140176018964479, +STORE, 140176018866176, 140176018964479, +STORE, 140176018849792, 140176018964479, +STORE, 140176018841600, 140176018964479, +STORE, 140176018825216, 140176018964479, +STORE, 140176018817024, 140176018964479, +STORE, 140176018800640, 140176018964479, +STORE, 140176018792448, 140176018964479, +STORE, 140176018759680, 140176018964479, +STORE, 140176018751488, 140176018964479, +STORE, 140175994028032, 140175996141567, +STORE, 140176018743296, 140176018964479, +STORE, 140175994011648, 140175996141567, +STORE, 140175994003456, 140175996141567, +STORE, 140175993987072, 140175996141567, +STORE, 140175993978880, 140175996141567, +STORE, 140175993946112, 140175996141567, +STORE, 140175993937920, 140175996141567, +STORE, 140175993921536, 140175996141567, +STORE, 140175993913344, 140175996141567, +STORE, 140175993896960, 140175996141567, +STORE, 140175993888768, 140175996141567, +STORE, 140175993872384, 140175996141567, +STORE, 140175993864192, 140175996141567, +STORE, 140175993831424, 140175996141567, +STORE, 140175993823232, 140175996141567, +STORE, 140175993806848, 140175996141567, +STORE, 140175993798656, 140175996141567, +STORE, 140175993782272, 140175996141567, +STORE, 140175993774080, 140175996141567, +STORE, 140175980322816, 140175985139711, +STORE, 140175980314624, 140175985139711, +STORE, 140175980281856, 140175985139711, +STORE, 140175980273664, 140175985139711, +STORE, 140175980257280, 140175985139711, +STORE, 140175945326592, 140175952146431, +STORE, 140175980249088, 140175985139711, +STORE, 140175980232704, 140175985139711, +STORE, 140175980224512, 140175985139711, +STORE, 140175980208128, 140175985139711, +STORE, 140175980199936, 140175985139711, +STORE, 140175980167168, 140175985139711, +STORE, 140175952433152, 140175985139711, +STORE, 140175952416768, 140175985139711, +STORE, 140175952408576, 140175985139711, +STORE, 140175952392192, 140175985139711, +STORE, 140175952384000, 140175985139711, +STORE, 140175952367616, 140175985139711, +STORE, 140175943229440, 140175952146431, +STORE, 140175952359424, 140175985139711, +STORE, 140175952326656, 140175985139711, +STORE, 140175952318464, 140175985139711, +STORE, 140175952302080, 140175985139711, +STORE, 140175952293888, 140175985139711, +STORE, 140175952277504, 140175985139711, +STORE, 140175952269312, 140175985139711, +STORE, 140175952252928, 140175985139711, +STORE, 140175952244736, 140175985139711, +STORE, 140175952211968, 140175985139711, +STORE, 140175952203776, 140175985139711, +STORE, 140175952187392, 140175985139711, +STORE, 140175952179200, 140175985139711, +STORE, 140175952162816, 140175985139711, +STORE, 140175952154624, 140175985139711, +STORE, 140175943213056, 140175952146431, +STORE, 140175943213056, 140175985139711, +STORE, 140175943180288, 140175985139711, +STORE, 140175943172096, 140175985139711, +STORE, 140175943155712, 140175985139711, +STORE, 140175943147520, 140175985139711, +STORE, 140175943131136, 140175985139711, +STORE, 140175943122944, 140175985139711, +STORE, 140175943106560, 140175985139711, +STORE, 140175943098368, 140175985139711, +STORE, 140175943065600, 140175985139711, +STORE, 140175943057408, 140175985139711, +STORE, 140175943041024, 140175985139711, +STORE, 140175943032832, 140175985139711, +STORE, 140175943016448, 140175985139711, +STORE, 140175943008256, 140175985139711, +STORE, 140175942991872, 140175985139711, +STORE, 140175942983680, 140175985139711, +STORE, 140175942950912, 140175985139711, +STORE, 140175942942720, 140175985139711, +STORE, 140175942926336, 140175985139711, +STORE, 140175942918144, 140175985139711, +STORE, 140175942901760, 140175985139711, +STORE, 140175942893568, 140175985139711, +STORE, 140175942877184, 140175985139711, +STORE, 140175942868992, 140175985139711, +STORE, 140175942836224, 140175985139711, +STORE, 140175942828032, 140175985139711, +STORE, 140175942811648, 140175985139711, +STORE, 140175942803456, 140175985139711, +STORE, 140175942787072, 140175985139711, +STORE, 140175942778880, 140175985139711, +STORE, 140175942762496, 140175985139711, +STORE, 140175942754304, 140175985139711, +STORE, 140175942721536, 140175985139711, +STORE, 140175942713344, 140175985139711, +STORE, 140175942696960, 140175985139711, +STORE, 140175942688768, 140175985139711, +STORE, 140175942672384, 140175985139711, +STORE, 140175942664192, 140175985139711, +STORE, 140175942647808, 140175985139711, +STORE, 140175942639616, 140175985139711, +STORE, 140175942606848, 140175985139711, +STORE, 140175942598656, 140175985139711, +STORE, 140175942582272, 140175985139711, +STORE, 140175942574080, 140175985139711, +STORE, 140175942557696, 140175985139711, +STORE, 140175942549504, 140175985139711, +STORE, 140175942533120, 140175985139711, +STORE, 140175942524928, 140175985139711, +STORE, 140175942492160, 140175985139711, +STORE, 140175942483968, 140175985139711, +STORE, 140175942467584, 140175985139711, +STORE, 140175942459392, 140175985139711, +STORE, 140175942443008, 140175985139711, +STORE, 140175942434816, 140175985139711, +STORE, 140175942418432, 140175985139711, +STORE, 140175942410240, 140175985139711, +STORE, 140175942377472, 140175985139711, +STORE, 140175942369280, 140175985139711, +STORE, 140175942352896, 140175985139711, +STORE, 140175942344704, 140175985139711, +STORE, 140175942328320, 140175985139711, +STORE, 140175942320128, 140175985139711, +STORE, 140175942303744, 140175985139711, +STORE, 140175942295552, 140175985139711, +STORE, 140175942262784, 140175985139711, +STORE, 140175942254592, 140175985139711, +STORE, 140175942238208, 140175985139711, +STORE, 140175942230016, 140175985139711, +STORE, 140175942213632, 140175985139711, +STORE, 140175942205440, 140175985139711, +STORE, 140175942189056, 140175985139711, +STORE, 140175942180864, 140175985139711, +STORE, 140175942148096, 140175985139711, +STORE, 140175942139904, 140175985139711, +STORE, 140175942123520, 140175985139711, +STORE, 140175942115328, 140175985139711, +STORE, 140175942098944, 140175985139711, +STORE, 140175942090752, 140175985139711, +STORE, 140175942074368, 140175985139711, +STORE, 140175942066176, 140175985139711, +STORE, 140175942033408, 140175985139711, +STORE, 140175942025216, 140175985139711, +STORE, 140175942008832, 140175985139711, +STORE, 140175942000640, 140175985139711, +STORE, 140175941984256, 140175985139711, +STORE, 140175941976064, 140175985139711, +STORE, 140175941959680, 140175985139711, +STORE, 140175939862528, 140175985139711, +STORE, 140175939854336, 140175985139711, +STORE, 140175939821568, 140175985139711, +STORE, 140175939813376, 140175985139711, +STORE, 140175939796992, 140175985139711, +STORE, 140175939788800, 140175985139711, +STORE, 140175939772416, 140175985139711, +STORE, 140175939764224, 140175985139711, +STORE, 140175939747840, 140175985139711, +STORE, 140175939739648, 140175985139711, +STORE, 140175939706880, 140175985139711, +STORE, 140175939698688, 140175985139711, +STORE, 140175939682304, 140175985139711, +STORE, 140175939674112, 140175985139711, +STORE, 140175939657728, 140175985139711, +STORE, 140175939649536, 140175985139711, +STORE, 140175939633152, 140175985139711, +STORE, 140175939624960, 140175985139711, +STORE, 140175939592192, 140175985139711, +STORE, 140175939584000, 140175985139711, +STORE, 140175939567616, 140175985139711, +STORE, 140175939559424, 140175985139711, +STORE, 140175939543040, 140175985139711, +STORE, 140175939534848, 140175985139711, +STORE, 140175939518464, 140175985139711, +STORE, 140175939510272, 140175985139711, +STORE, 140175939477504, 140175985139711, +STORE, 140175939469312, 140175985139711, +STORE, 140175939452928, 140175985139711, +STORE, 140175939444736, 140175985139711, +STORE, 140175939428352, 140175985139711, +STORE, 140175939420160, 140175985139711, +STORE, 140175939403776, 140175985139711, +STORE, 140175939395584, 140175985139711, +STORE, 140175939362816, 140175985139711, +STORE, 140175939354624, 140175985139711, +STORE, 140175939338240, 140175985139711, +STORE, 140175939330048, 140175985139711, +STORE, 140175939313664, 140175985139711, +STORE, 140175939305472, 140175985139711, +STORE, 140175939289088, 140175985139711, +STORE, 140175939280896, 140175985139711, +STORE, 140175939248128, 140175985139711, +STORE, 140175939239936, 140175985139711, +STORE, 140175939223552, 140175985139711, +STORE, 140175939215360, 140175985139711, +STORE, 140175939198976, 140175985139711, +STORE, 140175939190784, 140175985139711, +STORE, 140175939174400, 140175985139711, +STORE, 140175939166208, 140175985139711, +STORE, 140175939133440, 140175985139711, +STORE, 140175939125248, 140175985139711, +STORE, 140175939108864, 140175985139711, +STORE, 140175939100672, 140175985139711, +STORE, 140175939084288, 140175985139711, +STORE, 140175939076096, 140175985139711, +STORE, 140175939059712, 140175985139711, +STORE, 140175939051520, 140175985139711, +STORE, 140175939018752, 140175985139711, +STORE, 140175939010560, 140175985139711, +STORE, 140175938994176, 140175985139711, +STORE, 140175938985984, 140175985139711, +STORE, 140175938969600, 140175985139711, +STORE, 140175938961408, 140175985139711, +STORE, 140175938945024, 140175985139711, +STORE, 140175938936832, 140175985139711, +STORE, 140175938904064, 140175985139711, +STORE, 140175938895872, 140175985139711, +STORE, 140175938879488, 140175985139711, +STORE, 140175938871296, 140175985139711, +STORE, 140175938854912, 140175985139711, +STORE, 140175938846720, 140175985139711, +STORE, 140175938830336, 140175985139711, +STORE, 140175938822144, 140175985139711, +STORE, 140175938789376, 140175985139711, +STORE, 140175938781184, 140175985139711, +STORE, 140175938764800, 140175985139711, +STORE, 140175938756608, 140175985139711, +STORE, 140175938740224, 140175985139711, +STORE, 140175938732032, 140175985139711, +STORE, 140175938715648, 140175985139711, +STORE, 140175938707456, 140175985139711, +STORE, 140175938674688, 140175985139711, +STORE, 140175938666496, 140175985139711, +STORE, 140175938650112, 140175985139711, +STORE, 140175938641920, 140175985139711, +STORE, 140175938625536, 140175985139711, +STORE, 140175938617344, 140175985139711, +STORE, 140175938600960, 140175985139711, +STORE, 140175938592768, 140175985139711, +STORE, 140175938560000, 140175985139711, +STORE, 140175938551808, 140175985139711, +STORE, 140175938535424, 140175985139711, +STORE, 140175938527232, 140175985139711, +STORE, 140175938510848, 140175985139711, +STORE, 140175938502656, 140175985139711, +STORE, 140175938486272, 140175985139711, +STORE, 140175938478080, 140175985139711, +STORE, 140175938445312, 140175985139711, +STORE, 140175938437120, 140175985139711, +STORE, 140175938420736, 140175985139711, +STORE, 140175938412544, 140175985139711, +STORE, 140175938396160, 140175985139711, +STORE, 140175938387968, 140175985139711, +STORE, 140175938371584, 140175985139711, +STORE, 140175938363392, 140175985139711, +STORE, 140175938330624, 140175985139711, +STORE, 140175938322432, 140175985139711, +STORE, 140175938306048, 140175985139711, +STORE, 140175938297856, 140175985139711, +STORE, 140175938281472, 140175985139711, +STORE, 140175938273280, 140175985139711, +STORE, 140175938256896, 140175985139711, +STORE, 140175938248704, 140175985139711, +STORE, 140175938215936, 140175985139711, +STORE, 140175938207744, 140175985139711, +STORE, 140175938191360, 140175985139711, +STORE, 140175938183168, 140175985139711, +STORE, 140175938166784, 140175985139711, +STORE, 140175938158592, 140175985139711, +STORE, 140175938142208, 140175985139711, +STORE, 140175936045056, 140175985139711, +STORE, 140175936036864, 140175985139711, +STORE, 140175936004096, 140175985139711, +STORE, 140175935995904, 140175985139711, +STORE, 140175935979520, 140175985139711, +STORE, 140175935971328, 140175985139711, +STORE, 140175935954944, 140175985139711, +STORE, 140175935946752, 140175985139711, +STORE, 140175935930368, 140175985139711, +STORE, 140175935922176, 140175985139711, +STORE, 140175935889408, 140175985139711, +STORE, 140175935881216, 140175985139711, +STORE, 140175935864832, 140175985139711, +STORE, 140175935856640, 140175985139711, +STORE, 140175935840256, 140175985139711, +STORE, 140175935832064, 140175985139711, +STORE, 140175935815680, 140175985139711, +STORE, 140175935807488, 140175985139711, +STORE, 140175935774720, 140175985139711, +STORE, 140175935766528, 140175985139711, +STORE, 140175935750144, 140175985139711, +STORE, 140175935741952, 140175985139711, +STORE, 140175935725568, 140175985139711, +STORE, 140175935717376, 140175985139711, +STORE, 140175935700992, 140175985139711, +STORE, 140175935692800, 140175985139711, +STORE, 140175935660032, 140175985139711, +STORE, 140175935651840, 140175985139711, +STORE, 140175935635456, 140175985139711, +STORE, 140175935627264, 140175985139711, +STORE, 140175935610880, 140175985139711, +STORE, 140175935602688, 140175985139711, +STORE, 140175935586304, 140175985139711, +STORE, 140175935578112, 140175985139711, +STORE, 140175935545344, 140175985139711, +STORE, 140175935537152, 140175985139711, +STORE, 140175935520768, 140175985139711, +STORE, 140175935512576, 140175985139711, +STORE, 140175935496192, 140175985139711, +STORE, 140175935488000, 140175985139711, +STORE, 140175935471616, 140175985139711, +STORE, 140175935463424, 140175985139711, +STORE, 140175935430656, 140175985139711, +STORE, 140175935422464, 140175985139711, +STORE, 140175935406080, 140175985139711, +STORE, 140175935397888, 140175985139711, +STORE, 140175935381504, 140175985139711, +STORE, 140175935373312, 140175985139711, +STORE, 140175935356928, 140175985139711, +STORE, 140175935348736, 140175985139711, +STORE, 140175935315968, 140175985139711, +STORE, 140175935307776, 140175985139711, +STORE, 140175935291392, 140175985139711, +STORE, 140175935283200, 140175985139711, +STORE, 140175935266816, 140175985139711, +STORE, 140175935258624, 140175985139711, +STORE, 140175935242240, 140175985139711, +STORE, 140175935234048, 140175985139711, +STORE, 140175935201280, 140175985139711, +STORE, 140175935193088, 140175985139711, +STORE, 140175935176704, 140175985139711, +STORE, 140175935168512, 140175985139711, +STORE, 140175935152128, 140175985139711, +STORE, 140175935143936, 140175985139711, +STORE, 140175935127552, 140175985139711, +STORE, 140175935119360, 140175985139711, +STORE, 140175935086592, 140175985139711, +STORE, 140175935078400, 140175985139711, +STORE, 140175935062016, 140175985139711, +STORE, 140175935053824, 140175985139711, +STORE, 140175935037440, 140175985139711, +STORE, 140175935029248, 140175985139711, +STORE, 140175935012864, 140175985139711, +STORE, 140175935004672, 140175985139711, +STORE, 140175934971904, 140175985139711, +STORE, 140175934963712, 140175985139711, +STORE, 140175934947328, 140175985139711, +STORE, 140175934939136, 140175985139711, +STORE, 140175934922752, 140175985139711, +STORE, 140175934914560, 140175985139711, +STORE, 140175934898176, 140175985139711, +STORE, 140175934889984, 140175985139711, +STORE, 140175934857216, 140175985139711, +STORE, 140175934849024, 140175985139711, +STORE, 140175934832640, 140175985139711, +STORE, 140175934824448, 140175985139711, +STORE, 140175934808064, 140175985139711, +STORE, 140175934799872, 140175985139711, +STORE, 140175934783488, 140175985139711, +STORE, 140175934775296, 140175985139711, +STORE, 140175934742528, 140175985139711, +STORE, 140175934734336, 140175985139711, +STORE, 140175934717952, 140175985139711, +STORE, 140175934709760, 140175985139711, +STORE, 140175934693376, 140175985139711, +STORE, 140175934685184, 140175985139711, +STORE, 140175934668800, 140175985139711, +STORE, 140175934660608, 140175985139711, +STORE, 140175934627840, 140175985139711, +STORE, 140175934619648, 140175985139711, +STORE, 140175934603264, 140175985139711, +STORE, 140175934595072, 140175985139711, +STORE, 140175934578688, 140175985139711, +STORE, 140175934570496, 140175985139711, +STORE, 140175934554112, 140175985139711, +STORE, 140175934545920, 140175985139711, +STORE, 140175934513152, 140175985139711, +STORE, 140175934504960, 140175985139711, +STORE, 140175934488576, 140175985139711, +STORE, 140175934480384, 140175985139711, +STORE, 140175934464000, 140175985139711, +STORE, 140175934455808, 140175985139711, +STORE, 140175934439424, 140175985139711, +STORE, 140175934431232, 140175985139711, +STORE, 140175934398464, 140175985139711, +STORE, 140175934390272, 140175985139711, +STORE, 140175934373888, 140175985139711, +STORE, 140175934365696, 140175985139711, +STORE, 140175934349312, 140175985139711, +STORE, 140175934341120, 140175985139711, +STORE, 140175934324736, 140175985139711, +STORE, 140175932227584, 140175985139711, +STORE, 140175932219392, 140175985139711, +STORE, 140175932186624, 140175985139711, +STORE, 140175932178432, 140175985139711, +STORE, 140175932162048, 140175985139711, +STORE, 140175932153856, 140175985139711, +STORE, 140175932137472, 140175985139711, +STORE, 53080064, 57884671, +STORE, 140175932129280, 140175985139711, +STORE, 140175932112896, 140175985139711, +STORE, 140175932104704, 140175985139711, +STORE, 140175932071936, 140175985139711, +STORE, 140175932063744, 140175985139711, +STORE, 140175932047360, 140175985139711, +STORE, 140175932039168, 140175985139711, +STORE, 140175932022784, 140175985139711, +STORE, 140175932014592, 140175985139711, +STORE, 140175931998208, 140175985139711, +STORE, 140175931990016, 140175985139711, +STORE, 140175931957248, 140175985139711, +STORE, 140175931949056, 140175985139711, +STORE, 140175931932672, 140175985139711, +STORE, 140175931924480, 140175985139711, +STORE, 140175931908096, 140175985139711, +STORE, 140175931899904, 140175985139711, +STORE, 140175931883520, 140175985139711, +STORE, 140175931875328, 140175985139711, +STORE, 140175931842560, 140175985139711, +STORE, 140175931834368, 140175985139711, +STORE, 140175931817984, 140175985139711, +STORE, 140175931809792, 140175985139711, +STORE, 140175931793408, 140175985139711, +STORE, 140175931785216, 140175985139711, +STORE, 140175931768832, 140175985139711, +STORE, 140175931760640, 140175985139711, +STORE, 140175931727872, 140175985139711, +STORE, 140175931719680, 140175985139711, +STORE, 140175931703296, 140175985139711, +STORE, 140175931695104, 140175985139711, +STORE, 140175931678720, 140175985139711, +STORE, 140175931670528, 140175985139711, +STORE, 140175931654144, 140175985139711, +STORE, 140175931645952, 140175985139711, +STORE, 140175931613184, 140175985139711, +STORE, 140175931604992, 140175985139711, +STORE, 140175931588608, 140175985139711, +STORE, 140175931580416, 140175985139711, +STORE, 140175931564032, 140175985139711, +STORE, 140175931555840, 140175985139711, +STORE, 140175931539456, 140175985139711, +STORE, 140175931531264, 140175985139711, +STORE, 140175931498496, 140175985139711, +STORE, 140175931490304, 140175985139711, +STORE, 140175931473920, 140175985139711, +STORE, 140175931465728, 140175985139711, +STORE, 140175931449344, 140175985139711, +STORE, 140175931441152, 140175985139711, +STORE, 140175931424768, 140175985139711, +STORE, 140175931416576, 140175985139711, +STORE, 140175931383808, 140175985139711, +STORE, 140175931375616, 140175985139711, +STORE, 140175931359232, 140175985139711, +STORE, 140175931351040, 140175985139711, +STORE, 140175931334656, 140175985139711, +STORE, 140175931326464, 140175985139711, +STORE, 140175931310080, 140175985139711, +STORE, 140175931301888, 140175985139711, +STORE, 140175931269120, 140175985139711, +STORE, 140175931260928, 140175985139711, +STORE, 140175931244544, 140175985139711, +STORE, 140175931236352, 140175985139711, +STORE, 140175931219968, 140175985139711, +STORE, 140175931211776, 140175985139711, +STORE, 140175931195392, 140175985139711, +STORE, 140175931187200, 140175985139711, +STORE, 140175931154432, 140175985139711, +STORE, 140175931146240, 140175985139711, +STORE, 140175931129856, 140175985139711, +STORE, 140175931121664, 140175985139711, +STORE, 140175931105280, 140175985139711, +STORE, 140175931097088, 140175985139711, +STORE, 140175931080704, 140175985139711, +STORE, 140175931072512, 140175985139711, +STORE, 140175931039744, 140175985139711, +STORE, 140175931031552, 140175985139711, +STORE, 140175931015168, 140175985139711, +STORE, 140175931006976, 140175985139711, +STORE, 140175930990592, 140175985139711, +STORE, 140175930982400, 140175985139711, +STORE, 140175930966016, 140175985139711, +STORE, 140175930957824, 140175985139711, +STORE, 140175930925056, 140175985139711, +STORE, 140175930916864, 140175985139711, +STORE, 140175930900480, 140175985139711, +STORE, 140175930892288, 140175985139711, +STORE, 140175930875904, 140175985139711, +STORE, 140175930867712, 140175985139711, +STORE, 140175930851328, 140175985139711, +STORE, 140175930843136, 140175985139711, +STORE, 140175930810368, 140175985139711, +STORE, 140175930802176, 140175985139711, +STORE, 140175930785792, 140175985139711, +STORE, 140175930777600, 140175985139711, +STORE, 140175930761216, 140175985139711, +STORE, 140175930753024, 140175985139711, +STORE, 140175930736640, 140175985139711, +STORE, 140175930728448, 140175985139711, +STORE, 140175930695680, 140175985139711, +STORE, 140175930687488, 140175985139711, +STORE, 140175930671104, 140175985139711, +STORE, 140175930662912, 140175985139711, +STORE, 140175930646528, 140175985139711, +STORE, 140175930638336, 140175985139711, +STORE, 140175930621952, 140175985139711, +STORE, 140175930613760, 140175985139711, +STORE, 140175930580992, 140175985139711, +STORE, 140175930572800, 140175985139711, +STORE, 140175930556416, 140175985139711, +STORE, 140175930548224, 140175985139711, +STORE, 140175930531840, 140175985139711, +STORE, 140175930523648, 140175985139711, +STORE, 140175930507264, 140175985139711, +STORE, 140175928410112, 140175985139711, +STORE, 140175928401920, 140175985139711, +STORE, 140175928369152, 140175985139711, +STORE, 140175928360960, 140175985139711, +STORE, 140175928344576, 140175985139711, +STORE, 140175928336384, 140175985139711, +STORE, 140175928320000, 140175985139711, +STORE, 140175928311808, 140175985139711, +STORE, 140175928295424, 140175985139711, +STORE, 140175927242752, 140175985139711, +SNULL, 140175956627455, 140175985139711, +STORE, 140175927242752, 140175956627455, +STORE, 140175956627456, 140175985139711, + }; + unsigned long set24[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140735281639424, 140737488351231, +SNULL, 140735281643519, 140737488351231, +STORE, 140735281639424, 140735281643519, +STORE, 140735281508352, 140735281643519, +STORE, 94717834911744, 94717834928127, +SNULL, 94717834915839, 94717834928127, +STORE, 94717834911744, 94717834915839, +STORE, 94717834915840, 94717834928127, +ERASE, 94717834915840, 94717834928127, +STORE, 94717834919936, 94717834928127, +STORE, 140428246065152, 140428248317951, +SNULL, 140428246208511, 140428248317951, +STORE, 140428246065152, 140428246208511, +STORE, 140428246208512, 140428248317951, +ERASE, 140428246208512, 140428248317951, +STORE, 140428248305664, 140428248313855, +STORE, 140428248313856, 140428248317951, +STORE, 140735281811456, 140735281815551, +STORE, 140735281799168, 140735281811455, +STORE, 140428248297472, 140428248305663, +STORE, 140428243841024, 140428246065151, +SNULL, 140428245491711, 140428246065151, +STORE, 140428243841024, 140428245491711, +STORE, 140428245491712, 140428246065151, +SNULL, 140428245491712, 140428246061055, +STORE, 140428246061056, 140428246065151, +STORE, 140428245491712, 140428246061055, +ERASE, 140428245491712, 140428246061055, +STORE, 140428245491712, 140428246061055, +ERASE, 140428246061056, 140428246065151, +STORE, 140428246061056, 140428246065151, +STORE, 140428248268800, 140428248297471, +STORE, 140428241625088, 140428243841023, +SNULL, 140428241625088, 140428241723391, +STORE, 140428241723392, 140428243841023, +STORE, 140428241625088, 140428241723391, +SNULL, 140428243816447, 140428243841023, +STORE, 140428241723392, 140428243816447, +STORE, 140428243816448, 140428243841023, +SNULL, 140428243816448, 140428243824639, +STORE, 140428243824640, 140428243841023, +STORE, 140428243816448, 140428243824639, +ERASE, 140428243816448, 140428243824639, +STORE, 140428243816448, 140428243824639, +ERASE, 140428243824640, 140428243841023, +STORE, 140428243824640, 140428243841023, +STORE, 140428237828096, 140428241625087, +SNULL, 140428237828096, 140428239486975, +STORE, 140428239486976, 140428241625087, +STORE, 140428237828096, 140428239486975, +SNULL, 140428241584127, 140428241625087, +STORE, 140428239486976, 140428241584127, +STORE, 140428241584128, 140428241625087, +SNULL, 140428241584128, 140428241608703, +STORE, 140428241608704, 140428241625087, +STORE, 140428241584128, 140428241608703, +ERASE, 140428241584128, 140428241608703, +STORE, 140428241584128, 140428241608703, +ERASE, 140428241608704, 140428241625087, +STORE, 140428241608704, 140428241625087, +STORE, 140428235567104, 140428237828095, +SNULL, 140428235567104, 140428235718655, +STORE, 140428235718656, 140428237828095, +STORE, 140428235567104, 140428235718655, +SNULL, 140428237811711, 140428237828095, +STORE, 140428235718656, 140428237811711, +STORE, 140428237811712, 140428237828095, +SNULL, 140428237811712, 140428237819903, +STORE, 140428237819904, 140428237828095, +STORE, 140428237811712, 140428237819903, +ERASE, 140428237811712, 140428237819903, +STORE, 140428237811712, 140428237819903, +ERASE, 140428237819904, 140428237828095, +STORE, 140428237819904, 140428237828095, +STORE, 140428233445376, 140428235567103, +SNULL, 140428233445376, 140428233461759, +STORE, 140428233461760, 140428235567103, +STORE, 140428233445376, 140428233461759, +SNULL, 140428235558911, 140428235567103, +STORE, 140428233461760, 140428235558911, +STORE, 140428235558912, 140428235567103, +ERASE, 140428235558912, 140428235567103, +STORE, 140428235558912, 140428235567103, +STORE, 140428231315456, 140428233445375, +SNULL, 140428231315456, 140428231344127, +STORE, 140428231344128, 140428233445375, +STORE, 140428231315456, 140428231344127, +SNULL, 140428233437183, 140428233445375, +STORE, 140428231344128, 140428233437183, +STORE, 140428233437184, 140428233445375, +ERASE, 140428233437184, 140428233445375, +STORE, 140428233437184, 140428233445375, +STORE, 140428248260608, 140428248268799, +STORE, 140428229062656, 140428231315455, +SNULL, 140428229062656, 140428229214207, +STORE, 140428229214208, 140428231315455, +STORE, 140428229062656, 140428229214207, +SNULL, 140428231307263, 140428231315455, +STORE, 140428229214208, 140428231307263, +STORE, 140428231307264, 140428231315455, +ERASE, 140428231307264, 140428231315455, +STORE, 140428231307264, 140428231315455, +STORE, 140428226891776, 140428229062655, +SNULL, 140428226891776, 140428226961407, +STORE, 140428226961408, 140428229062655, +STORE, 140428226891776, 140428226961407, +SNULL, 140428229054463, 140428229062655, +STORE, 140428226961408, 140428229054463, +STORE, 140428229054464, 140428229062655, +ERASE, 140428229054464, 140428229062655, +STORE, 140428229054464, 140428229062655, +STORE, 140428223680512, 140428226891775, +SNULL, 140428223680512, 140428224757759, +STORE, 140428224757760, 140428226891775, +STORE, 140428223680512, 140428224757759, +SNULL, 140428226854911, 140428226891775, +STORE, 140428224757760, 140428226854911, +STORE, 140428226854912, 140428226891775, +ERASE, 140428226854912, 140428226891775, +STORE, 140428226854912, 140428226891775, +STORE, 140428221546496, 140428223680511, +SNULL, 140428221546496, 140428221575167, +STORE, 140428221575168, 140428223680511, +STORE, 140428221546496, 140428221575167, +SNULL, 140428223672319, 140428223680511, +STORE, 140428221575168, 140428223672319, +STORE, 140428223672320, 140428223680511, +ERASE, 140428223672320, 140428223680511, +STORE, 140428223672320, 140428223680511, +STORE, 140428219236352, 140428221546495, +SNULL, 140428219236352, 140428219441151, +STORE, 140428219441152, 140428221546495, +STORE, 140428219236352, 140428219441151, +SNULL, 140428221538303, 140428221546495, +STORE, 140428219441152, 140428221538303, +STORE, 140428221538304, 140428221546495, +ERASE, 140428221538304, 140428221546495, +STORE, 140428221538304, 140428221546495, +STORE, 140428216852480, 140428219236351, +SNULL, 140428216852480, 140428217044991, +STORE, 140428217044992, 140428219236351, +STORE, 140428216852480, 140428217044991, +SNULL, 140428219138047, 140428219236351, +STORE, 140428217044992, 140428219138047, +STORE, 140428219138048, 140428219236351, +ERASE, 140428219138048, 140428219236351, +STORE, 140428219138048, 140428219236351, +STORE, 140428248252416, 140428248268799, +STORE, 140428214284288, 140428216852479, +SNULL, 140428214284288, 140428214751231, +STORE, 140428214751232, 140428216852479, +STORE, 140428214284288, 140428214751231, +SNULL, 140428216844287, 140428216852479, +STORE, 140428214751232, 140428216844287, +STORE, 140428216844288, 140428216852479, +ERASE, 140428216844288, 140428216852479, +STORE, 140428216844288, 140428216852479, +STORE, 140428212170752, 140428214284287, +SNULL, 140428212170752, 140428212183039, +STORE, 140428212183040, 140428214284287, +STORE, 140428212170752, 140428212183039, +SNULL, 140428214276095, 140428214284287, +STORE, 140428212183040, 140428214276095, +STORE, 140428214276096, 140428214284287, +ERASE, 140428214276096, 140428214284287, +STORE, 140428214276096, 140428214284287, +STORE, 140428209991680, 140428212170751, +SNULL, 140428209991680, 140428210069503, +STORE, 140428210069504, 140428212170751, +STORE, 140428209991680, 140428210069503, +SNULL, 140428212162559, 140428212170751, +STORE, 140428210069504, 140428212162559, +STORE, 140428212162560, 140428212170751, +ERASE, 140428212162560, 140428212170751, +STORE, 140428212162560, 140428212170751, +STORE, 140428207874048, 140428209991679, +SNULL, 140428207874048, 140428207890431, +STORE, 140428207890432, 140428209991679, +STORE, 140428207874048, 140428207890431, +SNULL, 140428209983487, 140428209991679, +STORE, 140428207890432, 140428209983487, +STORE, 140428209983488, 140428209991679, +ERASE, 140428209983488, 140428209991679, +STORE, 140428209983488, 140428209991679, +STORE, 140428248244224, 140428248268799, +STORE, 140428248231936, 140428248268799, +SNULL, 140428241600511, 140428241608703, +STORE, 140428241584128, 140428241600511, +STORE, 140428241600512, 140428241608703, +SNULL, 140428209987583, 140428209991679, +STORE, 140428209983488, 140428209987583, +STORE, 140428209987584, 140428209991679, +SNULL, 140428212166655, 140428212170751, +STORE, 140428212162560, 140428212166655, +STORE, 140428212166656, 140428212170751, +SNULL, 140428214280191, 140428214284287, +STORE, 140428214276096, 140428214280191, +STORE, 140428214280192, 140428214284287, +SNULL, 140428243820543, 140428243824639, +STORE, 140428243816448, 140428243820543, +STORE, 140428243820544, 140428243824639, +SNULL, 140428216848383, 140428216852479, +STORE, 140428216844288, 140428216848383, +STORE, 140428216848384, 140428216852479, +SNULL, 140428219232255, 140428219236351, +STORE, 140428219138048, 140428219232255, +STORE, 140428219232256, 140428219236351, +SNULL, 140428221542399, 140428221546495, +STORE, 140428221538304, 140428221542399, +STORE, 140428221542400, 140428221546495, +SNULL, 140428223676415, 140428223680511, +STORE, 140428223672320, 140428223676415, +STORE, 140428223676416, 140428223680511, +SNULL, 140428226863103, 140428226891775, +STORE, 140428226854912, 140428226863103, +STORE, 140428226863104, 140428226891775, +SNULL, 140428229058559, 140428229062655, +STORE, 140428229054464, 140428229058559, +STORE, 140428229058560, 140428229062655, +SNULL, 140428231311359, 140428231315455, +STORE, 140428231307264, 140428231311359, +STORE, 140428231311360, 140428231315455, +SNULL, 140428233441279, 140428233445375, +STORE, 140428233437184, 140428233441279, +STORE, 140428233441280, 140428233445375, +SNULL, 140428235563007, 140428235567103, +STORE, 140428235558912, 140428235563007, +STORE, 140428235563008, 140428235567103, +SNULL, 140428237815807, 140428237819903, +STORE, 140428237811712, 140428237815807, +STORE, 140428237815808, 140428237819903, +SNULL, 140428246056959, 140428246061055, +STORE, 140428245491712, 140428246056959, +STORE, 140428246056960, 140428246061055, +SNULL, 94717834924031, 94717834928127, +STORE, 94717834919936, 94717834924031, +STORE, 94717834924032, 94717834928127, +SNULL, 140428248309759, 140428248313855, +STORE, 140428248305664, 140428248309759, +STORE, 140428248309760, 140428248313855, +ERASE, 140428248268800, 140428248297471, +STORE, 94717843058688, 94717843193855, +STORE, 94749677137920, 94749677559807, +STORE, 94749677563904, 94749677604863, +STORE, 94749677604864, 94749677608959, +STORE, 94749710970880, 94749711241215, +STORE, 140490884894720, 140490884935679, +STORE, 140490884935680, 140490887032831, +STORE, 140490887032832, 140490887036927, +STORE, 140490887036928, 140490887041023, +STORE, 140490887041024, 140490887065599, +STORE, 140490887065600, 140490887110655, +STORE, 140490887110656, 140490889203711, +STORE, 140490889203712, 140490889207807, +STORE, 140490889207808, 140490889211903, +STORE, 140490889211904, 140490889293823, +STORE, 140490889293824, 140490891390975, +STORE, 140490891390976, 140490891395071, +STORE, 140490891395072, 140490891399167, +STORE, 140490891399168, 140490891407359, +STORE, 140490891407360, 140490891436031, +STORE, 140490891436032, 140490893529087, +STORE, 140490893529088, 140490893533183, +STORE, 140490893533184, 140490893537279, +STORE, 140490893537280, 140490901979135, +STORE, 140490901979136, 140490901991423, +STORE, 140490901991424, 140490904084479, +STORE, 140490904084480, 140490904088575, +STORE, 140490904088576, 140490904092671, +STORE, 140490904092672, 140490904559615, +STORE, 140490904559616, 140490906652671, +STORE, 140490906652672, 140490906656767, +STORE, 140490906656768, 140490906660863, +STORE, 140490906660864, 140490906677247, +STORE, 140490906677248, 140490908770303, +STORE, 140490908770304, 140490908774399, +STORE, 140490908774400, 140490908778495, +STORE, 140490908778496, 140490908794879, +STORE, 140490908794880, 140490910887935, +STORE, 140490910887936, 140490910892031, +STORE, 140490910892032, 140490910896127, +STORE, 140490910896128, 140490912555007, +STORE, 140490912555008, 140490914652159, +STORE, 140490914652160, 140490914668543, +STORE, 140490914668544, 140490914676735, +STORE, 140490914676736, 140490914693119, +STORE, 140490914693120, 140490914791423, +STORE, 140490914791424, 140490916884479, +STORE, 140490916884480, 140490916888575, +STORE, 140490916888576, 140490916892671, +STORE, 140490916892672, 140490916909055, +STORE, 140490916909056, 140490916937727, +STORE, 140490916937728, 140490919030783, +STORE, 140490919030784, 140490919034879, +STORE, 140490919034880, 140490919038975, +STORE, 140490919038976, 140490919190527, +STORE, 140490919190528, 140490921283583, +STORE, 140490921283584, 140490921287679, +STORE, 140490921287680, 140490921291775, +STORE, 140490921291776, 140490921299967, +STORE, 140490921299968, 140490921390079, +STORE, 140490921390080, 140490923483135, +STORE, 140490923483136, 140490923487231, +STORE, 140490923487232, 140490923491327, +STORE, 140490923491328, 140490923757567, +STORE, 140490923757568, 140490925850623, +STORE, 140490925850624, 140490925867007, +STORE, 140490925867008, 140490925871103, +STORE, 140490925871104, 140490925875199, +STORE, 140490925875200, 140490925903871, +STORE, 140490925903872, 140490928001023, +STORE, 140490928001024, 140490928005119, +STORE, 140490928005120, 140490928009215, +STORE, 140490928009216, 140490928152575, +STORE, 140490930184192, 140490930221055, +STORE, 140490930221056, 140490930237439, +STORE, 140490930237440, 140490930241535, +STORE, 140490930241536, 140490930245631, +STORE, 140490930245632, 140490930249727, +STORE, 140490930249728, 140490930253823, +STORE, 140490930253824, 140490930257919, +STORE, 140490930257920, 140490930262015, +STORE, 140724611694592, 140724611829759, +STORE, 140724612427776, 140724612440063, +STORE, 140724612440064, 140724612444159, +STORE, 94103163662336, 94103163772927, +STORE, 94103165865984, 94103165874175, +STORE, 94103165874176, 94103165878271, +STORE, 94103165878272, 94103165886463, +STORE, 94103182548992, 94103182684159, +STORE, 140092694708224, 140092696367103, +STORE, 140092696367104, 140092698464255, +STORE, 140092698464256, 140092698480639, +STORE, 140092698480640, 140092698488831, +STORE, 140092698488832, 140092698505215, +STORE, 140092698505216, 140092698648575, +STORE, 140092700708864, 140092700717055, +STORE, 140092700745728, 140092700749823, +STORE, 140092700749824, 140092700753919, +STORE, 140092700753920, 140092700758015, +STORE, 140736800911360, 140736801046527, +STORE, 140736802308096, 140736802320383, +STORE, 140736802320384, 140736802324479, +STORE, 93948802064384, 93948802174975, +STORE, 93948804268032, 93948804276223, +STORE, 93948804276224, 93948804280319, +STORE, 93948804280320, 93948804288511, +STORE, 93948806266880, 93948806402047, +STORE, 140222999113728, 140223000772607, +STORE, 140223000772608, 140223002869759, +STORE, 140223002869760, 140223002886143, +STORE, 140223002886144, 140223002894335, +STORE, 140223002894336, 140223002910719, +STORE, 140223002910720, 140223003054079, +STORE, 140223005114368, 140223005122559, +STORE, 140223005151232, 140223005155327, +STORE, 140223005155328, 140223005159423, +STORE, 140223005159424, 140223005163519, +STORE, 140720877506560, 140720877641727, +STORE, 140720878231552, 140720878243839, +STORE, 140720878243840, 140720878247935, +STORE, 140737488347136, 140737488351231, +STORE, 140733232087040, 140737488351231, +SNULL, 140733232091135, 140737488351231, +STORE, 140733232087040, 140733232091135, +STORE, 140733231955968, 140733232091135, +STORE, 4194304, 5128191, +STORE, 7221248, 7241727, +STORE, 7241728, 7249919, +STORE, 140161681321984, 140161683574783, +SNULL, 140161681465343, 140161683574783, +STORE, 140161681321984, 140161681465343, +STORE, 140161681465344, 140161683574783, +ERASE, 140161681465344, 140161683574783, +STORE, 140161683562496, 140161683570687, +STORE, 140161683570688, 140161683574783, +STORE, 140733232214016, 140733232218111, +STORE, 140733232201728, 140733232214015, +STORE, 140161683533824, 140161683562495, +STORE, 140161683525632, 140161683533823, +STORE, 140161678159872, 140161681321983, +SNULL, 140161678159872, 140161679220735, +STORE, 140161679220736, 140161681321983, +STORE, 140161678159872, 140161679220735, +SNULL, 140161681313791, 140161681321983, +STORE, 140161679220736, 140161681313791, +STORE, 140161681313792, 140161681321983, +ERASE, 140161681313792, 140161681321983, +STORE, 140161681313792, 140161681321983, +STORE, 140161674362880, 140161678159871, +SNULL, 140161674362880, 140161676021759, +STORE, 140161676021760, 140161678159871, +STORE, 140161674362880, 140161676021759, +SNULL, 140161678118911, 140161678159871, +STORE, 140161676021760, 140161678118911, +STORE, 140161678118912, 140161678159871, +SNULL, 140161678118912, 140161678143487, +STORE, 140161678143488, 140161678159871, +STORE, 140161678118912, 140161678143487, +ERASE, 140161678118912, 140161678143487, +STORE, 140161678118912, 140161678143487, +ERASE, 140161678143488, 140161678159871, +STORE, 140161678143488, 140161678159871, +STORE, 140161683513344, 140161683533823, +SNULL, 140161678135295, 140161678143487, +STORE, 140161678118912, 140161678135295, +STORE, 140161678135296, 140161678143487, +SNULL, 140161681317887, 140161681321983, +STORE, 140161681313792, 140161681317887, +STORE, 140161681317888, 140161681321983, +SNULL, 7233535, 7241727, +STORE, 7221248, 7233535, +STORE, 7233536, 7241727, +SNULL, 140161683566591, 140161683570687, +STORE, 140161683562496, 140161683566591, +STORE, 140161683566592, 140161683570687, +ERASE, 140161683533824, 140161683562495, +STORE, 25477120, 25612287, +STORE, 25477120, 25759743, +STORE, 140161681829888, 140161683513343, +STORE, 25477120, 25915391, +STORE, 25477120, 26054655, +SNULL, 25800703, 26054655, +STORE, 25477120, 25800703, +STORE, 25800704, 26054655, +ERASE, 25800704, 26054655, +STORE, 140737488347136, 140737488351231, +STORE, 140723218452480, 140737488351231, +SNULL, 140723218456575, 140737488351231, +STORE, 140723218452480, 140723218456575, +STORE, 140723218321408, 140723218456575, +STORE, 4194304, 26279935, +STORE, 28372992, 28454911, +STORE, 28454912, 29806591, +STORE, 140398872264704, 140398874517503, +SNULL, 140398872408063, 140398874517503, +STORE, 140398872264704, 140398872408063, +STORE, 140398872408064, 140398874517503, +ERASE, 140398872408064, 140398874517503, +STORE, 140398874505216, 140398874513407, +STORE, 140398874513408, 140398874517503, +STORE, 140723219247104, 140723219251199, +STORE, 140723219234816, 140723219247103, +STORE, 140398874476544, 140398874505215, +STORE, 140398874468352, 140398874476543, +STORE, 140398868430848, 140398872264703, +SNULL, 140398868430848, 140398870138879, +STORE, 140398870138880, 140398872264703, +STORE, 140398868430848, 140398870138879, +SNULL, 140398872231935, 140398872264703, +STORE, 140398870138880, 140398872231935, +STORE, 140398872231936, 140398872264703, +ERASE, 140398872231936, 140398872264703, +STORE, 140398872231936, 140398872264703, +STORE, 140398866235392, 140398868430847, +SNULL, 140398866235392, 140398866329599, +STORE, 140398866329600, 140398868430847, +STORE, 140398866235392, 140398866329599, +SNULL, 140398868422655, 140398868430847, +STORE, 140398866329600, 140398868422655, +STORE, 140398868422656, 140398868430847, +ERASE, 140398868422656, 140398868430847, +STORE, 140398868422656, 140398868430847, +STORE, 140398863716352, 140398866235391, +SNULL, 140398863716352, 140398864130047, +STORE, 140398864130048, 140398866235391, +STORE, 140398863716352, 140398864130047, +SNULL, 140398866223103, 140398866235391, +STORE, 140398864130048, 140398866223103, +STORE, 140398866223104, 140398866235391, +ERASE, 140398866223104, 140398866235391, +STORE, 140398866223104, 140398866235391, +STORE, 140398861082624, 140398863716351, +SNULL, 140398861082624, 140398861611007, +STORE, 140398861611008, 140398863716351, +STORE, 140398861082624, 140398861611007, +SNULL, 140398863708159, 140398863716351, +STORE, 140398861611008, 140398863708159, +STORE, 140398863708160, 140398863716351, +ERASE, 140398863708160, 140398863716351, +STORE, 140398863708160, 140398863716351, +STORE, 140398858969088, 140398861082623, +SNULL, 140398858969088, 140398858981375, +STORE, 140398858981376, 140398861082623, +STORE, 140398858969088, 140398858981375, +SNULL, 140398861074431, 140398861082623, +STORE, 140398858981376, 140398861074431, +STORE, 140398861074432, 140398861082623, +ERASE, 140398861074432, 140398861082623, +STORE, 140398861074432, 140398861082623, +STORE, 140398856765440, 140398858969087, +SNULL, 140398856765440, 140398856867839, +STORE, 140398856867840, 140398858969087, +STORE, 140398856765440, 140398856867839, +SNULL, 140398858960895, 140398858969087, +STORE, 140398856867840, 140398858960895, +STORE, 140398858960896, 140398858969087, +ERASE, 140398858960896, 140398858969087, +STORE, 140398858960896, 140398858969087, +STORE, 140398874460160, 140398874476543, +STORE, 140398853603328, 140398856765439, +SNULL, 140398853603328, 140398854664191, +STORE, 140398854664192, 140398856765439, +STORE, 140398853603328, 140398854664191, +SNULL, 140398856757247, 140398856765439, +STORE, 140398854664192, 140398856757247, +STORE, 140398856757248, 140398856765439, +ERASE, 140398856757248, 140398856765439, +STORE, 140398856757248, 140398856765439, +STORE, 140398849806336, 140398853603327, +SNULL, 140398849806336, 140398851465215, +STORE, 140398851465216, 140398853603327, +STORE, 140398849806336, 140398851465215, +SNULL, 140398853562367, 140398853603327, +STORE, 140398851465216, 140398853562367, +STORE, 140398853562368, 140398853603327, +SNULL, 140398853562368, 140398853586943, +STORE, 140398853586944, 140398853603327, +STORE, 140398853562368, 140398853586943, +ERASE, 140398853562368, 140398853586943, +STORE, 140398853562368, 140398853586943, +ERASE, 140398853586944, 140398853603327, +STORE, 140398853586944, 140398853603327, +STORE, 140398874447872, 140398874476543, +SNULL, 140398853578751, 140398853586943, +STORE, 140398853562368, 140398853578751, +STORE, 140398853578752, 140398853586943, +SNULL, 140398856761343, 140398856765439, +STORE, 140398856757248, 140398856761343, +STORE, 140398856761344, 140398856765439, +SNULL, 140398858964991, 140398858969087, +STORE, 140398858960896, 140398858964991, +STORE, 140398858964992, 140398858969087, +SNULL, 140398861078527, 140398861082623, +STORE, 140398861074432, 140398861078527, +STORE, 140398861078528, 140398861082623, +SNULL, 140398863712255, 140398863716351, +STORE, 140398863708160, 140398863712255, +STORE, 140398863712256, 140398863716351, +SNULL, 140398866231295, 140398866235391, +STORE, 140398866223104, 140398866231295, +STORE, 140398866231296, 140398866235391, +SNULL, 140398868426751, 140398868430847, +STORE, 140398868422656, 140398868426751, +STORE, 140398868426752, 140398868430847, +SNULL, 140398872236031, 140398872264703, +STORE, 140398872231936, 140398872236031, +STORE, 140398872236032, 140398872264703, +SNULL, 28405759, 28454911, +STORE, 28372992, 28405759, +STORE, 28405760, 28454911, +SNULL, 140398874509311, 140398874513407, +STORE, 140398874505216, 140398874509311, +STORE, 140398874509312, 140398874513407, +ERASE, 140398874476544, 140398874505215, +STORE, 43278336, 43413503, +STORE, 140398872764416, 140398874447871, +STORE, 140398874501120, 140398874505215, +STORE, 140398872629248, 140398872764415, +STORE, 43278336, 43556863, +STORE, 140398847709184, 140398849806335, +STORE, 140398874492928, 140398874505215, +STORE, 140398874484736, 140398874505215, +STORE, 140398874447872, 140398874484735, +STORE, 140398872612864, 140398872764415, +STORE, 43278336, 43692031, +STORE, 43278336, 43880447, +STORE, 140398872604672, 140398872764415, +STORE, 140398872596480, 140398872764415, +STORE, 43278336, 44044287, +STORE, 140398872580096, 140398872764415, +STORE, 140737488347136, 140737488351231, +STORE, 140734403092480, 140737488351231, +SNULL, 140734403096575, 140737488351231, +STORE, 140734403092480, 140734403096575, +STORE, 140734402961408, 140734403096575, +STORE, 4194304, 5128191, +STORE, 7221248, 7241727, +STORE, 7241728, 7249919, +STORE, 140240662380544, 140240664633343, +SNULL, 140240662523903, 140240664633343, +STORE, 140240662380544, 140240662523903, +STORE, 140240662523904, 140240664633343, +ERASE, 140240662523904, 140240664633343, +STORE, 140240664621056, 140240664629247, +STORE, 140240664629248, 140240664633343, +STORE, 140734403145728, 140734403149823, +STORE, 140734403133440, 140734403145727, +STORE, 140240664592384, 140240664621055, +STORE, 140240664584192, 140240664592383, +STORE, 140240659218432, 140240662380543, +SNULL, 140240659218432, 140240660279295, +STORE, 140240660279296, 140240662380543, +STORE, 140240659218432, 140240660279295, +SNULL, 140240662372351, 140240662380543, +STORE, 140240660279296, 140240662372351, +STORE, 140240662372352, 140240662380543, +ERASE, 140240662372352, 140240662380543, +STORE, 140240662372352, 140240662380543, +STORE, 140240655421440, 140240659218431, +SNULL, 140240655421440, 140240657080319, +STORE, 140240657080320, 140240659218431, +STORE, 140240655421440, 140240657080319, +SNULL, 140240659177471, 140240659218431, +STORE, 140240657080320, 140240659177471, +STORE, 140240659177472, 140240659218431, +SNULL, 140240659177472, 140240659202047, +STORE, 140240659202048, 140240659218431, +STORE, 140240659177472, 140240659202047, +ERASE, 140240659177472, 140240659202047, +STORE, 140240659177472, 140240659202047, +ERASE, 140240659202048, 140240659218431, +STORE, 140240659202048, 140240659218431, +STORE, 140240664571904, 140240664592383, +SNULL, 140240659193855, 140240659202047, +STORE, 140240659177472, 140240659193855, +STORE, 140240659193856, 140240659202047, +SNULL, 140240662376447, 140240662380543, +STORE, 140240662372352, 140240662376447, +STORE, 140240662376448, 140240662380543, +SNULL, 7233535, 7241727, +STORE, 7221248, 7233535, +STORE, 7233536, 7241727, +SNULL, 140240664625151, 140240664629247, +STORE, 140240664621056, 140240664625151, +STORE, 140240664625152, 140240664629247, +ERASE, 140240664592384, 140240664621055, +STORE, 30646272, 30781439, +STORE, 30646272, 30928895, +STORE, 140240662888448, 140240664571903, +STORE, 94256659468288, 94256659578879, +STORE, 94256661671936, 94256661680127, +STORE, 94256661680128, 94256661684223, +STORE, 94256661684224, 94256661692415, +STORE, 94256687980544, 94256688115711, +STORE, 139801712504832, 139801714163711, +STORE, 139801714163712, 139801716260863, +STORE, 139801716260864, 139801716277247, +STORE, 139801716277248, 139801716285439, +STORE, 139801716285440, 139801716301823, +STORE, 139801716301824, 139801716445183, +STORE, 139801718505472, 139801718513663, +STORE, 139801718542336, 139801718546431, +STORE, 139801718546432, 139801718550527, +STORE, 139801718550528, 139801718554623, +STORE, 140721575538688, 140721575673855, +STORE, 140721577013248, 140721577025535, +STORE, 140721577025536, 140721577029631, +STORE, 140737488347136, 140737488351231, +STORE, 140729259393024, 140737488351231, +SNULL, 140729259397119, 140737488351231, +STORE, 140729259393024, 140729259397119, +STORE, 140729259261952, 140729259397119, +STORE, 4194304, 5128191, +STORE, 7221248, 7241727, +STORE, 7241728, 7249919, +STORE, 139682376638464, 139682378891263, +SNULL, 139682376781823, 139682378891263, +STORE, 139682376638464, 139682376781823, +STORE, 139682376781824, 139682378891263, +ERASE, 139682376781824, 139682378891263, +STORE, 139682378878976, 139682378887167, +STORE, 139682378887168, 139682378891263, +STORE, 140729260462080, 140729260466175, +STORE, 140729260449792, 140729260462079, +STORE, 139682378850304, 139682378878975, +STORE, 139682378842112, 139682378850303, +STORE, 139682373476352, 139682376638463, +SNULL, 139682373476352, 139682374537215, +STORE, 139682374537216, 139682376638463, +STORE, 139682373476352, 139682374537215, +SNULL, 139682376630271, 139682376638463, +STORE, 139682374537216, 139682376630271, +STORE, 139682376630272, 139682376638463, +ERASE, 139682376630272, 139682376638463, +STORE, 139682376630272, 139682376638463, +STORE, 139682369679360, 139682373476351, +SNULL, 139682369679360, 139682371338239, +STORE, 139682371338240, 139682373476351, +STORE, 139682369679360, 139682371338239, +SNULL, 139682373435391, 139682373476351, +STORE, 139682371338240, 139682373435391, +STORE, 139682373435392, 139682373476351, +SNULL, 139682373435392, 139682373459967, +STORE, 139682373459968, 139682373476351, +STORE, 139682373435392, 139682373459967, +ERASE, 139682373435392, 139682373459967, +STORE, 139682373435392, 139682373459967, +ERASE, 139682373459968, 139682373476351, +STORE, 139682373459968, 139682373476351, +STORE, 139682378829824, 139682378850303, +SNULL, 139682373451775, 139682373459967, +STORE, 139682373435392, 139682373451775, +STORE, 139682373451776, 139682373459967, +SNULL, 139682376634367, 139682376638463, +STORE, 139682376630272, 139682376634367, +STORE, 139682376634368, 139682376638463, +SNULL, 7233535, 7241727, +STORE, 7221248, 7233535, +STORE, 7233536, 7241727, +SNULL, 139682378883071, 139682378887167, +STORE, 139682378878976, 139682378883071, +STORE, 139682378883072, 139682378887167, +ERASE, 139682378850304, 139682378878975, +STORE, 10022912, 10158079, +STORE, 10022912, 10305535, +STORE, 139682377146368, 139682378829823, +STORE, 140737488347136, 140737488351231, +STORE, 140731831926784, 140737488351231, +SNULL, 140731831930879, 140737488351231, +STORE, 140731831926784, 140731831930879, +STORE, 140731831795712, 140731831930879, +STORE, 94615305261056, 94615307485183, +SNULL, 94615305371647, 94615307485183, +STORE, 94615305261056, 94615305371647, +STORE, 94615305371648, 94615307485183, +ERASE, 94615305371648, 94615307485183, +STORE, 94615307464704, 94615307476991, +STORE, 94615307476992, 94615307485183, +STORE, 140163912994816, 140163915247615, +SNULL, 140163913138175, 140163915247615, +STORE, 140163912994816, 140163913138175, +STORE, 140163913138176, 140163915247615, +ERASE, 140163913138176, 140163915247615, +STORE, 140163915235328, 140163915243519, +STORE, 140163915243520, 140163915247615, +STORE, 140731832217600, 140731832221695, +STORE, 140731832205312, 140731832217599, +STORE, 140163915206656, 140163915235327, +STORE, 140163915198464, 140163915206655, +STORE, 140163909197824, 140163912994815, +SNULL, 140163909197824, 140163910856703, +STORE, 140163910856704, 140163912994815, +STORE, 140163909197824, 140163910856703, +SNULL, 140163912953855, 140163912994815, +STORE, 140163910856704, 140163912953855, +STORE, 140163912953856, 140163912994815, +SNULL, 140163912953856, 140163912978431, +STORE, 140163912978432, 140163912994815, +STORE, 140163912953856, 140163912978431, +ERASE, 140163912953856, 140163912978431, +STORE, 140163912953856, 140163912978431, +ERASE, 140163912978432, 140163912994815, +STORE, 140163912978432, 140163912994815, +SNULL, 140163912970239, 140163912978431, +STORE, 140163912953856, 140163912970239, +STORE, 140163912970240, 140163912978431, +SNULL, 94615307472895, 94615307476991, +STORE, 94615307464704, 94615307472895, +STORE, 94615307472896, 94615307476991, +SNULL, 140163915239423, 140163915243519, +STORE, 140163915235328, 140163915239423, +STORE, 140163915239424, 140163915243519, +ERASE, 140163915206656, 140163915235327, +STORE, 94615330672640, 94615330807807, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140725254479872, 140737488351231, +SNULL, 140725254488063, 140737488351231, +STORE, 140725254479872, 140725254488063, +STORE, 140725254348800, 140725254488063, +STORE, 94572781277184, 94572785741823, +SNULL, 94572783312895, 94572785741823, +STORE, 94572781277184, 94572783312895, +STORE, 94572783312896, 94572785741823, +ERASE, 94572783312896, 94572785741823, +STORE, 94572785405952, 94572785455103, +STORE, 94572785455104, 94572785741823, +STORE, 139636001341440, 139636003594239, +SNULL, 139636001484799, 139636003594239, +STORE, 139636001341440, 139636001484799, +STORE, 139636001484800, 139636003594239, +ERASE, 139636001484800, 139636003594239, +STORE, 139636003581952, 139636003590143, +STORE, 139636003590144, 139636003594239, +STORE, 140725255557120, 140725255561215, +STORE, 140725255544832, 140725255557119, +STORE, 139636003553280, 139636003581951, +STORE, 139636003545088, 139636003553279, +STORE, 139635998773248, 139636001341439, +SNULL, 139635998773248, 139635999240191, +STORE, 139635999240192, 139636001341439, +STORE, 139635998773248, 139635999240191, +SNULL, 139636001333247, 139636001341439, +STORE, 139635999240192, 139636001333247, +STORE, 139636001333248, 139636001341439, +ERASE, 139636001333248, 139636001341439, +STORE, 139636001333248, 139636001341439, +STORE, 139635996569600, 139635998773247, +SNULL, 139635996569600, 139635996671999, +STORE, 139635996672000, 139635998773247, +STORE, 139635996569600, 139635996671999, +SNULL, 139635998765055, 139635998773247, +STORE, 139635996672000, 139635998765055, +STORE, 139635998765056, 139635998773247, +ERASE, 139635998765056, 139635998773247, +STORE, 139635998765056, 139635998773247, +STORE, 139635994353664, 139635996569599, +SNULL, 139635994353664, 139635994451967, +STORE, 139635994451968, 139635996569599, +STORE, 139635994353664, 139635994451967, +SNULL, 139635996545023, 139635996569599, +STORE, 139635994451968, 139635996545023, +STORE, 139635996545024, 139635996569599, +SNULL, 139635996545024, 139635996553215, +STORE, 139635996553216, 139635996569599, +STORE, 139635996545024, 139635996553215, +ERASE, 139635996545024, 139635996553215, +STORE, 139635996545024, 139635996553215, +ERASE, 139635996553216, 139635996569599, +STORE, 139635996553216, 139635996569599, +STORE, 139635992223744, 139635994353663, +SNULL, 139635992223744, 139635992252415, +STORE, 139635992252416, 139635994353663, +STORE, 139635992223744, 139635992252415, +SNULL, 139635994345471, 139635994353663, +STORE, 139635992252416, 139635994345471, +STORE, 139635994345472, 139635994353663, +ERASE, 139635994345472, 139635994353663, +STORE, 139635994345472, 139635994353663, +STORE, 139635988426752, 139635992223743, +SNULL, 139635988426752, 139635990085631, +STORE, 139635990085632, 139635992223743, +STORE, 139635988426752, 139635990085631, +SNULL, 139635992182783, 139635992223743, +STORE, 139635990085632, 139635992182783, +STORE, 139635992182784, 139635992223743, +SNULL, 139635992182784, 139635992207359, +STORE, 139635992207360, 139635992223743, +STORE, 139635992182784, 139635992207359, +ERASE, 139635992182784, 139635992207359, +STORE, 139635992182784, 139635992207359, +ERASE, 139635992207360, 139635992223743, +STORE, 139635992207360, 139635992223743, +STORE, 139636003536896, 139636003553279, +SNULL, 139635992199167, 139635992207359, +STORE, 139635992182784, 139635992199167, +STORE, 139635992199168, 139635992207359, +SNULL, 139635996549119, 139635996553215, +STORE, 139635996545024, 139635996549119, +STORE, 139635996549120, 139635996553215, +SNULL, 139635994349567, 139635994353663, +STORE, 139635994345472, 139635994349567, +STORE, 139635994349568, 139635994353663, +SNULL, 139635998769151, 139635998773247, +STORE, 139635998765056, 139635998769151, +STORE, 139635998769152, 139635998773247, +SNULL, 139636001337343, 139636001341439, +STORE, 139636001333248, 139636001337343, +STORE, 139636001337344, 139636001341439, +SNULL, 94572785418239, 94572785455103, +STORE, 94572785405952, 94572785418239, +STORE, 94572785418240, 94572785455103, +SNULL, 139636003586047, 139636003590143, +STORE, 139636003581952, 139636003586047, +STORE, 139636003586048, 139636003590143, +ERASE, 139636003553280, 139636003581951, +STORE, 94572798435328, 94572798570495, +STORE, 139636001853440, 139636003536895, +STORE, 139635981426688, 139635988426751, +STORE, 139635980615680, 139635981426687, +STORE, 94572798435328, 94572798705663, +STORE, 94572798435328, 94572798840831, +STORE, 94572798435328, 94572798975999, +STORE, 94572798435328, 94572799111167, +STORE, 94572798435328, 94572799246335, +STORE, 94572798435328, 94572799381503, +STORE, 94572798435328, 94572799516671, +STORE, 94572798435328, 94572799651839, +STORE, 94572798435328, 94572799787007, +STORE, 94572798435328, 94572799922175, +STORE, 94572798435328, 94572800057343, +STORE, 94572798435328, 94572800192511, +STORE, 94572798435328, 94572800327679, +STORE, 94572798435328, 94572800462847, +STORE, 94572798435328, 94572800598015, +STORE, 94572798435328, 94572800733183, +STORE, 94572798435328, 94572800868351, +STORE, 94572798435328, 94572801003519, +STORE, 94572798435328, 94572801138687, +STORE, 94572798435328, 94572801273855, +STORE, 94572798435328, 94572801409023, +STORE, 94572798435328, 94572801544191, +STORE, 94572798435328, 94572801679359, +STORE, 94572798435328, 94572801814527, +STORE, 94572798435328, 94572801949695, +STORE, 94572798435328, 94572802084863, +STORE, 94572798435328, 94572802220031, +STORE, 94572798435328, 94572802355199, +STORE, 94572798435328, 94572802490367, +STORE, 94572798435328, 94572802625535, +STORE, 94572798435328, 94572802760703, +STORE, 94572798435328, 94572802895871, +STORE, 94572798435328, 94572803031039, +STORE, 94572798435328, 94572803166207, +STORE, 94572798435328, 94572803301375, +STORE, 94572798435328, 94572803436543, +STORE, 94572798435328, 94572803571711, +STORE, 94572798435328, 94572803706879, +STORE, 94572798435328, 94572803842047, +STORE, 94572798435328, 94572803977215, +STORE, 94572798435328, 94572804112383, +STORE, 94572798435328, 94572804247551, +STORE, 94572798435328, 94572804382719, +STORE, 94572798435328, 94572804517887, +STORE, 94572798435328, 94572804653055, +STORE, 94572798435328, 94572804788223, +STORE, 94572798435328, 94572804923391, +STORE, 94572798435328, 94572805058559, +STORE, 94572798435328, 94572805193727, +STORE, 94572798435328, 94572805328895, +STORE, 94572798435328, 94572805464063, +STORE, 94572798435328, 94572805599231, +STORE, 94572798435328, 94572805734399, +STORE, 94572798435328, 94572805869567, +STORE, 94572798435328, 94572806004735, +STORE, 94572798435328, 94572806139903, +STORE, 94572798435328, 94572806275071, +STORE, 94572798435328, 94572806410239, +STORE, 94572798435328, 94572806545407, +STORE, 94572798435328, 94572806680575, +STORE, 94572798435328, 94572806815743, +STORE, 94572798435328, 94572806950911, +STORE, 94572798435328, 94572807086079, +STORE, 94572798435328, 94572807221247, +STORE, 94572798435328, 94572807356415, +STORE, 94572798435328, 94572807491583, +STORE, 94572798435328, 94572807626751, +STORE, 94572798435328, 94572807761919, +STORE, 94572798435328, 94572807897087, +STORE, 94572798435328, 94572808032255, +STORE, 94572798435328, 94572808167423, +STORE, 94572798435328, 94572808302591, +STORE, 94572798435328, 94572808437759, +STORE, 94572798435328, 94572808572927, +ERASE, 139635981426688, 139635988426751, +STORE, 139635985088512, 139635988426751, +STORE, 139635778273280, 139635980615679, +STORE, 139635567632384, 139635778273279, +STORE, 94572798435328, 94572808716287, +STORE, 139635984564224, 139635985088511, +STORE, 139635559239680, 139635567632383, +SNULL, 139635559243775, 139635567632383, +STORE, 139635559239680, 139635559243775, +STORE, 139635559243776, 139635567632383, +STORE, 139635550846976, 139635559239679, +SNULL, 139635550851071, 139635559239679, +STORE, 139635550846976, 139635550851071, +STORE, 139635550851072, 139635559239679, +STORE, 139635542454272, 139635550846975, +STORE, 139635408236544, 139635542454271, +SNULL, 139635408236544, 139635426590719, +STORE, 139635426590720, 139635542454271, +STORE, 139635408236544, 139635426590719, +ERASE, 139635408236544, 139635426590719, +STORE, 139635292372992, 139635542454271, +SNULL, 139635359481855, 139635542454271, +STORE, 139635292372992, 139635359481855, +STORE, 139635359481856, 139635542454271, +SNULL, 139635359481856, 139635426590719, +STORE, 139635426590720, 139635542454271, +STORE, 139635359481856, 139635426590719, +ERASE, 139635359481856, 139635426590719, +SNULL, 139635542458367, 139635550846975, +STORE, 139635542454272, 139635542458367, +STORE, 139635542458368, 139635550846975, +STORE, 139635418198016, 139635426590719, +SNULL, 139635493699583, 139635542454271, +STORE, 139635426590720, 139635493699583, +STORE, 139635493699584, 139635542454271, +ERASE, 139635493699584, 139635542454271, +SNULL, 139635426725887, 139635493699583, +STORE, 139635426590720, 139635426725887, +STORE, 139635426725888, 139635493699583, +SNULL, 139635292508159, 139635359481855, +STORE, 139635292372992, 139635292508159, +STORE, 139635292508160, 139635359481855, +SNULL, 139635418202111, 139635426590719, +STORE, 139635418198016, 139635418202111, +STORE, 139635418202112, 139635426590719, +STORE, 139635225264128, 139635292372991, +STORE, 139635534061568, 139635542454271, +SNULL, 139635534065663, 139635542454271, +STORE, 139635534061568, 139635534065663, +STORE, 139635534065664, 139635542454271, +STORE, 139635525668864, 139635534061567, +SNULL, 139635525672959, 139635534061567, +STORE, 139635525668864, 139635525672959, +STORE, 139635525672960, 139635534061567, +SNULL, 139635225399295, 139635292372991, +STORE, 139635225264128, 139635225399295, +STORE, 139635225399296, 139635292372991, +STORE, 139635091046400, 139635225264127, +SNULL, 139635158155263, 139635225264127, +STORE, 139635091046400, 139635158155263, +STORE, 139635158155264, 139635225264127, +ERASE, 139635158155264, 139635225264127, +STORE, 139634956828672, 139635158155263, +STORE, 139635517276160, 139635525668863, +SNULL, 139635517280255, 139635525668863, +STORE, 139635517276160, 139635517280255, +STORE, 139635517280256, 139635525668863, +SNULL, 139634956828672, 139635091046399, +STORE, 139635091046400, 139635158155263, +STORE, 139634956828672, 139635091046399, +SNULL, 139635091181567, 139635158155263, +STORE, 139635091046400, 139635091181567, +STORE, 139635091181568, 139635158155263, +SNULL, 139635023937535, 139635091046399, +STORE, 139634956828672, 139635023937535, +STORE, 139635023937536, 139635091046399, +ERASE, 139635023937536, 139635091046399, +STORE, 139634956828672, 139635091046399, +SNULL, 139634956828672, 139635023937535, +STORE, 139635023937536, 139635091046399, +STORE, 139634956828672, 139635023937535, +SNULL, 139635024072703, 139635091046399, +STORE, 139635023937536, 139635024072703, +STORE, 139635024072704, 139635091046399, +STORE, 139635508883456, 139635517276159, +SNULL, 139635508887551, 139635517276159, +STORE, 139635508883456, 139635508887551, +STORE, 139635508887552, 139635517276159, +STORE, 139634822610944, 139635023937535, +SNULL, 139634822610944, 139634956828671, +STORE, 139634956828672, 139635023937535, +STORE, 139634822610944, 139634956828671, +SNULL, 139634956963839, 139635023937535, +STORE, 139634956828672, 139634956963839, +STORE, 139634956963840, 139635023937535, +STORE, 139635500490752, 139635508883455, +SNULL, 139634889719807, 139634956828671, +STORE, 139634822610944, 139634889719807, +STORE, 139634889719808, 139634956828671, +ERASE, 139634889719808, 139634956828671, +SNULL, 139635500494847, 139635508883455, +STORE, 139635500490752, 139635500494847, +STORE, 139635500494848, 139635508883455, +SNULL, 139634822746111, 139634889719807, +STORE, 139634822610944, 139634822746111, +STORE, 139634822746112, 139634889719807, +STORE, 139635409805312, 139635418198015, +STORE, 139634822746112, 139634956828671, +SNULL, 139634822746112, 139634889719807, +STORE, 139634889719808, 139634956828671, +STORE, 139634822746112, 139634889719807, +SNULL, 139634889854975, 139634956828671, +STORE, 139634889719808, 139634889854975, +STORE, 139634889854976, 139634956828671, +SNULL, 139635409809407, 139635418198015, +STORE, 139635409805312, 139635409809407, +STORE, 139635409809408, 139635418198015, +STORE, 139635401412608, 139635409805311, +STORE, 139634688393216, 139634822610943, +SNULL, 139634755502079, 139634822610943, +STORE, 139634688393216, 139634755502079, +STORE, 139634755502080, 139634822610943, +ERASE, 139634755502080, 139634822610943, +SNULL, 139635401416703, 139635409805311, +STORE, 139635401412608, 139635401416703, +STORE, 139635401416704, 139635409805311, +STORE, 139634554175488, 139634755502079, +SNULL, 139634554175488, 139634688393215, +STORE, 139634688393216, 139634755502079, +STORE, 139634554175488, 139634688393215, +SNULL, 139634688528383, 139634755502079, +STORE, 139634688393216, 139634688528383, +STORE, 139634688528384, 139634755502079, +STORE, 139635393019904, 139635401412607, +SNULL, 139634621284351, 139634688393215, +STORE, 139634554175488, 139634621284351, +STORE, 139634621284352, 139634688393215, +ERASE, 139634621284352, 139634688393215, +SNULL, 139634554310655, 139634621284351, +STORE, 139634554175488, 139634554310655, +STORE, 139634554310656, 139634621284351, +STORE, 139634554310656, 139634688393215, +SNULL, 139635393023999, 139635401412607, +STORE, 139635393019904, 139635393023999, +STORE, 139635393024000, 139635401412607, +SNULL, 139634554310656, 139634621284351, +STORE, 139634621284352, 139634688393215, +STORE, 139634554310656, 139634621284351, +SNULL, 139634621419519, 139634688393215, +STORE, 139634621284352, 139634621419519, +STORE, 139634621419520, 139634688393215, +STORE, 139635384627200, 139635393019903, +SNULL, 139635384631295, 139635393019903, +STORE, 139635384627200, 139635384631295, +STORE, 139635384631296, 139635393019903, +STORE, 139635376234496, 139635384627199, +SNULL, 139635376238591, 139635384627199, +STORE, 139635376234496, 139635376238591, +STORE, 139635376238592, 139635384627199, +STORE, 139635367841792, 139635376234495, +SNULL, 139635367845887, 139635376234495, +STORE, 139635367841792, 139635367845887, +STORE, 139635367845888, 139635376234495, +STORE, 139634419957760, 139634554175487, +SNULL, 139634487066623, 139634554175487, +STORE, 139634419957760, 139634487066623, +STORE, 139634487066624, 139634554175487, +ERASE, 139634487066624, 139634554175487, +STORE, 139635216871424, 139635225264127, +SNULL, 139635216875519, 139635225264127, +STORE, 139635216871424, 139635216875519, +STORE, 139635216875520, 139635225264127, +SNULL, 139634420092927, 139634487066623, +STORE, 139634419957760, 139634420092927, +STORE, 139634420092928, 139634487066623, +STORE, 139635208478720, 139635216871423, +SNULL, 139635208482815, 139635216871423, +STORE, 139635208478720, 139635208482815, +STORE, 139635208482816, 139635216871423, +STORE, 139635200086016, 139635208478719, +SNULL, 139635200090111, 139635208478719, +STORE, 139635200086016, 139635200090111, +STORE, 139635200090112, 139635208478719, +STORE, 139635191693312, 139635200086015, +SNULL, 139635191697407, 139635200086015, +STORE, 139635191693312, 139635191697407, +STORE, 139635191697408, 139635200086015, +STORE, 139635183300608, 139635191693311, +SNULL, 139635183304703, 139635191693311, +STORE, 139635183300608, 139635183304703, +STORE, 139635183304704, 139635191693311, +STORE, 139634420092928, 139634554175487, +SNULL, 139634420092928, 139634487066623, +STORE, 139634487066624, 139634554175487, +STORE, 139634420092928, 139634487066623, +SNULL, 139634487201791, 139634554175487, +STORE, 139634487066624, 139634487201791, +STORE, 139634487201792, 139634554175487, +ERASE, 139635559239680, 139635559243775, +ERASE, 139635559243776, 139635567632383, +ERASE, 139635550846976, 139635550851071, +ERASE, 139635550851072, 139635559239679, +ERASE, 139635542454272, 139635542458367, +ERASE, 139635542458368, 139635550846975, +ERASE, 139635418198016, 139635418202111, +ERASE, 139635418202112, 139635426590719, +ERASE, 139635534061568, 139635534065663, +ERASE, 139635534065664, 139635542454271, +ERASE, 139635525668864, 139635525672959, +ERASE, 139635525672960, 139635534061567, +ERASE, 139635517276160, 139635517280255, +ERASE, 139635517280256, 139635525668863, +ERASE, 139635508883456, 139635508887551, +ERASE, 139635508887552, 139635517276159, +ERASE, 139635500490752, 139635500494847, +ERASE, 139635500494848, 139635508883455, +ERASE, 139635409805312, 139635409809407, +ERASE, 139635409809408, 139635418198015, +ERASE, 139635401412608, 139635401416703, +ERASE, 139635401416704, 139635409805311, +ERASE, 139635393019904, 139635393023999, +ERASE, 139635393024000, 139635401412607, +ERASE, 139635384627200, 139635384631295, +ERASE, 139635384631296, 139635393019903, + }; + unsigned long set25[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722547441664, 140737488351231, +SNULL, 140722547449855, 140737488351231, +STORE, 140722547441664, 140722547449855, +STORE, 140722547310592, 140722547449855, +STORE, 94827521732608, 94827523956735, +SNULL, 94827521843199, 94827523956735, +STORE, 94827521732608, 94827521843199, +STORE, 94827521843200, 94827523956735, +ERASE, 94827521843200, 94827523956735, +STORE, 94827523936256, 94827523948543, +STORE, 94827523948544, 94827523956735, +STORE, 139816136847360, 139816139100159, +SNULL, 139816136990719, 139816139100159, +STORE, 139816136847360, 139816136990719, +STORE, 139816136990720, 139816139100159, +ERASE, 139816136990720, 139816139100159, +STORE, 139816139087872, 139816139096063, +STORE, 139816139096064, 139816139100159, +STORE, 140722548142080, 140722548146175, +STORE, 140722548129792, 140722548142079, +STORE, 139816139059200, 139816139087871, +STORE, 139816139051008, 139816139059199, +STORE, 139816133050368, 139816136847359, +SNULL, 139816133050368, 139816134709247, +STORE, 139816134709248, 139816136847359, +STORE, 139816133050368, 139816134709247, +SNULL, 139816136806399, 139816136847359, +STORE, 139816134709248, 139816136806399, +STORE, 139816136806400, 139816136847359, +SNULL, 139816136806400, 139816136830975, +STORE, 139816136830976, 139816136847359, +STORE, 139816136806400, 139816136830975, +ERASE, 139816136806400, 139816136830975, +STORE, 139816136806400, 139816136830975, +ERASE, 139816136830976, 139816136847359, +STORE, 139816136830976, 139816136847359, +SNULL, 139816136822783, 139816136830975, +STORE, 139816136806400, 139816136822783, +STORE, 139816136822784, 139816136830975, +SNULL, 94827523944447, 94827523948543, +STORE, 94827523936256, 94827523944447, +STORE, 94827523944448, 94827523948543, +SNULL, 139816139091967, 139816139096063, +STORE, 139816139087872, 139816139091967, +STORE, 139816139091968, 139816139096063, +ERASE, 139816139059200, 139816139087871, +STORE, 94827534970880, 94827535106047, +STORE, 94114394132480, 94114394345471, +STORE, 94114396442624, 94114396446719, +STORE, 94114396446720, 94114396454911, +STORE, 94114396454912, 94114396467199, +STORE, 94114421575680, 94114427715583, +STORE, 139934313955328, 139934315614207, +STORE, 139934315614208, 139934317711359, +STORE, 139934317711360, 139934317727743, +STORE, 139934317727744, 139934317735935, +STORE, 139934317735936, 139934317752319, +STORE, 139934317752320, 139934317764607, +STORE, 139934317764608, 139934319857663, +STORE, 139934319857664, 139934319861759, +STORE, 139934319861760, 139934319865855, +STORE, 139934319865856, 139934320009215, +STORE, 139934320377856, 139934322061311, +STORE, 139934322061312, 139934322077695, +STORE, 139934322106368, 139934322110463, +STORE, 139934322110464, 139934322114559, +STORE, 139934322114560, 139934322118655, +STORE, 140731200376832, 140731200516095, +STORE, 140731200929792, 140731200942079, +STORE, 140731200942080, 140731200946175, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140734133174272, 140737488351231, +SNULL, 140734133182463, 140737488351231, +STORE, 140734133174272, 140734133182463, +STORE, 140734133043200, 140734133182463, +STORE, 94412675600384, 94412677824511, +SNULL, 94412675710975, 94412677824511, +STORE, 94412675600384, 94412675710975, +STORE, 94412675710976, 94412677824511, +ERASE, 94412675710976, 94412677824511, +STORE, 94412677804032, 94412677816319, +STORE, 94412677816320, 94412677824511, +STORE, 140320087945216, 140320090198015, +SNULL, 140320088088575, 140320090198015, +STORE, 140320087945216, 140320088088575, +STORE, 140320088088576, 140320090198015, +ERASE, 140320088088576, 140320090198015, +STORE, 140320090185728, 140320090193919, +STORE, 140320090193920, 140320090198015, +STORE, 140734134591488, 140734134595583, +STORE, 140734134579200, 140734134591487, +STORE, 140320090157056, 140320090185727, +STORE, 140320090148864, 140320090157055, +STORE, 140320084148224, 140320087945215, +SNULL, 140320084148224, 140320085807103, +STORE, 140320085807104, 140320087945215, +STORE, 140320084148224, 140320085807103, +SNULL, 140320087904255, 140320087945215, +STORE, 140320085807104, 140320087904255, +STORE, 140320087904256, 140320087945215, +SNULL, 140320087904256, 140320087928831, +STORE, 140320087928832, 140320087945215, +STORE, 140320087904256, 140320087928831, +ERASE, 140320087904256, 140320087928831, +STORE, 140320087904256, 140320087928831, +ERASE, 140320087928832, 140320087945215, +STORE, 140320087928832, 140320087945215, +SNULL, 140320087920639, 140320087928831, +STORE, 140320087904256, 140320087920639, +STORE, 140320087920640, 140320087928831, +SNULL, 94412677812223, 94412677816319, +STORE, 94412677804032, 94412677812223, +STORE, 94412677812224, 94412677816319, +SNULL, 140320090189823, 140320090193919, +STORE, 140320090185728, 140320090189823, +STORE, 140320090189824, 140320090193919, +ERASE, 140320090157056, 140320090185727, +STORE, 94412684546048, 94412684681215, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140723005485056, 140737488351231, +SNULL, 140723005493247, 140737488351231, +STORE, 140723005485056, 140723005493247, +STORE, 140723005353984, 140723005493247, +STORE, 94387431936000, 94387434160127, +SNULL, 94387432046591, 94387434160127, +STORE, 94387431936000, 94387432046591, +STORE, 94387432046592, 94387434160127, +ERASE, 94387432046592, 94387434160127, +STORE, 94387434139648, 94387434151935, +STORE, 94387434151936, 94387434160127, +STORE, 140151675392000, 140151677644799, +SNULL, 140151675535359, 140151677644799, +STORE, 140151675392000, 140151675535359, +STORE, 140151675535360, 140151677644799, +ERASE, 140151675535360, 140151677644799, +STORE, 140151677632512, 140151677640703, +STORE, 140151677640704, 140151677644799, +STORE, 140723005784064, 140723005788159, +STORE, 140723005771776, 140723005784063, +STORE, 140151677603840, 140151677632511, +STORE, 140151677595648, 140151677603839, +STORE, 140151671595008, 140151675391999, +SNULL, 140151671595008, 140151673253887, +STORE, 140151673253888, 140151675391999, +STORE, 140151671595008, 140151673253887, +SNULL, 140151675351039, 140151675391999, +STORE, 140151673253888, 140151675351039, +STORE, 140151675351040, 140151675391999, +SNULL, 140151675351040, 140151675375615, +STORE, 140151675375616, 140151675391999, +STORE, 140151675351040, 140151675375615, +ERASE, 140151675351040, 140151675375615, +STORE, 140151675351040, 140151675375615, +ERASE, 140151675375616, 140151675391999, +STORE, 140151675375616, 140151675391999, +SNULL, 140151675367423, 140151675375615, +STORE, 140151675351040, 140151675367423, +STORE, 140151675367424, 140151675375615, +SNULL, 94387434147839, 94387434151935, +STORE, 94387434139648, 94387434147839, +STORE, 94387434147840, 94387434151935, +SNULL, 140151677636607, 140151677640703, +STORE, 140151677632512, 140151677636607, +STORE, 140151677636608, 140151677640703, +ERASE, 140151677603840, 140151677632511, +STORE, 94387458818048, 94387458953215, +STORE, 94909010997248, 94909011210239, +STORE, 94909013307392, 94909013311487, +STORE, 94909013311488, 94909013319679, +STORE, 94909013319680, 94909013331967, +STORE, 94909014827008, 94909023371263, +STORE, 140712411975680, 140712413634559, +STORE, 140712413634560, 140712415731711, +STORE, 140712415731712, 140712415748095, +STORE, 140712415748096, 140712415756287, +STORE, 140712415756288, 140712415772671, +STORE, 140712415772672, 140712415784959, +STORE, 140712415784960, 140712417878015, +STORE, 140712417878016, 140712417882111, +STORE, 140712417882112, 140712417886207, +STORE, 140712417886208, 140712418029567, +STORE, 140712418398208, 140712420081663, +STORE, 140712420081664, 140712420098047, +STORE, 140712420126720, 140712420130815, +STORE, 140712420130816, 140712420134911, +STORE, 140712420134912, 140712420139007, +STORE, 140729293111296, 140729293250559, +STORE, 140729293307904, 140729293320191, +STORE, 140729293320192, 140729293324287, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140720541691904, 140737488351231, +SNULL, 140720541700095, 140737488351231, +STORE, 140720541691904, 140720541700095, +STORE, 140720541560832, 140720541700095, +STORE, 94203603419136, 94203605643263, +SNULL, 94203603529727, 94203605643263, +STORE, 94203603419136, 94203603529727, +STORE, 94203603529728, 94203605643263, +ERASE, 94203603529728, 94203605643263, +STORE, 94203605622784, 94203605635071, +STORE, 94203605635072, 94203605643263, +STORE, 139847623081984, 139847625334783, +SNULL, 139847623225343, 139847625334783, +STORE, 139847623081984, 139847623225343, +STORE, 139847623225344, 139847625334783, +ERASE, 139847623225344, 139847625334783, +STORE, 139847625322496, 139847625330687, +STORE, 139847625330688, 139847625334783, +STORE, 140720542547968, 140720542552063, +STORE, 140720542535680, 140720542547967, +STORE, 139847625293824, 139847625322495, +STORE, 139847625285632, 139847625293823, +STORE, 139847619284992, 139847623081983, +SNULL, 139847619284992, 139847620943871, +STORE, 139847620943872, 139847623081983, +STORE, 139847619284992, 139847620943871, +SNULL, 139847623041023, 139847623081983, +STORE, 139847620943872, 139847623041023, +STORE, 139847623041024, 139847623081983, +SNULL, 139847623041024, 139847623065599, +STORE, 139847623065600, 139847623081983, +STORE, 139847623041024, 139847623065599, +ERASE, 139847623041024, 139847623065599, +STORE, 139847623041024, 139847623065599, +ERASE, 139847623065600, 139847623081983, +STORE, 139847623065600, 139847623081983, +SNULL, 139847623057407, 139847623065599, +STORE, 139847623041024, 139847623057407, +STORE, 139847623057408, 139847623065599, +SNULL, 94203605630975, 94203605635071, +STORE, 94203605622784, 94203605630975, +STORE, 94203605630976, 94203605635071, +SNULL, 139847625326591, 139847625330687, +STORE, 139847625322496, 139847625326591, +STORE, 139847625326592, 139847625330687, +ERASE, 139847625293824, 139847625322495, +STORE, 94203634880512, 94203635015679, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140721428738048, 140737488351231, +SNULL, 140721428746239, 140737488351231, +STORE, 140721428738048, 140721428746239, +STORE, 140721428606976, 140721428746239, +STORE, 93968808378368, 93968810602495, +SNULL, 93968808488959, 93968810602495, +STORE, 93968808378368, 93968808488959, +STORE, 93968808488960, 93968810602495, +ERASE, 93968808488960, 93968810602495, +STORE, 93968810582016, 93968810594303, +STORE, 93968810594304, 93968810602495, +STORE, 140397757026304, 140397759279103, +SNULL, 140397757169663, 140397759279103, +STORE, 140397757026304, 140397757169663, +STORE, 140397757169664, 140397759279103, +ERASE, 140397757169664, 140397759279103, +STORE, 140397759266816, 140397759275007, +STORE, 140397759275008, 140397759279103, +STORE, 140721430368256, 140721430372351, +STORE, 140721430355968, 140721430368255, +STORE, 140397759238144, 140397759266815, +STORE, 140397759229952, 140397759238143, +STORE, 140397753229312, 140397757026303, +SNULL, 140397753229312, 140397754888191, +STORE, 140397754888192, 140397757026303, +STORE, 140397753229312, 140397754888191, +SNULL, 140397756985343, 140397757026303, +STORE, 140397754888192, 140397756985343, +STORE, 140397756985344, 140397757026303, +SNULL, 140397756985344, 140397757009919, +STORE, 140397757009920, 140397757026303, +STORE, 140397756985344, 140397757009919, +ERASE, 140397756985344, 140397757009919, +STORE, 140397756985344, 140397757009919, +ERASE, 140397757009920, 140397757026303, +STORE, 140397757009920, 140397757026303, +SNULL, 140397757001727, 140397757009919, +STORE, 140397756985344, 140397757001727, +STORE, 140397757001728, 140397757009919, +SNULL, 93968810590207, 93968810594303, +STORE, 93968810582016, 93968810590207, +STORE, 93968810590208, 93968810594303, +SNULL, 140397759270911, 140397759275007, +STORE, 140397759266816, 140397759270911, +STORE, 140397759270912, 140397759275007, +ERASE, 140397759238144, 140397759266815, +STORE, 93968837025792, 93968837160959, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140721751044096, 140737488351231, +SNULL, 140721751052287, 140737488351231, +STORE, 140721751044096, 140721751052287, +STORE, 140721750913024, 140721751052287, +STORE, 94426051657728, 94426053881855, +SNULL, 94426051768319, 94426053881855, +STORE, 94426051657728, 94426051768319, +STORE, 94426051768320, 94426053881855, +ERASE, 94426051768320, 94426053881855, +STORE, 94426053861376, 94426053873663, +STORE, 94426053873664, 94426053881855, +STORE, 140228456181760, 140228458434559, +SNULL, 140228456325119, 140228458434559, +STORE, 140228456181760, 140228456325119, +STORE, 140228456325120, 140228458434559, +ERASE, 140228456325120, 140228458434559, +STORE, 140228458422272, 140228458430463, +STORE, 140228458430464, 140228458434559, +STORE, 140721751117824, 140721751121919, +STORE, 140721751105536, 140721751117823, +STORE, 140228458393600, 140228458422271, +STORE, 140228458385408, 140228458393599, +STORE, 140228452384768, 140228456181759, +SNULL, 140228452384768, 140228454043647, +STORE, 140228454043648, 140228456181759, +STORE, 140228452384768, 140228454043647, +SNULL, 140228456140799, 140228456181759, +STORE, 140228454043648, 140228456140799, +STORE, 140228456140800, 140228456181759, +SNULL, 140228456140800, 140228456165375, +STORE, 140228456165376, 140228456181759, +STORE, 140228456140800, 140228456165375, +ERASE, 140228456140800, 140228456165375, +STORE, 140228456140800, 140228456165375, +ERASE, 140228456165376, 140228456181759, +STORE, 140228456165376, 140228456181759, +SNULL, 140228456157183, 140228456165375, +STORE, 140228456140800, 140228456157183, +STORE, 140228456157184, 140228456165375, +SNULL, 94426053869567, 94426053873663, +STORE, 94426053861376, 94426053869567, +STORE, 94426053869568, 94426053873663, +SNULL, 140228458426367, 140228458430463, +STORE, 140228458422272, 140228458426367, +STORE, 140228458426368, 140228458430463, +ERASE, 140228458393600, 140228458422271, +STORE, 94426073681920, 94426073817087, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140732727623680, 140737488351231, +SNULL, 140732727631871, 140737488351231, +STORE, 140732727623680, 140732727631871, +STORE, 140732727492608, 140732727631871, +STORE, 94537485996032, 94537488220159, +SNULL, 94537486106623, 94537488220159, +STORE, 94537485996032, 94537486106623, +STORE, 94537486106624, 94537488220159, +ERASE, 94537486106624, 94537488220159, +STORE, 94537488199680, 94537488211967, +STORE, 94537488211968, 94537488220159, +STORE, 140446578036736, 140446580289535, +SNULL, 140446578180095, 140446580289535, +STORE, 140446578036736, 140446578180095, +STORE, 140446578180096, 140446580289535, +ERASE, 140446578180096, 140446580289535, +STORE, 140446580277248, 140446580285439, +STORE, 140446580285440, 140446580289535, +STORE, 140732727758848, 140732727762943, +STORE, 140732727746560, 140732727758847, +STORE, 140446580248576, 140446580277247, +STORE, 140446580240384, 140446580248575, +STORE, 140446574239744, 140446578036735, +SNULL, 140446574239744, 140446575898623, +STORE, 140446575898624, 140446578036735, +STORE, 140446574239744, 140446575898623, +SNULL, 140446577995775, 140446578036735, +STORE, 140446575898624, 140446577995775, +STORE, 140446577995776, 140446578036735, +SNULL, 140446577995776, 140446578020351, +STORE, 140446578020352, 140446578036735, +STORE, 140446577995776, 140446578020351, +ERASE, 140446577995776, 140446578020351, +STORE, 140446577995776, 140446578020351, +ERASE, 140446578020352, 140446578036735, +STORE, 140446578020352, 140446578036735, +SNULL, 140446578012159, 140446578020351, +STORE, 140446577995776, 140446578012159, +STORE, 140446578012160, 140446578020351, +SNULL, 94537488207871, 94537488211967, +STORE, 94537488199680, 94537488207871, +STORE, 94537488207872, 94537488211967, +SNULL, 140446580281343, 140446580285439, +STORE, 140446580277248, 140446580281343, +STORE, 140446580281344, 140446580285439, +ERASE, 140446580248576, 140446580277247, +STORE, 94537489014784, 94537489149951, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140728766808064, 140737488351231, +SNULL, 140728766816255, 140737488351231, +STORE, 140728766808064, 140728766816255, +STORE, 140728766676992, 140728766816255, +STORE, 94418513866752, 94418516090879, +SNULL, 94418513977343, 94418516090879, +STORE, 94418513866752, 94418513977343, +STORE, 94418513977344, 94418516090879, +ERASE, 94418513977344, 94418516090879, +STORE, 94418516070400, 94418516082687, +STORE, 94418516082688, 94418516090879, +STORE, 140556479520768, 140556481773567, +SNULL, 140556479664127, 140556481773567, +STORE, 140556479520768, 140556479664127, +STORE, 140556479664128, 140556481773567, +ERASE, 140556479664128, 140556481773567, +STORE, 140556481761280, 140556481769471, +STORE, 140556481769472, 140556481773567, +STORE, 140728767148032, 140728767152127, +STORE, 140728767135744, 140728767148031, +STORE, 140556481732608, 140556481761279, +STORE, 140556481724416, 140556481732607, +STORE, 140556475723776, 140556479520767, +SNULL, 140556475723776, 140556477382655, +STORE, 140556477382656, 140556479520767, +STORE, 140556475723776, 140556477382655, +SNULL, 140556479479807, 140556479520767, +STORE, 140556477382656, 140556479479807, +STORE, 140556479479808, 140556479520767, +SNULL, 140556479479808, 140556479504383, +STORE, 140556479504384, 140556479520767, +STORE, 140556479479808, 140556479504383, +ERASE, 140556479479808, 140556479504383, +STORE, 140556479479808, 140556479504383, +ERASE, 140556479504384, 140556479520767, +STORE, 140556479504384, 140556479520767, +SNULL, 140556479496191, 140556479504383, +STORE, 140556479479808, 140556479496191, +STORE, 140556479496192, 140556479504383, +SNULL, 94418516078591, 94418516082687, +STORE, 94418516070400, 94418516078591, +STORE, 94418516078592, 94418516082687, +SNULL, 140556481765375, 140556481769471, +STORE, 140556481761280, 140556481765375, +STORE, 140556481765376, 140556481769471, +ERASE, 140556481732608, 140556481761279, +STORE, 94418541113344, 94418541248511, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140723945873408, 140737488351231, +SNULL, 140723945881599, 140737488351231, +STORE, 140723945873408, 140723945881599, +STORE, 140723945742336, 140723945881599, +STORE, 94543169773568, 94543171997695, +SNULL, 94543169884159, 94543171997695, +STORE, 94543169773568, 94543169884159, +STORE, 94543169884160, 94543171997695, +ERASE, 94543169884160, 94543171997695, +STORE, 94543171977216, 94543171989503, +STORE, 94543171989504, 94543171997695, +STORE, 139890420883456, 139890423136255, +SNULL, 139890421026815, 139890423136255, +STORE, 139890420883456, 139890421026815, +STORE, 139890421026816, 139890423136255, +ERASE, 139890421026816, 139890423136255, +STORE, 139890423123968, 139890423132159, +STORE, 139890423132160, 139890423136255, +STORE, 140723946102784, 140723946106879, +STORE, 140723946090496, 140723946102783, +STORE, 139890423095296, 139890423123967, +STORE, 139890423087104, 139890423095295, +STORE, 139890417086464, 139890420883455, +SNULL, 139890417086464, 139890418745343, +STORE, 139890418745344, 139890420883455, +STORE, 139890417086464, 139890418745343, +SNULL, 139890420842495, 139890420883455, +STORE, 139890418745344, 139890420842495, +STORE, 139890420842496, 139890420883455, +SNULL, 139890420842496, 139890420867071, +STORE, 139890420867072, 139890420883455, +STORE, 139890420842496, 139890420867071, +ERASE, 139890420842496, 139890420867071, +STORE, 139890420842496, 139890420867071, +ERASE, 139890420867072, 139890420883455, +STORE, 139890420867072, 139890420883455, +SNULL, 139890420858879, 139890420867071, +STORE, 139890420842496, 139890420858879, +STORE, 139890420858880, 139890420867071, +SNULL, 94543171985407, 94543171989503, +STORE, 94543171977216, 94543171985407, +STORE, 94543171985408, 94543171989503, +SNULL, 139890423128063, 139890423132159, +STORE, 139890423123968, 139890423128063, +STORE, 139890423128064, 139890423132159, +ERASE, 139890423095296, 139890423123967, +STORE, 94543197097984, 94543197233151, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140736205979648, 140737488351231, +SNULL, 140736205987839, 140737488351231, +STORE, 140736205979648, 140736205987839, +STORE, 140736205848576, 140736205987839, +STORE, 94913209913344, 94913212137471, +SNULL, 94913210023935, 94913212137471, +STORE, 94913209913344, 94913210023935, +STORE, 94913210023936, 94913212137471, +ERASE, 94913210023936, 94913212137471, +STORE, 94913212116992, 94913212129279, +STORE, 94913212129280, 94913212137471, +STORE, 140006323052544, 140006325305343, +SNULL, 140006323195903, 140006325305343, +STORE, 140006323052544, 140006323195903, +STORE, 140006323195904, 140006325305343, +ERASE, 140006323195904, 140006325305343, +STORE, 140006325293056, 140006325301247, +STORE, 140006325301248, 140006325305343, +STORE, 140736206716928, 140736206721023, +STORE, 140736206704640, 140736206716927, +STORE, 140006325264384, 140006325293055, +STORE, 140006325256192, 140006325264383, +STORE, 140006319255552, 140006323052543, +SNULL, 140006319255552, 140006320914431, +STORE, 140006320914432, 140006323052543, +STORE, 140006319255552, 140006320914431, +SNULL, 140006323011583, 140006323052543, +STORE, 140006320914432, 140006323011583, +STORE, 140006323011584, 140006323052543, +SNULL, 140006323011584, 140006323036159, +STORE, 140006323036160, 140006323052543, +STORE, 140006323011584, 140006323036159, +ERASE, 140006323011584, 140006323036159, +STORE, 140006323011584, 140006323036159, +ERASE, 140006323036160, 140006323052543, +STORE, 140006323036160, 140006323052543, +SNULL, 140006323027967, 140006323036159, +STORE, 140006323011584, 140006323027967, +STORE, 140006323027968, 140006323036159, +SNULL, 94913212125183, 94913212129279, +STORE, 94913212116992, 94913212125183, +STORE, 94913212125184, 94913212129279, +SNULL, 140006325297151, 140006325301247, +STORE, 140006325293056, 140006325297151, +STORE, 140006325297152, 140006325301247, +ERASE, 140006325264384, 140006325293055, +STORE, 94913239932928, 94913240068095, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140726926897152, 140737488351231, +SNULL, 140726926905343, 140737488351231, +STORE, 140726926897152, 140726926905343, +STORE, 140726926766080, 140726926905343, +STORE, 94213246820352, 94213249044479, +SNULL, 94213246930943, 94213249044479, +STORE, 94213246820352, 94213246930943, +STORE, 94213246930944, 94213249044479, +ERASE, 94213246930944, 94213249044479, +STORE, 94213249024000, 94213249036287, +STORE, 94213249036288, 94213249044479, +STORE, 140368830242816, 140368832495615, +SNULL, 140368830386175, 140368832495615, +STORE, 140368830242816, 140368830386175, +STORE, 140368830386176, 140368832495615, +ERASE, 140368830386176, 140368832495615, +STORE, 140368832483328, 140368832491519, +STORE, 140368832491520, 140368832495615, +STORE, 140726926999552, 140726927003647, +STORE, 140726926987264, 140726926999551, +STORE, 140368832454656, 140368832483327, +STORE, 140368832446464, 140368832454655, +STORE, 140368826445824, 140368830242815, +SNULL, 140368826445824, 140368828104703, +STORE, 140368828104704, 140368830242815, +STORE, 140368826445824, 140368828104703, +SNULL, 140368830201855, 140368830242815, +STORE, 140368828104704, 140368830201855, +STORE, 140368830201856, 140368830242815, +SNULL, 140368830201856, 140368830226431, +STORE, 140368830226432, 140368830242815, +STORE, 140368830201856, 140368830226431, +ERASE, 140368830201856, 140368830226431, +STORE, 140368830201856, 140368830226431, +ERASE, 140368830226432, 140368830242815, +STORE, 140368830226432, 140368830242815, +SNULL, 140368830218239, 140368830226431, +STORE, 140368830201856, 140368830218239, +STORE, 140368830218240, 140368830226431, +SNULL, 94213249032191, 94213249036287, +STORE, 94213249024000, 94213249032191, +STORE, 94213249032192, 94213249036287, +SNULL, 140368832487423, 140368832491519, +STORE, 140368832483328, 140368832487423, +STORE, 140368832487424, 140368832491519, +ERASE, 140368832454656, 140368832483327, +STORE, 94213267435520, 94213267570687, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140728954130432, 140737488351231, +SNULL, 140728954138623, 140737488351231, +STORE, 140728954130432, 140728954138623, +STORE, 140728953999360, 140728954138623, +STORE, 94672570966016, 94672573190143, +SNULL, 94672571076607, 94672573190143, +STORE, 94672570966016, 94672571076607, +STORE, 94672571076608, 94672573190143, +ERASE, 94672571076608, 94672573190143, +STORE, 94672573169664, 94672573181951, +STORE, 94672573181952, 94672573190143, +STORE, 140201696735232, 140201698988031, +SNULL, 140201696878591, 140201698988031, +STORE, 140201696735232, 140201696878591, +STORE, 140201696878592, 140201698988031, +ERASE, 140201696878592, 140201698988031, +STORE, 140201698975744, 140201698983935, +STORE, 140201698983936, 140201698988031, +STORE, 140728954163200, 140728954167295, +STORE, 140728954150912, 140728954163199, +STORE, 140201698947072, 140201698975743, +STORE, 140201698938880, 140201698947071, +STORE, 140201692938240, 140201696735231, +SNULL, 140201692938240, 140201694597119, +STORE, 140201694597120, 140201696735231, +STORE, 140201692938240, 140201694597119, +SNULL, 140201696694271, 140201696735231, +STORE, 140201694597120, 140201696694271, +STORE, 140201696694272, 140201696735231, +SNULL, 140201696694272, 140201696718847, +STORE, 140201696718848, 140201696735231, +STORE, 140201696694272, 140201696718847, +ERASE, 140201696694272, 140201696718847, +STORE, 140201696694272, 140201696718847, +ERASE, 140201696718848, 140201696735231, +STORE, 140201696718848, 140201696735231, +SNULL, 140201696710655, 140201696718847, +STORE, 140201696694272, 140201696710655, +STORE, 140201696710656, 140201696718847, +SNULL, 94672573177855, 94672573181951, +STORE, 94672573169664, 94672573177855, +STORE, 94672573177856, 94672573181951, +SNULL, 140201698979839, 140201698983935, +STORE, 140201698975744, 140201698979839, +STORE, 140201698979840, 140201698983935, +ERASE, 140201698947072, 140201698975743, +STORE, 94672595689472, 94672595824639, +STORE, 94114394132480, 94114394345471, +STORE, 94114396442624, 94114396446719, +STORE, 94114396446720, 94114396454911, +STORE, 94114396454912, 94114396467199, +STORE, 94114421575680, 94114428256255, +STORE, 139934313955328, 139934315614207, +STORE, 139934315614208, 139934317711359, +STORE, 139934317711360, 139934317727743, +STORE, 139934317727744, 139934317735935, +STORE, 139934317735936, 139934317752319, +STORE, 139934317752320, 139934317764607, +STORE, 139934317764608, 139934319857663, +STORE, 139934319857664, 139934319861759, +STORE, 139934319861760, 139934319865855, +STORE, 139934319865856, 139934320009215, +STORE, 139934320377856, 139934322061311, +STORE, 139934322061312, 139934322077695, +STORE, 139934322106368, 139934322110463, +STORE, 139934322110464, 139934322114559, +STORE, 139934322114560, 139934322118655, +STORE, 140731200376832, 140731200516095, +STORE, 140731200929792, 140731200942079, +STORE, 140731200942080, 140731200946175, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140721532362752, 140737488351231, +SNULL, 140721532370943, 140737488351231, +STORE, 140721532362752, 140721532370943, +STORE, 140721532231680, 140721532370943, +STORE, 94467222597632, 94467224821759, +SNULL, 94467222708223, 94467224821759, +STORE, 94467222597632, 94467222708223, +STORE, 94467222708224, 94467224821759, +ERASE, 94467222708224, 94467224821759, +STORE, 94467224801280, 94467224813567, +STORE, 94467224813568, 94467224821759, +STORE, 140191433543680, 140191435796479, +SNULL, 140191433687039, 140191435796479, +STORE, 140191433543680, 140191433687039, +STORE, 140191433687040, 140191435796479, +ERASE, 140191433687040, 140191435796479, +STORE, 140191435784192, 140191435792383, +STORE, 140191435792384, 140191435796479, +STORE, 140721533034496, 140721533038591, +STORE, 140721533022208, 140721533034495, +STORE, 140191435755520, 140191435784191, +STORE, 140191435747328, 140191435755519, +STORE, 140191429746688, 140191433543679, +SNULL, 140191429746688, 140191431405567, +STORE, 140191431405568, 140191433543679, +STORE, 140191429746688, 140191431405567, +SNULL, 140191433502719, 140191433543679, +STORE, 140191431405568, 140191433502719, +STORE, 140191433502720, 140191433543679, +SNULL, 140191433502720, 140191433527295, +STORE, 140191433527296, 140191433543679, +STORE, 140191433502720, 140191433527295, +ERASE, 140191433502720, 140191433527295, +STORE, 140191433502720, 140191433527295, +ERASE, 140191433527296, 140191433543679, +STORE, 140191433527296, 140191433543679, +SNULL, 140191433519103, 140191433527295, +STORE, 140191433502720, 140191433519103, +STORE, 140191433519104, 140191433527295, +SNULL, 94467224809471, 94467224813567, +STORE, 94467224801280, 94467224809471, +STORE, 94467224809472, 94467224813567, +SNULL, 140191435788287, 140191435792383, +STORE, 140191435784192, 140191435788287, +STORE, 140191435788288, 140191435792383, +ERASE, 140191435755520, 140191435784191, +STORE, 94467251847168, 94467251982335, +STORE, 94367895400448, 94367895613439, +STORE, 94367897710592, 94367897714687, +STORE, 94367897714688, 94367897722879, +STORE, 94367897722880, 94367897735167, +STORE, 94367925264384, 94367926861823, +STORE, 139801317548032, 139801319206911, +STORE, 139801319206912, 139801321304063, +STORE, 139801321304064, 139801321320447, +STORE, 139801321320448, 139801321328639, +STORE, 139801321328640, 139801321345023, +STORE, 139801321345024, 139801321357311, +STORE, 139801321357312, 139801323450367, +STORE, 139801323450368, 139801323454463, +STORE, 139801323454464, 139801323458559, +STORE, 139801323458560, 139801323601919, +STORE, 139801323970560, 139801325654015, +STORE, 139801325654016, 139801325670399, +STORE, 139801325699072, 139801325703167, +STORE, 139801325703168, 139801325707263, +STORE, 139801325707264, 139801325711359, +STORE, 140724442861568, 140724443000831, +STORE, 140724443611136, 140724443623423, +STORE, 140724443623424, 140724443627519, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140731353149440, 140737488351231, +SNULL, 140731353157631, 140737488351231, +STORE, 140731353149440, 140731353157631, +STORE, 140731353018368, 140731353157631, +STORE, 94310379503616, 94310381838335, +SNULL, 94310379716607, 94310381838335, +STORE, 94310379503616, 94310379716607, +STORE, 94310379716608, 94310381838335, +ERASE, 94310379716608, 94310381838335, +STORE, 94310381813760, 94310381826047, +STORE, 94310381826048, 94310381838335, +STORE, 140515434659840, 140515436912639, +SNULL, 140515434803199, 140515436912639, +STORE, 140515434659840, 140515434803199, +STORE, 140515434803200, 140515436912639, +ERASE, 140515434803200, 140515436912639, +STORE, 140515436900352, 140515436908543, +STORE, 140515436908544, 140515436912639, +STORE, 140731353886720, 140731353890815, +STORE, 140731353874432, 140731353886719, +STORE, 140515436871680, 140515436900351, +STORE, 140515436863488, 140515436871679, +STORE, 140515432546304, 140515434659839, +SNULL, 140515432546304, 140515432558591, +STORE, 140515432558592, 140515434659839, +STORE, 140515432546304, 140515432558591, +SNULL, 140515434651647, 140515434659839, +STORE, 140515432558592, 140515434651647, +STORE, 140515434651648, 140515434659839, +ERASE, 140515434651648, 140515434659839, +STORE, 140515434651648, 140515434659839, +STORE, 140515428749312, 140515432546303, +SNULL, 140515428749312, 140515430408191, +STORE, 140515430408192, 140515432546303, +STORE, 140515428749312, 140515430408191, +SNULL, 140515432505343, 140515432546303, +STORE, 140515430408192, 140515432505343, +STORE, 140515432505344, 140515432546303, +SNULL, 140515432505344, 140515432529919, +STORE, 140515432529920, 140515432546303, +STORE, 140515432505344, 140515432529919, +ERASE, 140515432505344, 140515432529919, +STORE, 140515432505344, 140515432529919, +ERASE, 140515432529920, 140515432546303, +STORE, 140515432529920, 140515432546303, +STORE, 140515436855296, 140515436871679, +SNULL, 140515432521727, 140515432529919, +STORE, 140515432505344, 140515432521727, +STORE, 140515432521728, 140515432529919, +SNULL, 140515434655743, 140515434659839, +STORE, 140515434651648, 140515434655743, +STORE, 140515434655744, 140515434659839, +SNULL, 94310381817855, 94310381826047, +STORE, 94310381813760, 94310381817855, +STORE, 94310381817856, 94310381826047, +SNULL, 140515436904447, 140515436908543, +STORE, 140515436900352, 140515436904447, +STORE, 140515436904448, 140515436908543, +ERASE, 140515436871680, 140515436900351, +STORE, 94310395457536, 94310395592703, +STORE, 140515435171840, 140515436855295, +STORE, 94310395457536, 94310395727871, +STORE, 94310395457536, 94310395863039, +STORE, 94310395457536, 94310396047359, +SNULL, 94310396022783, 94310396047359, +STORE, 94310395457536, 94310396022783, +STORE, 94310396022784, 94310396047359, +ERASE, 94310396022784, 94310396047359, +STORE, 94310395457536, 94310396157951, +STORE, 94310395457536, 94310396293119, +SNULL, 94310396276735, 94310396293119, +STORE, 94310395457536, 94310396276735, +STORE, 94310396276736, 94310396293119, +ERASE, 94310396276736, 94310396293119, +STORE, 94310395457536, 94310396411903, +SNULL, 94310396383231, 94310396411903, +STORE, 94310395457536, 94310396383231, +STORE, 94310396383232, 94310396411903, +ERASE, 94310396383232, 94310396411903, +STORE, 94310395457536, 94310396522495, +STORE, 94310395457536, 94310396674047, +SNULL, 94310396657663, 94310396674047, +STORE, 94310395457536, 94310396657663, +STORE, 94310396657664, 94310396674047, +ERASE, 94310396657664, 94310396674047, +SNULL, 94310396624895, 94310396657663, +STORE, 94310395457536, 94310396624895, +STORE, 94310396624896, 94310396657663, +ERASE, 94310396624896, 94310396657663, +STORE, 94310395457536, 94310396776447, +SNULL, 94310396764159, 94310396776447, +STORE, 94310395457536, 94310396764159, +STORE, 94310396764160, 94310396776447, +ERASE, 94310396764160, 94310396776447, +SNULL, 94310396739583, 94310396764159, +STORE, 94310395457536, 94310396739583, +STORE, 94310396739584, 94310396764159, +ERASE, 94310396739584, 94310396764159, +STORE, 94310395457536, 94310396882943, +STORE, 94310395457536, 94310397018111, +STORE, 94310395457536, 94310397161471, +STORE, 94310395457536, 94310397300735, +SNULL, 94310397292543, 94310397300735, +STORE, 94310395457536, 94310397292543, +STORE, 94310397292544, 94310397300735, +ERASE, 94310397292544, 94310397300735, +STORE, 94359222210560, 94359222423551, +STORE, 94359224520704, 94359224524799, +STORE, 94359224524800, 94359224532991, +STORE, 94359224532992, 94359224545279, +STORE, 94359238348800, 94359239385087, +STORE, 140675699838976, 140675701497855, +STORE, 140675701497856, 140675703595007, +STORE, 140675703595008, 140675703611391, +STORE, 140675703611392, 140675703619583, +STORE, 140675703619584, 140675703635967, +STORE, 140675703635968, 140675703648255, +STORE, 140675703648256, 140675705741311, +STORE, 140675705741312, 140675705745407, +STORE, 140675705745408, 140675705749503, +STORE, 140675705749504, 140675705892863, +STORE, 140675706261504, 140675707944959, +STORE, 140675707944960, 140675707961343, +STORE, 140675707990016, 140675707994111, +STORE, 140675707994112, 140675707998207, +STORE, 140675707998208, 140675708002303, +STORE, 140721324634112, 140721324773375, +STORE, 140721324810240, 140721324822527, +STORE, 140721324822528, 140721324826623, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140724099678208, 140737488351231, +SNULL, 140724099686399, 140737488351231, +STORE, 140724099678208, 140724099686399, +STORE, 140724099547136, 140724099686399, +STORE, 94586638516224, 94586640850943, +SNULL, 94586638729215, 94586640850943, +STORE, 94586638516224, 94586638729215, +STORE, 94586638729216, 94586640850943, +ERASE, 94586638729216, 94586640850943, +STORE, 94586640826368, 94586640838655, +STORE, 94586640838656, 94586640850943, +STORE, 140371033796608, 140371036049407, +SNULL, 140371033939967, 140371036049407, +STORE, 140371033796608, 140371033939967, +STORE, 140371033939968, 140371036049407, +ERASE, 140371033939968, 140371036049407, +STORE, 140371036037120, 140371036045311, +STORE, 140371036045312, 140371036049407, +STORE, 140724100001792, 140724100005887, +STORE, 140724099989504, 140724100001791, +STORE, 140371036008448, 140371036037119, +STORE, 140371036000256, 140371036008447, +STORE, 140371031683072, 140371033796607, +SNULL, 140371031683072, 140371031695359, +STORE, 140371031695360, 140371033796607, +STORE, 140371031683072, 140371031695359, +SNULL, 140371033788415, 140371033796607, +STORE, 140371031695360, 140371033788415, +STORE, 140371033788416, 140371033796607, +ERASE, 140371033788416, 140371033796607, +STORE, 140371033788416, 140371033796607, +STORE, 140371027886080, 140371031683071, +SNULL, 140371027886080, 140371029544959, +STORE, 140371029544960, 140371031683071, +STORE, 140371027886080, 140371029544959, +SNULL, 140371031642111, 140371031683071, +STORE, 140371029544960, 140371031642111, +STORE, 140371031642112, 140371031683071, +SNULL, 140371031642112, 140371031666687, +STORE, 140371031666688, 140371031683071, +STORE, 140371031642112, 140371031666687, +ERASE, 140371031642112, 140371031666687, +STORE, 140371031642112, 140371031666687, +ERASE, 140371031666688, 140371031683071, +STORE, 140371031666688, 140371031683071, +STORE, 140371035992064, 140371036008447, +SNULL, 140371031658495, 140371031666687, +STORE, 140371031642112, 140371031658495, +STORE, 140371031658496, 140371031666687, +SNULL, 140371033792511, 140371033796607, +STORE, 140371033788416, 140371033792511, +STORE, 140371033792512, 140371033796607, +SNULL, 94586640830463, 94586640838655, +STORE, 94586640826368, 94586640830463, +STORE, 94586640830464, 94586640838655, +SNULL, 140371036041215, 140371036045311, +STORE, 140371036037120, 140371036041215, +STORE, 140371036041216, 140371036045311, +ERASE, 140371036008448, 140371036037119, +STORE, 94586663849984, 94586663985151, +STORE, 140371034308608, 140371035992063, +STORE, 94586663849984, 94586664120319, +STORE, 94586663849984, 94586664255487, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140727532937216, 140737488351231, +SNULL, 140727532945407, 140737488351231, +STORE, 140727532937216, 140727532945407, +STORE, 140727532806144, 140727532945407, +STORE, 94849780191232, 94849782525951, +SNULL, 94849780404223, 94849782525951, +STORE, 94849780191232, 94849780404223, +STORE, 94849780404224, 94849782525951, +ERASE, 94849780404224, 94849782525951, +STORE, 94849782501376, 94849782513663, +STORE, 94849782513664, 94849782525951, +STORE, 140382070218752, 140382072471551, +SNULL, 140382070362111, 140382072471551, +STORE, 140382070218752, 140382070362111, +STORE, 140382070362112, 140382072471551, +ERASE, 140382070362112, 140382072471551, +STORE, 140382072459264, 140382072467455, +STORE, 140382072467456, 140382072471551, +STORE, 140727533092864, 140727533096959, +STORE, 140727533080576, 140727533092863, +STORE, 140382072430592, 140382072459263, +STORE, 140382072422400, 140382072430591, +STORE, 140382068105216, 140382070218751, +SNULL, 140382068105216, 140382068117503, +STORE, 140382068117504, 140382070218751, +STORE, 140382068105216, 140382068117503, +SNULL, 140382070210559, 140382070218751, +STORE, 140382068117504, 140382070210559, +STORE, 140382070210560, 140382070218751, +ERASE, 140382070210560, 140382070218751, +STORE, 140382070210560, 140382070218751, +STORE, 140382064308224, 140382068105215, +SNULL, 140382064308224, 140382065967103, +STORE, 140382065967104, 140382068105215, +STORE, 140382064308224, 140382065967103, +SNULL, 140382068064255, 140382068105215, +STORE, 140382065967104, 140382068064255, +STORE, 140382068064256, 140382068105215, +SNULL, 140382068064256, 140382068088831, +STORE, 140382068088832, 140382068105215, +STORE, 140382068064256, 140382068088831, +ERASE, 140382068064256, 140382068088831, +STORE, 140382068064256, 140382068088831, +ERASE, 140382068088832, 140382068105215, +STORE, 140382068088832, 140382068105215, +STORE, 140382072414208, 140382072430591, +SNULL, 140382068080639, 140382068088831, +STORE, 140382068064256, 140382068080639, +STORE, 140382068080640, 140382068088831, +SNULL, 140382070214655, 140382070218751, +STORE, 140382070210560, 140382070214655, +STORE, 140382070214656, 140382070218751, +SNULL, 94849782505471, 94849782513663, +STORE, 94849782501376, 94849782505471, +STORE, 94849782505472, 94849782513663, +SNULL, 140382072463359, 140382072467455, +STORE, 140382072459264, 140382072463359, +STORE, 140382072463360, 140382072467455, +ERASE, 140382072430592, 140382072459263, +STORE, 94849782845440, 94849782980607, +STORE, 140382070730752, 140382072414207, +STORE, 94849782845440, 94849783115775, +STORE, 94849782845440, 94849783250943, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722594377728, 140737488351231, +SNULL, 140722594385919, 140737488351231, +STORE, 140722594377728, 140722594385919, +STORE, 140722594246656, 140722594385919, +STORE, 94421466353664, 94421468577791, +SNULL, 94421466464255, 94421468577791, +STORE, 94421466353664, 94421466464255, +STORE, 94421466464256, 94421468577791, +ERASE, 94421466464256, 94421468577791, +STORE, 94421468557312, 94421468569599, +STORE, 94421468569600, 94421468577791, +STORE, 140345458057216, 140345460310015, +SNULL, 140345458200575, 140345460310015, +STORE, 140345458057216, 140345458200575, +STORE, 140345458200576, 140345460310015, +ERASE, 140345458200576, 140345460310015, +STORE, 140345460297728, 140345460305919, +STORE, 140345460305920, 140345460310015, +STORE, 140722595557376, 140722595561471, +STORE, 140722595545088, 140722595557375, +STORE, 140345460269056, 140345460297727, +STORE, 140345460260864, 140345460269055, +STORE, 140345454260224, 140345458057215, +SNULL, 140345454260224, 140345455919103, +STORE, 140345455919104, 140345458057215, +STORE, 140345454260224, 140345455919103, +SNULL, 140345458016255, 140345458057215, +STORE, 140345455919104, 140345458016255, +STORE, 140345458016256, 140345458057215, +SNULL, 140345458016256, 140345458040831, +STORE, 140345458040832, 140345458057215, +STORE, 140345458016256, 140345458040831, +ERASE, 140345458016256, 140345458040831, +STORE, 140345458016256, 140345458040831, +ERASE, 140345458040832, 140345458057215, +STORE, 140345458040832, 140345458057215, +SNULL, 140345458032639, 140345458040831, +STORE, 140345458016256, 140345458032639, +STORE, 140345458032640, 140345458040831, +SNULL, 94421468565503, 94421468569599, +STORE, 94421468557312, 94421468565503, +STORE, 94421468565504, 94421468569599, +SNULL, 140345460301823, 140345460305919, +STORE, 140345460297728, 140345460301823, +STORE, 140345460301824, 140345460305919, +ERASE, 140345460269056, 140345460297727, +STORE, 94421496004608, 94421496139775, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140726096302080, 140737488351231, +SNULL, 140726096310271, 140737488351231, +STORE, 140726096302080, 140726096310271, +STORE, 140726096171008, 140726096310271, +STORE, 94101992124416, 94101994459135, +SNULL, 94101992337407, 94101994459135, +STORE, 94101992124416, 94101992337407, +STORE, 94101992337408, 94101994459135, +ERASE, 94101992337408, 94101994459135, +STORE, 94101994434560, 94101994446847, +STORE, 94101994446848, 94101994459135, +STORE, 140192085594112, 140192087846911, +SNULL, 140192085737471, 140192087846911, +STORE, 140192085594112, 140192085737471, +STORE, 140192085737472, 140192087846911, +ERASE, 140192085737472, 140192087846911, +STORE, 140192087834624, 140192087842815, +STORE, 140192087842816, 140192087846911, +STORE, 140726096375808, 140726096379903, +STORE, 140726096363520, 140726096375807, +STORE, 140192087805952, 140192087834623, +STORE, 140192087797760, 140192087805951, +STORE, 140192083480576, 140192085594111, +SNULL, 140192083480576, 140192083492863, +STORE, 140192083492864, 140192085594111, +STORE, 140192083480576, 140192083492863, +SNULL, 140192085585919, 140192085594111, +STORE, 140192083492864, 140192085585919, +STORE, 140192085585920, 140192085594111, +ERASE, 140192085585920, 140192085594111, +STORE, 140192085585920, 140192085594111, +STORE, 140192079683584, 140192083480575, +SNULL, 140192079683584, 140192081342463, +STORE, 140192081342464, 140192083480575, +STORE, 140192079683584, 140192081342463, +SNULL, 140192083439615, 140192083480575, +STORE, 140192081342464, 140192083439615, +STORE, 140192083439616, 140192083480575, +SNULL, 140192083439616, 140192083464191, +STORE, 140192083464192, 140192083480575, +STORE, 140192083439616, 140192083464191, +ERASE, 140192083439616, 140192083464191, +STORE, 140192083439616, 140192083464191, +ERASE, 140192083464192, 140192083480575, +STORE, 140192083464192, 140192083480575, +STORE, 140192087789568, 140192087805951, +SNULL, 140192083455999, 140192083464191, +STORE, 140192083439616, 140192083455999, +STORE, 140192083456000, 140192083464191, +SNULL, 140192085590015, 140192085594111, +STORE, 140192085585920, 140192085590015, +STORE, 140192085590016, 140192085594111, +SNULL, 94101994438655, 94101994446847, +STORE, 94101994434560, 94101994438655, +STORE, 94101994438656, 94101994446847, +SNULL, 140192087838719, 140192087842815, +STORE, 140192087834624, 140192087838719, +STORE, 140192087838720, 140192087842815, +ERASE, 140192087805952, 140192087834623, +STORE, 94102011887616, 94102012022783, +STORE, 140192086106112, 140192087789567, +STORE, 94102011887616, 94102012157951, +STORE, 94102011887616, 94102012293119, +STORE, 94102011887616, 94102012440575, +SNULL, 94102012428287, 94102012440575, +STORE, 94102011887616, 94102012428287, +STORE, 94102012428288, 94102012440575, +ERASE, 94102012428288, 94102012440575, +STORE, 94102011887616, 94102012579839, +STORE, 94102011887616, 94102012715007, +SNULL, 94102012694527, 94102012715007, +STORE, 94102011887616, 94102012694527, +STORE, 94102012694528, 94102012715007, +ERASE, 94102012694528, 94102012715007, +STORE, 94102011887616, 94102012833791, +STORE, 94102011887616, 94102012968959, +SNULL, 94102012927999, 94102012968959, +STORE, 94102011887616, 94102012927999, +STORE, 94102012928000, 94102012968959, +ERASE, 94102012928000, 94102012968959, +STORE, 94102011887616, 94102013091839, +SNULL, 94102013075455, 94102013091839, +STORE, 94102011887616, 94102013075455, +STORE, 94102013075456, 94102013091839, +ERASE, 94102013075456, 94102013091839, +STORE, 94102011887616, 94102013210623, +STORE, 94102011887616, 94102013345791, +STORE, 93968727965696, 93968728178687, +STORE, 93968730275840, 93968730279935, +STORE, 93968730279936, 93968730288127, +STORE, 93968730288128, 93968730300415, +STORE, 93968731140096, 93968732704767, +STORE, 140588443168768, 140588444827647, +STORE, 140588444827648, 140588446924799, +STORE, 140588446924800, 140588446941183, +STORE, 140588446941184, 140588446949375, +STORE, 140588446949376, 140588446965759, +STORE, 140588446965760, 140588446978047, +STORE, 140588446978048, 140588449071103, +STORE, 140588449071104, 140588449075199, +STORE, 140588449075200, 140588449079295, +STORE, 140588449079296, 140588449222655, +STORE, 140588449591296, 140588451274751, +STORE, 140588451274752, 140588451291135, +STORE, 140588451319808, 140588451323903, +STORE, 140588451323904, 140588451327999, +STORE, 140588451328000, 140588451332095, +STORE, 140733877239808, 140733877379071, +STORE, 140733878702080, 140733878714367, +STORE, 140733878714368, 140733878718463, +STORE, 93968727965696, 93968728178687, +STORE, 93968730275840, 93968730279935, +STORE, 93968730279936, 93968730288127, +STORE, 93968730288128, 93968730300415, +STORE, 93968731140096, 93968732991487, +STORE, 140588443168768, 140588444827647, +STORE, 140588444827648, 140588446924799, +STORE, 140588446924800, 140588446941183, +STORE, 140588446941184, 140588446949375, +STORE, 140588446949376, 140588446965759, +STORE, 140588446965760, 140588446978047, +STORE, 140588446978048, 140588449071103, +STORE, 140588449071104, 140588449075199, +STORE, 140588449075200, 140588449079295, +STORE, 140588449079296, 140588449222655, +STORE, 140588449591296, 140588451274751, +STORE, 140588451274752, 140588451291135, +STORE, 140588451319808, 140588451323903, +STORE, 140588451323904, 140588451327999, +STORE, 140588451328000, 140588451332095, +STORE, 140733877239808, 140733877379071, +STORE, 140733878702080, 140733878714367, +STORE, 140733878714368, 140733878718463, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733054472192, 140737488351231, +SNULL, 140733054480383, 140737488351231, +STORE, 140733054472192, 140733054480383, +STORE, 140733054341120, 140733054480383, +STORE, 93992873623552, 93992875847679, +SNULL, 93992873734143, 93992875847679, +STORE, 93992873623552, 93992873734143, +STORE, 93992873734144, 93992875847679, +ERASE, 93992873734144, 93992875847679, +STORE, 93992875827200, 93992875839487, +STORE, 93992875839488, 93992875847679, +STORE, 139790881488896, 139790883741695, +SNULL, 139790881632255, 139790883741695, +STORE, 139790881488896, 139790881632255, +STORE, 139790881632256, 139790883741695, +ERASE, 139790881632256, 139790883741695, +STORE, 139790883729408, 139790883737599, +STORE, 139790883737600, 139790883741695, +STORE, 140733054754816, 140733054758911, +STORE, 140733054742528, 140733054754815, +STORE, 139790883700736, 139790883729407, +STORE, 139790883692544, 139790883700735, +STORE, 139790877691904, 139790881488895, +SNULL, 139790877691904, 139790879350783, +STORE, 139790879350784, 139790881488895, +STORE, 139790877691904, 139790879350783, +SNULL, 139790881447935, 139790881488895, +STORE, 139790879350784, 139790881447935, +STORE, 139790881447936, 139790881488895, +SNULL, 139790881447936, 139790881472511, +STORE, 139790881472512, 139790881488895, +STORE, 139790881447936, 139790881472511, +ERASE, 139790881447936, 139790881472511, +STORE, 139790881447936, 139790881472511, +ERASE, 139790881472512, 139790881488895, +STORE, 139790881472512, 139790881488895, +SNULL, 139790881464319, 139790881472511, +STORE, 139790881447936, 139790881464319, +STORE, 139790881464320, 139790881472511, +SNULL, 93992875835391, 93992875839487, +STORE, 93992875827200, 93992875835391, +STORE, 93992875835392, 93992875839487, +SNULL, 139790883733503, 139790883737599, +STORE, 139790883729408, 139790883733503, +STORE, 139790883733504, 139790883737599, +ERASE, 139790883700736, 139790883729407, +STORE, 93992877031424, 93992877166591, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140728550887424, 140737488351231, +SNULL, 140728550895615, 140737488351231, +STORE, 140728550887424, 140728550895615, +STORE, 140728550756352, 140728550895615, +STORE, 94707634077696, 94707636301823, +SNULL, 94707634188287, 94707636301823, +STORE, 94707634077696, 94707634188287, +STORE, 94707634188288, 94707636301823, +ERASE, 94707634188288, 94707636301823, +STORE, 94707636281344, 94707636293631, +STORE, 94707636293632, 94707636301823, +STORE, 140553545666560, 140553547919359, +SNULL, 140553545809919, 140553547919359, +STORE, 140553545666560, 140553545809919, +STORE, 140553545809920, 140553547919359, +ERASE, 140553545809920, 140553547919359, +STORE, 140553547907072, 140553547915263, +STORE, 140553547915264, 140553547919359, +STORE, 140728552374272, 140728552378367, +STORE, 140728552361984, 140728552374271, +STORE, 140553547878400, 140553547907071, +STORE, 140553547870208, 140553547878399, +STORE, 140553541869568, 140553545666559, +SNULL, 140553541869568, 140553543528447, +STORE, 140553543528448, 140553545666559, +STORE, 140553541869568, 140553543528447, +SNULL, 140553545625599, 140553545666559, +STORE, 140553543528448, 140553545625599, +STORE, 140553545625600, 140553545666559, +SNULL, 140553545625600, 140553545650175, +STORE, 140553545650176, 140553545666559, +STORE, 140553545625600, 140553545650175, +ERASE, 140553545625600, 140553545650175, +STORE, 140553545625600, 140553545650175, +ERASE, 140553545650176, 140553545666559, +STORE, 140553545650176, 140553545666559, +SNULL, 140553545641983, 140553545650175, +STORE, 140553545625600, 140553545641983, +STORE, 140553545641984, 140553545650175, +SNULL, 94707636289535, 94707636293631, +STORE, 94707636281344, 94707636289535, +STORE, 94707636289536, 94707636293631, +SNULL, 140553547911167, 140553547915263, +STORE, 140553547907072, 140553547911167, +STORE, 140553547911168, 140553547915263, +ERASE, 140553547878400, 140553547907071, +STORE, 94707651411968, 94707651547135, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140732168695808, 140737488351231, +SNULL, 140732168703999, 140737488351231, +STORE, 140732168695808, 140732168703999, +STORE, 140732168564736, 140732168703999, +STORE, 94454287859712, 94454290083839, +SNULL, 94454287970303, 94454290083839, +STORE, 94454287859712, 94454287970303, +STORE, 94454287970304, 94454290083839, +ERASE, 94454287970304, 94454290083839, +STORE, 94454290063360, 94454290075647, +STORE, 94454290075648, 94454290083839, +STORE, 140564947107840, 140564949360639, +SNULL, 140564947251199, 140564949360639, +STORE, 140564947107840, 140564947251199, +STORE, 140564947251200, 140564949360639, +ERASE, 140564947251200, 140564949360639, +STORE, 140564949348352, 140564949356543, +STORE, 140564949356544, 140564949360639, +STORE, 140732168843264, 140732168847359, +STORE, 140732168830976, 140732168843263, +STORE, 140564949319680, 140564949348351, +STORE, 140564949311488, 140564949319679, +STORE, 140564943310848, 140564947107839, +SNULL, 140564943310848, 140564944969727, +STORE, 140564944969728, 140564947107839, +STORE, 140564943310848, 140564944969727, +SNULL, 140564947066879, 140564947107839, +STORE, 140564944969728, 140564947066879, +STORE, 140564947066880, 140564947107839, +SNULL, 140564947066880, 140564947091455, +STORE, 140564947091456, 140564947107839, +STORE, 140564947066880, 140564947091455, +ERASE, 140564947066880, 140564947091455, +STORE, 140564947066880, 140564947091455, +ERASE, 140564947091456, 140564947107839, +STORE, 140564947091456, 140564947107839, +SNULL, 140564947083263, 140564947091455, +STORE, 140564947066880, 140564947083263, +STORE, 140564947083264, 140564947091455, +SNULL, 94454290071551, 94454290075647, +STORE, 94454290063360, 94454290071551, +STORE, 94454290071552, 94454290075647, +SNULL, 140564949352447, 140564949356543, +STORE, 140564949348352, 140564949352447, +STORE, 140564949352448, 140564949356543, +ERASE, 140564949319680, 140564949348351, +STORE, 94454316236800, 94454316371967, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735155617792, 140737488351231, +SNULL, 140735155625983, 140737488351231, +STORE, 140735155617792, 140735155625983, +STORE, 140735155486720, 140735155625983, +STORE, 93915969556480, 93915971780607, +SNULL, 93915969667071, 93915971780607, +STORE, 93915969556480, 93915969667071, +STORE, 93915969667072, 93915971780607, +ERASE, 93915969667072, 93915971780607, +STORE, 93915971760128, 93915971772415, +STORE, 93915971772416, 93915971780607, +STORE, 140141164605440, 140141166858239, +SNULL, 140141164748799, 140141166858239, +STORE, 140141164605440, 140141164748799, +STORE, 140141164748800, 140141166858239, +ERASE, 140141164748800, 140141166858239, +STORE, 140141166845952, 140141166854143, +STORE, 140141166854144, 140141166858239, +STORE, 140735155691520, 140735155695615, +STORE, 140735155679232, 140735155691519, +STORE, 140141166817280, 140141166845951, +STORE, 140141166809088, 140141166817279, +STORE, 140141160808448, 140141164605439, +SNULL, 140141160808448, 140141162467327, +STORE, 140141162467328, 140141164605439, +STORE, 140141160808448, 140141162467327, +SNULL, 140141164564479, 140141164605439, +STORE, 140141162467328, 140141164564479, +STORE, 140141164564480, 140141164605439, +SNULL, 140141164564480, 140141164589055, +STORE, 140141164589056, 140141164605439, +STORE, 140141164564480, 140141164589055, +ERASE, 140141164564480, 140141164589055, +STORE, 140141164564480, 140141164589055, +ERASE, 140141164589056, 140141164605439, +STORE, 140141164589056, 140141164605439, +SNULL, 140141164580863, 140141164589055, +STORE, 140141164564480, 140141164580863, +STORE, 140141164580864, 140141164589055, +SNULL, 93915971768319, 93915971772415, +STORE, 93915971760128, 93915971768319, +STORE, 93915971768320, 93915971772415, +SNULL, 140141166850047, 140141166854143, +STORE, 140141166845952, 140141166850047, +STORE, 140141166850048, 140141166854143, +ERASE, 140141166817280, 140141166845951, +STORE, 93916002775040, 93916002910207, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140728988409856, 140737488351231, +SNULL, 140728988418047, 140737488351231, +STORE, 140728988409856, 140728988418047, +STORE, 140728988278784, 140728988418047, +STORE, 94021634813952, 94021637038079, +SNULL, 94021634924543, 94021637038079, +STORE, 94021634813952, 94021634924543, +STORE, 94021634924544, 94021637038079, +ERASE, 94021634924544, 94021637038079, +STORE, 94021637017600, 94021637029887, +STORE, 94021637029888, 94021637038079, +STORE, 140638014038016, 140638016290815, +SNULL, 140638014181375, 140638016290815, +STORE, 140638014038016, 140638014181375, +STORE, 140638014181376, 140638016290815, +ERASE, 140638014181376, 140638016290815, +STORE, 140638016278528, 140638016286719, +STORE, 140638016286720, 140638016290815, +STORE, 140728988536832, 140728988540927, +STORE, 140728988524544, 140728988536831, +STORE, 140638016249856, 140638016278527, +STORE, 140638016241664, 140638016249855, +STORE, 140638010241024, 140638014038015, +SNULL, 140638010241024, 140638011899903, +STORE, 140638011899904, 140638014038015, +STORE, 140638010241024, 140638011899903, +SNULL, 140638013997055, 140638014038015, +STORE, 140638011899904, 140638013997055, +STORE, 140638013997056, 140638014038015, +SNULL, 140638013997056, 140638014021631, +STORE, 140638014021632, 140638014038015, +STORE, 140638013997056, 140638014021631, +ERASE, 140638013997056, 140638014021631, +STORE, 140638013997056, 140638014021631, +ERASE, 140638014021632, 140638014038015, +STORE, 140638014021632, 140638014038015, +SNULL, 140638014013439, 140638014021631, +STORE, 140638013997056, 140638014013439, +STORE, 140638014013440, 140638014021631, +SNULL, 94021637025791, 94021637029887, +STORE, 94021637017600, 94021637025791, +STORE, 94021637025792, 94021637029887, +SNULL, 140638016282623, 140638016286719, +STORE, 140638016278528, 140638016282623, +STORE, 140638016282624, 140638016286719, +ERASE, 140638016249856, 140638016278527, +STORE, 94021643124736, 94021643259903, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140731219275776, 140737488351231, +SNULL, 140731219283967, 140737488351231, +STORE, 140731219275776, 140731219283967, +STORE, 140731219144704, 140731219283967, +STORE, 93888803647488, 93888805871615, +SNULL, 93888803758079, 93888805871615, +STORE, 93888803647488, 93888803758079, +STORE, 93888803758080, 93888805871615, +ERASE, 93888803758080, 93888805871615, +STORE, 93888805851136, 93888805863423, +STORE, 93888805863424, 93888805871615, +STORE, 139630576934912, 139630579187711, +SNULL, 139630577078271, 139630579187711, +STORE, 139630576934912, 139630577078271, +STORE, 139630577078272, 139630579187711, +ERASE, 139630577078272, 139630579187711, +STORE, 139630579175424, 139630579183615, +STORE, 139630579183616, 139630579187711, +STORE, 140731219718144, 140731219722239, +STORE, 140731219705856, 140731219718143, +STORE, 139630579146752, 139630579175423, +STORE, 139630579138560, 139630579146751, +STORE, 139630573137920, 139630576934911, +SNULL, 139630573137920, 139630574796799, +STORE, 139630574796800, 139630576934911, +STORE, 139630573137920, 139630574796799, +SNULL, 139630576893951, 139630576934911, +STORE, 139630574796800, 139630576893951, +STORE, 139630576893952, 139630576934911, +SNULL, 139630576893952, 139630576918527, +STORE, 139630576918528, 139630576934911, +STORE, 139630576893952, 139630576918527, +ERASE, 139630576893952, 139630576918527, +STORE, 139630576893952, 139630576918527, +ERASE, 139630576918528, 139630576934911, +STORE, 139630576918528, 139630576934911, +SNULL, 139630576910335, 139630576918527, +STORE, 139630576893952, 139630576910335, +STORE, 139630576910336, 139630576918527, +SNULL, 93888805859327, 93888805863423, +STORE, 93888805851136, 93888805859327, +STORE, 93888805859328, 93888805863423, +SNULL, 139630579179519, 139630579183615, +STORE, 139630579175424, 139630579179519, +STORE, 139630579179520, 139630579183615, +ERASE, 139630579146752, 139630579175423, +STORE, 93888822235136, 93888822370303, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733391151104, 140737488351231, +SNULL, 140733391159295, 140737488351231, +STORE, 140733391151104, 140733391159295, +STORE, 140733391020032, 140733391159295, +STORE, 94393875324928, 94393877549055, +SNULL, 94393875435519, 94393877549055, +STORE, 94393875324928, 94393875435519, +STORE, 94393875435520, 94393877549055, +ERASE, 94393875435520, 94393877549055, +STORE, 94393877528576, 94393877540863, +STORE, 94393877540864, 94393877549055, +STORE, 140292111740928, 140292113993727, +SNULL, 140292111884287, 140292113993727, +STORE, 140292111740928, 140292111884287, +STORE, 140292111884288, 140292113993727, +ERASE, 140292111884288, 140292113993727, +STORE, 140292113981440, 140292113989631, +STORE, 140292113989632, 140292113993727, +STORE, 140733391532032, 140733391536127, +STORE, 140733391519744, 140733391532031, +STORE, 140292113952768, 140292113981439, +STORE, 140292113944576, 140292113952767, +STORE, 140292107943936, 140292111740927, +SNULL, 140292107943936, 140292109602815, +STORE, 140292109602816, 140292111740927, +STORE, 140292107943936, 140292109602815, +SNULL, 140292111699967, 140292111740927, +STORE, 140292109602816, 140292111699967, +STORE, 140292111699968, 140292111740927, +SNULL, 140292111699968, 140292111724543, +STORE, 140292111724544, 140292111740927, +STORE, 140292111699968, 140292111724543, +ERASE, 140292111699968, 140292111724543, +STORE, 140292111699968, 140292111724543, +ERASE, 140292111724544, 140292111740927, +STORE, 140292111724544, 140292111740927, +SNULL, 140292111716351, 140292111724543, +STORE, 140292111699968, 140292111716351, +STORE, 140292111716352, 140292111724543, +SNULL, 94393877536767, 94393877540863, +STORE, 94393877528576, 94393877536767, +STORE, 94393877536768, 94393877540863, +SNULL, 140292113985535, 140292113989631, +STORE, 140292113981440, 140292113985535, +STORE, 140292113985536, 140292113989631, +ERASE, 140292113952768, 140292113981439, +STORE, 94393909342208, 94393909477375, +STORE, 94458367512576, 94458367725567, +STORE, 94458369822720, 94458369826815, +STORE, 94458369826816, 94458369835007, +STORE, 94458369835008, 94458369847295, +STORE, 94458393292800, 94458399666175, +STORE, 140619773841408, 140619775500287, +STORE, 140619775500288, 140619777597439, +STORE, 140619777597440, 140619777613823, +STORE, 140619777613824, 140619777622015, +STORE, 140619777622016, 140619777638399, +STORE, 140619777638400, 140619777650687, +STORE, 140619777650688, 140619779743743, +STORE, 140619779743744, 140619779747839, +STORE, 140619779747840, 140619779751935, +STORE, 140619779751936, 140619779895295, +STORE, 140619780263936, 140619781947391, +STORE, 140619781947392, 140619781963775, +STORE, 140619781992448, 140619781996543, +STORE, 140619781996544, 140619782000639, +STORE, 140619782000640, 140619782004735, +STORE, 140725811675136, 140725811814399, +STORE, 140725812813824, 140725812826111, +STORE, 140725812826112, 140725812830207, +STORE, 94458367512576, 94458367725567, +STORE, 94458369822720, 94458369826815, +STORE, 94458369826816, 94458369835007, +STORE, 94458369835008, 94458369847295, +STORE, 94458393292800, 94458400366591, +STORE, 140619773841408, 140619775500287, +STORE, 140619775500288, 140619777597439, +STORE, 140619777597440, 140619777613823, +STORE, 140619777613824, 140619777622015, +STORE, 140619777622016, 140619777638399, +STORE, 140619777638400, 140619777650687, +STORE, 140619777650688, 140619779743743, +STORE, 140619779743744, 140619779747839, +STORE, 140619779747840, 140619779751935, +STORE, 140619779751936, 140619779895295, +STORE, 140619780263936, 140619781947391, +STORE, 140619781947392, 140619781963775, +STORE, 140619781992448, 140619781996543, +STORE, 140619781996544, 140619782000639, +STORE, 140619782000640, 140619782004735, +STORE, 140725811675136, 140725811814399, +STORE, 140725812813824, 140725812826111, +STORE, 140725812826112, 140725812830207, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140728740679680, 140737488351231, +SNULL, 140728740687871, 140737488351231, +STORE, 140728740679680, 140728740687871, +STORE, 140728740548608, 140728740687871, +STORE, 94764075249664, 94764077473791, +SNULL, 94764075360255, 94764077473791, +STORE, 94764075249664, 94764075360255, +STORE, 94764075360256, 94764077473791, +ERASE, 94764075360256, 94764077473791, +STORE, 94764077453312, 94764077465599, +STORE, 94764077465600, 94764077473791, +STORE, 139766406791168, 139766409043967, +SNULL, 139766406934527, 139766409043967, +STORE, 139766406791168, 139766406934527, +STORE, 139766406934528, 139766409043967, +ERASE, 139766406934528, 139766409043967, +STORE, 139766409031680, 139766409039871, +STORE, 139766409039872, 139766409043967, +STORE, 140728740913152, 140728740917247, +STORE, 140728740900864, 140728740913151, +STORE, 139766409003008, 139766409031679, +STORE, 139766408994816, 139766409003007, +STORE, 139766402994176, 139766406791167, +SNULL, 139766402994176, 139766404653055, +STORE, 139766404653056, 139766406791167, +STORE, 139766402994176, 139766404653055, +SNULL, 139766406750207, 139766406791167, +STORE, 139766404653056, 139766406750207, +STORE, 139766406750208, 139766406791167, +SNULL, 139766406750208, 139766406774783, +STORE, 139766406774784, 139766406791167, +STORE, 139766406750208, 139766406774783, +ERASE, 139766406750208, 139766406774783, +STORE, 139766406750208, 139766406774783, +ERASE, 139766406774784, 139766406791167, +STORE, 139766406774784, 139766406791167, +SNULL, 139766406766591, 139766406774783, +STORE, 139766406750208, 139766406766591, +STORE, 139766406766592, 139766406774783, +SNULL, 94764077461503, 94764077465599, +STORE, 94764077453312, 94764077461503, +STORE, 94764077461504, 94764077465599, +SNULL, 139766409035775, 139766409039871, +STORE, 139766409031680, 139766409035775, +STORE, 139766409035776, 139766409039871, +ERASE, 139766409003008, 139766409031679, +STORE, 94764090458112, 94764090593279, +STORE, 94758057480192, 94758057590783, +STORE, 94758059683840, 94758059692031, +STORE, 94758059692032, 94758059696127, +STORE, 94758059696128, 94758059704319, +STORE, 94758083215360, 94758083350527, +STORE, 139951456772096, 139951458430975, +STORE, 139951458430976, 139951460528127, +STORE, 139951460528128, 139951460544511, +STORE, 139951460544512, 139951460552703, +STORE, 139951460552704, 139951460569087, +STORE, 139951460569088, 139951460712447, +STORE, 139951462772736, 139951462780927, +STORE, 139951462809600, 139951462813695, +STORE, 139951462813696, 139951462817791, +STORE, 139951462817792, 139951462821887, +STORE, 140734098313216, 140734098452479, +STORE, 140734098911232, 140734098923519, +STORE, 140734098923520, 140734098927615, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140724904095744, 140737488351231, +SNULL, 140724904103935, 140737488351231, +STORE, 140724904095744, 140724904103935, +STORE, 140724903964672, 140724904103935, +STORE, 4194304, 5128191, +STORE, 7221248, 7241727, +STORE, 7241728, 7249919, +STORE, 140408497864704, 140408500117503, +SNULL, 140408498008063, 140408500117503, +STORE, 140408497864704, 140408498008063, +STORE, 140408498008064, 140408500117503, +ERASE, 140408498008064, 140408500117503, +STORE, 140408500105216, 140408500113407, +STORE, 140408500113408, 140408500117503, +STORE, 140724905369600, 140724905373695, +STORE, 140724905357312, 140724905369599, +STORE, 140408500076544, 140408500105215, +STORE, 140408500068352, 140408500076543, +STORE, 140408494702592, 140408497864703, +SNULL, 140408494702592, 140408495763455, +STORE, 140408495763456, 140408497864703, +STORE, 140408494702592, 140408495763455, +SNULL, 140408497856511, 140408497864703, +STORE, 140408495763456, 140408497856511, +STORE, 140408497856512, 140408497864703, +ERASE, 140408497856512, 140408497864703, +STORE, 140408497856512, 140408497864703, +STORE, 140408490905600, 140408494702591, +SNULL, 140408490905600, 140408492564479, +STORE, 140408492564480, 140408494702591, +STORE, 140408490905600, 140408492564479, +SNULL, 140408494661631, 140408494702591, +STORE, 140408492564480, 140408494661631, +STORE, 140408494661632, 140408494702591, +SNULL, 140408494661632, 140408494686207, +STORE, 140408494686208, 140408494702591, +STORE, 140408494661632, 140408494686207, +ERASE, 140408494661632, 140408494686207, +STORE, 140408494661632, 140408494686207, +ERASE, 140408494686208, 140408494702591, +STORE, 140408494686208, 140408494702591, +STORE, 140408500056064, 140408500076543, +SNULL, 140408494678015, 140408494686207, +STORE, 140408494661632, 140408494678015, +STORE, 140408494678016, 140408494686207, +SNULL, 140408497860607, 140408497864703, +STORE, 140408497856512, 140408497860607, +STORE, 140408497860608, 140408497864703, +SNULL, 7233535, 7241727, +STORE, 7221248, 7233535, +STORE, 7233536, 7241727, +SNULL, 140408500109311, 140408500113407, +STORE, 140408500105216, 140408500109311, +STORE, 140408500109312, 140408500113407, +ERASE, 140408500076544, 140408500105215, +STORE, 25235456, 25370623, +STORE, 25235456, 25518079, +STORE, 140408498372608, 140408500056063, +STORE, 94543937388544, 94543937499135, +STORE, 94543939592192, 94543939600383, +STORE, 94543939600384, 94543939604479, +STORE, 94543939604480, 94543939612671, +STORE, 94543941447680, 94543941582847, +STORE, 140282621947904, 140282623606783, +STORE, 140282623606784, 140282625703935, +STORE, 140282625703936, 140282625720319, +STORE, 140282625720320, 140282625728511, +STORE, 140282625728512, 140282625744895, +STORE, 140282625744896, 140282625888255, +STORE, 140282627948544, 140282627956735, +STORE, 140282627985408, 140282627989503, +STORE, 140282627989504, 140282627993599, +STORE, 140282627993600, 140282627997695, +STORE, 140728295723008, 140728295862271, +STORE, 140728296476672, 140728296488959, +STORE, 140728296488960, 140728296493055, +STORE, 94431504838656, 94431505051647, +STORE, 94431507148800, 94431507152895, +STORE, 94431507152896, 94431507161087, +STORE, 94431507161088, 94431507173375, +STORE, 94431510286336, 94431510691839, +STORE, 139818797948928, 139818799607807, +STORE, 139818799607808, 139818801704959, +STORE, 139818801704960, 139818801721343, +STORE, 139818801721344, 139818801729535, +STORE, 139818801729536, 139818801745919, +STORE, 139818801745920, 139818801758207, +STORE, 139818801758208, 139818803851263, +STORE, 139818803851264, 139818803855359, +STORE, 139818803855360, 139818803859455, +STORE, 139818803859456, 139818804002815, +STORE, 139818804371456, 139818806054911, +STORE, 139818806054912, 139818806071295, +STORE, 139818806099968, 139818806104063, +STORE, 139818806104064, 139818806108159, +STORE, 139818806108160, 139818806112255, +STORE, 140731430457344, 140731430596607, +STORE, 140731431227392, 140731431239679, +STORE, 140731431239680, 140731431243775, +STORE, 94431504838656, 94431505051647, +STORE, 94431507148800, 94431507152895, +STORE, 94431507152896, 94431507161087, +STORE, 94431507161088, 94431507173375, +STORE, 94431510286336, 94431510691839, +STORE, 139818797948928, 139818799607807, +STORE, 139818799607808, 139818801704959, +STORE, 139818801704960, 139818801721343, +STORE, 139818801721344, 139818801729535, +STORE, 139818801729536, 139818801745919, +STORE, 139818801745920, 139818801758207, +STORE, 139818801758208, 139818803851263, +STORE, 139818803851264, 139818803855359, +STORE, 139818803855360, 139818803859455, +STORE, 139818803859456, 139818804002815, +STORE, 139818804371456, 139818806054911, +STORE, 139818806054912, 139818806071295, +STORE, 139818806099968, 139818806104063, +STORE, 139818806104064, 139818806108159, +STORE, 139818806108160, 139818806112255, +STORE, 140731430457344, 140731430596607, +STORE, 140731431227392, 140731431239679, +STORE, 140731431239680, 140731431243775, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140737488338944, 140737488351231, +STORE, 140736944451584, 140737488351231, +SNULL, 140736944463871, 140737488351231, +STORE, 140736944451584, 140736944463871, +STORE, 140736944320512, 140736944463871, +STORE, 4194304, 26279935, +STORE, 28372992, 28454911, +STORE, 28454912, 29806591, +STORE, 139693609893888, 139693612146687, +SNULL, 139693610037247, 139693612146687, +STORE, 139693609893888, 139693610037247, +STORE, 139693610037248, 139693612146687, +ERASE, 139693610037248, 139693612146687, +STORE, 139693612134400, 139693612142591, +STORE, 139693612142592, 139693612146687, +STORE, 140736945152000, 140736945156095, +STORE, 140736945139712, 140736945151999, +STORE, 139693612105728, 139693612134399, +STORE, 139693612097536, 139693612105727, +STORE, 139693606060032, 139693609893887, +SNULL, 139693606060032, 139693607768063, +STORE, 139693607768064, 139693609893887, +STORE, 139693606060032, 139693607768063, +SNULL, 139693609861119, 139693609893887, +STORE, 139693607768064, 139693609861119, +STORE, 139693609861120, 139693609893887, +ERASE, 139693609861120, 139693609893887, +STORE, 139693609861120, 139693609893887, +STORE, 139693603864576, 139693606060031, +SNULL, 139693603864576, 139693603958783, +STORE, 139693603958784, 139693606060031, +STORE, 139693603864576, 139693603958783, +SNULL, 139693606051839, 139693606060031, +STORE, 139693603958784, 139693606051839, +STORE, 139693606051840, 139693606060031, +ERASE, 139693606051840, 139693606060031, +STORE, 139693606051840, 139693606060031, +STORE, 139693601345536, 139693603864575, +SNULL, 139693601345536, 139693601759231, +STORE, 139693601759232, 139693603864575, +STORE, 139693601345536, 139693601759231, +SNULL, 139693603852287, 139693603864575, +STORE, 139693601759232, 139693603852287, +STORE, 139693603852288, 139693603864575, +ERASE, 139693603852288, 139693603864575, +STORE, 139693603852288, 139693603864575, +STORE, 139693598711808, 139693601345535, +SNULL, 139693598711808, 139693599240191, +STORE, 139693599240192, 139693601345535, +STORE, 139693598711808, 139693599240191, +SNULL, 139693601337343, 139693601345535, +STORE, 139693599240192, 139693601337343, +STORE, 139693601337344, 139693601345535, +ERASE, 139693601337344, 139693601345535, +STORE, 139693601337344, 139693601345535, +STORE, 139693596598272, 139693598711807, +SNULL, 139693596598272, 139693596610559, +STORE, 139693596610560, 139693598711807, +STORE, 139693596598272, 139693596610559, +SNULL, 139693598703615, 139693598711807, +STORE, 139693596610560, 139693598703615, +STORE, 139693598703616, 139693598711807, +ERASE, 139693598703616, 139693598711807, +STORE, 139693598703616, 139693598711807, +STORE, 139693594394624, 139693596598271, +SNULL, 139693594394624, 139693594497023, +STORE, 139693594497024, 139693596598271, +STORE, 139693594394624, 139693594497023, +SNULL, 139693596590079, 139693596598271, +STORE, 139693594497024, 139693596590079, +STORE, 139693596590080, 139693596598271, +ERASE, 139693596590080, 139693596598271, +STORE, 139693596590080, 139693596598271, +STORE, 139693612089344, 139693612105727, +STORE, 139693591232512, 139693594394623, +SNULL, 139693591232512, 139693592293375, +STORE, 139693592293376, 139693594394623, +STORE, 139693591232512, 139693592293375, +SNULL, 139693594386431, 139693594394623, +STORE, 139693592293376, 139693594386431, +STORE, 139693594386432, 139693594394623, +ERASE, 139693594386432, 139693594394623, +STORE, 139693594386432, 139693594394623, +STORE, 139693587435520, 139693591232511, +SNULL, 139693587435520, 139693589094399, +STORE, 139693589094400, 139693591232511, +STORE, 139693587435520, 139693589094399, +SNULL, 139693591191551, 139693591232511, +STORE, 139693589094400, 139693591191551, +STORE, 139693591191552, 139693591232511, +SNULL, 139693591191552, 139693591216127, +STORE, 139693591216128, 139693591232511, +STORE, 139693591191552, 139693591216127, +ERASE, 139693591191552, 139693591216127, +STORE, 139693591191552, 139693591216127, +ERASE, 139693591216128, 139693591232511, +STORE, 139693591216128, 139693591232511, +STORE, 139693612077056, 139693612105727, +SNULL, 139693591207935, 139693591216127, +STORE, 139693591191552, 139693591207935, +STORE, 139693591207936, 139693591216127, +SNULL, 139693594390527, 139693594394623, +STORE, 139693594386432, 139693594390527, +STORE, 139693594390528, 139693594394623, +SNULL, 139693596594175, 139693596598271, +STORE, 139693596590080, 139693596594175, +STORE, 139693596594176, 139693596598271, +SNULL, 139693598707711, 139693598711807, +STORE, 139693598703616, 139693598707711, +STORE, 139693598707712, 139693598711807, +SNULL, 139693601341439, 139693601345535, +STORE, 139693601337344, 139693601341439, +STORE, 139693601341440, 139693601345535, +SNULL, 139693603860479, 139693603864575, +STORE, 139693603852288, 139693603860479, +STORE, 139693603860480, 139693603864575, +SNULL, 139693606055935, 139693606060031, +STORE, 139693606051840, 139693606055935, +STORE, 139693606055936, 139693606060031, +SNULL, 139693609865215, 139693609893887, +STORE, 139693609861120, 139693609865215, +STORE, 139693609865216, 139693609893887, +SNULL, 28405759, 28454911, +STORE, 28372992, 28405759, +STORE, 28405760, 28454911, +SNULL, 139693612138495, 139693612142591, +STORE, 139693612134400, 139693612138495, +STORE, 139693612138496, 139693612142591, +ERASE, 139693612105728, 139693612134399, +STORE, 39976960, 40112127, +STORE, 139693610393600, 139693612077055, +STORE, 139693612130304, 139693612134399, +STORE, 139693610258432, 139693610393599, +STORE, 39976960, 40255487, +STORE, 139693585338368, 139693587435519, +STORE, 139693612122112, 139693612134399, +STORE, 139693612113920, 139693612134399, +STORE, 139693612077056, 139693612113919, +STORE, 139693610242048, 139693610393599, +STORE, 39976960, 40390655, +STORE, 39976960, 40546303, +STORE, 139693610233856, 139693610393599, +STORE, 139693610225664, 139693610393599, +STORE, 39976960, 40714239, +STORE, 139693610209280, 139693610393599, +STORE, 39976960, 40861695, +STORE, 94431504838656, 94431505051647, +STORE, 94431507148800, 94431507152895, +STORE, 94431507152896, 94431507161087, +STORE, 94431507161088, 94431507173375, +STORE, 94431510286336, 94431528759295, +STORE, 139818797948928, 139818799607807, +STORE, 139818799607808, 139818801704959, +STORE, 139818801704960, 139818801721343, +STORE, 139818801721344, 139818801729535, +STORE, 139818801729536, 139818801745919, +STORE, 139818801745920, 139818801758207, +STORE, 139818801758208, 139818803851263, +STORE, 139818803851264, 139818803855359, +STORE, 139818803855360, 139818803859455, +STORE, 139818803859456, 139818804002815, +STORE, 139818804371456, 139818806054911, +STORE, 139818806054912, 139818806071295, +STORE, 139818806099968, 139818806104063, +STORE, 139818806104064, 139818806108159, +STORE, 139818806108160, 139818806112255, +STORE, 140731430457344, 140731430596607, +STORE, 140731431227392, 140731431239679, +STORE, 140731431239680, 140731431243775, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140729993904128, 140737488351231, +SNULL, 140729993912319, 140737488351231, +STORE, 140729993904128, 140729993912319, +STORE, 140729993773056, 140729993912319, +STORE, 93926271991808, 93926274215935, +SNULL, 93926272102399, 93926274215935, +STORE, 93926271991808, 93926272102399, +STORE, 93926272102400, 93926274215935, +ERASE, 93926272102400, 93926274215935, +STORE, 93926274195456, 93926274207743, +STORE, 93926274207744, 93926274215935, +STORE, 139962167296000, 139962169548799, +SNULL, 139962167439359, 139962169548799, +STORE, 139962167296000, 139962167439359, +STORE, 139962167439360, 139962169548799, +ERASE, 139962167439360, 139962169548799, +STORE, 139962169536512, 139962169544703, +STORE, 139962169544704, 139962169548799, +STORE, 140729995096064, 140729995100159, +STORE, 140729995083776, 140729995096063, +STORE, 139962169507840, 139962169536511, +STORE, 139962169499648, 139962169507839, +STORE, 139962163499008, 139962167295999, +SNULL, 139962163499008, 139962165157887, +STORE, 139962165157888, 139962167295999, +STORE, 139962163499008, 139962165157887, +SNULL, 139962167255039, 139962167295999, +STORE, 139962165157888, 139962167255039, +STORE, 139962167255040, 139962167295999, +SNULL, 139962167255040, 139962167279615, +STORE, 139962167279616, 139962167295999, +STORE, 139962167255040, 139962167279615, +ERASE, 139962167255040, 139962167279615, +STORE, 139962167255040, 139962167279615, +ERASE, 139962167279616, 139962167295999, +STORE, 139962167279616, 139962167295999, +SNULL, 139962167271423, 139962167279615, +STORE, 139962167255040, 139962167271423, +STORE, 139962167271424, 139962167279615, +SNULL, 93926274203647, 93926274207743, +STORE, 93926274195456, 93926274203647, +STORE, 93926274203648, 93926274207743, +SNULL, 139962169540607, 139962169544703, +STORE, 139962169536512, 139962169540607, +STORE, 139962169540608, 139962169544703, +ERASE, 139962169507840, 139962169536511, +STORE, 93926291120128, 93926291255295, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140724960579584, 140737488351231, +SNULL, 140724960587775, 140737488351231, +STORE, 140724960579584, 140724960587775, +STORE, 140724960448512, 140724960587775, +STORE, 94246489489408, 94246491713535, +SNULL, 94246489599999, 94246491713535, +STORE, 94246489489408, 94246489599999, +STORE, 94246489600000, 94246491713535, +ERASE, 94246489600000, 94246491713535, +STORE, 94246491693056, 94246491705343, +STORE, 94246491705344, 94246491713535, +STORE, 140098174926848, 140098177179647, +SNULL, 140098175070207, 140098177179647, +STORE, 140098174926848, 140098175070207, +STORE, 140098175070208, 140098177179647, +ERASE, 140098175070208, 140098177179647, +STORE, 140098177167360, 140098177175551, +STORE, 140098177175552, 140098177179647, +STORE, 140724961439744, 140724961443839, +STORE, 140724961427456, 140724961439743, +STORE, 140098177138688, 140098177167359, +STORE, 140098177130496, 140098177138687, +STORE, 140098171129856, 140098174926847, +SNULL, 140098171129856, 140098172788735, +STORE, 140098172788736, 140098174926847, +STORE, 140098171129856, 140098172788735, +SNULL, 140098174885887, 140098174926847, +STORE, 140098172788736, 140098174885887, +STORE, 140098174885888, 140098174926847, +SNULL, 140098174885888, 140098174910463, +STORE, 140098174910464, 140098174926847, +STORE, 140098174885888, 140098174910463, +ERASE, 140098174885888, 140098174910463, +STORE, 140098174885888, 140098174910463, +ERASE, 140098174910464, 140098174926847, +STORE, 140098174910464, 140098174926847, +SNULL, 140098174902271, 140098174910463, +STORE, 140098174885888, 140098174902271, +STORE, 140098174902272, 140098174910463, +SNULL, 94246491701247, 94246491705343, +STORE, 94246491693056, 94246491701247, +STORE, 94246491701248, 94246491705343, +SNULL, 140098177171455, 140098177175551, +STORE, 140098177167360, 140098177171455, +STORE, 140098177171456, 140098177175551, +ERASE, 140098177138688, 140098177167359, +STORE, 94246516998144, 94246517133311, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140730522918912, 140737488351231, +SNULL, 140730522927103, 140737488351231, +STORE, 140730522918912, 140730522927103, +STORE, 140730522787840, 140730522927103, +STORE, 94196043120640, 94196045344767, +SNULL, 94196043231231, 94196045344767, +STORE, 94196043120640, 94196043231231, +STORE, 94196043231232, 94196045344767, +ERASE, 94196043231232, 94196045344767, +STORE, 94196045324288, 94196045336575, +STORE, 94196045336576, 94196045344767, +STORE, 139815918940160, 139815921192959, +SNULL, 139815919083519, 139815921192959, +STORE, 139815918940160, 139815919083519, +STORE, 139815919083520, 139815921192959, +ERASE, 139815919083520, 139815921192959, +STORE, 139815921180672, 139815921188863, +STORE, 139815921188864, 139815921192959, +STORE, 140730523344896, 140730523348991, +STORE, 140730523332608, 140730523344895, +STORE, 139815921152000, 139815921180671, +STORE, 139815921143808, 139815921151999, +STORE, 139815915143168, 139815918940159, +SNULL, 139815915143168, 139815916802047, +STORE, 139815916802048, 139815918940159, +STORE, 139815915143168, 139815916802047, +SNULL, 139815918899199, 139815918940159, +STORE, 139815916802048, 139815918899199, +STORE, 139815918899200, 139815918940159, +SNULL, 139815918899200, 139815918923775, +STORE, 139815918923776, 139815918940159, +STORE, 139815918899200, 139815918923775, +ERASE, 139815918899200, 139815918923775, +STORE, 139815918899200, 139815918923775, +ERASE, 139815918923776, 139815918940159, +STORE, 139815918923776, 139815918940159, +SNULL, 139815918915583, 139815918923775, +STORE, 139815918899200, 139815918915583, +STORE, 139815918915584, 139815918923775, +SNULL, 94196045332479, 94196045336575, +STORE, 94196045324288, 94196045332479, +STORE, 94196045332480, 94196045336575, +SNULL, 139815921184767, 139815921188863, +STORE, 139815921180672, 139815921184767, +STORE, 139815921184768, 139815921188863, +ERASE, 139815921152000, 139815921180671, +STORE, 94196076183552, 94196076318719, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722460393472, 140737488351231, +SNULL, 140722460401663, 140737488351231, +STORE, 140722460393472, 140722460401663, +STORE, 140722460262400, 140722460401663, +STORE, 94569810399232, 94569812623359, +SNULL, 94569810509823, 94569812623359, +STORE, 94569810399232, 94569810509823, +STORE, 94569810509824, 94569812623359, +ERASE, 94569810509824, 94569812623359, +STORE, 94569812602880, 94569812615167, +STORE, 94569812615168, 94569812623359, +STORE, 139681565450240, 139681567703039, +SNULL, 139681565593599, 139681567703039, +STORE, 139681565450240, 139681565593599, +STORE, 139681565593600, 139681567703039, +ERASE, 139681565593600, 139681567703039, +STORE, 139681567690752, 139681567698943, +STORE, 139681567698944, 139681567703039, +STORE, 140722460569600, 140722460573695, +STORE, 140722460557312, 140722460569599, +STORE, 139681567662080, 139681567690751, +STORE, 139681567653888, 139681567662079, +STORE, 139681561653248, 139681565450239, +SNULL, 139681561653248, 139681563312127, +STORE, 139681563312128, 139681565450239, +STORE, 139681561653248, 139681563312127, +SNULL, 139681565409279, 139681565450239, +STORE, 139681563312128, 139681565409279, +STORE, 139681565409280, 139681565450239, +SNULL, 139681565409280, 139681565433855, +STORE, 139681565433856, 139681565450239, +STORE, 139681565409280, 139681565433855, +ERASE, 139681565409280, 139681565433855, +STORE, 139681565409280, 139681565433855, +ERASE, 139681565433856, 139681565450239, +STORE, 139681565433856, 139681565450239, +SNULL, 139681565425663, 139681565433855, +STORE, 139681565409280, 139681565425663, +STORE, 139681565425664, 139681565433855, +SNULL, 94569812611071, 94569812615167, +STORE, 94569812602880, 94569812611071, +STORE, 94569812611072, 94569812615167, +SNULL, 139681567694847, 139681567698943, +STORE, 139681567690752, 139681567694847, +STORE, 139681567694848, 139681567698943, +ERASE, 139681567662080, 139681567690751, +STORE, 94569818066944, 94569818202111, +STORE, 94431504838656, 94431505051647, +STORE, 94431507148800, 94431507152895, +STORE, 94431507152896, 94431507161087, +STORE, 94431507161088, 94431507173375, +STORE, 94431510286336, 94431534280703, +STORE, 139818797948928, 139818799607807, +STORE, 139818799607808, 139818801704959, +STORE, 139818801704960, 139818801721343, +STORE, 139818801721344, 139818801729535, +STORE, 139818801729536, 139818801745919, +STORE, 139818801745920, 139818801758207, +STORE, 139818801758208, 139818803851263, +STORE, 139818803851264, 139818803855359, +STORE, 139818803855360, 139818803859455, +STORE, 139818803859456, 139818804002815, +STORE, 139818804371456, 139818806054911, +STORE, 139818806054912, 139818806071295, +STORE, 139818806099968, 139818806104063, +STORE, 139818806104064, 139818806108159, +STORE, 139818806108160, 139818806112255, +STORE, 140731430457344, 140731430596607, +STORE, 140731431227392, 140731431239679, +STORE, 140731431239680, 140731431243775, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140725452365824, 140737488351231, +SNULL, 140725452374015, 140737488351231, +STORE, 140725452365824, 140725452374015, +STORE, 140725452234752, 140725452374015, +STORE, 94395067465728, 94395069689855, +SNULL, 94395067576319, 94395069689855, +STORE, 94395067465728, 94395067576319, +STORE, 94395067576320, 94395069689855, +ERASE, 94395067576320, 94395069689855, +STORE, 94395069669376, 94395069681663, +STORE, 94395069681664, 94395069689855, +STORE, 140269941211136, 140269943463935, +SNULL, 140269941354495, 140269943463935, +STORE, 140269941211136, 140269941354495, +STORE, 140269941354496, 140269943463935, +ERASE, 140269941354496, 140269943463935, +STORE, 140269943451648, 140269943459839, +STORE, 140269943459840, 140269943463935, +STORE, 140725452558336, 140725452562431, +STORE, 140725452546048, 140725452558335, +STORE, 140269943422976, 140269943451647, +STORE, 140269943414784, 140269943422975, +STORE, 140269937414144, 140269941211135, +SNULL, 140269937414144, 140269939073023, +STORE, 140269939073024, 140269941211135, +STORE, 140269937414144, 140269939073023, +SNULL, 140269941170175, 140269941211135, +STORE, 140269939073024, 140269941170175, +STORE, 140269941170176, 140269941211135, +SNULL, 140269941170176, 140269941194751, +STORE, 140269941194752, 140269941211135, +STORE, 140269941170176, 140269941194751, +ERASE, 140269941170176, 140269941194751, +STORE, 140269941170176, 140269941194751, +ERASE, 140269941194752, 140269941211135, +STORE, 140269941194752, 140269941211135, +SNULL, 140269941186559, 140269941194751, +STORE, 140269941170176, 140269941186559, +STORE, 140269941186560, 140269941194751, +SNULL, 94395069677567, 94395069681663, +STORE, 94395069669376, 94395069677567, +STORE, 94395069677568, 94395069681663, +SNULL, 140269943455743, 140269943459839, +STORE, 140269943451648, 140269943455743, +STORE, 140269943455744, 140269943459839, +ERASE, 140269943422976, 140269943451647, +STORE, 94395101691904, 94395101827071, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733860118528, 140737488351231, +SNULL, 140733860126719, 140737488351231, +STORE, 140733860118528, 140733860126719, +STORE, 140733859987456, 140733860126719, +STORE, 94484752990208, 94484755214335, +SNULL, 94484753100799, 94484755214335, +STORE, 94484752990208, 94484753100799, +STORE, 94484753100800, 94484755214335, +ERASE, 94484753100800, 94484755214335, +STORE, 94484755193856, 94484755206143, +STORE, 94484755206144, 94484755214335, +STORE, 139958922309632, 139958924562431, +SNULL, 139958922452991, 139958924562431, +STORE, 139958922309632, 139958922452991, +STORE, 139958922452992, 139958924562431, +ERASE, 139958922452992, 139958924562431, +STORE, 139958924550144, 139958924558335, +STORE, 139958924558336, 139958924562431, +STORE, 140733860253696, 140733860257791, +STORE, 140733860241408, 140733860253695, +STORE, 139958924521472, 139958924550143, +STORE, 139958924513280, 139958924521471, +STORE, 139958918512640, 139958922309631, +SNULL, 139958918512640, 139958920171519, +STORE, 139958920171520, 139958922309631, +STORE, 139958918512640, 139958920171519, +SNULL, 139958922268671, 139958922309631, +STORE, 139958920171520, 139958922268671, +STORE, 139958922268672, 139958922309631, +SNULL, 139958922268672, 139958922293247, +STORE, 139958922293248, 139958922309631, +STORE, 139958922268672, 139958922293247, +ERASE, 139958922268672, 139958922293247, +STORE, 139958922268672, 139958922293247, +ERASE, 139958922293248, 139958922309631, +STORE, 139958922293248, 139958922309631, +SNULL, 139958922285055, 139958922293247, +STORE, 139958922268672, 139958922285055, +STORE, 139958922285056, 139958922293247, +SNULL, 94484755202047, 94484755206143, +STORE, 94484755193856, 94484755202047, +STORE, 94484755202048, 94484755206143, +SNULL, 139958924554239, 139958924558335, +STORE, 139958924550144, 139958924554239, +STORE, 139958924554240, 139958924558335, +ERASE, 139958924521472, 139958924550143, +STORE, 94484777615360, 94484777750527, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140731051036672, 140737488351231, +SNULL, 140731051044863, 140737488351231, +STORE, 140731051036672, 140731051044863, +STORE, 140731050905600, 140731051044863, +STORE, 93945822998528, 93945825222655, +SNULL, 93945823109119, 93945825222655, +STORE, 93945822998528, 93945823109119, +STORE, 93945823109120, 93945825222655, +ERASE, 93945823109120, 93945825222655, +STORE, 93945825202176, 93945825214463, +STORE, 93945825214464, 93945825222655, +STORE, 140153503997952, 140153506250751, +SNULL, 140153504141311, 140153506250751, +STORE, 140153503997952, 140153504141311, +STORE, 140153504141312, 140153506250751, +ERASE, 140153504141312, 140153506250751, +STORE, 140153506238464, 140153506246655, +STORE, 140153506246656, 140153506250751, +STORE, 140731051331584, 140731051335679, +STORE, 140731051319296, 140731051331583, +STORE, 140153506209792, 140153506238463, +STORE, 140153506201600, 140153506209791, +STORE, 140153500200960, 140153503997951, +SNULL, 140153500200960, 140153501859839, +STORE, 140153501859840, 140153503997951, +STORE, 140153500200960, 140153501859839, +SNULL, 140153503956991, 140153503997951, +STORE, 140153501859840, 140153503956991, +STORE, 140153503956992, 140153503997951, +SNULL, 140153503956992, 140153503981567, +STORE, 140153503981568, 140153503997951, +STORE, 140153503956992, 140153503981567, +ERASE, 140153503956992, 140153503981567, +STORE, 140153503956992, 140153503981567, +ERASE, 140153503981568, 140153503997951, +STORE, 140153503981568, 140153503997951, +SNULL, 140153503973375, 140153503981567, +STORE, 140153503956992, 140153503973375, +STORE, 140153503973376, 140153503981567, +SNULL, 93945825210367, 93945825214463, +STORE, 93945825202176, 93945825210367, +STORE, 93945825210368, 93945825214463, +SNULL, 140153506242559, 140153506246655, +STORE, 140153506238464, 140153506242559, +STORE, 140153506242560, 140153506246655, +ERASE, 140153506209792, 140153506238463, +STORE, 93945854537728, 93945854672895, +STORE, 94431504838656, 94431505051647, +STORE, 94431507148800, 94431507152895, +STORE, 94431507152896, 94431507161087, +STORE, 94431507161088, 94431507173375, +STORE, 94431510286336, 94431537885183, +STORE, 139818797948928, 139818799607807, +STORE, 139818799607808, 139818801704959, +STORE, 139818801704960, 139818801721343, +STORE, 139818801721344, 139818801729535, +STORE, 139818801729536, 139818801745919, +STORE, 139818801745920, 139818801758207, +STORE, 139818801758208, 139818803851263, +STORE, 139818803851264, 139818803855359, +STORE, 139818803855360, 139818803859455, +STORE, 139818803859456, 139818804002815, +STORE, 139818804371456, 139818806054911, +STORE, 139818806054912, 139818806071295, +STORE, 139818806099968, 139818806104063, +STORE, 139818806104064, 139818806108159, +STORE, 139818806108160, 139818806112255, +STORE, 140731430457344, 140731430596607, +STORE, 140731431227392, 140731431239679, +STORE, 140731431239680, 140731431243775, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140736025325568, 140737488351231, +SNULL, 140736025333759, 140737488351231, +STORE, 140736025325568, 140736025333759, +STORE, 140736025194496, 140736025333759, +STORE, 94809095172096, 94809097396223, +SNULL, 94809095282687, 94809097396223, +STORE, 94809095172096, 94809095282687, +STORE, 94809095282688, 94809097396223, +ERASE, 94809095282688, 94809097396223, +STORE, 94809097375744, 94809097388031, +STORE, 94809097388032, 94809097396223, +STORE, 140194992517120, 140194994769919, +SNULL, 140194992660479, 140194994769919, +STORE, 140194992517120, 140194992660479, +STORE, 140194992660480, 140194994769919, +ERASE, 140194992660480, 140194994769919, +STORE, 140194994757632, 140194994765823, +STORE, 140194994765824, 140194994769919, +STORE, 140736026173440, 140736026177535, +STORE, 140736026161152, 140736026173439, +STORE, 140194994728960, 140194994757631, +STORE, 140194994720768, 140194994728959, +STORE, 140194988720128, 140194992517119, +SNULL, 140194988720128, 140194990379007, +STORE, 140194990379008, 140194992517119, +STORE, 140194988720128, 140194990379007, +SNULL, 140194992476159, 140194992517119, +STORE, 140194990379008, 140194992476159, +STORE, 140194992476160, 140194992517119, +SNULL, 140194992476160, 140194992500735, +STORE, 140194992500736, 140194992517119, +STORE, 140194992476160, 140194992500735, +ERASE, 140194992476160, 140194992500735, +STORE, 140194992476160, 140194992500735, +ERASE, 140194992500736, 140194992517119, +STORE, 140194992500736, 140194992517119, +SNULL, 140194992492543, 140194992500735, +STORE, 140194992476160, 140194992492543, +STORE, 140194992492544, 140194992500735, +SNULL, 94809097383935, 94809097388031, +STORE, 94809097375744, 94809097383935, +STORE, 94809097383936, 94809097388031, +SNULL, 140194994761727, 140194994765823, +STORE, 140194994757632, 140194994761727, +STORE, 140194994761728, 140194994765823, +ERASE, 140194994728960, 140194994757631, +STORE, 94809124286464, 94809124421631, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140726342660096, 140737488351231, +SNULL, 140726342668287, 140737488351231, +STORE, 140726342660096, 140726342668287, +STORE, 140726342529024, 140726342668287, +STORE, 94140331462656, 94140333686783, +SNULL, 94140331573247, 94140333686783, +STORE, 94140331462656, 94140331573247, +STORE, 94140331573248, 94140333686783, +ERASE, 94140331573248, 94140333686783, +STORE, 94140333666304, 94140333678591, +STORE, 94140333678592, 94140333686783, +STORE, 140714077208576, 140714079461375, +SNULL, 140714077351935, 140714079461375, +STORE, 140714077208576, 140714077351935, +STORE, 140714077351936, 140714079461375, +ERASE, 140714077351936, 140714079461375, +STORE, 140714079449088, 140714079457279, +STORE, 140714079457280, 140714079461375, +STORE, 140726343933952, 140726343938047, +STORE, 140726343921664, 140726343933951, +STORE, 140714079420416, 140714079449087, +STORE, 140714079412224, 140714079420415, +STORE, 140714073411584, 140714077208575, +SNULL, 140714073411584, 140714075070463, +STORE, 140714075070464, 140714077208575, +STORE, 140714073411584, 140714075070463, +SNULL, 140714077167615, 140714077208575, +STORE, 140714075070464, 140714077167615, +STORE, 140714077167616, 140714077208575, +SNULL, 140714077167616, 140714077192191, +STORE, 140714077192192, 140714077208575, +STORE, 140714077167616, 140714077192191, +ERASE, 140714077167616, 140714077192191, +STORE, 140714077167616, 140714077192191, +ERASE, 140714077192192, 140714077208575, +STORE, 140714077192192, 140714077208575, +SNULL, 140714077183999, 140714077192191, +STORE, 140714077167616, 140714077183999, +STORE, 140714077184000, 140714077192191, +SNULL, 94140333674495, 94140333678591, +STORE, 94140333666304, 94140333674495, +STORE, 94140333674496, 94140333678591, +SNULL, 140714079453183, 140714079457279, +STORE, 140714079449088, 140714079453183, +STORE, 140714079453184, 140714079457279, +ERASE, 140714079420416, 140714079449087, +STORE, 94140341432320, 94140341567487, +STORE, 94431504838656, 94431505051647, +STORE, 94431507148800, 94431507152895, +STORE, 94431507152896, 94431507161087, +STORE, 94431507161088, 94431507173375, +STORE, 94431510286336, 94431539601407, +STORE, 139818797948928, 139818799607807, +STORE, 139818799607808, 139818801704959, +STORE, 139818801704960, 139818801721343, +STORE, 139818801721344, 139818801729535, +STORE, 139818801729536, 139818801745919, +STORE, 139818801745920, 139818801758207, +STORE, 139818801758208, 139818803851263, +STORE, 139818803851264, 139818803855359, +STORE, 139818803855360, 139818803859455, +STORE, 139818803859456, 139818804002815, +STORE, 139818804371456, 139818806054911, +STORE, 139818806054912, 139818806071295, +STORE, 139818806099968, 139818806104063, +STORE, 139818806104064, 139818806108159, +STORE, 139818806108160, 139818806112255, +STORE, 140731430457344, 140731430596607, +STORE, 140731431227392, 140731431239679, +STORE, 140731431239680, 140731431243775, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140725843607552, 140737488351231, +SNULL, 140725843615743, 140737488351231, +STORE, 140725843607552, 140725843615743, +STORE, 140725843476480, 140725843615743, +STORE, 94889043505152, 94889045839871, +SNULL, 94889043718143, 94889045839871, +STORE, 94889043505152, 94889043718143, +STORE, 94889043718144, 94889045839871, +ERASE, 94889043718144, 94889045839871, +STORE, 94889045815296, 94889045827583, +STORE, 94889045827584, 94889045839871, +STORE, 140250965946368, 140250968199167, +SNULL, 140250966089727, 140250968199167, +STORE, 140250965946368, 140250966089727, +STORE, 140250966089728, 140250968199167, +ERASE, 140250966089728, 140250968199167, +STORE, 140250968186880, 140250968195071, +STORE, 140250968195072, 140250968199167, +STORE, 140725844500480, 140725844504575, +STORE, 140725844488192, 140725844500479, +STORE, 140250968158208, 140250968186879, +STORE, 140250968150016, 140250968158207, +STORE, 140250963832832, 140250965946367, +SNULL, 140250963832832, 140250963845119, +STORE, 140250963845120, 140250965946367, +STORE, 140250963832832, 140250963845119, +SNULL, 140250965938175, 140250965946367, +STORE, 140250963845120, 140250965938175, +STORE, 140250965938176, 140250965946367, +ERASE, 140250965938176, 140250965946367, +STORE, 140250965938176, 140250965946367, +STORE, 140250960035840, 140250963832831, +SNULL, 140250960035840, 140250961694719, +STORE, 140250961694720, 140250963832831, +STORE, 140250960035840, 140250961694719, +SNULL, 140250963791871, 140250963832831, +STORE, 140250961694720, 140250963791871, +STORE, 140250963791872, 140250963832831, +SNULL, 140250963791872, 140250963816447, +STORE, 140250963816448, 140250963832831, +STORE, 140250963791872, 140250963816447, +ERASE, 140250963791872, 140250963816447, +STORE, 140250963791872, 140250963816447, +ERASE, 140250963816448, 140250963832831, +STORE, 140250963816448, 140250963832831, +STORE, 140250968141824, 140250968158207, +SNULL, 140250963808255, 140250963816447, +STORE, 140250963791872, 140250963808255, +STORE, 140250963808256, 140250963816447, +SNULL, 140250965942271, 140250965946367, +STORE, 140250965938176, 140250965942271, +STORE, 140250965942272, 140250965946367, +SNULL, 94889045819391, 94889045827583, +STORE, 94889045815296, 94889045819391, +STORE, 94889045819392, 94889045827583, +SNULL, 140250968190975, 140250968195071, +STORE, 140250968186880, 140250968190975, +STORE, 140250968190976, 140250968195071, +ERASE, 140250968158208, 140250968186879, +STORE, 94889052213248, 94889052348415, +STORE, 140250966458368, 140250968141823, +STORE, 94889052213248, 94889052483583, +STORE, 94889052213248, 94889052618751, +STORE, 94170851819520, 94170852032511, +STORE, 94170854129664, 94170854133759, +STORE, 94170854133760, 94170854141951, +STORE, 94170854141952, 94170854154239, +STORE, 94170866515968, 94170867740671, +STORE, 140062030422016, 140062032080895, +STORE, 140062032080896, 140062034178047, +STORE, 140062034178048, 140062034194431, +STORE, 140062034194432, 140062034202623, +STORE, 140062034202624, 140062034219007, +STORE, 140062034219008, 140062034231295, +STORE, 140062034231296, 140062036324351, +STORE, 140062036324352, 140062036328447, +STORE, 140062036328448, 140062036332543, +STORE, 140062036332544, 140062036475903, +STORE, 140062036844544, 140062038527999, +STORE, 140062038528000, 140062038544383, +STORE, 140062038573056, 140062038577151, +STORE, 140062038577152, 140062038581247, +STORE, 140062038581248, 140062038585343, +STORE, 140736210550784, 140736210690047, +STORE, 140736210759680, 140736210771967, +STORE, 140736210771968, 140736210776063, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140724272365568, 140737488351231, +SNULL, 140724272373759, 140737488351231, +STORE, 140724272365568, 140724272373759, +STORE, 140724272234496, 140724272373759, +STORE, 94607711965184, 94607714189311, +SNULL, 94607712075775, 94607714189311, +STORE, 94607711965184, 94607712075775, +STORE, 94607712075776, 94607714189311, +ERASE, 94607712075776, 94607714189311, +STORE, 94607714168832, 94607714181119, +STORE, 94607714181120, 94607714189311, +STORE, 140054949253120, 140054951505919, +SNULL, 140054949396479, 140054951505919, +STORE, 140054949253120, 140054949396479, +STORE, 140054949396480, 140054951505919, +ERASE, 140054949396480, 140054951505919, +STORE, 140054951493632, 140054951501823, +STORE, 140054951501824, 140054951505919, +STORE, 140724272992256, 140724272996351, +STORE, 140724272979968, 140724272992255, +STORE, 140054951464960, 140054951493631, +STORE, 140054951456768, 140054951464959, +STORE, 140054945456128, 140054949253119, +SNULL, 140054945456128, 140054947115007, +STORE, 140054947115008, 140054949253119, +STORE, 140054945456128, 140054947115007, +SNULL, 140054949212159, 140054949253119, +STORE, 140054947115008, 140054949212159, +STORE, 140054949212160, 140054949253119, +SNULL, 140054949212160, 140054949236735, +STORE, 140054949236736, 140054949253119, +STORE, 140054949212160, 140054949236735, +ERASE, 140054949212160, 140054949236735, +STORE, 140054949212160, 140054949236735, +ERASE, 140054949236736, 140054949253119, +STORE, 140054949236736, 140054949253119, +SNULL, 140054949228543, 140054949236735, +STORE, 140054949212160, 140054949228543, +STORE, 140054949228544, 140054949236735, +SNULL, 94607714177023, 94607714181119, +STORE, 94607714168832, 94607714177023, +STORE, 94607714177024, 94607714181119, +SNULL, 140054951497727, 140054951501823, +STORE, 140054951493632, 140054951497727, +STORE, 140054951497728, 140054951501823, +ERASE, 140054951464960, 140054951493631, +STORE, 94607733374976, 94607733510143, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733586923520, 140737488351231, +SNULL, 140733586931711, 140737488351231, +STORE, 140733586923520, 140733586931711, +STORE, 140733586792448, 140733586931711, +STORE, 93901634904064, 93901637128191, +SNULL, 93901635014655, 93901637128191, +STORE, 93901634904064, 93901635014655, +STORE, 93901635014656, 93901637128191, +ERASE, 93901635014656, 93901637128191, +STORE, 93901637107712, 93901637119999, +STORE, 93901637120000, 93901637128191, +STORE, 140086104784896, 140086107037695, +SNULL, 140086104928255, 140086107037695, +STORE, 140086104784896, 140086104928255, +STORE, 140086104928256, 140086107037695, +ERASE, 140086104928256, 140086107037695, +STORE, 140086107025408, 140086107033599, +STORE, 140086107033600, 140086107037695, +STORE, 140733587263488, 140733587267583, +STORE, 140733587251200, 140733587263487, +STORE, 140086106996736, 140086107025407, +STORE, 140086106988544, 140086106996735, +STORE, 140086100987904, 140086104784895, +SNULL, 140086100987904, 140086102646783, +STORE, 140086102646784, 140086104784895, +STORE, 140086100987904, 140086102646783, +SNULL, 140086104743935, 140086104784895, +STORE, 140086102646784, 140086104743935, +STORE, 140086104743936, 140086104784895, +SNULL, 140086104743936, 140086104768511, +STORE, 140086104768512, 140086104784895, +STORE, 140086104743936, 140086104768511, +ERASE, 140086104743936, 140086104768511, +STORE, 140086104743936, 140086104768511, +ERASE, 140086104768512, 140086104784895, +STORE, 140086104768512, 140086104784895, +SNULL, 140086104760319, 140086104768511, +STORE, 140086104743936, 140086104760319, +STORE, 140086104760320, 140086104768511, +SNULL, 93901637115903, 93901637119999, +STORE, 93901637107712, 93901637115903, +STORE, 93901637115904, 93901637119999, +SNULL, 140086107029503, 140086107033599, +STORE, 140086107025408, 140086107029503, +STORE, 140086107029504, 140086107033599, +ERASE, 140086106996736, 140086107025407, +STORE, 93901662715904, 93901662851071, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140723365613568, 140737488351231, +SNULL, 140723365621759, 140737488351231, +STORE, 140723365613568, 140723365621759, +STORE, 140723365482496, 140723365621759, +STORE, 94759193546752, 94759195770879, +SNULL, 94759193657343, 94759195770879, +STORE, 94759193546752, 94759193657343, +STORE, 94759193657344, 94759195770879, +ERASE, 94759193657344, 94759195770879, +STORE, 94759195750400, 94759195762687, +STORE, 94759195762688, 94759195770879, +STORE, 140607636246528, 140607638499327, +SNULL, 140607636389887, 140607638499327, +STORE, 140607636246528, 140607636389887, +STORE, 140607636389888, 140607638499327, +ERASE, 140607636389888, 140607638499327, +STORE, 140607638487040, 140607638495231, +STORE, 140607638495232, 140607638499327, +STORE, 140723365900288, 140723365904383, +STORE, 140723365888000, 140723365900287, +STORE, 140607638458368, 140607638487039, +STORE, 140607638450176, 140607638458367, +STORE, 140607632449536, 140607636246527, +SNULL, 140607632449536, 140607634108415, +STORE, 140607634108416, 140607636246527, +STORE, 140607632449536, 140607634108415, +SNULL, 140607636205567, 140607636246527, +STORE, 140607634108416, 140607636205567, +STORE, 140607636205568, 140607636246527, +SNULL, 140607636205568, 140607636230143, +STORE, 140607636230144, 140607636246527, +STORE, 140607636205568, 140607636230143, +ERASE, 140607636205568, 140607636230143, +STORE, 140607636205568, 140607636230143, +ERASE, 140607636230144, 140607636246527, +STORE, 140607636230144, 140607636246527, +SNULL, 140607636221951, 140607636230143, +STORE, 140607636205568, 140607636221951, +STORE, 140607636221952, 140607636230143, +SNULL, 94759195758591, 94759195762687, +STORE, 94759195750400, 94759195758591, +STORE, 94759195758592, 94759195762687, +SNULL, 140607638491135, 140607638495231, +STORE, 140607638487040, 140607638491135, +STORE, 140607638491136, 140607638495231, +ERASE, 140607638458368, 140607638487039, +STORE, 94759204995072, 94759205130239, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140732503789568, 140737488351231, +SNULL, 140732503797759, 140737488351231, +STORE, 140732503789568, 140732503797759, +STORE, 140732503658496, 140732503797759, +STORE, 94077792956416, 94077795180543, +SNULL, 94077793067007, 94077795180543, +STORE, 94077792956416, 94077793067007, +STORE, 94077793067008, 94077795180543, +ERASE, 94077793067008, 94077795180543, +STORE, 94077795160064, 94077795172351, +STORE, 94077795172352, 94077795180543, +STORE, 140359874252800, 140359876505599, +SNULL, 140359874396159, 140359876505599, +STORE, 140359874252800, 140359874396159, +STORE, 140359874396160, 140359876505599, +ERASE, 140359874396160, 140359876505599, +STORE, 140359876493312, 140359876501503, +STORE, 140359876501504, 140359876505599, +STORE, 140732504465408, 140732504469503, +STORE, 140732504453120, 140732504465407, +STORE, 140359876464640, 140359876493311, +STORE, 140359876456448, 140359876464639, +STORE, 140359870455808, 140359874252799, +SNULL, 140359870455808, 140359872114687, +STORE, 140359872114688, 140359874252799, +STORE, 140359870455808, 140359872114687, +SNULL, 140359874211839, 140359874252799, +STORE, 140359872114688, 140359874211839, +STORE, 140359874211840, 140359874252799, +SNULL, 140359874211840, 140359874236415, +STORE, 140359874236416, 140359874252799, +STORE, 140359874211840, 140359874236415, +ERASE, 140359874211840, 140359874236415, +STORE, 140359874211840, 140359874236415, +ERASE, 140359874236416, 140359874252799, +STORE, 140359874236416, 140359874252799, +SNULL, 140359874228223, 140359874236415, +STORE, 140359874211840, 140359874228223, +STORE, 140359874228224, 140359874236415, +SNULL, 94077795168255, 94077795172351, +STORE, 94077795160064, 94077795168255, +STORE, 94077795168256, 94077795172351, +SNULL, 140359876497407, 140359876501503, +STORE, 140359876493312, 140359876497407, +STORE, 140359876497408, 140359876501503, +ERASE, 140359876464640, 140359876493311, +STORE, 94077808717824, 94077808852991, +STORE, 94549486252032, 94549486465023, +STORE, 94549488562176, 94549488566271, +STORE, 94549488566272, 94549488574463, +STORE, 94549488574464, 94549488586751, +STORE, 94549503492096, 94549506121727, +STORE, 140085800894464, 140085802553343, +STORE, 140085802553344, 140085804650495, +STORE, 140085804650496, 140085804666879, +STORE, 140085804666880, 140085804675071, +STORE, 140085804675072, 140085804691455, +STORE, 140085804691456, 140085804703743, +STORE, 140085804703744, 140085806796799, +STORE, 140085806796800, 140085806800895, +STORE, 140085806800896, 140085806804991, +STORE, 140085806804992, 140085806948351, +STORE, 140085807316992, 140085809000447, +STORE, 140085809000448, 140085809016831, +STORE, 140085809045504, 140085809049599, +STORE, 140085809049600, 140085809053695, +STORE, 140085809053696, 140085809057791, +STORE, 140731810545664, 140731810684927, +STORE, 140731810967552, 140731810979839, +STORE, 140731810979840, 140731810983935, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140724752330752, 140737488351231, +SNULL, 140724752338943, 140737488351231, +STORE, 140724752330752, 140724752338943, +STORE, 140724752199680, 140724752338943, +STORE, 94656357539840, 94656359874559, +SNULL, 94656357752831, 94656359874559, +STORE, 94656357539840, 94656357752831, +STORE, 94656357752832, 94656359874559, +ERASE, 94656357752832, 94656359874559, +STORE, 94656359849984, 94656359862271, +STORE, 94656359862272, 94656359874559, +STORE, 139632585203712, 139632587456511, +SNULL, 139632585347071, 139632587456511, +STORE, 139632585203712, 139632585347071, +STORE, 139632585347072, 139632587456511, +ERASE, 139632585347072, 139632587456511, +STORE, 139632587444224, 139632587452415, +STORE, 139632587452416, 139632587456511, +STORE, 139632587440128, 139632587444223, +STORE, 139632587427840, 139632587440127, +STORE, 139632587399168, 139632587427839, +STORE, 139632587390976, 139632587399167, +STORE, 139632583090176, 139632585203711, +SNULL, 139632583090176, 139632583102463, +STORE, 139632583102464, 139632585203711, +STORE, 139632583090176, 139632583102463, +SNULL, 139632585195519, 139632585203711, +STORE, 139632583102464, 139632585195519, +STORE, 139632585195520, 139632585203711, +ERASE, 139632585195520, 139632585203711, +STORE, 139632585195520, 139632585203711, +STORE, 139632579293184, 139632583090175, +SNULL, 139632579293184, 139632580952063, +STORE, 139632580952064, 139632583090175, +STORE, 139632579293184, 139632580952063, +SNULL, 139632583049215, 139632583090175, +STORE, 139632580952064, 139632583049215, +STORE, 139632583049216, 139632583090175, +SNULL, 139632583049216, 139632583073791, +STORE, 139632583073792, 139632583090175, +STORE, 139632583049216, 139632583073791, +ERASE, 139632583049216, 139632583073791, +STORE, 139632583049216, 139632583073791, +ERASE, 139632583073792, 139632583090175, +STORE, 139632583073792, 139632583090175, +STORE, 139632587382784, 139632587399167, +SNULL, 139632583065599, 139632583073791, +STORE, 139632583049216, 139632583065599, +STORE, 139632583065600, 139632583073791, +SNULL, 139632585199615, 139632585203711, +STORE, 139632585195520, 139632585199615, +STORE, 139632585199616, 139632585203711, +SNULL, 94656359854079, 94656359862271, +STORE, 94656359849984, 94656359854079, +STORE, 94656359854080, 94656359862271, +SNULL, 139632587448319, 139632587452415, +STORE, 139632587444224, 139632587448319, +STORE, 139632587448320, 139632587452415, +ERASE, 139632587399168, 139632587427839, +STORE, 94656378912768, 94656379047935, +STORE, 139632585699328, 139632587382783, +STORE, 94656378912768, 94656379183103, +STORE, 94656378912768, 94656379318271, +STORE, 94656378912768, 94656379494399, +SNULL, 94656379469823, 94656379494399, +STORE, 94656378912768, 94656379469823, +STORE, 94656379469824, 94656379494399, +ERASE, 94656379469824, 94656379494399, +STORE, 94656378912768, 94656379621375, +STORE, 94656378912768, 94656379756543, +STORE, 94656378912768, 94656379912191, +STORE, 94656378912768, 94656380055551, +STORE, 94656378912768, 94656380190719, +STORE, 94656378912768, 94656380338175, +SNULL, 94656380313599, 94656380338175, +STORE, 94656378912768, 94656380313599, +STORE, 94656380313600, 94656380338175, +ERASE, 94656380313600, 94656380338175, +STORE, 94656378912768, 94656380448767, +SNULL, 94656380432383, 94656380448767, +STORE, 94656378912768, 94656380432383, +STORE, 94656380432384, 94656380448767, +ERASE, 94656380432384, 94656380448767, +STORE, 94656378912768, 94656380567551, +STORE, 94656378912768, 94656380719103, +STORE, 94656378912768, 94656380858367, +STORE, 94656378912768, 94656380997631, +STORE, 94656378912768, 94656381132799, +SNULL, 94656381124607, 94656381132799, +STORE, 94656378912768, 94656381124607, +STORE, 94656381124608, 94656381132799, +ERASE, 94656381124608, 94656381132799, +STORE, 94656378912768, 94656381276159, +STORE, 94656378912768, 94656381427711, +STORE, 94604087611392, 94604087824383, +STORE, 94604089921536, 94604089925631, +STORE, 94604089925632, 94604089933823, +STORE, 94604089933824, 94604089946111, +STORE, 94604105125888, 94604106424319, +STORE, 140454937694208, 140454939353087, +STORE, 140454939353088, 140454941450239, +STORE, 140454941450240, 140454941466623, +STORE, 140454941466624, 140454941474815, +STORE, 140454941474816, 140454941491199, +STORE, 140454941491200, 140454941503487, +STORE, 140454941503488, 140454943596543, +STORE, 140454943596544, 140454943600639, +STORE, 140454943600640, 140454943604735, +STORE, 140454943604736, 140454943748095, +STORE, 140454944116736, 140454945800191, +STORE, 140454945800192, 140454945816575, +STORE, 140454945845248, 140454945849343, +STORE, 140454945849344, 140454945853439, +STORE, 140454945853440, 140454945857535, +STORE, 140728438214656, 140728438353919, +STORE, 140728439095296, 140728439107583, +STORE, 140728439107584, 140728439111679, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140727821099008, 140737488351231, +SNULL, 140727821107199, 140737488351231, +STORE, 140727821099008, 140727821107199, +STORE, 140727820967936, 140727821107199, +STORE, 94088457240576, 94088459575295, +SNULL, 94088457453567, 94088459575295, +STORE, 94088457240576, 94088457453567, +STORE, 94088457453568, 94088459575295, +ERASE, 94088457453568, 94088459575295, +STORE, 94088459550720, 94088459563007, +STORE, 94088459563008, 94088459575295, +STORE, 140234378989568, 140234381242367, +SNULL, 140234379132927, 140234381242367, +STORE, 140234378989568, 140234379132927, +STORE, 140234379132928, 140234381242367, +ERASE, 140234379132928, 140234381242367, +STORE, 140234381230080, 140234381238271, +STORE, 140234381238272, 140234381242367, +STORE, 140727822077952, 140727822082047, +STORE, 140727822065664, 140727822077951, +STORE, 140234381201408, 140234381230079, +STORE, 140234381193216, 140234381201407, +STORE, 140234376876032, 140234378989567, +SNULL, 140234376876032, 140234376888319, +STORE, 140234376888320, 140234378989567, +STORE, 140234376876032, 140234376888319, +SNULL, 140234378981375, 140234378989567, +STORE, 140234376888320, 140234378981375, +STORE, 140234378981376, 140234378989567, +ERASE, 140234378981376, 140234378989567, +STORE, 140234378981376, 140234378989567, +STORE, 140234373079040, 140234376876031, +SNULL, 140234373079040, 140234374737919, +STORE, 140234374737920, 140234376876031, +STORE, 140234373079040, 140234374737919, +SNULL, 140234376835071, 140234376876031, +STORE, 140234374737920, 140234376835071, +STORE, 140234376835072, 140234376876031, +SNULL, 140234376835072, 140234376859647, +STORE, 140234376859648, 140234376876031, +STORE, 140234376835072, 140234376859647, +ERASE, 140234376835072, 140234376859647, +STORE, 140234376835072, 140234376859647, +ERASE, 140234376859648, 140234376876031, +STORE, 140234376859648, 140234376876031, +STORE, 140234381185024, 140234381201407, +SNULL, 140234376851455, 140234376859647, +STORE, 140234376835072, 140234376851455, +STORE, 140234376851456, 140234376859647, +SNULL, 140234378985471, 140234378989567, +STORE, 140234378981376, 140234378985471, +STORE, 140234378985472, 140234378989567, +SNULL, 94088459554815, 94088459563007, +STORE, 94088459550720, 94088459554815, +STORE, 94088459554816, 94088459563007, +SNULL, 140234381234175, 140234381238271, +STORE, 140234381230080, 140234381234175, +STORE, 140234381234176, 140234381238271, +ERASE, 140234381201408, 140234381230079, +STORE, 94088468852736, 94088468987903, +STORE, 140234379501568, 140234381185023, +STORE, 94088468852736, 94088469123071, +STORE, 94088468852736, 94088469258239, +STORE, 94110050402304, 94110050615295, +STORE, 94110052712448, 94110052716543, +STORE, 94110052716544, 94110052724735, +STORE, 94110052724736, 94110052737023, +STORE, 94110061875200, 94110062415871, +STORE, 140139439357952, 140139441016831, +STORE, 140139441016832, 140139443113983, +STORE, 140139443113984, 140139443130367, +STORE, 140139443130368, 140139443138559, +STORE, 140139443138560, 140139443154943, +STORE, 140139443154944, 140139443167231, +STORE, 140139443167232, 140139445260287, +STORE, 140139445260288, 140139445264383, +STORE, 140139445264384, 140139445268479, +STORE, 140139445268480, 140139445411839, +STORE, 140139445780480, 140139447463935, +STORE, 140139447463936, 140139447480319, +STORE, 140139447508992, 140139447513087, +STORE, 140139447513088, 140139447517183, +STORE, 140139447517184, 140139447521279, +STORE, 140731901427712, 140731901566975, +STORE, 140731902259200, 140731902271487, +STORE, 140731902271488, 140731902275583, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140727282622464, 140737488351231, +SNULL, 140727282630655, 140737488351231, +STORE, 140727282622464, 140727282630655, +STORE, 140727282491392, 140727282630655, +STORE, 94266649866240, 94266652200959, +SNULL, 94266650079231, 94266652200959, +STORE, 94266649866240, 94266650079231, +STORE, 94266650079232, 94266652200959, +ERASE, 94266650079232, 94266652200959, +STORE, 94266652176384, 94266652188671, +STORE, 94266652188672, 94266652200959, +STORE, 139888497991680, 139888500244479, +SNULL, 139888498135039, 139888500244479, +STORE, 139888497991680, 139888498135039, +STORE, 139888498135040, 139888500244479, +ERASE, 139888498135040, 139888500244479, +STORE, 139888500232192, 139888500240383, +STORE, 139888500240384, 139888500244479, +STORE, 140727283113984, 140727283118079, +STORE, 140727283101696, 140727283113983, +STORE, 139888500203520, 139888500232191, +STORE, 139888500195328, 139888500203519, +STORE, 139888495878144, 139888497991679, +SNULL, 139888495878144, 139888495890431, +STORE, 139888495890432, 139888497991679, +STORE, 139888495878144, 139888495890431, +SNULL, 139888497983487, 139888497991679, +STORE, 139888495890432, 139888497983487, +STORE, 139888497983488, 139888497991679, +ERASE, 139888497983488, 139888497991679, +STORE, 139888497983488, 139888497991679, +STORE, 139888492081152, 139888495878143, +SNULL, 139888492081152, 139888493740031, +STORE, 139888493740032, 139888495878143, +STORE, 139888492081152, 139888493740031, +SNULL, 139888495837183, 139888495878143, +STORE, 139888493740032, 139888495837183, +STORE, 139888495837184, 139888495878143, +SNULL, 139888495837184, 139888495861759, +STORE, 139888495861760, 139888495878143, +STORE, 139888495837184, 139888495861759, +ERASE, 139888495837184, 139888495861759, +STORE, 139888495837184, 139888495861759, +ERASE, 139888495861760, 139888495878143, +STORE, 139888495861760, 139888495878143, +STORE, 139888500187136, 139888500203519, +SNULL, 139888495853567, 139888495861759, +STORE, 139888495837184, 139888495853567, +STORE, 139888495853568, 139888495861759, +SNULL, 139888497987583, 139888497991679, +STORE, 139888497983488, 139888497987583, +STORE, 139888497987584, 139888497991679, +SNULL, 94266652180479, 94266652188671, +STORE, 94266652176384, 94266652180479, +STORE, 94266652180480, 94266652188671, +SNULL, 139888500236287, 139888500240383, +STORE, 139888500232192, 139888500236287, +STORE, 139888500236288, 139888500240383, +ERASE, 139888500203520, 139888500232191, +STORE, 94266678542336, 94266678677503, +STORE, 139888498503680, 139888500187135, +STORE, 94266678542336, 94266678812671, +STORE, 94266678542336, 94266678947839, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722507702272, 140737488351231, +SNULL, 140722507710463, 140737488351231, +STORE, 140722507702272, 140722507710463, +STORE, 140722507571200, 140722507710463, +STORE, 94313981394944, 94313983729663, +SNULL, 94313981607935, 94313983729663, +STORE, 94313981394944, 94313981607935, +STORE, 94313981607936, 94313983729663, +ERASE, 94313981607936, 94313983729663, +STORE, 94313983705088, 94313983717375, +STORE, 94313983717376, 94313983729663, +STORE, 140456286076928, 140456288329727, +SNULL, 140456286220287, 140456288329727, +STORE, 140456286076928, 140456286220287, +STORE, 140456286220288, 140456288329727, +ERASE, 140456286220288, 140456288329727, +STORE, 140456288317440, 140456288325631, +STORE, 140456288325632, 140456288329727, +STORE, 140722507997184, 140722508001279, +STORE, 140722507984896, 140722507997183, +STORE, 140456288288768, 140456288317439, +STORE, 140456288280576, 140456288288767, +STORE, 140456283963392, 140456286076927, +SNULL, 140456283963392, 140456283975679, +STORE, 140456283975680, 140456286076927, +STORE, 140456283963392, 140456283975679, +SNULL, 140456286068735, 140456286076927, +STORE, 140456283975680, 140456286068735, +STORE, 140456286068736, 140456286076927, +ERASE, 140456286068736, 140456286076927, +STORE, 140456286068736, 140456286076927, +STORE, 140456280166400, 140456283963391, +SNULL, 140456280166400, 140456281825279, +STORE, 140456281825280, 140456283963391, +STORE, 140456280166400, 140456281825279, +SNULL, 140456283922431, 140456283963391, +STORE, 140456281825280, 140456283922431, +STORE, 140456283922432, 140456283963391, +SNULL, 140456283922432, 140456283947007, +STORE, 140456283947008, 140456283963391, +STORE, 140456283922432, 140456283947007, +ERASE, 140456283922432, 140456283947007, +STORE, 140456283922432, 140456283947007, +ERASE, 140456283947008, 140456283963391, +STORE, 140456283947008, 140456283963391, +STORE, 140456288272384, 140456288288767, +SNULL, 140456283938815, 140456283947007, +STORE, 140456283922432, 140456283938815, +STORE, 140456283938816, 140456283947007, +SNULL, 140456286072831, 140456286076927, +STORE, 140456286068736, 140456286072831, +STORE, 140456286072832, 140456286076927, +SNULL, 94313983709183, 94313983717375, +STORE, 94313983705088, 94313983709183, +STORE, 94313983709184, 94313983717375, +SNULL, 140456288321535, 140456288325631, +STORE, 140456288317440, 140456288321535, +STORE, 140456288321536, 140456288325631, +ERASE, 140456288288768, 140456288317439, +STORE, 94314006716416, 94314006851583, +STORE, 140456286588928, 140456288272383, +STORE, 94314006716416, 94314006986751, +STORE, 94314006716416, 94314007121919, +STORE, 93948644454400, 93948644667391, +STORE, 93948646764544, 93948646768639, +STORE, 93948646768640, 93948646776831, +STORE, 93948646776832, 93948646789119, +STORE, 93948664999936, 93948667142143, +STORE, 140187350659072, 140187352317951, +STORE, 140187352317952, 140187354415103, +STORE, 140187354415104, 140187354431487, +STORE, 140187354431488, 140187354439679, +STORE, 140187354439680, 140187354456063, +STORE, 140187354456064, 140187354468351, +STORE, 140187354468352, 140187356561407, +STORE, 140187356561408, 140187356565503, +STORE, 140187356565504, 140187356569599, +STORE, 140187356569600, 140187356712959, +STORE, 140187357081600, 140187358765055, +STORE, 140187358765056, 140187358781439, +STORE, 140187358810112, 140187358814207, +STORE, 140187358814208, 140187358818303, +STORE, 140187358818304, 140187358822399, +STORE, 140730484518912, 140730484658175, +STORE, 140730485690368, 140730485702655, +STORE, 140730485702656, 140730485706751, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140721211551744, 140737488351231, +SNULL, 140721211559935, 140737488351231, +STORE, 140721211551744, 140721211559935, +STORE, 140721211420672, 140721211559935, +STORE, 94105221423104, 94105223757823, +SNULL, 94105221636095, 94105223757823, +STORE, 94105221423104, 94105221636095, +STORE, 94105221636096, 94105223757823, +ERASE, 94105221636096, 94105223757823, +STORE, 94105223733248, 94105223745535, +STORE, 94105223745536, 94105223757823, +STORE, 140474453676032, 140474455928831, +SNULL, 140474453819391, 140474455928831, +STORE, 140474453676032, 140474453819391, +STORE, 140474453819392, 140474455928831, +ERASE, 140474453819392, 140474455928831, +STORE, 140474455916544, 140474455924735, +STORE, 140474455924736, 140474455928831, +STORE, 140721211703296, 140721211707391, +STORE, 140721211691008, 140721211703295, +STORE, 140474455887872, 140474455916543, +STORE, 140474455879680, 140474455887871, +STORE, 140474451562496, 140474453676031, +SNULL, 140474451562496, 140474451574783, +STORE, 140474451574784, 140474453676031, +STORE, 140474451562496, 140474451574783, +SNULL, 140474453667839, 140474453676031, +STORE, 140474451574784, 140474453667839, +STORE, 140474453667840, 140474453676031, +ERASE, 140474453667840, 140474453676031, +STORE, 140474453667840, 140474453676031, +STORE, 140474447765504, 140474451562495, +SNULL, 140474447765504, 140474449424383, +STORE, 140474449424384, 140474451562495, +STORE, 140474447765504, 140474449424383, +SNULL, 140474451521535, 140474451562495, +STORE, 140474449424384, 140474451521535, +STORE, 140474451521536, 140474451562495, +SNULL, 140474451521536, 140474451546111, +STORE, 140474451546112, 140474451562495, +STORE, 140474451521536, 140474451546111, +ERASE, 140474451521536, 140474451546111, +STORE, 140474451521536, 140474451546111, +ERASE, 140474451546112, 140474451562495, +STORE, 140474451546112, 140474451562495, +STORE, 140474455871488, 140474455887871, +SNULL, 140474451537919, 140474451546111, +STORE, 140474451521536, 140474451537919, +STORE, 140474451537920, 140474451546111, +SNULL, 140474453671935, 140474453676031, +STORE, 140474453667840, 140474453671935, +STORE, 140474453671936, 140474453676031, +SNULL, 94105223737343, 94105223745535, +STORE, 94105223733248, 94105223737343, +STORE, 94105223737344, 94105223745535, +SNULL, 140474455920639, 140474455924735, +STORE, 140474455916544, 140474455920639, +STORE, 140474455920640, 140474455924735, +ERASE, 140474455887872, 140474455916543, +STORE, 94105238712320, 94105238847487, +STORE, 140474454188032, 140474455871487, +STORE, 94105238712320, 94105238982655, +STORE, 94105238712320, 94105239117823, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140732356354048, 140737488351231, +SNULL, 140732356362239, 140737488351231, +STORE, 140732356354048, 140732356362239, +STORE, 140732356222976, 140732356362239, +STORE, 94461165989888, 94461168324607, +SNULL, 94461166202879, 94461168324607, +STORE, 94461165989888, 94461166202879, +STORE, 94461166202880, 94461168324607, +ERASE, 94461166202880, 94461168324607, +STORE, 94461168300032, 94461168312319, +STORE, 94461168312320, 94461168324607, +STORE, 140317255110656, 140317257363455, +SNULL, 140317255254015, 140317257363455, +STORE, 140317255110656, 140317255254015, +STORE, 140317255254016, 140317257363455, +ERASE, 140317255254016, 140317257363455, +STORE, 140317257351168, 140317257359359, +STORE, 140317257359360, 140317257363455, +STORE, 140732356583424, 140732356587519, +STORE, 140732356571136, 140732356583423, +STORE, 140317257322496, 140317257351167, +STORE, 140317257314304, 140317257322495, +STORE, 140317252997120, 140317255110655, +SNULL, 140317252997120, 140317253009407, +STORE, 140317253009408, 140317255110655, +STORE, 140317252997120, 140317253009407, +SNULL, 140317255102463, 140317255110655, +STORE, 140317253009408, 140317255102463, +STORE, 140317255102464, 140317255110655, +ERASE, 140317255102464, 140317255110655, +STORE, 140317255102464, 140317255110655, +STORE, 140317249200128, 140317252997119, +SNULL, 140317249200128, 140317250859007, +STORE, 140317250859008, 140317252997119, +STORE, 140317249200128, 140317250859007, +SNULL, 140317252956159, 140317252997119, +STORE, 140317250859008, 140317252956159, +STORE, 140317252956160, 140317252997119, +SNULL, 140317252956160, 140317252980735, +STORE, 140317252980736, 140317252997119, +STORE, 140317252956160, 140317252980735, +ERASE, 140317252956160, 140317252980735, +STORE, 140317252956160, 140317252980735, +ERASE, 140317252980736, 140317252997119, +STORE, 140317252980736, 140317252997119, +STORE, 140317257306112, 140317257322495, +SNULL, 140317252972543, 140317252980735, +STORE, 140317252956160, 140317252972543, +STORE, 140317252972544, 140317252980735, +SNULL, 140317255106559, 140317255110655, +STORE, 140317255102464, 140317255106559, +STORE, 140317255106560, 140317255110655, +SNULL, 94461168304127, 94461168312319, +STORE, 94461168300032, 94461168304127, +STORE, 94461168304128, 94461168312319, +SNULL, 140317257355263, 140317257359359, +STORE, 140317257351168, 140317257355263, +STORE, 140317257355264, 140317257359359, +ERASE, 140317257322496, 140317257351167, +STORE, 94461195268096, 94461195403263, +STORE, 140317255622656, 140317257306111, +STORE, 94461195268096, 94461195538431, +STORE, 94461195268096, 94461195673599, +STORE, 94110050402304, 94110050615295, +STORE, 94110052712448, 94110052716543, +STORE, 94110052716544, 94110052724735, +STORE, 94110052724736, 94110052737023, +STORE, 94110061875200, 94110062415871, +STORE, 140139439357952, 140139441016831, +STORE, 140139441016832, 140139443113983, +STORE, 140139443113984, 140139443130367, +STORE, 140139443130368, 140139443138559, +STORE, 140139443138560, 140139443154943, +STORE, 140139443154944, 140139443167231, +STORE, 140139443167232, 140139445260287, +STORE, 140139445260288, 140139445264383, +STORE, 140139445264384, 140139445268479, +STORE, 140139445268480, 140139445411839, +STORE, 140139445780480, 140139447463935, +STORE, 140139447463936, 140139447480319, +STORE, 140139447508992, 140139447513087, +STORE, 140139447513088, 140139447517183, +STORE, 140139447517184, 140139447521279, +STORE, 140731901427712, 140731901566975, +STORE, 140731902259200, 140731902271487, +STORE, 140731902271488, 140731902275583, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140720941613056, 140737488351231, +SNULL, 140720941621247, 140737488351231, +STORE, 140720941613056, 140720941621247, +STORE, 140720941481984, 140720941621247, +STORE, 93902377721856, 93902379945983, +SNULL, 93902377832447, 93902379945983, +STORE, 93902377721856, 93902377832447, +STORE, 93902377832448, 93902379945983, +ERASE, 93902377832448, 93902379945983, +STORE, 93902379925504, 93902379937791, +STORE, 93902379937792, 93902379945983, +STORE, 139836543635456, 139836545888255, +SNULL, 139836543778815, 139836545888255, +STORE, 139836543635456, 139836543778815, +STORE, 139836543778816, 139836545888255, +ERASE, 139836543778816, 139836545888255, +STORE, 139836545875968, 139836545884159, +STORE, 139836545884160, 139836545888255, +STORE, 140720941711360, 140720941715455, +STORE, 140720941699072, 140720941711359, +STORE, 139836545847296, 139836545875967, +STORE, 139836545839104, 139836545847295, +STORE, 139836539838464, 139836543635455, +SNULL, 139836539838464, 139836541497343, +STORE, 139836541497344, 139836543635455, +STORE, 139836539838464, 139836541497343, +SNULL, 139836543594495, 139836543635455, +STORE, 139836541497344, 139836543594495, +STORE, 139836543594496, 139836543635455, +SNULL, 139836543594496, 139836543619071, +STORE, 139836543619072, 139836543635455, +STORE, 139836543594496, 139836543619071, +ERASE, 139836543594496, 139836543619071, +STORE, 139836543594496, 139836543619071, +ERASE, 139836543619072, 139836543635455, +STORE, 139836543619072, 139836543635455, +SNULL, 139836543610879, 139836543619071, +STORE, 139836543594496, 139836543610879, +STORE, 139836543610880, 139836543619071, +SNULL, 93902379933695, 93902379937791, +STORE, 93902379925504, 93902379933695, +STORE, 93902379933696, 93902379937791, +SNULL, 139836545880063, 139836545884159, +STORE, 139836545875968, 139836545880063, +STORE, 139836545880064, 139836545884159, +ERASE, 139836545847296, 139836545875967, +STORE, 93902396891136, 93902397026303, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140736538206208, 140737488351231, +SNULL, 140736538214399, 140737488351231, +STORE, 140736538206208, 140736538214399, +STORE, 140736538075136, 140736538214399, +STORE, 94173471399936, 94173473734655, +SNULL, 94173471612927, 94173473734655, +STORE, 94173471399936, 94173471612927, +STORE, 94173471612928, 94173473734655, +ERASE, 94173471612928, 94173473734655, +STORE, 94173473710080, 94173473722367, +STORE, 94173473722368, 94173473734655, +STORE, 140035513556992, 140035515809791, +SNULL, 140035513700351, 140035515809791, +STORE, 140035513556992, 140035513700351, +STORE, 140035513700352, 140035515809791, +ERASE, 140035513700352, 140035515809791, +STORE, 140035515797504, 140035515805695, +STORE, 140035515805696, 140035515809791, +STORE, 140736538329088, 140736538333183, +STORE, 140736538316800, 140736538329087, +STORE, 140035515768832, 140035515797503, +STORE, 140035515760640, 140035515768831, +STORE, 140035511443456, 140035513556991, +SNULL, 140035511443456, 140035511455743, +STORE, 140035511455744, 140035513556991, +STORE, 140035511443456, 140035511455743, +SNULL, 140035513548799, 140035513556991, +STORE, 140035511455744, 140035513548799, +STORE, 140035513548800, 140035513556991, +ERASE, 140035513548800, 140035513556991, +STORE, 140035513548800, 140035513556991, +STORE, 140035507646464, 140035511443455, +SNULL, 140035507646464, 140035509305343, +STORE, 140035509305344, 140035511443455, +STORE, 140035507646464, 140035509305343, +SNULL, 140035511402495, 140035511443455, +STORE, 140035509305344, 140035511402495, +STORE, 140035511402496, 140035511443455, +SNULL, 140035511402496, 140035511427071, +STORE, 140035511427072, 140035511443455, +STORE, 140035511402496, 140035511427071, +ERASE, 140035511402496, 140035511427071, +STORE, 140035511402496, 140035511427071, +ERASE, 140035511427072, 140035511443455, +STORE, 140035511427072, 140035511443455, +STORE, 140035515752448, 140035515768831, +SNULL, 140035511418879, 140035511427071, +STORE, 140035511402496, 140035511418879, +STORE, 140035511418880, 140035511427071, +SNULL, 140035513552895, 140035513556991, +STORE, 140035513548800, 140035513552895, +STORE, 140035513552896, 140035513556991, +SNULL, 94173473714175, 94173473722367, +STORE, 94173473710080, 94173473714175, +STORE, 94173473714176, 94173473722367, +SNULL, 140035515801599, 140035515805695, +STORE, 140035515797504, 140035515801599, +STORE, 140035515801600, 140035515805695, +ERASE, 140035515768832, 140035515797503, +STORE, 94173478645760, 94173478780927, +STORE, 140035514068992, 140035515752447, +STORE, 94173478645760, 94173478916095, +STORE, 94173478645760, 94173479051263, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140724216176640, 140737488351231, +SNULL, 140724216184831, 140737488351231, +STORE, 140724216176640, 140724216184831, +STORE, 140724216045568, 140724216184831, +STORE, 94870930628608, 94870932963327, +SNULL, 94870930841599, 94870932963327, +STORE, 94870930628608, 94870930841599, +STORE, 94870930841600, 94870932963327, +ERASE, 94870930841600, 94870932963327, +STORE, 94870932938752, 94870932951039, +STORE, 94870932951040, 94870932963327, +STORE, 140453683736576, 140453685989375, +SNULL, 140453683879935, 140453685989375, +STORE, 140453683736576, 140453683879935, +STORE, 140453683879936, 140453685989375, +ERASE, 140453683879936, 140453685989375, +STORE, 140453685977088, 140453685985279, +STORE, 140453685985280, 140453685989375, +STORE, 140724216832000, 140724216836095, +STORE, 140724216819712, 140724216831999, +STORE, 140453685948416, 140453685977087, +STORE, 140453685940224, 140453685948415, +STORE, 140453681623040, 140453683736575, +SNULL, 140453681623040, 140453681635327, +STORE, 140453681635328, 140453683736575, +STORE, 140453681623040, 140453681635327, +SNULL, 140453683728383, 140453683736575, +STORE, 140453681635328, 140453683728383, +STORE, 140453683728384, 140453683736575, +ERASE, 140453683728384, 140453683736575, +STORE, 140453683728384, 140453683736575, +STORE, 140453677826048, 140453681623039, +SNULL, 140453677826048, 140453679484927, +STORE, 140453679484928, 140453681623039, +STORE, 140453677826048, 140453679484927, +SNULL, 140453681582079, 140453681623039, +STORE, 140453679484928, 140453681582079, +STORE, 140453681582080, 140453681623039, +SNULL, 140453681582080, 140453681606655, +STORE, 140453681606656, 140453681623039, +STORE, 140453681582080, 140453681606655, +ERASE, 140453681582080, 140453681606655, +STORE, 140453681582080, 140453681606655, +ERASE, 140453681606656, 140453681623039, +STORE, 140453681606656, 140453681623039, +STORE, 140453685932032, 140453685948415, +SNULL, 140453681598463, 140453681606655, +STORE, 140453681582080, 140453681598463, +STORE, 140453681598464, 140453681606655, +SNULL, 140453683732479, 140453683736575, +STORE, 140453683728384, 140453683732479, +STORE, 140453683732480, 140453683736575, +SNULL, 94870932942847, 94870932951039, +STORE, 94870932938752, 94870932942847, +STORE, 94870932942848, 94870932951039, +SNULL, 140453685981183, 140453685985279, +STORE, 140453685977088, 140453685981183, +STORE, 140453685981184, 140453685985279, +ERASE, 140453685948416, 140453685977087, +STORE, 94870940565504, 94870940700671, +STORE, 140453684248576, 140453685932031, +STORE, 94870940565504, 94870940835839, +STORE, 94870940565504, 94870940971007, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140731275661312, 140737488351231, +SNULL, 140731275669503, 140737488351231, +STORE, 140731275661312, 140731275669503, +STORE, 140731275530240, 140731275669503, +STORE, 94642788548608, 94642790883327, +SNULL, 94642788761599, 94642790883327, +STORE, 94642788548608, 94642788761599, +STORE, 94642788761600, 94642790883327, +ERASE, 94642788761600, 94642790883327, +STORE, 94642790858752, 94642790871039, +STORE, 94642790871040, 94642790883327, +STORE, 140228458749952, 140228461002751, +SNULL, 140228458893311, 140228461002751, +STORE, 140228458749952, 140228458893311, +STORE, 140228458893312, 140228461002751, +ERASE, 140228458893312, 140228461002751, +STORE, 140228460990464, 140228460998655, +STORE, 140228460998656, 140228461002751, +STORE, 140731276349440, 140731276353535, +STORE, 140731276337152, 140731276349439, +STORE, 140228460961792, 140228460990463, +STORE, 140228460953600, 140228460961791, +STORE, 140228456636416, 140228458749951, +SNULL, 140228456636416, 140228456648703, +STORE, 140228456648704, 140228458749951, +STORE, 140228456636416, 140228456648703, +SNULL, 140228458741759, 140228458749951, +STORE, 140228456648704, 140228458741759, +STORE, 140228458741760, 140228458749951, +ERASE, 140228458741760, 140228458749951, +STORE, 140228458741760, 140228458749951, +STORE, 140228452839424, 140228456636415, +SNULL, 140228452839424, 140228454498303, +STORE, 140228454498304, 140228456636415, +STORE, 140228452839424, 140228454498303, +SNULL, 140228456595455, 140228456636415, +STORE, 140228454498304, 140228456595455, +STORE, 140228456595456, 140228456636415, +SNULL, 140228456595456, 140228456620031, +STORE, 140228456620032, 140228456636415, +STORE, 140228456595456, 140228456620031, +ERASE, 140228456595456, 140228456620031, +STORE, 140228456595456, 140228456620031, +ERASE, 140228456620032, 140228456636415, +STORE, 140228456620032, 140228456636415, +STORE, 140228460945408, 140228460961791, +SNULL, 140228456611839, 140228456620031, +STORE, 140228456595456, 140228456611839, +STORE, 140228456611840, 140228456620031, +SNULL, 140228458745855, 140228458749951, +STORE, 140228458741760, 140228458745855, +STORE, 140228458745856, 140228458749951, +SNULL, 94642790862847, 94642790871039, +STORE, 94642790858752, 94642790862847, +STORE, 94642790862848, 94642790871039, +SNULL, 140228460994559, 140228460998655, +STORE, 140228460990464, 140228460994559, +STORE, 140228460994560, 140228460998655, +ERASE, 140228460961792, 140228460990463, +STORE, 94642801549312, 94642801684479, +STORE, 140228459261952, 140228460945407, +STORE, 94642801549312, 94642801819647, +STORE, 94642801549312, 94642801954815, +STORE, 94604087611392, 94604087824383, +STORE, 94604089921536, 94604089925631, +STORE, 94604089925632, 94604089933823, +STORE, 94604089933824, 94604089946111, +STORE, 94604105125888, 94604106424319, +STORE, 140454937694208, 140454939353087, +STORE, 140454939353088, 140454941450239, +STORE, 140454941450240, 140454941466623, +STORE, 140454941466624, 140454941474815, +STORE, 140454941474816, 140454941491199, +STORE, 140454941491200, 140454941503487, +STORE, 140454941503488, 140454943596543, +STORE, 140454943596544, 140454943600639, +STORE, 140454943600640, 140454943604735, +STORE, 140454943604736, 140454943748095, +STORE, 140454944116736, 140454945800191, +STORE, 140454945800192, 140454945816575, +STORE, 140454945845248, 140454945849343, +STORE, 140454945849344, 140454945853439, +STORE, 140454945853440, 140454945857535, +STORE, 140728438214656, 140728438353919, +STORE, 140728439095296, 140728439107583, +STORE, 140728439107584, 140728439111679, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140721843453952, 140737488351231, +SNULL, 140721843462143, 140737488351231, +STORE, 140721843453952, 140721843462143, +STORE, 140721843322880, 140721843462143, +STORE, 94465962455040, 94465964789759, +SNULL, 94465962668031, 94465964789759, +STORE, 94465962455040, 94465962668031, +STORE, 94465962668032, 94465964789759, +ERASE, 94465962668032, 94465964789759, +STORE, 94465964765184, 94465964777471, +STORE, 94465964777472, 94465964789759, +STORE, 139913488314368, 139913490567167, +SNULL, 139913488457727, 139913490567167, +STORE, 139913488314368, 139913488457727, +STORE, 139913488457728, 139913490567167, +ERASE, 139913488457728, 139913490567167, +STORE, 139913490554880, 139913490563071, +STORE, 139913490563072, 139913490567167, +STORE, 140721843503104, 140721843507199, +STORE, 140721843490816, 140721843503103, +STORE, 139913490526208, 139913490554879, +STORE, 139913490518016, 139913490526207, +STORE, 139913486200832, 139913488314367, +SNULL, 139913486200832, 139913486213119, +STORE, 139913486213120, 139913488314367, +STORE, 139913486200832, 139913486213119, +SNULL, 139913488306175, 139913488314367, +STORE, 139913486213120, 139913488306175, +STORE, 139913488306176, 139913488314367, +ERASE, 139913488306176, 139913488314367, +STORE, 139913488306176, 139913488314367, +STORE, 139913482403840, 139913486200831, +SNULL, 139913482403840, 139913484062719, +STORE, 139913484062720, 139913486200831, +STORE, 139913482403840, 139913484062719, +SNULL, 139913486159871, 139913486200831, +STORE, 139913484062720, 139913486159871, +STORE, 139913486159872, 139913486200831, +SNULL, 139913486159872, 139913486184447, +STORE, 139913486184448, 139913486200831, +STORE, 139913486159872, 139913486184447, +ERASE, 139913486159872, 139913486184447, +STORE, 139913486159872, 139913486184447, +ERASE, 139913486184448, 139913486200831, +STORE, 139913486184448, 139913486200831, +STORE, 139913490509824, 139913490526207, +SNULL, 139913486176255, 139913486184447, +STORE, 139913486159872, 139913486176255, +STORE, 139913486176256, 139913486184447, +SNULL, 139913488310271, 139913488314367, +STORE, 139913488306176, 139913488310271, +STORE, 139913488310272, 139913488314367, +SNULL, 94465964769279, 94465964777471, +STORE, 94465964765184, 94465964769279, +STORE, 94465964769280, 94465964777471, +SNULL, 139913490558975, 139913490563071, +STORE, 139913490554880, 139913490558975, +STORE, 139913490558976, 139913490563071, +ERASE, 139913490526208, 139913490554879, +STORE, 94465970024448, 94465970159615, +STORE, 139913488826368, 139913490509823, +STORE, 94465970024448, 94465970294783, +STORE, 94465970024448, 94465970429951, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140720583307264, 140737488351231, +SNULL, 140720583315455, 140737488351231, +STORE, 140720583307264, 140720583315455, +STORE, 140720583176192, 140720583315455, +STORE, 94212322082816, 94212324417535, +SNULL, 94212322295807, 94212324417535, +STORE, 94212322082816, 94212322295807, +STORE, 94212322295808, 94212324417535, +ERASE, 94212322295808, 94212324417535, +STORE, 94212324392960, 94212324405247, +STORE, 94212324405248, 94212324417535, +STORE, 139659688538112, 139659690790911, +SNULL, 139659688681471, 139659690790911, +STORE, 139659688538112, 139659688681471, +STORE, 139659688681472, 139659690790911, +ERASE, 139659688681472, 139659690790911, +STORE, 139659690778624, 139659690786815, +STORE, 139659690786816, 139659690790911, +STORE, 140720584781824, 140720584785919, +STORE, 140720584769536, 140720584781823, +STORE, 139659690749952, 139659690778623, +STORE, 139659690741760, 139659690749951, +STORE, 139659686424576, 139659688538111, +SNULL, 139659686424576, 139659686436863, +STORE, 139659686436864, 139659688538111, +STORE, 139659686424576, 139659686436863, +SNULL, 139659688529919, 139659688538111, +STORE, 139659686436864, 139659688529919, +STORE, 139659688529920, 139659688538111, +ERASE, 139659688529920, 139659688538111, +STORE, 139659688529920, 139659688538111, +STORE, 139659682627584, 139659686424575, +SNULL, 139659682627584, 139659684286463, +STORE, 139659684286464, 139659686424575, +STORE, 139659682627584, 139659684286463, +SNULL, 139659686383615, 139659686424575, +STORE, 139659684286464, 139659686383615, +STORE, 139659686383616, 139659686424575, +SNULL, 139659686383616, 139659686408191, +STORE, 139659686408192, 139659686424575, +STORE, 139659686383616, 139659686408191, +ERASE, 139659686383616, 139659686408191, +STORE, 139659686383616, 139659686408191, +ERASE, 139659686408192, 139659686424575, +STORE, 139659686408192, 139659686424575, +STORE, 139659690733568, 139659690749951, +SNULL, 139659686399999, 139659686408191, +STORE, 139659686383616, 139659686399999, +STORE, 139659686400000, 139659686408191, +SNULL, 139659688534015, 139659688538111, +STORE, 139659688529920, 139659688534015, +STORE, 139659688534016, 139659688538111, +SNULL, 94212324397055, 94212324405247, +STORE, 94212324392960, 94212324397055, +STORE, 94212324397056, 94212324405247, +SNULL, 139659690782719, 139659690786815, +STORE, 139659690778624, 139659690782719, +STORE, 139659690782720, 139659690786815, +ERASE, 139659690749952, 139659690778623, +STORE, 94212355014656, 94212355149823, +STORE, 139659689050112, 139659690733567, +STORE, 94212355014656, 94212355284991, +STORE, 94212355014656, 94212355420159, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140727689830400, 140737488351231, +SNULL, 140727689838591, 140737488351231, +STORE, 140727689830400, 140727689838591, +STORE, 140727689699328, 140727689838591, +STORE, 94572390281216, 94572392615935, +SNULL, 94572390494207, 94572392615935, +STORE, 94572390281216, 94572390494207, +STORE, 94572390494208, 94572392615935, +ERASE, 94572390494208, 94572392615935, +STORE, 94572392591360, 94572392603647, +STORE, 94572392603648, 94572392615935, +STORE, 140575923769344, 140575926022143, +SNULL, 140575923912703, 140575926022143, +STORE, 140575923769344, 140575923912703, +STORE, 140575923912704, 140575926022143, +ERASE, 140575923912704, 140575926022143, +STORE, 140575926009856, 140575926018047, +STORE, 140575926018048, 140575926022143, +STORE, 140727689871360, 140727689875455, +STORE, 140727689859072, 140727689871359, +STORE, 140575925981184, 140575926009855, +STORE, 140575925972992, 140575925981183, +STORE, 140575921655808, 140575923769343, +SNULL, 140575921655808, 140575921668095, +STORE, 140575921668096, 140575923769343, +STORE, 140575921655808, 140575921668095, +SNULL, 140575923761151, 140575923769343, +STORE, 140575921668096, 140575923761151, +STORE, 140575923761152, 140575923769343, +ERASE, 140575923761152, 140575923769343, +STORE, 140575923761152, 140575923769343, +STORE, 140575917858816, 140575921655807, +SNULL, 140575917858816, 140575919517695, +STORE, 140575919517696, 140575921655807, +STORE, 140575917858816, 140575919517695, +SNULL, 140575921614847, 140575921655807, +STORE, 140575919517696, 140575921614847, +STORE, 140575921614848, 140575921655807, +SNULL, 140575921614848, 140575921639423, +STORE, 140575921639424, 140575921655807, +STORE, 140575921614848, 140575921639423, +ERASE, 140575921614848, 140575921639423, +STORE, 140575921614848, 140575921639423, +ERASE, 140575921639424, 140575921655807, +STORE, 140575921639424, 140575921655807, +STORE, 140575925964800, 140575925981183, +SNULL, 140575921631231, 140575921639423, +STORE, 140575921614848, 140575921631231, +STORE, 140575921631232, 140575921639423, +SNULL, 140575923765247, 140575923769343, +STORE, 140575923761152, 140575923765247, +STORE, 140575923765248, 140575923769343, +SNULL, 94572392595455, 94572392603647, +STORE, 94572392591360, 94572392595455, +STORE, 94572392595456, 94572392603647, +SNULL, 140575926013951, 140575926018047, +STORE, 140575926009856, 140575926013951, +STORE, 140575926013952, 140575926018047, +ERASE, 140575925981184, 140575926009855, +STORE, 94572402278400, 94572402413567, +STORE, 140575924281344, 140575925964799, +STORE, 94572402278400, 94572402548735, +STORE, 94572402278400, 94572402683903, +STORE, 94572402278400, 94572402851839, +SNULL, 94572402827263, 94572402851839, +STORE, 94572402278400, 94572402827263, +STORE, 94572402827264, 94572402851839, +ERASE, 94572402827264, 94572402851839, +STORE, 94572402278400, 94572402966527, +STORE, 94572402278400, 94572403109887, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140725520506880, 140737488351231, +SNULL, 140725520515071, 140737488351231, +STORE, 140725520506880, 140725520515071, +STORE, 140725520375808, 140725520515071, +STORE, 93829948788736, 93829951012863, +SNULL, 93829948899327, 93829951012863, +STORE, 93829948788736, 93829948899327, +STORE, 93829948899328, 93829951012863, +ERASE, 93829948899328, 93829951012863, +STORE, 93829950992384, 93829951004671, +STORE, 93829951004672, 93829951012863, +STORE, 140133696794624, 140133699047423, +SNULL, 140133696937983, 140133699047423, +STORE, 140133696794624, 140133696937983, +STORE, 140133696937984, 140133699047423, +ERASE, 140133696937984, 140133699047423, +STORE, 140133699035136, 140133699043327, +STORE, 140133699043328, 140133699047423, +STORE, 140725520875520, 140725520879615, +STORE, 140725520863232, 140725520875519, +STORE, 140133699006464, 140133699035135, +STORE, 140133698998272, 140133699006463, +STORE, 140133692997632, 140133696794623, +SNULL, 140133692997632, 140133694656511, +STORE, 140133694656512, 140133696794623, +STORE, 140133692997632, 140133694656511, +SNULL, 140133696753663, 140133696794623, +STORE, 140133694656512, 140133696753663, +STORE, 140133696753664, 140133696794623, +SNULL, 140133696753664, 140133696778239, +STORE, 140133696778240, 140133696794623, +STORE, 140133696753664, 140133696778239, +ERASE, 140133696753664, 140133696778239, +STORE, 140133696753664, 140133696778239, +ERASE, 140133696778240, 140133696794623, +STORE, 140133696778240, 140133696794623, +SNULL, 140133696770047, 140133696778239, +STORE, 140133696753664, 140133696770047, +STORE, 140133696770048, 140133696778239, +SNULL, 93829951000575, 93829951004671, +STORE, 93829950992384, 93829951000575, +STORE, 93829951000576, 93829951004671, +SNULL, 140133699039231, 140133699043327, +STORE, 140133699035136, 140133699039231, +STORE, 140133699039232, 140133699043327, +ERASE, 140133699006464, 140133699035135, +STORE, 93829978693632, 93829978828799, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140736118022144, 140737488351231, +SNULL, 140736118030335, 140737488351231, +STORE, 140736118022144, 140736118030335, +STORE, 140736117891072, 140736118030335, +STORE, 94467663982592, 94467666206719, +SNULL, 94467664093183, 94467666206719, +STORE, 94467663982592, 94467664093183, +STORE, 94467664093184, 94467666206719, +ERASE, 94467664093184, 94467666206719, +STORE, 94467666186240, 94467666198527, +STORE, 94467666198528, 94467666206719, +STORE, 140525377327104, 140525379579903, +SNULL, 140525377470463, 140525379579903, +STORE, 140525377327104, 140525377470463, +STORE, 140525377470464, 140525379579903, +ERASE, 140525377470464, 140525379579903, +STORE, 140525379567616, 140525379575807, +STORE, 140525379575808, 140525379579903, +STORE, 140736118771712, 140736118775807, +STORE, 140736118759424, 140736118771711, +STORE, 140525379538944, 140525379567615, +STORE, 140525379530752, 140525379538943, +STORE, 140525373530112, 140525377327103, +SNULL, 140525373530112, 140525375188991, +STORE, 140525375188992, 140525377327103, +STORE, 140525373530112, 140525375188991, +SNULL, 140525377286143, 140525377327103, +STORE, 140525375188992, 140525377286143, +STORE, 140525377286144, 140525377327103, +SNULL, 140525377286144, 140525377310719, +STORE, 140525377310720, 140525377327103, +STORE, 140525377286144, 140525377310719, +ERASE, 140525377286144, 140525377310719, +STORE, 140525377286144, 140525377310719, +ERASE, 140525377310720, 140525377327103, +STORE, 140525377310720, 140525377327103, +SNULL, 140525377302527, 140525377310719, +STORE, 140525377286144, 140525377302527, +STORE, 140525377302528, 140525377310719, +SNULL, 94467666194431, 94467666198527, +STORE, 94467666186240, 94467666194431, +STORE, 94467666194432, 94467666198527, +SNULL, 140525379571711, 140525379575807, +STORE, 140525379567616, 140525379571711, +STORE, 140525379571712, 140525379575807, +ERASE, 140525379538944, 140525379567615, +STORE, 94467693379584, 94467693514751, +STORE, 94200172744704, 94200172957695, +STORE, 94200175054848, 94200175058943, +STORE, 94200175058944, 94200175067135, +STORE, 94200175067136, 94200175079423, +STORE, 94200196673536, 94200198905855, +STORE, 140053867720704, 140053869379583, +STORE, 140053869379584, 140053871476735, +STORE, 140053871476736, 140053871493119, +STORE, 140053871493120, 140053871501311, +STORE, 140053871501312, 140053871517695, +STORE, 140053871517696, 140053871529983, +STORE, 140053871529984, 140053873623039, +STORE, 140053873623040, 140053873627135, +STORE, 140053873627136, 140053873631231, +STORE, 140053873631232, 140053873774591, +STORE, 140053874143232, 140053875826687, +STORE, 140053875826688, 140053875843071, +STORE, 140053875871744, 140053875875839, +STORE, 140053875875840, 140053875879935, +STORE, 140053875879936, 140053875884031, +STORE, 140728538484736, 140728538623999, +STORE, 140728538652672, 140728538664959, +STORE, 140728538664960, 140728538669055, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140732307775488, 140737488351231, +SNULL, 140732307783679, 140737488351231, +STORE, 140732307775488, 140732307783679, +STORE, 140732307644416, 140732307783679, +STORE, 93831417630720, 93831419965439, +SNULL, 93831417843711, 93831419965439, +STORE, 93831417630720, 93831417843711, +STORE, 93831417843712, 93831419965439, +ERASE, 93831417843712, 93831419965439, +STORE, 93831419940864, 93831419953151, +STORE, 93831419953152, 93831419965439, +STORE, 140241062088704, 140241064341503, +SNULL, 140241062232063, 140241064341503, +STORE, 140241062088704, 140241062232063, +STORE, 140241062232064, 140241064341503, +ERASE, 140241062232064, 140241064341503, +STORE, 140241064329216, 140241064337407, +STORE, 140241064337408, 140241064341503, +STORE, 140732308140032, 140732308144127, +STORE, 140732308127744, 140732308140031, +STORE, 140241064300544, 140241064329215, +STORE, 140241064292352, 140241064300543, +STORE, 140241059975168, 140241062088703, +SNULL, 140241059975168, 140241059987455, +STORE, 140241059987456, 140241062088703, +STORE, 140241059975168, 140241059987455, +SNULL, 140241062080511, 140241062088703, +STORE, 140241059987456, 140241062080511, +STORE, 140241062080512, 140241062088703, +ERASE, 140241062080512, 140241062088703, +STORE, 140241062080512, 140241062088703, +STORE, 140241056178176, 140241059975167, +SNULL, 140241056178176, 140241057837055, +STORE, 140241057837056, 140241059975167, +STORE, 140241056178176, 140241057837055, +SNULL, 140241059934207, 140241059975167, +STORE, 140241057837056, 140241059934207, +STORE, 140241059934208, 140241059975167, +SNULL, 140241059934208, 140241059958783, +STORE, 140241059958784, 140241059975167, +STORE, 140241059934208, 140241059958783, +ERASE, 140241059934208, 140241059958783, +STORE, 140241059934208, 140241059958783, +ERASE, 140241059958784, 140241059975167, +STORE, 140241059958784, 140241059975167, +STORE, 140241064284160, 140241064300543, +SNULL, 140241059950591, 140241059958783, +STORE, 140241059934208, 140241059950591, +STORE, 140241059950592, 140241059958783, +SNULL, 140241062084607, 140241062088703, +STORE, 140241062080512, 140241062084607, +STORE, 140241062084608, 140241062088703, +SNULL, 93831419944959, 93831419953151, +STORE, 93831419940864, 93831419944959, +STORE, 93831419944960, 93831419953151, +SNULL, 140241064333311, 140241064337407, +STORE, 140241064329216, 140241064333311, +STORE, 140241064333312, 140241064337407, +ERASE, 140241064300544, 140241064329215, +STORE, 93831435284480, 93831435419647, +STORE, 140241062600704, 140241064284159, +STORE, 93831435284480, 93831435554815, +STORE, 93831435284480, 93831435689983, +STORE, 93831435284480, 93831435862015, +SNULL, 93831435837439, 93831435862015, +STORE, 93831435284480, 93831435837439, +STORE, 93831435837440, 93831435862015, +ERASE, 93831435837440, 93831435862015, +STORE, 93831435284480, 93831435972607, +STORE, 93831435284480, 93831436107775, +SNULL, 93831436091391, 93831436107775, +STORE, 93831435284480, 93831436091391, +STORE, 93831436091392, 93831436107775, +ERASE, 93831436091392, 93831436107775, +STORE, 93831435284480, 93831436226559, +STORE, 93831435284480, 93831436361727, +STORE, 93831435284480, 93831436505087, +STORE, 93831435284480, 93831436652543, +STORE, 93831435284480, 93831436787711, +STORE, 93831435284480, 93831436926975, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140728546775040, 140737488351231, +SNULL, 140728546783231, 140737488351231, +STORE, 140728546775040, 140728546783231, +STORE, 140728546643968, 140728546783231, +STORE, 94456178786304, 94456181010431, +SNULL, 94456178896895, 94456181010431, +STORE, 94456178786304, 94456178896895, +STORE, 94456178896896, 94456181010431, +ERASE, 94456178896896, 94456181010431, +STORE, 94456180989952, 94456181002239, +STORE, 94456181002240, 94456181010431, +STORE, 140221893091328, 140221895344127, +SNULL, 140221893234687, 140221895344127, +STORE, 140221893091328, 140221893234687, +STORE, 140221893234688, 140221895344127, +ERASE, 140221893234688, 140221895344127, +STORE, 140221895331840, 140221895340031, +STORE, 140221895340032, 140221895344127, +STORE, 140728547803136, 140728547807231, +STORE, 140728547790848, 140728547803135, +STORE, 140221895303168, 140221895331839, +STORE, 140221895294976, 140221895303167, +STORE, 140221889294336, 140221893091327, +SNULL, 140221889294336, 140221890953215, +STORE, 140221890953216, 140221893091327, +STORE, 140221889294336, 140221890953215, +SNULL, 140221893050367, 140221893091327, +STORE, 140221890953216, 140221893050367, +STORE, 140221893050368, 140221893091327, +SNULL, 140221893050368, 140221893074943, +STORE, 140221893074944, 140221893091327, +STORE, 140221893050368, 140221893074943, +ERASE, 140221893050368, 140221893074943, +STORE, 140221893050368, 140221893074943, +ERASE, 140221893074944, 140221893091327, +STORE, 140221893074944, 140221893091327, +SNULL, 140221893066751, 140221893074943, +STORE, 140221893050368, 140221893066751, +STORE, 140221893066752, 140221893074943, +SNULL, 94456180998143, 94456181002239, +STORE, 94456180989952, 94456180998143, +STORE, 94456180998144, 94456181002239, +SNULL, 140221895335935, 140221895340031, +STORE, 140221895331840, 140221895335935, +STORE, 140221895335936, 140221895340031, +ERASE, 140221895303168, 140221895331839, +STORE, 94456203730944, 94456203866111, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140734438637568, 140737488351231, +SNULL, 140734438645759, 140737488351231, +STORE, 140734438637568, 140734438645759, +STORE, 140734438506496, 140734438645759, +STORE, 94652233351168, 94652235575295, +SNULL, 94652233461759, 94652235575295, +STORE, 94652233351168, 94652233461759, +STORE, 94652233461760, 94652235575295, +ERASE, 94652233461760, 94652235575295, +STORE, 94652235554816, 94652235567103, +STORE, 94652235567104, 94652235575295, +STORE, 140536493195264, 140536495448063, +SNULL, 140536493338623, 140536495448063, +STORE, 140536493195264, 140536493338623, +STORE, 140536493338624, 140536495448063, +ERASE, 140536493338624, 140536495448063, +STORE, 140536495435776, 140536495443967, +STORE, 140536495443968, 140536495448063, +STORE, 140734439002112, 140734439006207, +STORE, 140734438989824, 140734439002111, +STORE, 140536495407104, 140536495435775, +STORE, 140536495398912, 140536495407103, +STORE, 140536489398272, 140536493195263, +SNULL, 140536489398272, 140536491057151, +STORE, 140536491057152, 140536493195263, +STORE, 140536489398272, 140536491057151, +SNULL, 140536493154303, 140536493195263, +STORE, 140536491057152, 140536493154303, +STORE, 140536493154304, 140536493195263, +SNULL, 140536493154304, 140536493178879, +STORE, 140536493178880, 140536493195263, +STORE, 140536493154304, 140536493178879, +ERASE, 140536493154304, 140536493178879, +STORE, 140536493154304, 140536493178879, +ERASE, 140536493178880, 140536493195263, +STORE, 140536493178880, 140536493195263, +SNULL, 140536493170687, 140536493178879, +STORE, 140536493154304, 140536493170687, +STORE, 140536493170688, 140536493178879, +SNULL, 94652235563007, 94652235567103, +STORE, 94652235554816, 94652235563007, +STORE, 94652235563008, 94652235567103, +SNULL, 140536495439871, 140536495443967, +STORE, 140536495435776, 140536495439871, +STORE, 140536495439872, 140536495443967, +ERASE, 140536495407104, 140536495435775, +STORE, 94652265619456, 94652265754623, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140721814200320, 140737488351231, +SNULL, 140721814208511, 140737488351231, +STORE, 140721814200320, 140721814208511, +STORE, 140721814069248, 140721814208511, +STORE, 94062800691200, 94062802915327, +SNULL, 94062800801791, 94062802915327, +STORE, 94062800691200, 94062800801791, +STORE, 94062800801792, 94062802915327, +ERASE, 94062800801792, 94062802915327, +STORE, 94062802894848, 94062802907135, +STORE, 94062802907136, 94062802915327, +STORE, 139717739700224, 139717741953023, +SNULL, 139717739843583, 139717741953023, +STORE, 139717739700224, 139717739843583, +STORE, 139717739843584, 139717741953023, +ERASE, 139717739843584, 139717741953023, +STORE, 139717741940736, 139717741948927, +STORE, 139717741948928, 139717741953023, +STORE, 140721814224896, 140721814228991, +STORE, 140721814212608, 140721814224895, +STORE, 139717741912064, 139717741940735, +STORE, 139717741903872, 139717741912063, +STORE, 139717735903232, 139717739700223, +SNULL, 139717735903232, 139717737562111, +STORE, 139717737562112, 139717739700223, +STORE, 139717735903232, 139717737562111, +SNULL, 139717739659263, 139717739700223, +STORE, 139717737562112, 139717739659263, +STORE, 139717739659264, 139717739700223, +SNULL, 139717739659264, 139717739683839, +STORE, 139717739683840, 139717739700223, +STORE, 139717739659264, 139717739683839, +ERASE, 139717739659264, 139717739683839, +STORE, 139717739659264, 139717739683839, +ERASE, 139717739683840, 139717739700223, +STORE, 139717739683840, 139717739700223, +SNULL, 139717739675647, 139717739683839, +STORE, 139717739659264, 139717739675647, +STORE, 139717739675648, 139717739683839, +SNULL, 94062802903039, 94062802907135, +STORE, 94062802894848, 94062802903039, +STORE, 94062802903040, 94062802907135, +SNULL, 139717741944831, 139717741948927, +STORE, 139717741940736, 139717741944831, +STORE, 139717741944832, 139717741948927, +ERASE, 139717741912064, 139717741940735, +STORE, 94062814060544, 94062814195711, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140723945754624, 140737488351231, +SNULL, 140723945762815, 140737488351231, +STORE, 140723945754624, 140723945762815, +STORE, 140723945623552, 140723945762815, +STORE, 94886119305216, 94886121639935, +SNULL, 94886119518207, 94886121639935, +STORE, 94886119305216, 94886119518207, +STORE, 94886119518208, 94886121639935, +ERASE, 94886119518208, 94886121639935, +STORE, 94886121615360, 94886121627647, +STORE, 94886121627648, 94886121639935, +STORE, 140152532131840, 140152534384639, +SNULL, 140152532275199, 140152534384639, +STORE, 140152532131840, 140152532275199, +STORE, 140152532275200, 140152534384639, +ERASE, 140152532275200, 140152534384639, +STORE, 140152534372352, 140152534380543, +STORE, 140152534380544, 140152534384639, +STORE, 140723946213376, 140723946217471, +STORE, 140723946201088, 140723946213375, +STORE, 140152534343680, 140152534372351, +STORE, 140152534335488, 140152534343679, +STORE, 140152530018304, 140152532131839, +SNULL, 140152530018304, 140152530030591, +STORE, 140152530030592, 140152532131839, +STORE, 140152530018304, 140152530030591, +SNULL, 140152532123647, 140152532131839, +STORE, 140152530030592, 140152532123647, +STORE, 140152532123648, 140152532131839, +ERASE, 140152532123648, 140152532131839, +STORE, 140152532123648, 140152532131839, +STORE, 140152526221312, 140152530018303, +SNULL, 140152526221312, 140152527880191, +STORE, 140152527880192, 140152530018303, +STORE, 140152526221312, 140152527880191, +SNULL, 140152529977343, 140152530018303, +STORE, 140152527880192, 140152529977343, +STORE, 140152529977344, 140152530018303, +SNULL, 140152529977344, 140152530001919, +STORE, 140152530001920, 140152530018303, +STORE, 140152529977344, 140152530001919, +ERASE, 140152529977344, 140152530001919, +STORE, 140152529977344, 140152530001919, +ERASE, 140152530001920, 140152530018303, +STORE, 140152530001920, 140152530018303, +STORE, 140152534327296, 140152534343679, +SNULL, 140152529993727, 140152530001919, +STORE, 140152529977344, 140152529993727, +STORE, 140152529993728, 140152530001919, +SNULL, 140152532127743, 140152532131839, +STORE, 140152532123648, 140152532127743, +STORE, 140152532127744, 140152532131839, +SNULL, 94886121619455, 94886121627647, +STORE, 94886121615360, 94886121619455, +STORE, 94886121619456, 94886121627647, +SNULL, 140152534376447, 140152534380543, +STORE, 140152534372352, 140152534376447, +STORE, 140152534376448, 140152534380543, +ERASE, 140152534343680, 140152534372351, +STORE, 94886129770496, 94886129905663, +STORE, 140152532643840, 140152534327295, +STORE, 94886129770496, 94886130040831, +STORE, 94886129770496, 94886130175999, +STORE, 94886129770496, 94886130348031, +SNULL, 94886130323455, 94886130348031, +STORE, 94886129770496, 94886130323455, +STORE, 94886130323456, 94886130348031, +ERASE, 94886130323456, 94886130348031, +STORE, 94886129770496, 94886130458623, +STORE, 94886129770496, 94886130606079, +SNULL, 94886130573311, 94886130606079, +STORE, 94886129770496, 94886130573311, +STORE, 94886130573312, 94886130606079, +ERASE, 94886130573312, 94886130606079, +STORE, 94886129770496, 94886130724863, +STORE, 94886129770496, 94886130876415, +STORE, 94886129770496, 94886131023871, +STORE, 94886129770496, 94886131175423, +STORE, 94886129770496, 94886131318783, +STORE, 94886129770496, 94886131453951, +SNULL, 94886131449855, 94886131453951, +STORE, 94886129770496, 94886131449855, +STORE, 94886131449856, 94886131453951, +ERASE, 94886131449856, 94886131453951, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735450779648, 140737488351231, +SNULL, 140735450787839, 140737488351231, +STORE, 140735450779648, 140735450787839, +STORE, 140735450648576, 140735450787839, +STORE, 93947794079744, 93947796414463, +SNULL, 93947794292735, 93947796414463, +STORE, 93947794079744, 93947794292735, +STORE, 93947794292736, 93947796414463, +ERASE, 93947794292736, 93947796414463, +STORE, 93947796389888, 93947796402175, +STORE, 93947796402176, 93947796414463, +STORE, 139841993433088, 139841995685887, +SNULL, 139841993576447, 139841995685887, +STORE, 139841993433088, 139841993576447, +STORE, 139841993576448, 139841995685887, +ERASE, 139841993576448, 139841995685887, +STORE, 139841995673600, 139841995681791, +STORE, 139841995681792, 139841995685887, +STORE, 140735451308032, 140735451312127, +STORE, 140735451295744, 140735451308031, +STORE, 139841995644928, 139841995673599, +STORE, 139841995636736, 139841995644927, +STORE, 139841991319552, 139841993433087, +SNULL, 139841991319552, 139841991331839, +STORE, 139841991331840, 139841993433087, +STORE, 139841991319552, 139841991331839, +SNULL, 139841993424895, 139841993433087, +STORE, 139841991331840, 139841993424895, +STORE, 139841993424896, 139841993433087, +ERASE, 139841993424896, 139841993433087, +STORE, 139841993424896, 139841993433087, +STORE, 139841987522560, 139841991319551, +SNULL, 139841987522560, 139841989181439, +STORE, 139841989181440, 139841991319551, +STORE, 139841987522560, 139841989181439, +SNULL, 139841991278591, 139841991319551, +STORE, 139841989181440, 139841991278591, +STORE, 139841991278592, 139841991319551, +SNULL, 139841991278592, 139841991303167, +STORE, 139841991303168, 139841991319551, +STORE, 139841991278592, 139841991303167, +ERASE, 139841991278592, 139841991303167, +STORE, 139841991278592, 139841991303167, +ERASE, 139841991303168, 139841991319551, +STORE, 139841991303168, 139841991319551, +STORE, 139841995628544, 139841995644927, +SNULL, 139841991294975, 139841991303167, +STORE, 139841991278592, 139841991294975, +STORE, 139841991294976, 139841991303167, +SNULL, 139841993428991, 139841993433087, +STORE, 139841993424896, 139841993428991, +STORE, 139841993428992, 139841993433087, +SNULL, 93947796393983, 93947796402175, +STORE, 93947796389888, 93947796393983, +STORE, 93947796393984, 93947796402175, +SNULL, 139841995677695, 139841995681791, +STORE, 139841995673600, 139841995677695, +STORE, 139841995677696, 139841995681791, +ERASE, 139841995644928, 139841995673599, +STORE, 93947829739520, 93947829874687, +STORE, 139841993945088, 139841995628543, +STORE, 93947829739520, 93947830009855, +STORE, 93947829739520, 93947830145023, +STORE, 94659351814144, 94659352027135, +STORE, 94659354124288, 94659354128383, +STORE, 94659354128384, 94659354136575, +STORE, 94659354136576, 94659354148863, +STORE, 94659383476224, 94659385057279, +STORE, 139959054557184, 139959056216063, +STORE, 139959056216064, 139959058313215, +STORE, 139959058313216, 139959058329599, +STORE, 139959058329600, 139959058337791, +STORE, 139959058337792, 139959058354175, +STORE, 139959058354176, 139959058366463, +STORE, 139959058366464, 139959060459519, +STORE, 139959060459520, 139959060463615, +STORE, 139959060463616, 139959060467711, +STORE, 139959060467712, 139959060611071, +STORE, 139959060979712, 139959062663167, +STORE, 139959062663168, 139959062679551, +STORE, 139959062708224, 139959062712319, +STORE, 139959062712320, 139959062716415, +STORE, 139959062716416, 139959062720511, +STORE, 140735532539904, 140735532679167, +STORE, 140735532830720, 140735532843007, +STORE, 140735532843008, 140735532847103, +STORE, 93894361829376, 93894362042367, +STORE, 93894364139520, 93894364143615, +STORE, 93894364143616, 93894364151807, +STORE, 93894364151808, 93894364164095, +STORE, 93894396944384, 93894397624319, +STORE, 140075612573696, 140075614232575, +STORE, 140075614232576, 140075616329727, +STORE, 140075616329728, 140075616346111, +STORE, 140075616346112, 140075616354303, +STORE, 140075616354304, 140075616370687, +STORE, 140075616370688, 140075616382975, +STORE, 140075616382976, 140075618476031, +STORE, 140075618476032, 140075618480127, +STORE, 140075618480128, 140075618484223, +STORE, 140075618484224, 140075618627583, +STORE, 140075618996224, 140075620679679, +STORE, 140075620679680, 140075620696063, +STORE, 140075620724736, 140075620728831, +STORE, 140075620728832, 140075620732927, +STORE, 140075620732928, 140075620737023, +STORE, 140720830312448, 140720830451711, +STORE, 140720830631936, 140720830644223, +STORE, 140720830644224, 140720830648319, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735116226560, 140737488351231, +SNULL, 140735116234751, 140737488351231, +STORE, 140735116226560, 140735116234751, +STORE, 140735116095488, 140735116234751, +STORE, 94873398054912, 94873400279039, +SNULL, 94873398165503, 94873400279039, +STORE, 94873398054912, 94873398165503, +STORE, 94873398165504, 94873400279039, +ERASE, 94873398165504, 94873400279039, +STORE, 94873400258560, 94873400270847, +STORE, 94873400270848, 94873400279039, +STORE, 140303828606976, 140303830859775, +SNULL, 140303828750335, 140303830859775, +STORE, 140303828606976, 140303828750335, +STORE, 140303828750336, 140303830859775, +ERASE, 140303828750336, 140303830859775, +STORE, 140303830847488, 140303830855679, +STORE, 140303830855680, 140303830859775, +STORE, 140735116251136, 140735116255231, +STORE, 140735116238848, 140735116251135, +STORE, 140303830818816, 140303830847487, +STORE, 140303830810624, 140303830818815, +STORE, 140303824809984, 140303828606975, +SNULL, 140303824809984, 140303826468863, +STORE, 140303826468864, 140303828606975, +STORE, 140303824809984, 140303826468863, +SNULL, 140303828566015, 140303828606975, +STORE, 140303826468864, 140303828566015, +STORE, 140303828566016, 140303828606975, +SNULL, 140303828566016, 140303828590591, +STORE, 140303828590592, 140303828606975, +STORE, 140303828566016, 140303828590591, +ERASE, 140303828566016, 140303828590591, +STORE, 140303828566016, 140303828590591, +ERASE, 140303828590592, 140303828606975, +STORE, 140303828590592, 140303828606975, +SNULL, 140303828582399, 140303828590591, +STORE, 140303828566016, 140303828582399, +STORE, 140303828582400, 140303828590591, +SNULL, 94873400266751, 94873400270847, +STORE, 94873400258560, 94873400266751, +STORE, 94873400266752, 94873400270847, +SNULL, 140303830851583, 140303830855679, +STORE, 140303830847488, 140303830851583, +STORE, 140303830851584, 140303830855679, +ERASE, 140303830818816, 140303830847487, +STORE, 94873413713920, 94873413849087, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140732349956096, 140737488351231, +SNULL, 140732349964287, 140737488351231, +STORE, 140732349956096, 140732349964287, +STORE, 140732349825024, 140732349964287, +STORE, 94009652736000, 94009655070719, +SNULL, 94009652948991, 94009655070719, +STORE, 94009652736000, 94009652948991, +STORE, 94009652948992, 94009655070719, +ERASE, 94009652948992, 94009655070719, +STORE, 94009655046144, 94009655058431, +STORE, 94009655058432, 94009655070719, +STORE, 140295688531968, 140295690784767, +SNULL, 140295688675327, 140295690784767, +STORE, 140295688531968, 140295688675327, +STORE, 140295688675328, 140295690784767, +ERASE, 140295688675328, 140295690784767, +STORE, 140295690772480, 140295690780671, +STORE, 140295690780672, 140295690784767, +STORE, 140732350005248, 140732350009343, +STORE, 140732349992960, 140732350005247, +STORE, 140295690743808, 140295690772479, +STORE, 140295690735616, 140295690743807, +STORE, 140295686418432, 140295688531967, +SNULL, 140295686418432, 140295686430719, +STORE, 140295686430720, 140295688531967, +STORE, 140295686418432, 140295686430719, +SNULL, 140295688523775, 140295688531967, +STORE, 140295686430720, 140295688523775, +STORE, 140295688523776, 140295688531967, +ERASE, 140295688523776, 140295688531967, +STORE, 140295688523776, 140295688531967, +STORE, 140295682621440, 140295686418431, +SNULL, 140295682621440, 140295684280319, +STORE, 140295684280320, 140295686418431, +STORE, 140295682621440, 140295684280319, +SNULL, 140295686377471, 140295686418431, +STORE, 140295684280320, 140295686377471, +STORE, 140295686377472, 140295686418431, +SNULL, 140295686377472, 140295686402047, +STORE, 140295686402048, 140295686418431, +STORE, 140295686377472, 140295686402047, +ERASE, 140295686377472, 140295686402047, +STORE, 140295686377472, 140295686402047, +ERASE, 140295686402048, 140295686418431, +STORE, 140295686402048, 140295686418431, +STORE, 140295690727424, 140295690743807, +SNULL, 140295686393855, 140295686402047, +STORE, 140295686377472, 140295686393855, +STORE, 140295686393856, 140295686402047, +SNULL, 140295688527871, 140295688531967, +STORE, 140295688523776, 140295688527871, +STORE, 140295688527872, 140295688531967, +SNULL, 94009655050239, 94009655058431, +STORE, 94009655046144, 94009655050239, +STORE, 94009655050240, 94009655058431, +SNULL, 140295690776575, 140295690780671, +STORE, 140295690772480, 140295690776575, +STORE, 140295690776576, 140295690780671, +ERASE, 140295690743808, 140295690772479, +STORE, 94009672114176, 94009672249343, +STORE, 140295689043968, 140295690727423, +STORE, 94009672114176, 94009672384511, +STORE, 94009672114176, 94009672519679, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722376515584, 140737488351231, +SNULL, 140722376523775, 140737488351231, +STORE, 140722376515584, 140722376523775, +STORE, 140722376384512, 140722376523775, +STORE, 94089815773184, 94089818107903, +SNULL, 94089815986175, 94089818107903, +STORE, 94089815773184, 94089815986175, +STORE, 94089815986176, 94089818107903, +ERASE, 94089815986176, 94089818107903, +STORE, 94089818083328, 94089818095615, +STORE, 94089818095616, 94089818107903, +STORE, 140265595711488, 140265597964287, +SNULL, 140265595854847, 140265597964287, +STORE, 140265595711488, 140265595854847, +STORE, 140265595854848, 140265597964287, +ERASE, 140265595854848, 140265597964287, +STORE, 140265597952000, 140265597960191, +STORE, 140265597960192, 140265597964287, +STORE, 140722378297344, 140722378301439, +STORE, 140722378285056, 140722378297343, +STORE, 140265597923328, 140265597951999, +STORE, 140265597915136, 140265597923327, +STORE, 140265593597952, 140265595711487, +SNULL, 140265593597952, 140265593610239, +STORE, 140265593610240, 140265595711487, +STORE, 140265593597952, 140265593610239, +SNULL, 140265595703295, 140265595711487, +STORE, 140265593610240, 140265595703295, +STORE, 140265595703296, 140265595711487, +ERASE, 140265595703296, 140265595711487, +STORE, 140265595703296, 140265595711487, +STORE, 140265589800960, 140265593597951, +SNULL, 140265589800960, 140265591459839, +STORE, 140265591459840, 140265593597951, +STORE, 140265589800960, 140265591459839, +SNULL, 140265593556991, 140265593597951, +STORE, 140265591459840, 140265593556991, +STORE, 140265593556992, 140265593597951, +SNULL, 140265593556992, 140265593581567, +STORE, 140265593581568, 140265593597951, +STORE, 140265593556992, 140265593581567, +ERASE, 140265593556992, 140265593581567, +STORE, 140265593556992, 140265593581567, +ERASE, 140265593581568, 140265593597951, +STORE, 140265593581568, 140265593597951, +STORE, 140265597906944, 140265597923327, +SNULL, 140265593573375, 140265593581567, +STORE, 140265593556992, 140265593573375, +STORE, 140265593573376, 140265593581567, +SNULL, 140265595707391, 140265595711487, +STORE, 140265595703296, 140265595707391, +STORE, 140265595707392, 140265595711487, +SNULL, 94089818087423, 94089818095615, +STORE, 94089818083328, 94089818087423, +STORE, 94089818087424, 94089818095615, +SNULL, 140265597956095, 140265597960191, +STORE, 140265597952000, 140265597956095, +STORE, 140265597956096, 140265597960191, +ERASE, 140265597923328, 140265597951999, +STORE, 94089837146112, 94089837281279, +STORE, 140265596223488, 140265597906943, +STORE, 94089837146112, 94089837416447, +STORE, 94089837146112, 94089837551615, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735265218560, 140737488351231, +SNULL, 140735265226751, 140737488351231, +STORE, 140735265218560, 140735265226751, +STORE, 140735265087488, 140735265226751, +STORE, 94250422370304, 94250424705023, +SNULL, 94250422583295, 94250424705023, +STORE, 94250422370304, 94250422583295, +STORE, 94250422583296, 94250424705023, +ERASE, 94250422583296, 94250424705023, +STORE, 94250424680448, 94250424692735, +STORE, 94250424692736, 94250424705023, +STORE, 140344442474496, 140344444727295, +SNULL, 140344442617855, 140344444727295, +STORE, 140344442474496, 140344442617855, +STORE, 140344442617856, 140344444727295, +ERASE, 140344442617856, 140344444727295, +STORE, 140344444715008, 140344444723199, +STORE, 140344444723200, 140344444727295, +STORE, 140735265341440, 140735265345535, +STORE, 140735265329152, 140735265341439, +STORE, 140344444686336, 140344444715007, +STORE, 140344444678144, 140344444686335, +STORE, 140344440360960, 140344442474495, +SNULL, 140344440360960, 140344440373247, +STORE, 140344440373248, 140344442474495, +STORE, 140344440360960, 140344440373247, +SNULL, 140344442466303, 140344442474495, +STORE, 140344440373248, 140344442466303, +STORE, 140344442466304, 140344442474495, +ERASE, 140344442466304, 140344442474495, +STORE, 140344442466304, 140344442474495, +STORE, 140344436563968, 140344440360959, +SNULL, 140344436563968, 140344438222847, +STORE, 140344438222848, 140344440360959, +STORE, 140344436563968, 140344438222847, +SNULL, 140344440319999, 140344440360959, +STORE, 140344438222848, 140344440319999, +STORE, 140344440320000, 140344440360959, +SNULL, 140344440320000, 140344440344575, +STORE, 140344440344576, 140344440360959, +STORE, 140344440320000, 140344440344575, +ERASE, 140344440320000, 140344440344575, +STORE, 140344440320000, 140344440344575, +ERASE, 140344440344576, 140344440360959, +STORE, 140344440344576, 140344440360959, +STORE, 140344444669952, 140344444686335, +SNULL, 140344440336383, 140344440344575, +STORE, 140344440320000, 140344440336383, +STORE, 140344440336384, 140344440344575, +SNULL, 140344442470399, 140344442474495, +STORE, 140344442466304, 140344442470399, +STORE, 140344442470400, 140344442474495, +SNULL, 94250424684543, 94250424692735, +STORE, 94250424680448, 94250424684543, +STORE, 94250424684544, 94250424692735, +SNULL, 140344444719103, 140344444723199, +STORE, 140344444715008, 140344444719103, +STORE, 140344444719104, 140344444723199, +ERASE, 140344444686336, 140344444715007, +STORE, 94250445512704, 94250445647871, +STORE, 140344442986496, 140344444669951, +STORE, 94250445512704, 94250445783039, +STORE, 94250445512704, 94250445918207, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140725762719744, 140737488351231, +SNULL, 140725762727935, 140737488351231, +STORE, 140725762719744, 140725762727935, +STORE, 140725762588672, 140725762727935, +STORE, 94819009097728, 94819011432447, +SNULL, 94819009310719, 94819011432447, +STORE, 94819009097728, 94819009310719, +STORE, 94819009310720, 94819011432447, +ERASE, 94819009310720, 94819011432447, +STORE, 94819011407872, 94819011420159, +STORE, 94819011420160, 94819011432447, +STORE, 139987985596416, 139987987849215, +SNULL, 139987985739775, 139987987849215, +STORE, 139987985596416, 139987985739775, +STORE, 139987985739776, 139987987849215, +ERASE, 139987985739776, 139987987849215, +STORE, 139987987836928, 139987987845119, +STORE, 139987987845120, 139987987849215, +STORE, 140725763072000, 140725763076095, +STORE, 140725763059712, 140725763071999, +STORE, 139987987808256, 139987987836927, +STORE, 139987987800064, 139987987808255, +STORE, 139987983482880, 139987985596415, +SNULL, 139987983482880, 139987983495167, +STORE, 139987983495168, 139987985596415, +STORE, 139987983482880, 139987983495167, +SNULL, 139987985588223, 139987985596415, +STORE, 139987983495168, 139987985588223, +STORE, 139987985588224, 139987985596415, +ERASE, 139987985588224, 139987985596415, +STORE, 139987985588224, 139987985596415, +STORE, 139987979685888, 139987983482879, +SNULL, 139987979685888, 139987981344767, +STORE, 139987981344768, 139987983482879, +STORE, 139987979685888, 139987981344767, +SNULL, 139987983441919, 139987983482879, +STORE, 139987981344768, 139987983441919, +STORE, 139987983441920, 139987983482879, +SNULL, 139987983441920, 139987983466495, +STORE, 139987983466496, 139987983482879, +STORE, 139987983441920, 139987983466495, +ERASE, 139987983441920, 139987983466495, +STORE, 139987983441920, 139987983466495, +ERASE, 139987983466496, 139987983482879, +STORE, 139987983466496, 139987983482879, +STORE, 139987987791872, 139987987808255, +SNULL, 139987983458303, 139987983466495, +STORE, 139987983441920, 139987983458303, +STORE, 139987983458304, 139987983466495, +SNULL, 139987985592319, 139987985596415, +STORE, 139987985588224, 139987985592319, +STORE, 139987985592320, 139987985596415, +SNULL, 94819011411967, 94819011420159, +STORE, 94819011407872, 94819011411967, +STORE, 94819011411968, 94819011420159, +SNULL, 139987987841023, 139987987845119, +STORE, 139987987836928, 139987987841023, +STORE, 139987987841024, 139987987845119, +ERASE, 139987987808256, 139987987836927, +STORE, 94819028176896, 94819028312063, +STORE, 139987986108416, 139987987791871, +STORE, 94819028176896, 94819028447231, +STORE, 94819028176896, 94819028582399, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722475413504, 140737488351231, +SNULL, 140722475421695, 140737488351231, +STORE, 140722475413504, 140722475421695, +STORE, 140722475282432, 140722475421695, +STORE, 94620599119872, 94620601343999, +SNULL, 94620599230463, 94620601343999, +STORE, 94620599119872, 94620599230463, +STORE, 94620599230464, 94620601343999, +ERASE, 94620599230464, 94620601343999, +STORE, 94620601323520, 94620601335807, +STORE, 94620601335808, 94620601343999, +STORE, 139891763060736, 139891765313535, +SNULL, 139891763204095, 139891765313535, +STORE, 139891763060736, 139891763204095, +STORE, 139891763204096, 139891765313535, +ERASE, 139891763204096, 139891765313535, +STORE, 139891765301248, 139891765309439, +STORE, 139891765309440, 139891765313535, +STORE, 140722475700224, 140722475704319, +STORE, 140722475687936, 140722475700223, +STORE, 139891765272576, 139891765301247, +STORE, 139891765264384, 139891765272575, +STORE, 139891759263744, 139891763060735, +SNULL, 139891759263744, 139891760922623, +STORE, 139891760922624, 139891763060735, +STORE, 139891759263744, 139891760922623, +SNULL, 139891763019775, 139891763060735, +STORE, 139891760922624, 139891763019775, +STORE, 139891763019776, 139891763060735, +SNULL, 139891763019776, 139891763044351, +STORE, 139891763044352, 139891763060735, +STORE, 139891763019776, 139891763044351, +ERASE, 139891763019776, 139891763044351, +STORE, 139891763019776, 139891763044351, +ERASE, 139891763044352, 139891763060735, +STORE, 139891763044352, 139891763060735, +SNULL, 139891763036159, 139891763044351, +STORE, 139891763019776, 139891763036159, +STORE, 139891763036160, 139891763044351, +SNULL, 94620601331711, 94620601335807, +STORE, 94620601323520, 94620601331711, +STORE, 94620601331712, 94620601335807, +SNULL, 139891765305343, 139891765309439, +STORE, 139891765301248, 139891765305343, +STORE, 139891765305344, 139891765309439, +ERASE, 139891765272576, 139891765301247, +STORE, 94620610027520, 94620610162687, +STORE, 94031976210432, 94031976423423, +STORE, 94031978520576, 94031978524671, +STORE, 94031978524672, 94031978532863, +STORE, 94031978532864, 94031978545151, +STORE, 94031990398976, 94031992565759, +STORE, 140336240640000, 140336242298879, +STORE, 140336242298880, 140336244396031, +STORE, 140336244396032, 140336244412415, +STORE, 140336244412416, 140336244420607, +STORE, 140336244420608, 140336244436991, +STORE, 140336244436992, 140336244449279, +STORE, 140336244449280, 140336246542335, +STORE, 140336246542336, 140336246546431, +STORE, 140336246546432, 140336246550527, +STORE, 140336246550528, 140336246693887, +STORE, 140336247062528, 140336248745983, +STORE, 140336248745984, 140336248762367, +STORE, 140336248791040, 140336248795135, +STORE, 140336248795136, 140336248799231, +STORE, 140336248799232, 140336248803327, +STORE, 140728500064256, 140728500203519, +STORE, 140728501501952, 140728501514239, +STORE, 140728501514240, 140728501518335, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140730503987200, 140737488351231, +SNULL, 140730503995391, 140737488351231, +STORE, 140730503987200, 140730503995391, +STORE, 140730503856128, 140730503995391, +STORE, 93866544205824, 93866546429951, +SNULL, 93866544316415, 93866546429951, +STORE, 93866544205824, 93866544316415, +STORE, 93866544316416, 93866546429951, +ERASE, 93866544316416, 93866546429951, +STORE, 93866546409472, 93866546421759, +STORE, 93866546421760, 93866546429951, +STORE, 140216311959552, 140216314212351, +SNULL, 140216312102911, 140216314212351, +STORE, 140216311959552, 140216312102911, +STORE, 140216312102912, 140216314212351, +ERASE, 140216312102912, 140216314212351, +STORE, 140216314200064, 140216314208255, +STORE, 140216314208256, 140216314212351, +STORE, 140730504626176, 140730504630271, +STORE, 140730504613888, 140730504626175, +STORE, 140216314171392, 140216314200063, +STORE, 140216314163200, 140216314171391, +STORE, 140216308162560, 140216311959551, +SNULL, 140216308162560, 140216309821439, +STORE, 140216309821440, 140216311959551, +STORE, 140216308162560, 140216309821439, +SNULL, 140216311918591, 140216311959551, +STORE, 140216309821440, 140216311918591, +STORE, 140216311918592, 140216311959551, +SNULL, 140216311918592, 140216311943167, +STORE, 140216311943168, 140216311959551, +STORE, 140216311918592, 140216311943167, +ERASE, 140216311918592, 140216311943167, +STORE, 140216311918592, 140216311943167, +ERASE, 140216311943168, 140216311959551, +STORE, 140216311943168, 140216311959551, +SNULL, 140216311934975, 140216311943167, +STORE, 140216311918592, 140216311934975, +STORE, 140216311934976, 140216311943167, +SNULL, 93866546417663, 93866546421759, +STORE, 93866546409472, 93866546417663, +STORE, 93866546417664, 93866546421759, +SNULL, 140216314204159, 140216314208255, +STORE, 140216314200064, 140216314204159, +STORE, 140216314204160, 140216314208255, +ERASE, 140216314171392, 140216314200063, +STORE, 93866550386688, 93866550521855, +STORE, 94074292674560, 94074292887551, +STORE, 94074294984704, 94074294988799, +STORE, 94074294988800, 94074294996991, +STORE, 94074294996992, 94074295009279, +STORE, 94074300219392, 94074301378559, +STORE, 139781563256832, 139781564915711, +STORE, 139781564915712, 139781567012863, +STORE, 139781567012864, 139781567029247, +STORE, 139781567029248, 139781567037439, +STORE, 139781567037440, 139781567053823, +STORE, 139781567053824, 139781567066111, +STORE, 139781567066112, 139781569159167, +STORE, 139781569159168, 139781569163263, +STORE, 139781569163264, 139781569167359, +STORE, 139781569167360, 139781569310719, +STORE, 139781569679360, 139781571362815, +STORE, 139781571362816, 139781571379199, +STORE, 139781571407872, 139781571411967, +STORE, 139781571411968, 139781571416063, +STORE, 139781571416064, 139781571420159, +STORE, 140723688488960, 140723688628223, +STORE, 140723689005056, 140723689017343, +STORE, 140723689017344, 140723689021439, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735189745664, 140737488351231, +SNULL, 140735189753855, 140737488351231, +STORE, 140735189745664, 140735189753855, +STORE, 140735189614592, 140735189753855, +STORE, 94172072177664, 94172074512383, +SNULL, 94172072390655, 94172074512383, +STORE, 94172072177664, 94172072390655, +STORE, 94172072390656, 94172074512383, +ERASE, 94172072390656, 94172074512383, +STORE, 94172074487808, 94172074500095, +STORE, 94172074500096, 94172074512383, +STORE, 140687827263488, 140687829516287, +SNULL, 140687827406847, 140687829516287, +STORE, 140687827263488, 140687827406847, +STORE, 140687827406848, 140687829516287, +ERASE, 140687827406848, 140687829516287, +STORE, 140687829504000, 140687829512191, +STORE, 140687829512192, 140687829516287, +STORE, 140735189766144, 140735189770239, +STORE, 140735189753856, 140735189766143, +STORE, 140687829475328, 140687829503999, +STORE, 140687829467136, 140687829475327, +STORE, 140687825149952, 140687827263487, +SNULL, 140687825149952, 140687825162239, +STORE, 140687825162240, 140687827263487, +STORE, 140687825149952, 140687825162239, +SNULL, 140687827255295, 140687827263487, +STORE, 140687825162240, 140687827255295, +STORE, 140687827255296, 140687827263487, +ERASE, 140687827255296, 140687827263487, +STORE, 140687827255296, 140687827263487, +STORE, 140687821352960, 140687825149951, +SNULL, 140687821352960, 140687823011839, +STORE, 140687823011840, 140687825149951, +STORE, 140687821352960, 140687823011839, +SNULL, 140687825108991, 140687825149951, +STORE, 140687823011840, 140687825108991, +STORE, 140687825108992, 140687825149951, +SNULL, 140687825108992, 140687825133567, +STORE, 140687825133568, 140687825149951, +STORE, 140687825108992, 140687825133567, +ERASE, 140687825108992, 140687825133567, +STORE, 140687825108992, 140687825133567, +ERASE, 140687825133568, 140687825149951, +STORE, 140687825133568, 140687825149951, +STORE, 140687829458944, 140687829475327, +SNULL, 140687825125375, 140687825133567, +STORE, 140687825108992, 140687825125375, +STORE, 140687825125376, 140687825133567, +SNULL, 140687827259391, 140687827263487, +STORE, 140687827255296, 140687827259391, +STORE, 140687827259392, 140687827263487, +SNULL, 94172074491903, 94172074500095, +STORE, 94172074487808, 94172074491903, +STORE, 94172074491904, 94172074500095, +SNULL, 140687829508095, 140687829512191, +STORE, 140687829504000, 140687829508095, +STORE, 140687829508096, 140687829512191, +ERASE, 140687829475328, 140687829503999, +STORE, 94172092432384, 94172092567551, +STORE, 140687827775488, 140687829458943, +STORE, 94172092432384, 94172092702719, +STORE, 94172092432384, 94172092837887, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140737229504512, 140737488351231, +SNULL, 140737229512703, 140737488351231, +STORE, 140737229504512, 140737229512703, +STORE, 140737229373440, 140737229512703, +STORE, 94155246866432, 94155249090559, +SNULL, 94155246977023, 94155249090559, +STORE, 94155246866432, 94155246977023, +STORE, 94155246977024, 94155249090559, +ERASE, 94155246977024, 94155249090559, +STORE, 94155249070080, 94155249082367, +STORE, 94155249082368, 94155249090559, +STORE, 140640993693696, 140640995946495, +SNULL, 140640993837055, 140640995946495, +STORE, 140640993693696, 140640993837055, +STORE, 140640993837056, 140640995946495, +ERASE, 140640993837056, 140640995946495, +STORE, 140640995934208, 140640995942399, +STORE, 140640995942400, 140640995946495, +STORE, 140737230004224, 140737230008319, +STORE, 140737229991936, 140737230004223, +STORE, 140640995905536, 140640995934207, +STORE, 140640995897344, 140640995905535, +STORE, 140640989896704, 140640993693695, +SNULL, 140640989896704, 140640991555583, +STORE, 140640991555584, 140640993693695, +STORE, 140640989896704, 140640991555583, +SNULL, 140640993652735, 140640993693695, +STORE, 140640991555584, 140640993652735, +STORE, 140640993652736, 140640993693695, +SNULL, 140640993652736, 140640993677311, +STORE, 140640993677312, 140640993693695, +STORE, 140640993652736, 140640993677311, +ERASE, 140640993652736, 140640993677311, +STORE, 140640993652736, 140640993677311, +ERASE, 140640993677312, 140640993693695, +STORE, 140640993677312, 140640993693695, +SNULL, 140640993669119, 140640993677311, +STORE, 140640993652736, 140640993669119, +STORE, 140640993669120, 140640993677311, +SNULL, 94155249078271, 94155249082367, +STORE, 94155249070080, 94155249078271, +STORE, 94155249078272, 94155249082367, +SNULL, 140640995938303, 140640995942399, +STORE, 140640995934208, 140640995938303, +STORE, 140640995938304, 140640995942399, +ERASE, 140640995905536, 140640995934207, +STORE, 94155281035264, 94155281170431, +STORE, 94088066453504, 94088066564095, +STORE, 94088068657152, 94088068665343, +STORE, 94088068665344, 94088068669439, +STORE, 94088068669440, 94088068677631, +STORE, 94088090214400, 94088090349567, +STORE, 140503024627712, 140503026286591, +STORE, 140503026286592, 140503028383743, +STORE, 140503028383744, 140503028400127, +STORE, 140503028400128, 140503028408319, +STORE, 140503028408320, 140503028424703, +STORE, 140503028424704, 140503028568063, +STORE, 140503030628352, 140503030636543, +STORE, 140503030665216, 140503030669311, +STORE, 140503030669312, 140503030673407, +STORE, 140503030673408, 140503030677503, +STORE, 140730894725120, 140730894864383, +STORE, 140730894880768, 140730894893055, +STORE, 140730894893056, 140730894897151, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140730434342912, 140737488351231, +SNULL, 140730434351103, 140737488351231, +STORE, 140730434342912, 140730434351103, +STORE, 140730434211840, 140730434351103, +STORE, 4194304, 5128191, +STORE, 7221248, 7241727, +STORE, 7241728, 7249919, +STORE, 140109041938432, 140109044191231, +SNULL, 140109042081791, 140109044191231, +STORE, 140109041938432, 140109042081791, +STORE, 140109042081792, 140109044191231, +ERASE, 140109042081792, 140109044191231, +STORE, 140109044178944, 140109044187135, +STORE, 140109044187136, 140109044191231, +STORE, 140730434850816, 140730434854911, +STORE, 140730434838528, 140730434850815, +STORE, 140109044150272, 140109044178943, +STORE, 140109044142080, 140109044150271, +STORE, 140109038776320, 140109041938431, +SNULL, 140109038776320, 140109039837183, +STORE, 140109039837184, 140109041938431, +STORE, 140109038776320, 140109039837183, +SNULL, 140109041930239, 140109041938431, +STORE, 140109039837184, 140109041930239, +STORE, 140109041930240, 140109041938431, +ERASE, 140109041930240, 140109041938431, +STORE, 140109041930240, 140109041938431, +STORE, 140109034979328, 140109038776319, +SNULL, 140109034979328, 140109036638207, +STORE, 140109036638208, 140109038776319, +STORE, 140109034979328, 140109036638207, +SNULL, 140109038735359, 140109038776319, +STORE, 140109036638208, 140109038735359, +STORE, 140109038735360, 140109038776319, +SNULL, 140109038735360, 140109038759935, +STORE, 140109038759936, 140109038776319, +STORE, 140109038735360, 140109038759935, +ERASE, 140109038735360, 140109038759935, +STORE, 140109038735360, 140109038759935, +ERASE, 140109038759936, 140109038776319, +STORE, 140109038759936, 140109038776319, +STORE, 140109044129792, 140109044150271, +SNULL, 140109038751743, 140109038759935, +STORE, 140109038735360, 140109038751743, +STORE, 140109038751744, 140109038759935, +SNULL, 140109041934335, 140109041938431, +STORE, 140109041930240, 140109041934335, +STORE, 140109041934336, 140109041938431, +SNULL, 7233535, 7241727, +STORE, 7221248, 7233535, +STORE, 7233536, 7241727, +SNULL, 140109044183039, 140109044187135, +STORE, 140109044178944, 140109044183039, +STORE, 140109044183040, 140109044187135, +ERASE, 140109044150272, 140109044178943, +STORE, 20000768, 20135935, +STORE, 20000768, 20283391, +STORE, 140109042446336, 140109044129791, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140730853408768, 140737488351231, +SNULL, 140730853416959, 140737488351231, +STORE, 140730853408768, 140730853416959, +STORE, 140730853277696, 140730853416959, +STORE, 94865902977024, 94865905311743, +SNULL, 94865903190015, 94865905311743, +STORE, 94865902977024, 94865903190015, +STORE, 94865903190016, 94865905311743, +ERASE, 94865903190016, 94865905311743, +STORE, 94865905287168, 94865905299455, +STORE, 94865905299456, 94865905311743, +STORE, 139768865738752, 139768867991551, +SNULL, 139768865882111, 139768867991551, +STORE, 139768865738752, 139768865882111, +STORE, 139768865882112, 139768867991551, +ERASE, 139768865882112, 139768867991551, +STORE, 139768867979264, 139768867987455, +STORE, 139768867987456, 139768867991551, +STORE, 140730853957632, 140730853961727, +STORE, 140730853945344, 140730853957631, +STORE, 139768867950592, 139768867979263, +STORE, 139768867942400, 139768867950591, +STORE, 139768863625216, 139768865738751, +SNULL, 139768863625216, 139768863637503, +STORE, 139768863637504, 139768865738751, +STORE, 139768863625216, 139768863637503, +SNULL, 139768865730559, 139768865738751, +STORE, 139768863637504, 139768865730559, +STORE, 139768865730560, 139768865738751, +ERASE, 139768865730560, 139768865738751, +STORE, 139768865730560, 139768865738751, +STORE, 139768859828224, 139768863625215, +SNULL, 139768859828224, 139768861487103, +STORE, 139768861487104, 139768863625215, +STORE, 139768859828224, 139768861487103, +SNULL, 139768863584255, 139768863625215, +STORE, 139768861487104, 139768863584255, +STORE, 139768863584256, 139768863625215, +SNULL, 139768863584256, 139768863608831, +STORE, 139768863608832, 139768863625215, +STORE, 139768863584256, 139768863608831, +ERASE, 139768863584256, 139768863608831, +STORE, 139768863584256, 139768863608831, +ERASE, 139768863608832, 139768863625215, +STORE, 139768863608832, 139768863625215, +STORE, 139768867934208, 139768867950591, +SNULL, 139768863600639, 139768863608831, +STORE, 139768863584256, 139768863600639, +STORE, 139768863600640, 139768863608831, +SNULL, 139768865734655, 139768865738751, +STORE, 139768865730560, 139768865734655, +STORE, 139768865734656, 139768865738751, +SNULL, 94865905291263, 94865905299455, +STORE, 94865905287168, 94865905291263, +STORE, 94865905291264, 94865905299455, +SNULL, 139768867983359, 139768867987455, +STORE, 139768867979264, 139768867983359, +STORE, 139768867983360, 139768867987455, +ERASE, 139768867950592, 139768867979263, +STORE, 94865923670016, 94865923805183, +STORE, 139768866250752, 139768867934207, +STORE, 94865923670016, 94865923940351, +STORE, 94865923670016, 94865924075519, +STORE, 94865923670016, 94865924222975, +SNULL, 94865924210687, 94865924222975, +STORE, 94865923670016, 94865924210687, +STORE, 94865924210688, 94865924222975, +ERASE, 94865924210688, 94865924222975, +STORE, 94865923670016, 94865924349951, +STORE, 94865923670016, 94865924493311, +STORE, 94865923670016, 94865924640767, +SNULL, 94865924603903, 94865924640767, +STORE, 94865923670016, 94865924603903, +STORE, 94865924603904, 94865924640767, +ERASE, 94865924603904, 94865924640767, +STORE, 94865923670016, 94865924747263, +STORE, 94865923670016, 94865924898815, +SNULL, 94865924874239, 94865924898815, +STORE, 94865923670016, 94865924874239, +STORE, 94865924874240, 94865924898815, +ERASE, 94865924874240, 94865924898815, +STORE, 94865923670016, 94865925025791, +SNULL, 94865925013503, 94865925025791, +STORE, 94865923670016, 94865925013503, +STORE, 94865925013504, 94865925025791, +ERASE, 94865925013504, 94865925025791, +SNULL, 94865924988927, 94865925013503, +STORE, 94865923670016, 94865924988927, +STORE, 94865924988928, 94865925013503, +ERASE, 94865924988928, 94865925013503, +STORE, 94865923670016, 94865925152767, +SNULL, 94865925136383, 94865925152767, +STORE, 94865923670016, 94865925136383, +STORE, 94865925136384, 94865925152767, +ERASE, 94865925136384, 94865925152767, +STORE, 94865923670016, 94865925292031, +SNULL, 94865925279743, 94865925292031, +STORE, 94865923670016, 94865925279743, +STORE, 94865925279744, 94865925292031, +ERASE, 94865925279744, 94865925292031, +SNULL, 94865925255167, 94865925279743, +STORE, 94865923670016, 94865925255167, +STORE, 94865925255168, 94865925279743, +ERASE, 94865925255168, 94865925279743, +STORE, 94865923670016, 94865925406719, +SNULL, 94865925394431, 94865925406719, +STORE, 94865923670016, 94865925394431, +STORE, 94865925394432, 94865925406719, +ERASE, 94865925394432, 94865925406719, +STORE, 94865923670016, 94865925545983, +SNULL, 94865925533695, 94865925545983, +STORE, 94865923670016, 94865925533695, +STORE, 94865925533696, 94865925545983, +ERASE, 94865925533696, 94865925545983, +SNULL, 94865925492735, 94865925533695, +STORE, 94865923670016, 94865925492735, +STORE, 94865925492736, 94865925533695, +ERASE, 94865925492736, 94865925533695, +STORE, 94865923670016, 94865925627903, +SNULL, 94865925599231, 94865925627903, +STORE, 94865923670016, 94865925599231, +STORE, 94865925599232, 94865925627903, +ERASE, 94865925599232, 94865925627903, +STORE, 94865923670016, 94865925738495, +SNULL, 94865925726207, 94865925738495, +STORE, 94865923670016, 94865925726207, +STORE, 94865925726208, 94865925738495, +ERASE, 94865925726208, 94865925738495, +STORE, 94865923670016, 94865925877759, +SNULL, 94865925865471, 94865925877759, +STORE, 94865923670016, 94865925865471, +STORE, 94865925865472, 94865925877759, +ERASE, 94865925865472, 94865925877759, +STORE, 94865923670016, 94865926021119, +SNULL, 94865926008831, 94865926021119, +STORE, 94865923670016, 94865926008831, +STORE, 94865926008832, 94865926021119, +ERASE, 94865926008832, 94865926021119, +SNULL, 94865925971967, 94865926008831, +STORE, 94865923670016, 94865925971967, +STORE, 94865925971968, 94865926008831, +ERASE, 94865925971968, 94865926008831, +STORE, 94865923670016, 94865926115327, +STORE, 94865923670016, 94865926254591, +SNULL, 94865926246399, 94865926254591, +STORE, 94865923670016, 94865926246399, +STORE, 94865926246400, 94865926254591, +ERASE, 94865926246400, 94865926254591, +STORE, 94865923670016, 94865926385663, +STORE, 94865923670016, 94865926537215, +STORE, 94865923670016, 94865926672383, +STORE, 94865923670016, 94865926815743, +STORE, 94865923670016, 94865926955007, +STORE, 94865923670016, 94865927094271, +STORE, 94865923670016, 94865927233535, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140731148435456, 140737488351231, +SNULL, 140731148443647, 140737488351231, +STORE, 140731148435456, 140731148443647, +STORE, 140731148304384, 140731148443647, +STORE, 94090775400448, 94090777735167, +SNULL, 94090775613439, 94090777735167, +STORE, 94090775400448, 94090775613439, +STORE, 94090775613440, 94090777735167, +ERASE, 94090775613440, 94090777735167, +STORE, 94090777710592, 94090777722879, +STORE, 94090777722880, 94090777735167, +STORE, 140301090283520, 140301092536319, +SNULL, 140301090426879, 140301092536319, +STORE, 140301090283520, 140301090426879, +STORE, 140301090426880, 140301092536319, +ERASE, 140301090426880, 140301092536319, +STORE, 140301092524032, 140301092532223, +STORE, 140301092532224, 140301092536319, +STORE, 140731148570624, 140731148574719, +STORE, 140731148558336, 140731148570623, +STORE, 140301092495360, 140301092524031, +STORE, 140301092487168, 140301092495359, +STORE, 140301088169984, 140301090283519, +SNULL, 140301088169984, 140301088182271, +STORE, 140301088182272, 140301090283519, +STORE, 140301088169984, 140301088182271, +SNULL, 140301090275327, 140301090283519, +STORE, 140301088182272, 140301090275327, +STORE, 140301090275328, 140301090283519, +ERASE, 140301090275328, 140301090283519, +STORE, 140301090275328, 140301090283519, +STORE, 140301084372992, 140301088169983, +SNULL, 140301084372992, 140301086031871, +STORE, 140301086031872, 140301088169983, +STORE, 140301084372992, 140301086031871, +SNULL, 140301088129023, 140301088169983, +STORE, 140301086031872, 140301088129023, +STORE, 140301088129024, 140301088169983, +SNULL, 140301088129024, 140301088153599, +STORE, 140301088153600, 140301088169983, +STORE, 140301088129024, 140301088153599, +ERASE, 140301088129024, 140301088153599, +STORE, 140301088129024, 140301088153599, +ERASE, 140301088153600, 140301088169983, +STORE, 140301088153600, 140301088169983, +STORE, 140301092478976, 140301092495359, +SNULL, 140301088145407, 140301088153599, +STORE, 140301088129024, 140301088145407, +STORE, 140301088145408, 140301088153599, +SNULL, 140301090279423, 140301090283519, +STORE, 140301090275328, 140301090279423, +STORE, 140301090279424, 140301090283519, +SNULL, 94090777714687, 94090777722879, +STORE, 94090777710592, 94090777714687, +STORE, 94090777714688, 94090777722879, +SNULL, 140301092528127, 140301092532223, +STORE, 140301092524032, 140301092528127, +STORE, 140301092528128, 140301092532223, +ERASE, 140301092495360, 140301092524031, +STORE, 94090794590208, 94090794725375, +STORE, 140301090795520, 140301092478975, +STORE, 94090794590208, 94090794860543, +STORE, 94090794590208, 94090794995711, +STORE, 94090794590208, 94090795163647, +SNULL, 94090795139071, 94090795163647, +STORE, 94090794590208, 94090795139071, +STORE, 94090795139072, 94090795163647, +ERASE, 94090795139072, 94090795163647, +STORE, 94090794590208, 94090795278335, +STORE, 94090794590208, 94090795425791, +SNULL, 94090795388927, 94090795425791, +STORE, 94090794590208, 94090795388927, +STORE, 94090795388928, 94090795425791, +ERASE, 94090795388928, 94090795425791, +STORE, 94090794590208, 94090795528191, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733084430336, 140737488351231, +SNULL, 140733084438527, 140737488351231, +STORE, 140733084430336, 140733084438527, +STORE, 140733084299264, 140733084438527, +STORE, 94116169183232, 94116171517951, +SNULL, 94116169396223, 94116171517951, +STORE, 94116169183232, 94116169396223, +STORE, 94116169396224, 94116171517951, +ERASE, 94116169396224, 94116171517951, +STORE, 94116171493376, 94116171505663, +STORE, 94116171505664, 94116171517951, +STORE, 139772214128640, 139772216381439, +SNULL, 139772214271999, 139772216381439, +STORE, 139772214128640, 139772214271999, +STORE, 139772214272000, 139772216381439, +ERASE, 139772214272000, 139772216381439, +STORE, 139772216369152, 139772216377343, +STORE, 139772216377344, 139772216381439, +STORE, 140733085270016, 140733085274111, +STORE, 140733085257728, 140733085270015, +STORE, 139772216340480, 139772216369151, +STORE, 139772216332288, 139772216340479, +STORE, 139772212015104, 139772214128639, +SNULL, 139772212015104, 139772212027391, +STORE, 139772212027392, 139772214128639, +STORE, 139772212015104, 139772212027391, +SNULL, 139772214120447, 139772214128639, +STORE, 139772212027392, 139772214120447, +STORE, 139772214120448, 139772214128639, +ERASE, 139772214120448, 139772214128639, +STORE, 139772214120448, 139772214128639, +STORE, 139772208218112, 139772212015103, +SNULL, 139772208218112, 139772209876991, +STORE, 139772209876992, 139772212015103, +STORE, 139772208218112, 139772209876991, +SNULL, 139772211974143, 139772212015103, +STORE, 139772209876992, 139772211974143, +STORE, 139772211974144, 139772212015103, +SNULL, 139772211974144, 139772211998719, +STORE, 139772211998720, 139772212015103, +STORE, 139772211974144, 139772211998719, +ERASE, 139772211974144, 139772211998719, +STORE, 139772211974144, 139772211998719, +ERASE, 139772211998720, 139772212015103, +STORE, 139772211998720, 139772212015103, +STORE, 139772216324096, 139772216340479, +SNULL, 139772211990527, 139772211998719, +STORE, 139772211974144, 139772211990527, +STORE, 139772211990528, 139772211998719, +SNULL, 139772214124543, 139772214128639, +STORE, 139772214120448, 139772214124543, +STORE, 139772214124544, 139772214128639, +SNULL, 94116171497471, 94116171505663, +STORE, 94116171493376, 94116171497471, +STORE, 94116171497472, 94116171505663, +SNULL, 139772216373247, 139772216377343, +STORE, 139772216369152, 139772216373247, +STORE, 139772216373248, 139772216377343, +ERASE, 139772216340480, 139772216369151, +STORE, 94116199383040, 94116199518207, +STORE, 139772214640640, 139772216324095, +STORE, 94116199383040, 94116199653375, +STORE, 94116199383040, 94116199788543, +STORE, 140737488347136, 140737488351231, +STORE, 140726067826688, 140737488351231, +SNULL, 140726067830783, 140737488351231, +STORE, 140726067826688, 140726067830783, +STORE, 140726067695616, 140726067830783, +STORE, 94535150673920, 94535152898047, +SNULL, 94535150784511, 94535152898047, +STORE, 94535150673920, 94535150784511, +STORE, 94535150784512, 94535152898047, +ERASE, 94535150784512, 94535152898047, +STORE, 94535152877568, 94535152889855, +STORE, 94535152889856, 94535152898047, +STORE, 140381257314304, 140381259567103, +SNULL, 140381257457663, 140381259567103, +STORE, 140381257314304, 140381257457663, +STORE, 140381257457664, 140381259567103, +ERASE, 140381257457664, 140381259567103, +STORE, 140381259554816, 140381259563007, +STORE, 140381259563008, 140381259567103, +STORE, 140726068060160, 140726068064255, +STORE, 140726068047872, 140726068060159, +STORE, 140381259526144, 140381259554815, +STORE, 140381259517952, 140381259526143, +STORE, 140381253517312, 140381257314303, +SNULL, 140381253517312, 140381255176191, +STORE, 140381255176192, 140381257314303, +STORE, 140381253517312, 140381255176191, +SNULL, 140381257273343, 140381257314303, +STORE, 140381255176192, 140381257273343, +STORE, 140381257273344, 140381257314303, +SNULL, 140381257273344, 140381257297919, +STORE, 140381257297920, 140381257314303, +STORE, 140381257273344, 140381257297919, +ERASE, 140381257273344, 140381257297919, +STORE, 140381257273344, 140381257297919, +ERASE, 140381257297920, 140381257314303, +STORE, 140381257297920, 140381257314303, +SNULL, 140381257289727, 140381257297919, +STORE, 140381257273344, 140381257289727, +STORE, 140381257289728, 140381257297919, +SNULL, 94535152885759, 94535152889855, +STORE, 94535152877568, 94535152885759, +STORE, 94535152885760, 94535152889855, +SNULL, 140381259558911, 140381259563007, +STORE, 140381259554816, 140381259558911, +STORE, 140381259558912, 140381259563007, +ERASE, 140381259526144, 140381259554815, +STORE, 94535186296832, 94535186431999, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140729189425152, 140737488351231, +SNULL, 140729189433343, 140737488351231, +STORE, 140729189425152, 140729189433343, +STORE, 140729189294080, 140729189433343, +STORE, 94428200128512, 94428202352639, +SNULL, 94428200239103, 94428202352639, +STORE, 94428200128512, 94428200239103, +STORE, 94428200239104, 94428202352639, +ERASE, 94428200239104, 94428202352639, +STORE, 94428202332160, 94428202344447, +STORE, 94428202344448, 94428202352639, +STORE, 139707216986112, 139707219238911, +SNULL, 139707217129471, 139707219238911, +STORE, 139707216986112, 139707217129471, +STORE, 139707217129472, 139707219238911, +ERASE, 139707217129472, 139707219238911, +STORE, 139707219226624, 139707219234815, +STORE, 139707219234816, 139707219238911, +STORE, 140729189785600, 140729189789695, +STORE, 140729189773312, 140729189785599, +STORE, 139707219197952, 139707219226623, +STORE, 139707219189760, 139707219197951, +STORE, 139707213189120, 139707216986111, +SNULL, 139707213189120, 139707214847999, +STORE, 139707214848000, 139707216986111, +STORE, 139707213189120, 139707214847999, +SNULL, 139707216945151, 139707216986111, +STORE, 139707214848000, 139707216945151, +STORE, 139707216945152, 139707216986111, +SNULL, 139707216945152, 139707216969727, +STORE, 139707216969728, 139707216986111, +STORE, 139707216945152, 139707216969727, +ERASE, 139707216945152, 139707216969727, +STORE, 139707216945152, 139707216969727, +ERASE, 139707216969728, 139707216986111, +STORE, 139707216969728, 139707216986111, +SNULL, 139707216961535, 139707216969727, +STORE, 139707216945152, 139707216961535, +STORE, 139707216961536, 139707216969727, +SNULL, 94428202340351, 94428202344447, +STORE, 94428202332160, 94428202340351, +STORE, 94428202340352, 94428202344447, +SNULL, 139707219230719, 139707219234815, +STORE, 139707219226624, 139707219230719, +STORE, 139707219230720, 139707219234815, +ERASE, 139707219197952, 139707219226623, +STORE, 94428208599040, 94428208734207, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722000953344, 140737488351231, +SNULL, 140722000961535, 140737488351231, +STORE, 140722000953344, 140722000961535, +STORE, 140722000822272, 140722000961535, +STORE, 94636494757888, 94636496982015, +SNULL, 94636494868479, 94636496982015, +STORE, 94636494757888, 94636494868479, +STORE, 94636494868480, 94636496982015, +ERASE, 94636494868480, 94636496982015, +STORE, 94636496961536, 94636496973823, +STORE, 94636496973824, 94636496982015, +STORE, 140142275100672, 140142277353471, +SNULL, 140142275244031, 140142277353471, +STORE, 140142275100672, 140142275244031, +STORE, 140142275244032, 140142277353471, +ERASE, 140142275244032, 140142277353471, +STORE, 140142277341184, 140142277349375, +STORE, 140142277349376, 140142277353471, +STORE, 140722002747392, 140722002751487, +STORE, 140722002735104, 140722002747391, +STORE, 140142277312512, 140142277341183, +STORE, 140142277304320, 140142277312511, +STORE, 140142271303680, 140142275100671, +SNULL, 140142271303680, 140142272962559, +STORE, 140142272962560, 140142275100671, +STORE, 140142271303680, 140142272962559, +SNULL, 140142275059711, 140142275100671, +STORE, 140142272962560, 140142275059711, +STORE, 140142275059712, 140142275100671, +SNULL, 140142275059712, 140142275084287, +STORE, 140142275084288, 140142275100671, +STORE, 140142275059712, 140142275084287, +ERASE, 140142275059712, 140142275084287, +STORE, 140142275059712, 140142275084287, +ERASE, 140142275084288, 140142275100671, +STORE, 140142275084288, 140142275100671, +SNULL, 140142275076095, 140142275084287, +STORE, 140142275059712, 140142275076095, +STORE, 140142275076096, 140142275084287, +SNULL, 94636496969727, 94636496973823, +STORE, 94636496961536, 94636496969727, +STORE, 94636496969728, 94636496973823, +SNULL, 140142277345279, 140142277349375, +STORE, 140142277341184, 140142277345279, +STORE, 140142277345280, 140142277349375, +ERASE, 140142277312512, 140142277341183, +STORE, 94636516286464, 94636516421631, +STORE, 94071103692800, 94071103905791, +STORE, 94071106002944, 94071106007039, +STORE, 94071106007040, 94071106015231, +STORE, 94071106015232, 94071106027519, +STORE, 94071138521088, 94071140368383, +STORE, 140145668190208, 140145669849087, +STORE, 140145669849088, 140145671946239, +STORE, 140145671946240, 140145671962623, +STORE, 140145671962624, 140145671970815, +STORE, 140145671970816, 140145671987199, +STORE, 140145671987200, 140145671999487, +STORE, 140145671999488, 140145674092543, +STORE, 140145674092544, 140145674096639, +STORE, 140145674096640, 140145674100735, +STORE, 140145674100736, 140145674244095, +STORE, 140145674612736, 140145676296191, +STORE, 140145676296192, 140145676312575, +STORE, 140145676341248, 140145676345343, +STORE, 140145676345344, 140145676349439, +STORE, 140145676349440, 140145676353535, +STORE, 140734927740928, 140734927880191, +STORE, 140734928842752, 140734928855039, +STORE, 140734928855040, 140734928859135, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722342535168, 140737488351231, +SNULL, 140722342543359, 140737488351231, +STORE, 140722342535168, 140722342543359, +STORE, 140722342404096, 140722342543359, +STORE, 94399699714048, 94399702048767, +SNULL, 94399699927039, 94399702048767, +STORE, 94399699714048, 94399699927039, +STORE, 94399699927040, 94399702048767, +ERASE, 94399699927040, 94399702048767, +STORE, 94399702024192, 94399702036479, +STORE, 94399702036480, 94399702048767, +STORE, 139811024748544, 139811027001343, +SNULL, 139811024891903, 139811027001343, +STORE, 139811024748544, 139811024891903, +STORE, 139811024891904, 139811027001343, +ERASE, 139811024891904, 139811027001343, +STORE, 139811026989056, 139811026997247, +STORE, 139811026997248, 139811027001343, +STORE, 140722342707200, 140722342711295, +STORE, 140722342694912, 140722342707199, +STORE, 139811026960384, 139811026989055, +STORE, 139811026952192, 139811026960383, +STORE, 139811022635008, 139811024748543, +SNULL, 139811022635008, 139811022647295, +STORE, 139811022647296, 139811024748543, +STORE, 139811022635008, 139811022647295, +SNULL, 139811024740351, 139811024748543, +STORE, 139811022647296, 139811024740351, +STORE, 139811024740352, 139811024748543, +ERASE, 139811024740352, 139811024748543, +STORE, 139811024740352, 139811024748543, +STORE, 139811018838016, 139811022635007, +SNULL, 139811018838016, 139811020496895, +STORE, 139811020496896, 139811022635007, +STORE, 139811018838016, 139811020496895, +SNULL, 139811022594047, 139811022635007, +STORE, 139811020496896, 139811022594047, +STORE, 139811022594048, 139811022635007, +SNULL, 139811022594048, 139811022618623, +STORE, 139811022618624, 139811022635007, +STORE, 139811022594048, 139811022618623, +ERASE, 139811022594048, 139811022618623, +STORE, 139811022594048, 139811022618623, +ERASE, 139811022618624, 139811022635007, +STORE, 139811022618624, 139811022635007, +STORE, 139811026944000, 139811026960383, +SNULL, 139811022610431, 139811022618623, +STORE, 139811022594048, 139811022610431, +STORE, 139811022610432, 139811022618623, +SNULL, 139811024744447, 139811024748543, +STORE, 139811024740352, 139811024744447, +STORE, 139811024744448, 139811024748543, +SNULL, 94399702028287, 94399702036479, +STORE, 94399702024192, 94399702028287, +STORE, 94399702028288, 94399702036479, +SNULL, 139811026993151, 139811026997247, +STORE, 139811026989056, 139811026993151, +STORE, 139811026993152, 139811026997247, +ERASE, 139811026960384, 139811026989055, +STORE, 94399723880448, 94399724015615, +STORE, 139811025260544, 139811026943999, +STORE, 94399723880448, 94399724150783, +STORE, 94399723880448, 94399724285951, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140735364939776, 140737488351231, +SNULL, 140735364947967, 140737488351231, +STORE, 140735364939776, 140735364947967, +STORE, 140735364808704, 140735364947967, +STORE, 94421528674304, 94421531009023, +SNULL, 94421528887295, 94421531009023, +STORE, 94421528674304, 94421528887295, +STORE, 94421528887296, 94421531009023, +ERASE, 94421528887296, 94421531009023, +STORE, 94421530984448, 94421530996735, +STORE, 94421530996736, 94421531009023, +STORE, 140162004742144, 140162006994943, +SNULL, 140162004885503, 140162006994943, +STORE, 140162004742144, 140162004885503, +STORE, 140162004885504, 140162006994943, +ERASE, 140162004885504, 140162006994943, +STORE, 140162006982656, 140162006990847, +STORE, 140162006990848, 140162006994943, +STORE, 140735365402624, 140735365406719, +STORE, 140735365390336, 140735365402623, +STORE, 140162006953984, 140162006982655, +STORE, 140162006945792, 140162006953983, +STORE, 140162002628608, 140162004742143, +SNULL, 140162002628608, 140162002640895, +STORE, 140162002640896, 140162004742143, +STORE, 140162002628608, 140162002640895, +SNULL, 140162004733951, 140162004742143, +STORE, 140162002640896, 140162004733951, +STORE, 140162004733952, 140162004742143, +ERASE, 140162004733952, 140162004742143, +STORE, 140162004733952, 140162004742143, +STORE, 140161998831616, 140162002628607, +SNULL, 140161998831616, 140162000490495, +STORE, 140162000490496, 140162002628607, +STORE, 140161998831616, 140162000490495, +SNULL, 140162002587647, 140162002628607, +STORE, 140162000490496, 140162002587647, +STORE, 140162002587648, 140162002628607, +SNULL, 140162002587648, 140162002612223, +STORE, 140162002612224, 140162002628607, +STORE, 140162002587648, 140162002612223, +ERASE, 140162002587648, 140162002612223, +STORE, 140162002587648, 140162002612223, +ERASE, 140162002612224, 140162002628607, +STORE, 140162002612224, 140162002628607, +STORE, 140162006937600, 140162006953983, +SNULL, 140162002604031, 140162002612223, +STORE, 140162002587648, 140162002604031, +STORE, 140162002604032, 140162002612223, +SNULL, 140162004738047, 140162004742143, +STORE, 140162004733952, 140162004738047, +STORE, 140162004738048, 140162004742143, +SNULL, 94421530988543, 94421530996735, +STORE, 94421530984448, 94421530988543, +STORE, 94421530988544, 94421530996735, +SNULL, 140162006986751, 140162006990847, +STORE, 140162006982656, 140162006986751, +STORE, 140162006986752, 140162006990847, +ERASE, 140162006953984, 140162006982655, +STORE, 94421551697920, 94421551833087, +STORE, 140162005254144, 140162006937599, +STORE, 94421551697920, 94421551968255, +STORE, 94421551697920, 94421552103423, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140733498486784, 140737488351231, +SNULL, 140733498494975, 140737488351231, +STORE, 140733498486784, 140733498494975, +STORE, 140733498355712, 140733498494975, +STORE, 94567985836032, 94567988170751, +SNULL, 94567986049023, 94567988170751, +STORE, 94567985836032, 94567986049023, +STORE, 94567986049024, 94567988170751, +ERASE, 94567986049024, 94567988170751, +STORE, 94567988146176, 94567988158463, +STORE, 94567988158464, 94567988170751, +STORE, 139634278572032, 139634280824831, +SNULL, 139634278715391, 139634280824831, +STORE, 139634278572032, 139634278715391, +STORE, 139634278715392, 139634280824831, +ERASE, 139634278715392, 139634280824831, +STORE, 139634280812544, 139634280820735, +STORE, 139634280820736, 139634280824831, +STORE, 140733498544128, 140733498548223, +STORE, 140733498531840, 140733498544127, +STORE, 139634280783872, 139634280812543, +STORE, 139634280775680, 139634280783871, +STORE, 139634276458496, 139634278572031, +SNULL, 139634276458496, 139634276470783, +STORE, 139634276470784, 139634278572031, +STORE, 139634276458496, 139634276470783, +SNULL, 139634278563839, 139634278572031, +STORE, 139634276470784, 139634278563839, +STORE, 139634278563840, 139634278572031, +ERASE, 139634278563840, 139634278572031, +STORE, 139634278563840, 139634278572031, +STORE, 139634272661504, 139634276458495, +SNULL, 139634272661504, 139634274320383, +STORE, 139634274320384, 139634276458495, +STORE, 139634272661504, 139634274320383, +SNULL, 139634276417535, 139634276458495, +STORE, 139634274320384, 139634276417535, +STORE, 139634276417536, 139634276458495, +SNULL, 139634276417536, 139634276442111, +STORE, 139634276442112, 139634276458495, +STORE, 139634276417536, 139634276442111, +ERASE, 139634276417536, 139634276442111, +STORE, 139634276417536, 139634276442111, +ERASE, 139634276442112, 139634276458495, +STORE, 139634276442112, 139634276458495, +STORE, 139634280767488, 139634280783871, +SNULL, 139634276433919, 139634276442111, +STORE, 139634276417536, 139634276433919, +STORE, 139634276433920, 139634276442111, +SNULL, 139634278567935, 139634278572031, +STORE, 139634278563840, 139634278567935, +STORE, 139634278567936, 139634278572031, +SNULL, 94567988150271, 94567988158463, +STORE, 94567988146176, 94567988150271, +STORE, 94567988150272, 94567988158463, +SNULL, 139634280816639, 139634280820735, +STORE, 139634280812544, 139634280816639, +STORE, 139634280816640, 139634280820735, +ERASE, 139634280783872, 139634280812543, +STORE, 94567996379136, 94567996514303, +STORE, 139634279084032, 139634280767487, +STORE, 94567996379136, 94567996649471, +STORE, 94567996379136, 94567996784639, +STORE, 94567996379136, 94567996960767, +SNULL, 94567996932095, 94567996960767, +STORE, 94567996379136, 94567996932095, +STORE, 94567996932096, 94567996960767, +ERASE, 94567996932096, 94567996960767, +STORE, 94567996379136, 94567997071359, +STORE, 94567996379136, 94567997206527, +SNULL, 94567997186047, 94567997206527, +STORE, 94567996379136, 94567997186047, +STORE, 94567997186048, 94567997206527, +ERASE, 94567997186048, 94567997206527, +STORE, 94567996379136, 94567997358079, +STORE, 94567996379136, 94567997493247, +SNULL, 94567997476863, 94567997493247, +STORE, 94567996379136, 94567997476863, +STORE, 94567997476864, 94567997493247, +ERASE, 94567997476864, 94567997493247, +STORE, 94567996379136, 94567997612031, +STORE, 94567996379136, 94567997767679, +SNULL, 94567997739007, 94567997767679, +STORE, 94567996379136, 94567997739007, +STORE, 94567997739008, 94567997767679, +ERASE, 94567997739008, 94567997767679, +SNULL, 94567997698047, 94567997739007, +STORE, 94567996379136, 94567997698047, +STORE, 94567997698048, 94567997739007, +ERASE, 94567997698048, 94567997739007, +STORE, 94567996379136, 94567997853695, +STORE, 94567996379136, 94567997988863, +STORE, 94567996379136, 94567998132223, +STORE, 94567996379136, 94567998275583, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140723667759104, 140737488351231, +SNULL, 140723667767295, 140737488351231, +STORE, 140723667759104, 140723667767295, +STORE, 140723667628032, 140723667767295, +STORE, 94231598800896, 94231601135615, +SNULL, 94231599013887, 94231601135615, +STORE, 94231598800896, 94231599013887, +STORE, 94231599013888, 94231601135615, +ERASE, 94231599013888, 94231601135615, +STORE, 94231601111040, 94231601123327, +STORE, 94231601123328, 94231601135615, +STORE, 140269472649216, 140269474902015, +SNULL, 140269472792575, 140269474902015, +STORE, 140269472649216, 140269472792575, +STORE, 140269472792576, 140269474902015, +ERASE, 140269472792576, 140269474902015, +STORE, 140269474889728, 140269474897919, +STORE, 140269474897920, 140269474902015, +STORE, 140723667836928, 140723667841023, +STORE, 140723667824640, 140723667836927, +STORE, 140269474861056, 140269474889727, +STORE, 140269474852864, 140269474861055, +STORE, 140269470535680, 140269472649215, +SNULL, 140269470535680, 140269470547967, +STORE, 140269470547968, 140269472649215, +STORE, 140269470535680, 140269470547967, +SNULL, 140269472641023, 140269472649215, +STORE, 140269470547968, 140269472641023, +STORE, 140269472641024, 140269472649215, +ERASE, 140269472641024, 140269472649215, +STORE, 140269472641024, 140269472649215, +STORE, 140269466738688, 140269470535679, +SNULL, 140269466738688, 140269468397567, +STORE, 140269468397568, 140269470535679, +STORE, 140269466738688, 140269468397567, +SNULL, 140269470494719, 140269470535679, +STORE, 140269468397568, 140269470494719, +STORE, 140269470494720, 140269470535679, +SNULL, 140269470494720, 140269470519295, +STORE, 140269470519296, 140269470535679, +STORE, 140269470494720, 140269470519295, +ERASE, 140269470494720, 140269470519295, +STORE, 140269470494720, 140269470519295, +ERASE, 140269470519296, 140269470535679, +STORE, 140269470519296, 140269470535679, +STORE, 140269474844672, 140269474861055, +SNULL, 140269470511103, 140269470519295, +STORE, 140269470494720, 140269470511103, +STORE, 140269470511104, 140269470519295, +SNULL, 140269472645119, 140269472649215, +STORE, 140269472641024, 140269472645119, +STORE, 140269472645120, 140269472649215, +SNULL, 94231601115135, 94231601123327, +STORE, 94231601111040, 94231601115135, +STORE, 94231601115136, 94231601123327, +SNULL, 140269474893823, 140269474897919, +STORE, 140269474889728, 140269474893823, +STORE, 140269474893824, 140269474897919, +ERASE, 140269474861056, 140269474889727, +STORE, 94231626592256, 94231626727423, +STORE, 140269473161216, 140269474844671, +STORE, 94231626592256, 94231626862591, +STORE, 94231626592256, 94231626997759, +STORE, 94327178862592, 94327179075583, +STORE, 94327181172736, 94327181176831, +STORE, 94327181176832, 94327181185023, +STORE, 94327181185024, 94327181197311, +STORE, 94327185715200, 94327186685951, +STORE, 140172071755776, 140172073414655, +STORE, 140172073414656, 140172075511807, +STORE, 140172075511808, 140172075528191, +STORE, 140172075528192, 140172075536383, +STORE, 140172075536384, 140172075552767, +STORE, 140172075552768, 140172075565055, +STORE, 140172075565056, 140172077658111, +STORE, 140172077658112, 140172077662207, +STORE, 140172077662208, 140172077666303, +STORE, 140172077666304, 140172077809663, +STORE, 140172078178304, 140172079861759, +STORE, 140172079861760, 140172079878143, +STORE, 140172079878144, 140172079906815, +STORE, 140172079906816, 140172079910911, +STORE, 140172079910912, 140172079915007, +STORE, 140172079915008, 140172079919103, +STORE, 140720358359040, 140720358494207, +STORE, 140720358498304, 140720358510591, +STORE, 140720358510592, 140720358514687, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140722548621312, 140737488351231, +SNULL, 140722548629503, 140737488351231, +STORE, 140722548621312, 140722548629503, +STORE, 140722548490240, 140722548629503, +STORE, 93949289504768, 93949291728895, +SNULL, 93949289615359, 93949291728895, +STORE, 93949289504768, 93949289615359, +STORE, 93949289615360, 93949291728895, +ERASE, 93949289615360, 93949291728895, +STORE, 93949291708416, 93949291720703, +STORE, 93949291720704, 93949291728895, +STORE, 140305861902336, 140305864155135, +SNULL, 140305862045695, 140305864155135, +STORE, 140305861902336, 140305862045695, +STORE, 140305862045696, 140305864155135, +ERASE, 140305862045696, 140305864155135, +STORE, 140305864142848, 140305864151039, +STORE, 140305864151040, 140305864155135, +STORE, 140722549821440, 140722549825535, +STORE, 140722549809152, 140722549821439, +STORE, 140305864114176, 140305864142847, +STORE, 140305864105984, 140305864114175, +STORE, 140305858105344, 140305861902335, +SNULL, 140305858105344, 140305859764223, +STORE, 140305859764224, 140305861902335, +STORE, 140305858105344, 140305859764223, +SNULL, 140305861861375, 140305861902335, +STORE, 140305859764224, 140305861861375, +STORE, 140305861861376, 140305861902335, +SNULL, 140305861861376, 140305861885951, +STORE, 140305861885952, 140305861902335, +STORE, 140305861861376, 140305861885951, +ERASE, 140305861861376, 140305861885951, +STORE, 140305861861376, 140305861885951, +ERASE, 140305861885952, 140305861902335, +STORE, 140305861885952, 140305861902335, +SNULL, 140305861877759, 140305861885951, +STORE, 140305861861376, 140305861877759, +STORE, 140305861877760, 140305861885951, +SNULL, 93949291716607, 93949291720703, +STORE, 93949291708416, 93949291716607, +STORE, 93949291716608, 93949291720703, +SNULL, 140305864146943, 140305864151039, +STORE, 140305864142848, 140305864146943, +STORE, 140305864146944, 140305864151039, +ERASE, 140305864114176, 140305864142847, +STORE, 93949324136448, 93949324271615, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140725754908672, 140737488351231, +SNULL, 140725754916863, 140737488351231, +STORE, 140725754908672, 140725754916863, +STORE, 140725754777600, 140725754916863, +STORE, 94831184375808, 94831186599935, +SNULL, 94831184486399, 94831186599935, +STORE, 94831184375808, 94831184486399, +STORE, 94831184486400, 94831186599935, +ERASE, 94831184486400, 94831186599935, +STORE, 94831186579456, 94831186591743, +STORE, 94831186591744, 94831186599935, +STORE, 140605482479616, 140605484732415, +SNULL, 140605482622975, 140605484732415, +STORE, 140605482479616, 140605482622975, +STORE, 140605482622976, 140605484732415, +ERASE, 140605482622976, 140605484732415, +STORE, 140605484720128, 140605484728319, +STORE, 140605484728320, 140605484732415, +STORE, 140725755670528, 140725755674623, +STORE, 140725755658240, 140725755670527, +STORE, 140605484691456, 140605484720127, +STORE, 140605484683264, 140605484691455, +STORE, 140605478682624, 140605482479615, +SNULL, 140605478682624, 140605480341503, +STORE, 140605480341504, 140605482479615, +STORE, 140605478682624, 140605480341503, +SNULL, 140605482438655, 140605482479615, +STORE, 140605480341504, 140605482438655, +STORE, 140605482438656, 140605482479615, +SNULL, 140605482438656, 140605482463231, +STORE, 140605482463232, 140605482479615, +STORE, 140605482438656, 140605482463231, +ERASE, 140605482438656, 140605482463231, +STORE, 140605482438656, 140605482463231, +ERASE, 140605482463232, 140605482479615, +STORE, 140605482463232, 140605482479615, +SNULL, 140605482455039, 140605482463231, +STORE, 140605482438656, 140605482455039, +STORE, 140605482455040, 140605482463231, +SNULL, 94831186587647, 94831186591743, +STORE, 94831186579456, 94831186587647, +STORE, 94831186587648, 94831186591743, +SNULL, 140605484724223, 140605484728319, +STORE, 140605484720128, 140605484724223, +STORE, 140605484724224, 140605484728319, +ERASE, 140605484691456, 140605484720127, +STORE, 94831217156096, 94831217291263, +STORE, 94327178862592, 94327179075583, +STORE, 94327181172736, 94327181176831, +STORE, 94327181176832, 94327181185023, +STORE, 94327181185024, 94327181197311, +STORE, 94327185715200, 94327186685951, +STORE, 140172071755776, 140172073414655, +STORE, 140172073414656, 140172075511807, +STORE, 140172075511808, 140172075528191, +STORE, 140172075528192, 140172075536383, +STORE, 140172075536384, 140172075552767, +STORE, 140172075552768, 140172075565055, +STORE, 140172075565056, 140172077658111, +STORE, 140172077658112, 140172077662207, +STORE, 140172077662208, 140172077666303, +STORE, 140172077666304, 140172077809663, +STORE, 140172078178304, 140172079861759, +STORE, 140172079861760, 140172079878143, +STORE, 140172079878144, 140172079906815, +STORE, 140172079906816, 140172079910911, +STORE, 140172079910912, 140172079915007, +STORE, 140172079915008, 140172079919103, +STORE, 140720358359040, 140720358494207, +STORE, 140720358498304, 140720358510591, +STORE, 140720358510592, 140720358514687, +STORE, 140737488347136, 140737488351231, +STORE, 140737488343040, 140737488351231, +STORE, 140737488338944, 140737488351231, +STORE, 140734529933312, 140737488351231, +SNULL, 140734529945599, 140737488351231, +STORE, 140734529933312, 140734529945599, +STORE, 140734529802240, 140734529945599, +STORE, 4194304, 26279935, +STORE, 28372992, 28454911, +STORE, 28454912, 29806591, +STORE, 140249744060416, 140249746313215, +SNULL, 140249744203775, 140249746313215, +STORE, 140249744060416, 140249744203775, +STORE, 140249744203776, 140249746313215, +ERASE, 140249744203776, 140249746313215, +STORE, 140249746300928, 140249746309119, +STORE, 140249746309120, 140249746313215, +STORE, 140734530174976, 140734530179071, +STORE, 140734530162688, 140734530174975, +STORE, 140249746272256, 140249746300927, +STORE, 140249746264064, 140249746272255, +STORE, 140249740226560, 140249744060415, +SNULL, 140249740226560, 140249741934591, +STORE, 140249741934592, 140249744060415, +STORE, 140249740226560, 140249741934591, +SNULL, 140249744027647, 140249744060415, +STORE, 140249741934592, 140249744027647, +STORE, 140249744027648, 140249744060415, +ERASE, 140249744027648, 140249744060415, +STORE, 140249744027648, 140249744060415, +STORE, 140249738031104, 140249740226559, +SNULL, 140249738031104, 140249738125311, +STORE, 140249738125312, 140249740226559, +STORE, 140249738031104, 140249738125311, +SNULL, 140249740218367, 140249740226559, +STORE, 140249738125312, 140249740218367, +STORE, 140249740218368, 140249740226559, +ERASE, 140249740218368, 140249740226559, +STORE, 140249740218368, 140249740226559, +STORE, 140249735512064, 140249738031103, +SNULL, 140249735512064, 140249735925759, +STORE, 140249735925760, 140249738031103, +STORE, 140249735512064, 140249735925759, +SNULL, 140249738018815, 140249738031103, +STORE, 140249735925760, 140249738018815, +STORE, 140249738018816, 140249738031103, +ERASE, 140249738018816, 140249738031103, +STORE, 140249738018816, 140249738031103, +STORE, 140249732878336, 140249735512063, +SNULL, 140249732878336, 140249733406719, +STORE, 140249733406720, 140249735512063, +STORE, 140249732878336, 140249733406719, +SNULL, 140249735503871, 140249735512063, +STORE, 140249733406720, 140249735503871, +STORE, 140249735503872, 140249735512063, +ERASE, 140249735503872, 140249735512063, +STORE, 140249735503872, 140249735512063, +STORE, 140249730764800, 140249732878335, +SNULL, 140249730764800, 140249730777087, +STORE, 140249730777088, 140249732878335, +STORE, 140249730764800, 140249730777087, +SNULL, 140249732870143, 140249732878335, +STORE, 140249730777088, 140249732870143, +STORE, 140249732870144, 140249732878335, +ERASE, 140249732870144, 140249732878335, +STORE, 140249732870144, 140249732878335, +STORE, 140249728561152, 140249730764799, +SNULL, 140249728561152, 140249728663551, +STORE, 140249728663552, 140249730764799, +STORE, 140249728561152, 140249728663551, +SNULL, 140249730756607, 140249730764799, +STORE, 140249728663552, 140249730756607, +STORE, 140249730756608, 140249730764799, +ERASE, 140249730756608, 140249730764799, +STORE, 140249730756608, 140249730764799, +STORE, 140249746255872, 140249746272255, +STORE, 140249725399040, 140249728561151, +SNULL, 140249725399040, 140249726459903, +STORE, 140249726459904, 140249728561151, +STORE, 140249725399040, 140249726459903, +SNULL, 140249728552959, 140249728561151, +STORE, 140249726459904, 140249728552959, +STORE, 140249728552960, 140249728561151, +ERASE, 140249728552960, 140249728561151, +STORE, 140249728552960, 140249728561151, +STORE, 140249721602048, 140249725399039, +SNULL, 140249721602048, 140249723260927, +STORE, 140249723260928, 140249725399039, +STORE, 140249721602048, 140249723260927, +SNULL, 140249725358079, 140249725399039, +STORE, 140249723260928, 140249725358079, +STORE, 140249725358080, 140249725399039, +SNULL, 140249725358080, 140249725382655, +STORE, 140249725382656, 140249725399039, +STORE, 140249725358080, 140249725382655, +ERASE, 140249725358080, 140249725382655, +STORE, 140249725358080, 140249725382655, +ERASE, 140249725382656, 140249725399039, +STORE, 140249725382656, 140249725399039, +STORE, 140249746243584, 140249746272255, +SNULL, 140249725374463, 140249725382655, +STORE, 140249725358080, 140249725374463, +STORE, 140249725374464, 140249725382655, +SNULL, 140249728557055, 140249728561151, +STORE, 140249728552960, 140249728557055, +STORE, 140249728557056, 140249728561151, +SNULL, 140249730760703, 140249730764799, +STORE, 140249730756608, 140249730760703, +STORE, 140249730760704, 140249730764799, +SNULL, 140249732874239, 140249732878335, +STORE, 140249732870144, 140249732874239, +STORE, 140249732874240, 140249732878335, +SNULL, 140249735507967, 140249735512063, +STORE, 140249735503872, 140249735507967, +STORE, 140249735507968, 140249735512063, +SNULL, 140249738027007, 140249738031103, +STORE, 140249738018816, 140249738027007, +STORE, 140249738027008, 140249738031103, +SNULL, 140249740222463, 140249740226559, +STORE, 140249740218368, 140249740222463, +STORE, 140249740222464, 140249740226559, +SNULL, 140249744031743, 140249744060415, +STORE, 140249744027648, 140249744031743, +STORE, 140249744031744, 140249744060415, +SNULL, 28405759, 28454911, +STORE, 28372992, 28405759, +STORE, 28405760, 28454911, +SNULL, 140249746305023, 140249746309119, +STORE, 140249746300928, 140249746305023, +STORE, 140249746305024, 140249746309119, +ERASE, 140249746272256, 140249746300927, +STORE, 33853440, 33988607, +STORE, 140249744560128, 140249746243583, +STORE, 140249746296832, 140249746300927, +STORE, 140249744424960, 140249744560127, +STORE, 33853440, 34131967, +STORE, 140249719504896, 140249721602047, +STORE, 140249746288640, 140249746300927, +STORE, 140249746280448, 140249746300927, +STORE, 140249746243584, 140249746280447, +STORE, 140249744408576, 140249744560127, +STORE, 33853440, 34267135, +STORE, 33853440, 34422783, +STORE, 140249744400384, 140249744560127, +STORE, 140249744392192, 140249744560127, +STORE, 33853440, 34557951, +STORE, 33853440, 34693119, +STORE, 140249744375808, 140249744560127, +STORE, 140249744367616, 140249744560127, +STORE, 33853440, 34832383, +STORE, 140249719230464, 140249721602047, +STORE, 140249744207872, 140249744560127, +STORE, 33853440, 34971647, +SNULL, 34963455, 34971647, +STORE, 33853440, 34963455, +STORE, 34963456, 34971647, +ERASE, 34963456, 34971647, +SNULL, 34955263, 34963455, +STORE, 33853440, 34955263, +STORE, 34955264, 34963455, +ERASE, 34955264, 34963455, +SNULL, 34947071, 34955263, +STORE, 33853440, 34947071, +STORE, 34947072, 34955263, +ERASE, 34947072, 34955263, +SNULL, 34938879, 34947071, +STORE, 33853440, 34938879, +STORE, 34938880, 34947071, +ERASE, 34938880, 34947071, +STORE, 140249719214080, 140249721602047, +STORE, 140249719148544, 140249721602047, +STORE, 140249719115776, 140249721602047, +STORE, 140249717018624, 140249721602047, +STORE, 140249716953088, 140249721602047, +STORE, 33853440, 35086335, +STORE, 140249716822016, 140249721602047, +STORE, 140249716559872, 140249721602047, +STORE, 140249716551680, 140249721602047, +STORE, 140249716535296, 140249721602047, +STORE, 140249716527104, 140249721602047, +STORE, 140249716518912, 140249721602047, +STORE, 33853440, 35221503, +SNULL, 35213311, 35221503, +STORE, 33853440, 35213311, +STORE, 35213312, 35221503, +ERASE, 35213312, 35221503, +SNULL, 35205119, 35213311, +STORE, 33853440, 35205119, +STORE, 35205120, 35213311, +ERASE, 35205120, 35213311, +SNULL, 35192831, 35205119, +STORE, 33853440, 35192831, +STORE, 35192832, 35205119, +ERASE, 35192832, 35205119, +SNULL, 35176447, 35192831, +STORE, 33853440, 35176447, +STORE, 35176448, 35192831, +ERASE, 35176448, 35192831, +STORE, 140249716502528, 140249721602047, +STORE, 33853440, 35311615, +SNULL, 35307519, 35311615, +STORE, 33853440, 35307519, +STORE, 35307520, 35311615, +ERASE, 35307520, 35311615, +SNULL, 35303423, 35307519, +STORE, 33853440, 35303423, +STORE, 35303424, 35307519, +ERASE, 35303424, 35307519, +SNULL, 35299327, 35303423, +STORE, 33853440, 35299327, +STORE, 35299328, 35303423, +ERASE, 35299328, 35303423, +SNULL, 35295231, 35299327, +STORE, 33853440, 35295231, +STORE, 35295232, 35299327, +ERASE, 35295232, 35299327, +SNULL, 35291135, 35295231, +STORE, 33853440, 35291135, +STORE, 35291136, 35295231, +ERASE, 35291136, 35295231, +SNULL, 35287039, 35291135, +STORE, 33853440, 35287039, +STORE, 35287040, 35291135, +ERASE, 35287040, 35291135, +SNULL, 35282943, 35287039, +STORE, 33853440, 35282943, +STORE, 35282944, 35287039, +ERASE, 35282944, 35287039, +STORE, 140249716486144, 140249721602047, +STORE, 140249716453376, 140249721602047, +STORE, 33853440, 35418111, +SNULL, 35401727, 35418111, +STORE, 33853440, 35401727, +STORE, 35401728, 35418111, +ERASE, 35401728, 35418111, +SNULL, 35389439, 35401727, +STORE, 33853440, 35389439, +STORE, 35389440, 35401727, +ERASE, 35389440, 35401727, +STORE, 140249714356224, 140249721602047, +STORE, 33853440, 35540991, +STORE, 140249714339840, 140249721602047, +STORE, 140249714077696, 140249721602047, +STORE, 140249714069504, 140249721602047, +STORE, 140249714061312, 140249721602047, +STORE, 33853440, 35680255, +SNULL, 35672063, 35680255, +STORE, 33853440, 35672063, +STORE, 35672064, 35680255, +ERASE, 35672064, 35680255, +SNULL, 35627007, 35672063, +STORE, 33853440, 35627007, +STORE, 35627008, 35672063, +ERASE, 35627008, 35672063, +STORE, 140249711964160, 140249721602047, +STORE, 33853440, 35762175, +SNULL, 35753983, 35762175, +STORE, 33853440, 35753983, +STORE, 35753984, 35762175, +ERASE, 35753984, 35762175, +SNULL, 35745791, 35753983, +STORE, 33853440, 35745791, +STORE, 35745792, 35753983, +ERASE, 35745792, 35753983, +STORE, 140249711955968, 140249721602047, +STORE, 140249711947776, 140249721602047, +STORE, 140249710899200, 140249721602047, +STORE, 140249710866432, 140249721602047, +STORE, 140249710600192, 140249721602047, +SNULL, 140249744424959, 140249744560127, +STORE, 140249744207872, 140249744424959, +STORE, 140249744424960, 140249744560127, +ERASE, 140249744424960, 140249744560127, +STORE, 140249708503040, 140249721602047, +STORE, 33853440, 35885055, +STORE, 140249707978752, 140249721602047, +STORE, 140249705881600, 140249721602047, +STORE, 33853440, 36036607, +STORE, 33853440, 36175871, +STORE, 140249744551936, 140249744560127, +STORE, 140249744543744, 140249744560127, +STORE, 140249744535552, 140249744560127, +STORE, 140249744527360, 140249744560127, +STORE, 140249744519168, 140249744560127, +STORE, 140249705619456, 140249721602047, +STORE, 140249744510976, 140249744560127, +STORE, 140249744502784, 140249744560127, +STORE, 140249744494592, 140249744560127, +STORE, 140249744486400, 140249744560127, +STORE, 140249744478208, 140249744560127, +STORE, 140249744470016, 140249744560127, +STORE, 140249744461824, 140249744560127, +STORE, 140249744453632, 140249744560127, +STORE, 140249744445440, 140249744560127, +STORE, 140249744437248, 140249744560127, +STORE, 140249744429056, 140249744560127, +STORE, 140249703522304, 140249721602047, +STORE, 33853440, 36311039, +STORE, 140249703489536, 140249721602047, +STORE, 33853440, 36474879, +STORE, 140249703456768, 140249721602047, +STORE, 33853440, 36622335, +STORE, 140249703424000, 140249721602047, +STORE, 140249703391232, 140249721602047, +STORE, 33853440, 36810751, +STORE, 140249703358464, 140249721602047, +STORE, 140249703325696, 140249721602047, +SNULL, 36655103, 36810751, +STORE, 33853440, 36655103, +STORE, 36655104, 36810751, +ERASE, 36655104, 36810751, +SNULL, 36438015, 36655103, +STORE, 33853440, 36438015, +STORE, 36438016, 36655103, +ERASE, 36438016, 36655103, +STORE, 140249703317504, 140249721602047, +STORE, 140249701220352, 140249721602047, +STORE, 33853440, 36585471, +STORE, 33853440, 36782079, +STORE, 140249701212160, 140249721602047, +STORE, 140249701203968, 140249721602047, +STORE, 140249701195776, 140249721602047, +STORE, 140249701187584, 140249721602047, +STORE, 140249701179392, 140249721602047, +STORE, 140249701171200, 140249721602047, +STORE, 140249701163008, 140249721602047, +STORE, 140249701154816, 140249721602047, +STORE, 140249701146624, 140249721602047, +STORE, 140249701138432, 140249721602047, +STORE, 140249701130240, 140249721602047, +STORE, 140249700081664, 140249721602047, +STORE, 140249700073472, 140249721602047, +STORE, 33853440, 36978687, +STORE, 140249697976320, 140249721602047, +STORE, 33853440, 37240831, +STORE, 140249695879168, 140249721602047, +STORE, 140249695870976, 140249721602047, +STORE, 140249695862784, 140249721602047, +STORE, 140249695854592, 140249721602047, +STORE, 140249695326208, 140249721602047, +SNULL, 140249710600191, 140249721602047, +STORE, 140249695326208, 140249710600191, +STORE, 140249710600192, 140249721602047, +SNULL, 140249710600192, 140249710866431, +STORE, 140249710866432, 140249721602047, +STORE, 140249710600192, 140249710866431, +ERASE, 140249710600192, 140249710866431, +STORE, 140249691131904, 140249710600191, +STORE, 33853440, 37474303, +STORE, 140249710858240, 140249721602047, +STORE, 140249710850048, 140249721602047, +STORE, 140249710841856, 140249721602047, +STORE, 140249710833664, 140249721602047, +STORE, 140249710825472, 140249721602047, +STORE, 140249710817280, 140249721602047, +STORE, 140249710809088, 140249721602047, +STORE, 140249710800896, 140249721602047, +STORE, 140249710792704, 140249721602047, +STORE, 140249710784512, 140249721602047, +STORE, 140249710776320, 140249721602047, +STORE, 140249710768128, 140249721602047, +STORE, 140249710759936, 140249721602047, +STORE, 140249710751744, 140249721602047, +STORE, 140249710743552, 140249721602047, +STORE, 140249710735360, 140249721602047, +STORE, 140249689034752, 140249710600191, +STORE, 140249710727168, 140249721602047, +STORE, 140249686937600, 140249710600191, +STORE, 33853440, 37867519, +STORE, 140249684840448, 140249710600191, +STORE, 140249710718976, 140249721602047, +STORE, 140249682743296, 140249710600191, +STORE, 140249710710784, 140249721602047, +STORE, 140249710702592, 140249721602047, +STORE, 140249710694400, 140249721602047, +STORE, 140249710686208, 140249721602047, +STORE, 140249710678016, 140249721602047, +STORE, 140249682612224, 140249710600191, +STORE, 140249682087936, 140249710600191, +SNULL, 140249705619455, 140249710600191, +STORE, 140249682087936, 140249705619455, +STORE, 140249705619456, 140249710600191, +SNULL, 140249705619456, 140249705881599, +STORE, 140249705881600, 140249710600191, +STORE, 140249705619456, 140249705881599, +ERASE, 140249705619456, 140249705881599, +STORE, 140249679990784, 140249705619455, +STORE, 140249710669824, 140249721602047, +STORE, 140249677893632, 140249705619455, +STORE, 140249710653440, 140249721602047, +STORE, 140249710645248, 140249721602047, +STORE, 140249710637056, 140249721602047, +STORE, 140249710628864, 140249721602047, +STORE, 140249710620672, 140249721602047, +STORE, 140249710612480, 140249721602047, +STORE, 140249710604288, 140249721602047, +STORE, 140249705873408, 140249710600191, +STORE, 140249705865216, 140249710600191, +STORE, 140249705857024, 140249710600191, +STORE, 140249705848832, 140249710600191, +STORE, 140249705840640, 140249710600191, +STORE, 140249705832448, 140249710600191, +STORE, 140249705824256, 140249710600191, +STORE, 140249705816064, 140249710600191, +STORE, 140249705807872, 140249710600191, +STORE, 140249705799680, 140249710600191, +STORE, 33853440, 38129663, +SNULL, 140249744207872, 140249744367615, +STORE, 140249744367616, 140249744424959, +STORE, 140249744207872, 140249744367615, +ERASE, 140249744207872, 140249744367615, +STORE, 140249677606912, 140249705619455, +STORE, 140249675509760, 140249705619455, +SNULL, 140249677606911, 140249705619455, +STORE, 140249675509760, 140249677606911, +STORE, 140249677606912, 140249705619455, +SNULL, 140249677606912, 140249677893631, +STORE, 140249677893632, 140249705619455, +STORE, 140249677606912, 140249677893631, +ERASE, 140249677606912, 140249677893631, +STORE, 140249744359424, 140249744424959, +STORE, 33853440, 38391807, +STORE, 140249674981376, 140249677606911, +STORE, 140249672884224, 140249677606911, +SNULL, 140249719230463, 140249721602047, +STORE, 140249710604288, 140249719230463, +STORE, 140249719230464, 140249721602047, +SNULL, 140249719230464, 140249719504895, +STORE, 140249719504896, 140249721602047, +STORE, 140249719230464, 140249719504895, +ERASE, 140249719230464, 140249719504895, +STORE, 140249744351232, 140249744424959, +STORE, 140249744343040, 140249744424959, +STORE, 140249744334848, 140249744424959, +STORE, 140249744326656, 140249744424959, +STORE, 140249744310272, 140249744424959, +STORE, 140249744302080, 140249744424959, +STORE, 140249744285696, 140249744424959, +STORE, 140249744277504, 140249744424959, +STORE, 140249744261120, 140249744424959, +STORE, 140249744252928, 140249744424959, +STORE, 140249744220160, 140249744424959, +STORE, 140249744211968, 140249744424959, +STORE, 140249719488512, 140249721602047, +STORE, 140249744203776, 140249744424959, +STORE, 140249719472128, 140249721602047, +STORE, 140249719463936, 140249721602047, +STORE, 140249719447552, 140249721602047, +STORE, 140249719439360, 140249721602047, +STORE, 140249719406592, 140249721602047, +STORE, 140249719398400, 140249721602047, +STORE, 140249719382016, 140249721602047, +STORE, 140249719373824, 140249721602047, +STORE, 140249719357440, 140249721602047, +STORE, 140249719349248, 140249721602047, +STORE, 140249719332864, 140249721602047, +STORE, 140249719324672, 140249721602047, +STORE, 140249719291904, 140249721602047, +STORE, 140249719283712, 140249721602047, +STORE, 140249719267328, 140249721602047, +STORE, 140249719259136, 140249721602047, +STORE, 140249719242752, 140249721602047, +STORE, 140249719234560, 140249721602047, +STORE, 140249705783296, 140249710600191, +STORE, 140249705775104, 140249710600191, +STORE, 140249705742336, 140249710600191, +STORE, 140249705734144, 140249710600191, +STORE, 140249705717760, 140249710600191, +STORE, 140249670787072, 140249677606911, +STORE, 140249705709568, 140249710600191, +STORE, 140249705693184, 140249710600191, +STORE, 140249705684992, 140249710600191, +STORE, 140249705668608, 140249710600191, +STORE, 140249705660416, 140249710600191, +STORE, 140249705627648, 140249710600191, +STORE, 140249677893632, 140249710600191, +STORE, 140249677877248, 140249710600191, +STORE, 140249677869056, 140249710600191, +STORE, 140249677852672, 140249710600191, +STORE, 140249677844480, 140249710600191, +STORE, 140249677828096, 140249710600191, +STORE, 140249668689920, 140249677606911, +STORE, 140249677819904, 140249710600191, +STORE, 140249677787136, 140249710600191, +STORE, 140249677778944, 140249710600191, +STORE, 140249677762560, 140249710600191, +STORE, 140249677754368, 140249710600191, +STORE, 140249677737984, 140249710600191, +STORE, 140249677729792, 140249710600191, +STORE, 140249677713408, 140249710600191, +STORE, 140249677705216, 140249710600191, +STORE, 140249677672448, 140249710600191, +STORE, 140249677664256, 140249710600191, +STORE, 140249677647872, 140249710600191, +STORE, 140249677639680, 140249710600191, +STORE, 140249677623296, 140249710600191, +STORE, 140249677615104, 140249710600191, +STORE, 140249668673536, 140249677606911, +STORE, 140249668673536, 140249710600191, +STORE, 140249668640768, 140249710600191, +STORE, 140249668632576, 140249710600191, +STORE, 140249668616192, 140249710600191, +STORE, 140249668608000, 140249710600191, +STORE, 140249668591616, 140249710600191, +STORE, 140249668583424, 140249710600191, +STORE, 140249668567040, 140249710600191, +STORE, 140249668558848, 140249710600191, +STORE, 140249668526080, 140249710600191, +STORE, 140249668517888, 140249710600191, +STORE, 140249668501504, 140249710600191, +STORE, 140249668493312, 140249710600191, +STORE, 140249668476928, 140249710600191, +STORE, 140249668468736, 140249710600191, +STORE, 140249668452352, 140249710600191, +STORE, 140249668444160, 140249710600191, +STORE, 140249668411392, 140249710600191, +STORE, 140249668403200, 140249710600191, +STORE, 140249668386816, 140249710600191, +STORE, 140249668378624, 140249710600191, +STORE, 140249668362240, 140249710600191, +STORE, 140249668354048, 140249710600191, +STORE, 140249668337664, 140249710600191, +STORE, 140249668329472, 140249710600191, +STORE, 140249668296704, 140249710600191, +STORE, 140249668288512, 140249710600191, +STORE, 140249668272128, 140249710600191, +STORE, 140249668263936, 140249710600191, +STORE, 140249668247552, 140249710600191, +STORE, 140249668239360, 140249710600191, +STORE, 140249668222976, 140249710600191, +STORE, 140249668214784, 140249710600191, +STORE, 140249668182016, 140249710600191, +STORE, 140249668173824, 140249710600191, +STORE, 140249668157440, 140249710600191, +STORE, 140249668149248, 140249710600191, +STORE, 140249668132864, 140249710600191, +STORE, 140249668124672, 140249710600191, +STORE, 140249668108288, 140249710600191, +STORE, 140249668100096, 140249710600191, +STORE, 140249668067328, 140249710600191, +STORE, 140249668059136, 140249710600191, +STORE, 140249668042752, 140249710600191, +STORE, 140249668034560, 140249710600191, +STORE, 140249668018176, 140249710600191, +STORE, 140249668009984, 140249710600191, +STORE, 140249667993600, 140249710600191, +STORE, 140249667985408, 140249710600191, +STORE, 140249667952640, 140249710600191, +STORE, 140249667944448, 140249710600191, +STORE, 140249667928064, 140249710600191, +STORE, 140249667919872, 140249710600191, +STORE, 140249667903488, 140249710600191, +STORE, 140249667895296, 140249710600191, +STORE, 140249667878912, 140249710600191, +STORE, 140249667870720, 140249710600191, +STORE, 140249667837952, 140249710600191, +STORE, 140249667829760, 140249710600191, +STORE, 140249667813376, 140249710600191, +STORE, 140249667805184, 140249710600191, +STORE, 140249667788800, 140249710600191, +STORE, 140249667780608, 140249710600191, +STORE, 140249667764224, 140249710600191, +STORE, 140249667756032, 140249710600191, +STORE, 140249667723264, 140249710600191, +STORE, 140249667715072, 140249710600191, +STORE, 140249667698688, 140249710600191, +STORE, 140249667690496, 140249710600191, +STORE, 140249667674112, 140249710600191, +STORE, 140249667665920, 140249710600191, +STORE, 140249667649536, 140249710600191, +STORE, 140249667641344, 140249710600191, +STORE, 140249667608576, 140249710600191, +STORE, 140249667600384, 140249710600191, +STORE, 140249667584000, 140249710600191, +STORE, 140249667575808, 140249710600191, +STORE, 140249667559424, 140249710600191, +STORE, 140249667551232, 140249710600191, +STORE, 140249667534848, 140249710600191, +STORE, 140249667526656, 140249710600191, +STORE, 140249667493888, 140249710600191, +STORE, 140249667485696, 140249710600191, +STORE, 140249667469312, 140249710600191, +STORE, 140249667461120, 140249710600191, +STORE, 140249667444736, 140249710600191, +STORE, 140249667436544, 140249710600191, +STORE, 140249667420160, 140249710600191, +STORE, 140249665323008, 140249710600191, +STORE, 140249665314816, 140249710600191, +STORE, 140249665282048, 140249710600191, +STORE, 140249665273856, 140249710600191, +STORE, 140249665257472, 140249710600191, +STORE, 140249665249280, 140249710600191, +STORE, 140249665232896, 140249710600191, +STORE, 140249665224704, 140249710600191, +STORE, 140249665208320, 140249710600191, +STORE, 140249665200128, 140249710600191, +STORE, 140249665167360, 140249710600191, +STORE, 140249665159168, 140249710600191, +STORE, 140249665142784, 140249710600191, +STORE, 140249665134592, 140249710600191, +STORE, 140249665118208, 140249710600191, +STORE, 140249665110016, 140249710600191, +STORE, 140249665093632, 140249710600191, +STORE, 140249665085440, 140249710600191, +STORE, 140249665052672, 140249710600191, +STORE, 140249665044480, 140249710600191, +STORE, 140249665028096, 140249710600191, +STORE, 140249665019904, 140249710600191, +STORE, 140249665003520, 140249710600191, +STORE, 140249664995328, 140249710600191, +STORE, 140249664978944, 140249710600191, +STORE, 140249664970752, 140249710600191, +STORE, 140249664937984, 140249710600191, +STORE, 140249664929792, 140249710600191, +STORE, 140249664913408, 140249710600191, +STORE, 140249664905216, 140249710600191, +STORE, 140249664888832, 140249710600191, +STORE, 140249664880640, 140249710600191, +STORE, 140249664864256, 140249710600191, +STORE, 140249664856064, 140249710600191, +STORE, 140249664823296, 140249710600191, +STORE, 140249664815104, 140249710600191, +STORE, 140249664798720, 140249710600191, +STORE, 140249664790528, 140249710600191, +STORE, 140249664774144, 140249710600191, +STORE, 140249664765952, 140249710600191, +STORE, 140249664749568, 140249710600191, +STORE, 140249664741376, 140249710600191, +STORE, 140249664708608, 140249710600191, +STORE, 140249664700416, 140249710600191, +STORE, 140249664684032, 140249710600191, +STORE, 140249664675840, 140249710600191, +STORE, 140249664659456, 140249710600191, +STORE, 140249664651264, 140249710600191, +STORE, 140249664634880, 140249710600191, +STORE, 140249664626688, 140249710600191, +STORE, 140249664593920, 140249710600191, +STORE, 140249664585728, 140249710600191, +STORE, 140249664569344, 140249710600191, +STORE, 140249664561152, 140249710600191, +STORE, 140249664544768, 140249710600191, +STORE, 140249664536576, 140249710600191, +STORE, 140249664520192, 140249710600191, +STORE, 140249664512000, 140249710600191, +STORE, 140249664479232, 140249710600191, +STORE, 140249664471040, 140249710600191, +STORE, 140249664454656, 140249710600191, +STORE, 140249664446464, 140249710600191, +STORE, 140249664430080, 140249710600191, +STORE, 140249664421888, 140249710600191, +STORE, 140249664405504, 140249710600191, +STORE, 140249664397312, 140249710600191, +STORE, 140249664364544, 140249710600191, +STORE, 140249664356352, 140249710600191, +STORE, 140249664339968, 140249710600191, +STORE, 140249664331776, 140249710600191, +STORE, 140249664315392, 140249710600191, +STORE, 140249664307200, 140249710600191, +STORE, 140249664290816, 140249710600191, +STORE, 140249664282624, 140249710600191, +STORE, 140249664249856, 140249710600191, +STORE, 140249664241664, 140249710600191, +STORE, 140249664225280, 140249710600191, +STORE, 140249664217088, 140249710600191, +STORE, 140249664200704, 140249710600191, +STORE, 140249664192512, 140249710600191, +STORE, 140249664176128, 140249710600191, +STORE, 140249664167936, 140249710600191, +STORE, 140249664135168, 140249710600191, +STORE, 140249664126976, 140249710600191, +STORE, 140249664110592, 140249710600191, +STORE, 140249664102400, 140249710600191, +STORE, 140249664086016, 140249710600191, +STORE, 140249664077824, 140249710600191, +STORE, 140249664061440, 140249710600191, +STORE, 140249664053248, 140249710600191, +STORE, 140249664020480, 140249710600191, +STORE, 140249664012288, 140249710600191, +STORE, 140249663995904, 140249710600191, +STORE, 140249663987712, 140249710600191, +STORE, 140249663971328, 140249710600191, +STORE, 140249663963136, 140249710600191, +STORE, 140249663946752, 140249710600191, +STORE, 140249663938560, 140249710600191, +STORE, 140249663905792, 140249710600191, +STORE, 140249663897600, 140249710600191, +STORE, 140249663881216, 140249710600191, +STORE, 140249663873024, 140249710600191, +STORE, 140249663856640, 140249710600191, +STORE, 140249663848448, 140249710600191, +STORE, 140249663832064, 140249710600191, +STORE, 140249663823872, 140249710600191, +STORE, 140249663791104, 140249710600191, +STORE, 140249663782912, 140249710600191, +STORE, 140249663766528, 140249710600191, +STORE, 140249663758336, 140249710600191, +STORE, 140249663741952, 140249710600191, +STORE, 140249663733760, 140249710600191, +STORE, 140249663717376, 140249710600191, +STORE, 140249663709184, 140249710600191, +STORE, 140249663676416, 140249710600191, +STORE, 140249663668224, 140249710600191, +STORE, 140249663651840, 140249710600191, +STORE, 140249663643648, 140249710600191, +STORE, 140249663627264, 140249710600191, +STORE, 33853440, 38526975, +STORE, 140249663619072, 140249710600191, +STORE, 140249663602688, 140249710600191, +STORE, 140249661505536, 140249710600191, +STORE, 140249661497344, 140249710600191, +STORE, 140249661464576, 140249710600191, +STORE, 140249661456384, 140249710600191, +STORE, 140249661440000, 140249710600191, +STORE, 140249661431808, 140249710600191, +STORE, 140249661415424, 140249710600191, +STORE, 140249661407232, 140249710600191, +STORE, 140249661390848, 140249710600191, +STORE, 140249661382656, 140249710600191, +STORE, 140249661349888, 140249710600191, +STORE, 140249661341696, 140249710600191, +STORE, 140249661325312, 140249710600191, +STORE, 140249661317120, 140249710600191, +STORE, 140249661300736, 140249710600191, +STORE, 140249661292544, 140249710600191, +STORE, 140249661276160, 140249710600191, +STORE, 140249661267968, 140249710600191, +STORE, 140249661235200, 140249710600191, +STORE, 140249661227008, 140249710600191, +STORE, 140249661210624, 140249710600191, +STORE, 140249661202432, 140249710600191, +STORE, 140249661186048, 140249710600191, +STORE, 140249661177856, 140249710600191, +STORE, 140249661161472, 140249710600191, +STORE, 140249661153280, 140249710600191, +STORE, 140249661120512, 140249710600191, +STORE, 140249661112320, 140249710600191, +STORE, 140249661095936, 140249710600191, +STORE, 140249661087744, 140249710600191, +STORE, 140249661071360, 140249710600191, +STORE, 140249661063168, 140249710600191, +STORE, 140249661046784, 140249710600191, +STORE, 140249661038592, 140249710600191, +STORE, 140249661005824, 140249710600191, +STORE, 140249660997632, 140249710600191, +STORE, 140249660981248, 140249710600191, +STORE, 140249660973056, 140249710600191, +STORE, 140249660956672, 140249710600191, +STORE, 140249660948480, 140249710600191, +STORE, 140249660932096, 140249710600191, +STORE, 140249660923904, 140249710600191, +STORE, 140249660891136, 140249710600191, +STORE, 140249660882944, 140249710600191, +STORE, 140249660866560, 140249710600191, +STORE, 140249660858368, 140249710600191, +STORE, 140249660841984, 140249710600191, +STORE, 140249660833792, 140249710600191, +STORE, 140249660817408, 140249710600191, +STORE, 140249660809216, 140249710600191, +STORE, 140249660776448, 140249710600191, +STORE, 140249660768256, 140249710600191, +STORE, 140249660751872, 140249710600191, +STORE, 140249660743680, 140249710600191, +STORE, 140249660727296, 140249710600191, +STORE, 140249660719104, 140249710600191, +STORE, 140249660702720, 140249710600191, +STORE, 140249660694528, 140249710600191, +STORE, 140249660661760, 140249710600191, +STORE, 140249660653568, 140249710600191, +STORE, 140249660637184, 140249710600191, +STORE, 140249660628992, 140249710600191, +STORE, 140249660612608, 140249710600191, +STORE, 140249660604416, 140249710600191, +STORE, 140249660588032, 140249710600191, +STORE, 140249660579840, 140249710600191, +STORE, 140249660547072, 140249710600191, +STORE, 140249660538880, 140249710600191, +STORE, 140249660522496, 140249710600191, +STORE, 140249660514304, 140249710600191, +STORE, 140249660497920, 140249710600191, +STORE, 140249660489728, 140249710600191, +STORE, 140249660473344, 140249710600191, +STORE, 140249660465152, 140249710600191, +STORE, 140249660432384, 140249710600191, +STORE, 140249660424192, 140249710600191, +STORE, 140249660407808, 140249710600191, +STORE, 140249660399616, 140249710600191, +STORE, 140249660383232, 140249710600191, +STORE, 140249660375040, 140249710600191, +STORE, 140249660358656, 140249710600191, +STORE, 140249660350464, 140249710600191, +STORE, 140249660317696, 140249710600191, +STORE, 140249660309504, 140249710600191, +STORE, 140249660293120, 140249710600191, +STORE, 140249660284928, 140249710600191, +STORE, 140249660268544, 140249710600191, +STORE, 140249660260352, 140249710600191, +STORE, 140249660243968, 140249710600191, +STORE, 140249660235776, 140249710600191, +STORE, 140249660203008, 140249710600191, +STORE, 140249660194816, 140249710600191, +STORE, 140249660178432, 140249710600191, +STORE, 140249660170240, 140249710600191, +STORE, 140249660153856, 140249710600191, +STORE, 140249660145664, 140249710600191, +STORE, 140249660129280, 140249710600191, +STORE, 140249660121088, 140249710600191, +STORE, 140249660088320, 140249710600191, +STORE, 140249660080128, 140249710600191, +STORE, 140249660063744, 140249710600191, +STORE, 140249660055552, 140249710600191, +STORE, 140249660039168, 140249710600191, +STORE, 140249660030976, 140249710600191, +STORE, 140249660014592, 140249710600191, +STORE, 140249660006400, 140249710600191, +STORE, 140249659973632, 140249710600191, +STORE, 140249659965440, 140249710600191, +STORE, 140249659949056, 140249710600191, +STORE, 140249659940864, 140249710600191, +STORE, 140249659924480, 140249710600191, +STORE, 140249659916288, 140249710600191, +STORE, 140249659899904, 140249710600191, +STORE, 140249659891712, 140249710600191, +STORE, 140249659858944, 140249710600191, +STORE, 140249659850752, 140249710600191, +STORE, 140249659834368, 140249710600191, +STORE, 140249659826176, 140249710600191, +STORE, 140249659809792, 140249710600191, +STORE, 140249659801600, 140249710600191, +STORE, 140249659785216, 140249710600191, +STORE, 140249657688064, 140249710600191, +STORE, 140249657679872, 140249710600191, +STORE, 140249657647104, 140249710600191, +STORE, 140249657638912, 140249710600191, +STORE, 140249657622528, 140249710600191, +STORE, 140249657614336, 140249710600191, +STORE, 140249657597952, 140249710600191, +STORE, 140249657589760, 140249710600191, +STORE, 140249657573376, 140249710600191, +STORE, 140249657565184, 140249710600191, +STORE, 140249657532416, 140249710600191, +STORE, 140249657524224, 140249710600191, +STORE, 140249657507840, 140249710600191, +STORE, 140249657499648, 140249710600191, +STORE, 140249657483264, 140249710600191, +STORE, 140249657475072, 140249710600191, +STORE, 140249657458688, 140249710600191, +STORE, 140249657450496, 140249710600191, +STORE, 140249657417728, 140249710600191, +STORE, 140249657409536, 140249710600191, +STORE, 140249657393152, 140249710600191, +STORE, 140249657384960, 140249710600191, +STORE, 140249657368576, 140249710600191, +STORE, 140249657360384, 140249710600191, +STORE, 140249657344000, 140249710600191, +STORE, 140249657335808, 140249710600191, +STORE, 140249657303040, 140249710600191, +STORE, 140249657294848, 140249710600191, +STORE, 140249657278464, 140249710600191, +STORE, 140249657270272, 140249710600191, +STORE, 140249657253888, 140249710600191, +STORE, 140249657245696, 140249710600191, +STORE, 140249657229312, 140249710600191, +STORE, 140249657221120, 140249710600191, +STORE, 140249657188352, 140249710600191, +STORE, 140249657180160, 140249710600191, +STORE, 140249657163776, 140249710600191, +STORE, 140249657155584, 140249710600191, +STORE, 140249657139200, 140249710600191, +STORE, 140249657131008, 140249710600191, +STORE, 140249657114624, 140249710600191, +STORE, 140249657106432, 140249710600191, +STORE, 140249657073664, 140249710600191, +STORE, 140249657065472, 140249710600191, +STORE, 140249657049088, 140249710600191, +STORE, 140249657040896, 140249710600191, +STORE, 140249657024512, 140249710600191, +STORE, 140249657016320, 140249710600191, +STORE, 140249656999936, 140249710600191, +STORE, 140249656991744, 140249710600191, +STORE, 140249656958976, 140249710600191, +STORE, 140249656950784, 140249710600191, +STORE, 140249656934400, 140249710600191, +STORE, 140249656926208, 140249710600191, +STORE, 140249656909824, 140249710600191, +STORE, 140249656901632, 140249710600191, +STORE, 140249656885248, 140249710600191, +STORE, 140249656877056, 140249710600191, +STORE, 140249656844288, 140249710600191, +STORE, 140249656836096, 140249710600191, +STORE, 140249656819712, 140249710600191, +STORE, 140249656811520, 140249710600191, +STORE, 140249656795136, 140249710600191, +STORE, 33853440, 38662143, +STORE, 140249656786944, 140249710600191, +STORE, 140249656770560, 140249710600191, +STORE, 140249656762368, 140249710600191, +STORE, 140249656729600, 140249710600191, +STORE, 140249656721408, 140249710600191, +STORE, 140249656705024, 140249710600191, +STORE, 140249656696832, 140249710600191, +STORE, 140249656680448, 140249710600191, +STORE, 140249656672256, 140249710600191, +STORE, 140249656655872, 140249710600191, +STORE, 140249656647680, 140249710600191, +STORE, 140249656614912, 140249710600191, +STORE, 140249656606720, 140249710600191, +STORE, 140249656590336, 140249710600191, +STORE, 140249656582144, 140249710600191, +STORE, 140249656565760, 140249710600191, +STORE, 140249656557568, 140249710600191, +STORE, 140249656541184, 140249710600191, +STORE, 140249656532992, 140249710600191, +STORE, 140249656500224, 140249710600191, +STORE, 140249656492032, 140249710600191, +STORE, 140249656475648, 140249710600191, +STORE, 140249656467456, 140249710600191, +STORE, 140249656451072, 140249710600191, +STORE, 140249656442880, 140249710600191, +STORE, 140249656426496, 140249710600191, +STORE, 140249656418304, 140249710600191, +STORE, 140249656385536, 140249710600191, +STORE, 140249656377344, 140249710600191, +STORE, 140249656360960, 140249710600191, +STORE, 140249656352768, 140249710600191, +STORE, 140249656336384, 140249710600191, +STORE, 140249656328192, 140249710600191, +STORE, 140249656311808, 140249710600191, +STORE, 140249656303616, 140249710600191, +STORE, 140249656270848, 140249710600191, +STORE, 140249656262656, 140249710600191, +STORE, 140249656246272, 140249710600191, +STORE, 140249656238080, 140249710600191, +STORE, 140249656221696, 140249710600191, +STORE, 140249656213504, 140249710600191, +STORE, 140249656197120, 140249710600191, +STORE, 140249656188928, 140249710600191, +STORE, 140249656156160, 140249710600191, +STORE, 140249656147968, 140249710600191, +STORE, 140249656131584, 140249710600191, +STORE, 140249656123392, 140249710600191, +STORE, 140249656107008, 140249710600191, +STORE, 140249656098816, 140249710600191, +STORE, 140249656082432, 140249710600191, +STORE, 140249656074240, 140249710600191, +STORE, 140249656041472, 140249710600191, +STORE, 140249656033280, 140249710600191, +STORE, 140249656016896, 140249710600191, +STORE, 140249656008704, 140249710600191, +STORE, 140249655992320, 140249710600191, +STORE, 140249655984128, 140249710600191, +STORE, 140249655967744, 140249710600191, +STORE, 140249653870592, 140249710600191, +STORE, 140249653862400, 140249710600191, +STORE, 140249653829632, 140249710600191, +STORE, 140249653821440, 140249710600191, +STORE, 140249653805056, 140249710600191, +STORE, 140249653796864, 140249710600191, +STORE, 140249653780480, 140249710600191, +STORE, 140249653772288, 140249710600191, +STORE, 140249653755904, 140249710600191, +STORE, 140249652703232, 140249710600191, +SNULL, 140249682087935, 140249710600191, +STORE, 140249652703232, 140249682087935, +STORE, 140249682087936, 140249710600191, + }; + + unsigned long set26[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140729464770560, 140737488351231, +SNULL, 140729464774655, 140737488351231, +STORE, 140729464770560, 140729464774655, +STORE, 140729464639488, 140729464774655, +STORE, 4194304, 5066751, +STORE, 7159808, 7172095, +STORE, 7172096, 7180287, +STORE, 140729465114624, 140729465118719, +STORE, 140729465102336, 140729465114623, +STORE, 30867456, 30875647, +STORE, 30867456, 31010815, +STORE, 140109040988160, 140109042671615, +STORE, 140109040959488, 140109040988159, +STORE, 140109040943104, 140109040959487, +ERASE, 140109040943104, 140109040959487, +STORE, 140109040840704, 140109040959487, +ERASE, 140109040840704, 140109040959487, +STORE, 140109040951296, 140109040959487, +ERASE, 140109040951296, 140109040959487, +STORE, 140109040955392, 140109040959487, +ERASE, 140109040955392, 140109040959487, + }; + unsigned long set27[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140726128070656, 140737488351231, +SNULL, 140726128074751, 140737488351231, +STORE, 140726128070656, 140726128074751, +STORE, 140726127939584, 140726128074751, +STORE, 94478497189888, 94478499303423, +SNULL, 94478497202175, 94478499303423, +STORE, 94478497189888, 94478497202175, +STORE, 94478497202176, 94478499303423, +ERASE, 94478497202176, 94478499303423, +STORE, 94478499295232, 94478499303423, +STORE, 140415605723136, 140415607975935, +SNULL, 140415605866495, 140415607975935, +STORE, 140415605723136, 140415605866495, +STORE, 140415605866496, 140415607975935, +ERASE, 140415605866496, 140415607975935, +STORE, 140415607963648, 140415607971839, +STORE, 140415607971840, 140415607975935, +STORE, 140726130024448, 140726130028543, +STORE, 140726130012160, 140726130024447, +STORE, 140415607934976, 140415607963647, +STORE, 140415607926784, 140415607934975, +STORE, 140415603245056, 140415605723135, +SNULL, 140415603245056, 140415603613695, +STORE, 140415603613696, 140415605723135, +STORE, 140415603245056, 140415603613695, +SNULL, 140415605710847, 140415605723135, +STORE, 140415603613696, 140415605710847, +STORE, 140415605710848, 140415605723135, +ERASE, 140415605710848, 140415605723135, +STORE, 140415605710848, 140415605723135, +STORE, 140415599370240, 140415603245055, +SNULL, 140415599370240, 140415601111039, +STORE, 140415601111040, 140415603245055, +STORE, 140415599370240, 140415601111039, +SNULL, 140415603208191, 140415603245055, +STORE, 140415601111040, 140415603208191, +STORE, 140415603208192, 140415603245055, +ERASE, 140415603208192, 140415603245055, +STORE, 140415603208192, 140415603245055, +STORE, 140415595692032, 140415599370239, +SNULL, 140415595692032, 140415597207551, +STORE, 140415597207552, 140415599370239, +STORE, 140415595692032, 140415597207551, +SNULL, 140415599304703, 140415599370239, +STORE, 140415597207552, 140415599304703, +STORE, 140415599304704, 140415599370239, +SNULL, 140415599304704, 140415599353855, +STORE, 140415599353856, 140415599370239, +STORE, 140415599304704, 140415599353855, +ERASE, 140415599304704, 140415599353855, +STORE, 140415599304704, 140415599353855, +ERASE, 140415599353856, 140415599370239, +STORE, 140415599353856, 140415599370239, +STORE, 140415593500672, 140415595692031, +SNULL, 140415593500672, 140415593590783, +STORE, 140415593590784, 140415595692031, +STORE, 140415593500672, 140415593590783, +SNULL, 140415595683839, 140415595692031, +STORE, 140415593590784, 140415595683839, +STORE, 140415595683840, 140415595692031, +ERASE, 140415595683840, 140415595692031, +STORE, 140415595683840, 140415595692031, +STORE, 140415589703680, 140415593500671, +SNULL, 140415589703680, 140415591362559, +STORE, 140415591362560, 140415593500671, +STORE, 140415589703680, 140415591362559, +SNULL, 140415593459711, 140415593500671, +STORE, 140415591362560, 140415593459711, +STORE, 140415593459712, 140415593500671, +SNULL, 140415593459712, 140415593484287, +STORE, 140415593484288, 140415593500671, +STORE, 140415593459712, 140415593484287, +ERASE, 140415593459712, 140415593484287, +STORE, 140415593459712, 140415593484287, +ERASE, 140415593484288, 140415593500671, +STORE, 140415593484288, 140415593500671, +STORE, 140415587590144, 140415589703679, +SNULL, 140415587590144, 140415587602431, +STORE, 140415587602432, 140415589703679, +STORE, 140415587590144, 140415587602431, +SNULL, 140415589695487, 140415589703679, +STORE, 140415587602432, 140415589695487, +STORE, 140415589695488, 140415589703679, +ERASE, 140415589695488, 140415589703679, +STORE, 140415589695488, 140415589703679, +STORE, 140415607918592, 140415607934975, +STORE, 140415585398784, 140415587590143, +SNULL, 140415585398784, 140415585480703, +STORE, 140415585480704, 140415587590143, +STORE, 140415585398784, 140415585480703, +SNULL, 140415587573759, 140415587590143, +STORE, 140415585480704, 140415587573759, +STORE, 140415587573760, 140415587590143, +SNULL, 140415587573760, 140415587581951, +STORE, 140415587581952, 140415587590143, +STORE, 140415587573760, 140415587581951, +ERASE, 140415587573760, 140415587581951, +STORE, 140415587573760, 140415587581951, +ERASE, 140415587581952, 140415587590143, +STORE, 140415587581952, 140415587590143, +STORE, 140415583182848, 140415585398783, +SNULL, 140415583182848, 140415583281151, +STORE, 140415583281152, 140415585398783, +STORE, 140415583182848, 140415583281151, +SNULL, 140415585374207, 140415585398783, +STORE, 140415583281152, 140415585374207, +STORE, 140415585374208, 140415585398783, +SNULL, 140415585374208, 140415585382399, +STORE, 140415585382400, 140415585398783, +STORE, 140415585374208, 140415585382399, +ERASE, 140415585374208, 140415585382399, +STORE, 140415585374208, 140415585382399, +ERASE, 140415585382400, 140415585398783, +STORE, 140415585382400, 140415585398783, +STORE, 140415580979200, 140415583182847, +SNULL, 140415580979200, 140415581081599, +STORE, 140415581081600, 140415583182847, +STORE, 140415580979200, 140415581081599, +SNULL, 140415583174655, 140415583182847, +STORE, 140415581081600, 140415583174655, +STORE, 140415583174656, 140415583182847, +ERASE, 140415583174656, 140415583182847, +STORE, 140415583174656, 140415583182847, +STORE, 140415578816512, 140415580979199, +SNULL, 140415578816512, 140415578877951, +STORE, 140415578877952, 140415580979199, +STORE, 140415578816512, 140415578877951, +SNULL, 140415580971007, 140415580979199, +STORE, 140415578877952, 140415580971007, +STORE, 140415580971008, 140415580979199, +ERASE, 140415580971008, 140415580979199, +STORE, 140415580971008, 140415580979199, +STORE, 140415576563712, 140415578816511, +SNULL, 140415576563712, 140415576715263, +STORE, 140415576715264, 140415578816511, +STORE, 140415576563712, 140415576715263, +SNULL, 140415578808319, 140415578816511, +STORE, 140415576715264, 140415578808319, +STORE, 140415578808320, 140415578816511, +ERASE, 140415578808320, 140415578816511, +STORE, 140415578808320, 140415578816511, +STORE, 140415574392832, 140415576563711, +SNULL, 140415574392832, 140415574462463, +STORE, 140415574462464, 140415576563711, +STORE, 140415574392832, 140415574462463, +SNULL, 140415576555519, 140415576563711, +STORE, 140415574462464, 140415576555519, +STORE, 140415576555520, 140415576563711, +ERASE, 140415576555520, 140415576563711, +STORE, 140415576555520, 140415576563711, +STORE, 140415607910400, 140415607934975, +STORE, 140415571230720, 140415574392831, +SNULL, 140415571230720, 140415572291583, +STORE, 140415572291584, 140415574392831, +STORE, 140415571230720, 140415572291583, +SNULL, 140415574384639, 140415574392831, +STORE, 140415572291584, 140415574384639, +STORE, 140415574384640, 140415574392831, +ERASE, 140415574384640, 140415574392831, +STORE, 140415574384640, 140415574392831, +STORE, 140415607902208, 140415607934975, +SNULL, 140415593476095, 140415593484287, +STORE, 140415593459712, 140415593476095, +STORE, 140415593476096, 140415593484287, +SNULL, 140415574388735, 140415574392831, +STORE, 140415574384640, 140415574388735, +STORE, 140415574388736, 140415574392831, +SNULL, 140415576559615, 140415576563711, +STORE, 140415576555520, 140415576559615, +STORE, 140415576559616, 140415576563711, +SNULL, 140415589699583, 140415589703679, +STORE, 140415589695488, 140415589699583, +STORE, 140415589699584, 140415589703679, +SNULL, 140415585378303, 140415585382399, +STORE, 140415585374208, 140415585378303, +STORE, 140415585378304, 140415585382399, +SNULL, 140415578812415, 140415578816511, +STORE, 140415578808320, 140415578812415, +STORE, 140415578812416, 140415578816511, +SNULL, 140415580975103, 140415580979199, +STORE, 140415580971008, 140415580975103, +STORE, 140415580975104, 140415580979199, +SNULL, 140415583178751, 140415583182847, +STORE, 140415583174656, 140415583178751, +STORE, 140415583178752, 140415583182847, +SNULL, 140415587577855, 140415587581951, +STORE, 140415587573760, 140415587577855, +STORE, 140415587577856, 140415587581951, +SNULL, 140415595687935, 140415595692031, +STORE, 140415595683840, 140415595687935, +STORE, 140415595687936, 140415595692031, +STORE, 140415607894016, 140415607934975, +SNULL, 140415599345663, 140415599353855, +STORE, 140415599304704, 140415599345663, +STORE, 140415599345664, 140415599353855, +SNULL, 140415603240959, 140415603245055, +STORE, 140415603208192, 140415603240959, +STORE, 140415603240960, 140415603245055, +SNULL, 140415605719039, 140415605723135, +STORE, 140415605710848, 140415605719039, +STORE, 140415605719040, 140415605723135, +SNULL, 94478499299327, 94478499303423, +STORE, 94478499295232, 94478499299327, +STORE, 94478499299328, 94478499303423, +SNULL, 140415607967743, 140415607971839, +STORE, 140415607963648, 140415607967743, +STORE, 140415607967744, 140415607971839, +ERASE, 140415607934976, 140415607963647, +STORE, 94478511173632, 94478511378431, +STORE, 140415606210560, 140415607894015, +STORE, 140415607934976, 140415607963647, +STORE, 94478511173632, 94478511513599, +STORE, 94478511173632, 94478511648767, +SNULL, 94478511615999, 94478511648767, +STORE, 94478511173632, 94478511615999, +STORE, 94478511616000, 94478511648767, +ERASE, 94478511616000, 94478511648767, +STORE, 94478511173632, 94478511751167, +SNULL, 94478511747071, 94478511751167, +STORE, 94478511173632, 94478511747071, +STORE, 94478511747072, 94478511751167, +ERASE, 94478511747072, 94478511751167, +STORE, 94478511173632, 94478511882239, +SNULL, 94478511878143, 94478511882239, +STORE, 94478511173632, 94478511878143, +STORE, 94478511878144, 94478511882239, +ERASE, 94478511878144, 94478511882239, +STORE, 94478511173632, 94478512013311, +SNULL, 94478512009215, 94478512013311, +STORE, 94478511173632, 94478512009215, +STORE, 94478512009216, 94478512013311, +ERASE, 94478512009216, 94478512013311, +STORE, 94478511173632, 94478512144383, +STORE, 94478511173632, 94478512279551, +STORE, 140415606181888, 140415606210559, +STORE, 140415569100800, 140415571230719, +SNULL, 140415569100800, 140415569129471, +STORE, 140415569129472, 140415571230719, +STORE, 140415569100800, 140415569129471, +SNULL, 140415571222527, 140415571230719, +STORE, 140415569129472, 140415571222527, +STORE, 140415571222528, 140415571230719, +ERASE, 140415571222528, 140415571230719, +STORE, 140415571222528, 140415571230719, +STORE, 140415566905344, 140415569100799, +SNULL, 140415566905344, 140415566987263, +STORE, 140415566987264, 140415569100799, +STORE, 140415566905344, 140415566987263, +SNULL, 140415569084415, 140415569100799, +STORE, 140415566987264, 140415569084415, +STORE, 140415569084416, 140415569100799, +SNULL, 140415569084416, 140415569092607, +STORE, 140415569092608, 140415569100799, +STORE, 140415569084416, 140415569092607, +ERASE, 140415569084416, 140415569092607, +STORE, 140415569084416, 140415569092607, +ERASE, 140415569092608, 140415569100799, +STORE, 140415569092608, 140415569100799, +SNULL, 140415569088511, 140415569092607, +STORE, 140415569084416, 140415569088511, +STORE, 140415569088512, 140415569092607, +SNULL, 140415571226623, 140415571230719, +STORE, 140415571222528, 140415571226623, +STORE, 140415571226624, 140415571230719, +ERASE, 140415606181888, 140415606210559, +STORE, 140415606181888, 140415606210559, +STORE, 140415564759040, 140415566905343, +SNULL, 140415564759040, 140415564804095, +STORE, 140415564804096, 140415566905343, +STORE, 140415564759040, 140415564804095, +SNULL, 140415566897151, 140415566905343, +STORE, 140415564804096, 140415566897151, +STORE, 140415566897152, 140415566905343, +ERASE, 140415566897152, 140415566905343, +STORE, 140415566897152, 140415566905343, +STORE, 140415562588160, 140415564759039, +SNULL, 140415562588160, 140415562629119, +STORE, 140415562629120, 140415564759039, +STORE, 140415562588160, 140415562629119, +SNULL, 140415564726271, 140415564759039, +STORE, 140415562629120, 140415564726271, +STORE, 140415564726272, 140415564759039, +SNULL, 140415564726272, 140415564734463, +STORE, 140415564734464, 140415564759039, +STORE, 140415564726272, 140415564734463, +ERASE, 140415564726272, 140415564734463, +STORE, 140415564726272, 140415564734463, +ERASE, 140415564734464, 140415564759039, +STORE, 140415564734464, 140415564759039, +SNULL, 140415564730367, 140415564734463, +STORE, 140415564726272, 140415564730367, +STORE, 140415564730368, 140415564734463, +SNULL, 140415566901247, 140415566905343, +STORE, 140415566897152, 140415566901247, +STORE, 140415566901248, 140415566905343, +ERASE, 140415606181888, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415605944320, 140415606210559, +ERASE, 140415605944320, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 94478511173632, 94478512414719, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 140415606206464, 140415606210559, +ERASE, 140415606206464, 140415606210559, +STORE, 94478511173632, 94478512652287, +STORE, 94478511173632, 94478512787455, +STORE, 94478511173632, 94478512922623, +STORE, 94478511173632, 94478513057791, +STORE, 140415537422336, 140415562588159, +STORE, 94478511173632, 94478513192959, +STORE, 94478511173632, 94478513356799, +STORE, 94478511173632, 94478513491967, +STORE, 94478511173632, 94478513627135, +STORE, 94478511173632, 94478513790975, +STORE, 94478511173632, 94478513926143, +STORE, 94478511173632, 94478514061311, +STORE, 94478511173632, 94478514196479, +STORE, 94478511173632, 94478514331647, +STORE, 94478511173632, 94478514606079, +STORE, 94478511173632, 94478514741247, +STORE, 94478511173632, 94478514876415, +STORE, 94478511173632, 94478515011583, +STORE, 94478511173632, 94478515146751, +STORE, 94478511173632, 94478515281919, +STORE, 94478511173632, 94478515474431, +STORE, 94478511173632, 94478515609599, +STORE, 94478511173632, 94478515744767, +STORE, 140415536922624, 140415562588159, +STORE, 94478511173632, 94478515879935, +STORE, 94478511173632, 94478516015103, +STORE, 94478511173632, 94478516150271, +STORE, 94478511173632, 94478516285439, +STORE, 94478511173632, 94478516420607, +STORE, 94478511173632, 94478516555775, +STORE, 94478511173632, 94478516690943, +STORE, 94478511173632, 94478516826111, +STORE, 94478511173632, 94478516961279, +STORE, 94478511173632, 94478517231615, +STORE, 94478511173632, 94478517366783, +STORE, 94478511173632, 94478517501951, +STORE, 94478511173632, 94478517637119, +STORE, 94478511173632, 94478517772287, +STORE, 94478511173632, 94478517907455, +STORE, 94478511173632, 94478518042623, +STORE, 94478511173632, 94478518177791, +STORE, 94478511173632, 94478518312959, +STORE, 94478511173632, 94478518448127, +STORE, 140415535910912, 140415562588159, +SNULL, 140415536922623, 140415562588159, +STORE, 140415535910912, 140415536922623, +STORE, 140415536922624, 140415562588159, +SNULL, 140415536922624, 140415537422335, +STORE, 140415537422336, 140415562588159, +STORE, 140415536922624, 140415537422335, +ERASE, 140415536922624, 140415537422335, +STORE, 94478511173632, 94478518583295, +STORE, 94478511173632, 94478518718463, +STORE, 94478511173632, 94478518853631, +STORE, 94478511173632, 94478518988799, +STORE, 94478511173632, 94478519123967, +STORE, 94478511173632, 94478519259135, +STORE, 140415509696512, 140415535910911, +ERASE, 140415537422336, 140415562588159, +STORE, 140415482433536, 140415509696511, + }; + unsigned long set28[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140722475622400, 140737488351231, +SNULL, 140722475626495, 140737488351231, +STORE, 140722475622400, 140722475626495, +STORE, 140722475491328, 140722475626495, +STORE, 93865834291200, 93865836548095, +SNULL, 93865834422271, 93865836548095, +STORE, 93865834291200, 93865834422271, +STORE, 93865834422272, 93865836548095, +ERASE, 93865834422272, 93865836548095, +STORE, 93865836519424, 93865836527615, +STORE, 93865836527616, 93865836548095, +STORE, 139918411104256, 139918413357055, +SNULL, 139918411247615, 139918413357055, +STORE, 139918411104256, 139918411247615, +STORE, 139918411247616, 139918413357055, +ERASE, 139918411247616, 139918413357055, +STORE, 139918413344768, 139918413352959, +STORE, 139918413352960, 139918413357055, +STORE, 140722476642304, 140722476646399, +STORE, 140722476630016, 140722476642303, +STORE, 139918413316096, 139918413344767, +STORE, 139918413307904, 139918413316095, +STORE, 139918408888320, 139918411104255, +SNULL, 139918408888320, 139918408986623, +STORE, 139918408986624, 139918411104255, +STORE, 139918408888320, 139918408986623, +SNULL, 139918411079679, 139918411104255, +STORE, 139918408986624, 139918411079679, +STORE, 139918411079680, 139918411104255, +SNULL, 139918411079680, 139918411087871, +STORE, 139918411087872, 139918411104255, +STORE, 139918411079680, 139918411087871, +ERASE, 139918411079680, 139918411087871, +STORE, 139918411079680, 139918411087871, +ERASE, 139918411087872, 139918411104255, +STORE, 139918411087872, 139918411104255, +STORE, 139918405091328, 139918408888319, +SNULL, 139918405091328, 139918406750207, +STORE, 139918406750208, 139918408888319, +STORE, 139918405091328, 139918406750207, +SNULL, 139918408847359, 139918408888319, +STORE, 139918406750208, 139918408847359, +STORE, 139918408847360, 139918408888319, +SNULL, 139918408847360, 139918408871935, +STORE, 139918408871936, 139918408888319, +STORE, 139918408847360, 139918408871935, +ERASE, 139918408847360, 139918408871935, +STORE, 139918408847360, 139918408871935, +ERASE, 139918408871936, 139918408888319, +STORE, 139918408871936, 139918408888319, +STORE, 139918413299712, 139918413316095, +SNULL, 139918408863743, 139918408871935, +STORE, 139918408847360, 139918408863743, +STORE, 139918408863744, 139918408871935, +SNULL, 139918411083775, 139918411087871, +STORE, 139918411079680, 139918411083775, +STORE, 139918411083776, 139918411087871, +SNULL, 93865836523519, 93865836527615, +STORE, 93865836519424, 93865836523519, +STORE, 93865836523520, 93865836527615, +SNULL, 139918413348863, 139918413352959, +STORE, 139918413344768, 139918413348863, +STORE, 139918413348864, 139918413352959, +ERASE, 139918413316096, 139918413344767, +STORE, 93865848528896, 93865848664063, + }; + unsigned long set29[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140734467944448, 140737488351231, +SNULL, 140734467948543, 140737488351231, +STORE, 140734467944448, 140734467948543, +STORE, 140734467813376, 140734467948543, +STORE, 94880407924736, 94880410177535, +SNULL, 94880408055807, 94880410177535, +STORE, 94880407924736, 94880408055807, +STORE, 94880408055808, 94880410177535, +ERASE, 94880408055808, 94880410177535, +STORE, 94880410148864, 94880410157055, +STORE, 94880410157056, 94880410177535, +STORE, 140143367815168, 140143370067967, +SNULL, 140143367958527, 140143370067967, +STORE, 140143367815168, 140143367958527, +STORE, 140143367958528, 140143370067967, +ERASE, 140143367958528, 140143370067967, +STORE, 140143370055680, 140143370063871, +STORE, 140143370063872, 140143370067967, +STORE, 140734468329472, 140734468333567, +STORE, 140734468317184, 140734468329471, +STORE, 140143370027008, 140143370055679, +STORE, 140143370018816, 140143370027007, +STORE, 140143365599232, 140143367815167, +SNULL, 140143365599232, 140143365697535, +STORE, 140143365697536, 140143367815167, +STORE, 140143365599232, 140143365697535, +SNULL, 140143367790591, 140143367815167, +STORE, 140143365697536, 140143367790591, +STORE, 140143367790592, 140143367815167, +SNULL, 140143367790592, 140143367798783, +STORE, 140143367798784, 140143367815167, +STORE, 140143367790592, 140143367798783, +ERASE, 140143367790592, 140143367798783, +STORE, 140143367790592, 140143367798783, +ERASE, 140143367798784, 140143367815167, +STORE, 140143367798784, 140143367815167, +STORE, 140143361802240, 140143365599231, +SNULL, 140143361802240, 140143363461119, +STORE, 140143363461120, 140143365599231, +STORE, 140143361802240, 140143363461119, +SNULL, 140143365558271, 140143365599231, +STORE, 140143363461120, 140143365558271, +STORE, 140143365558272, 140143365599231, +SNULL, 140143365558272, 140143365582847, +STORE, 140143365582848, 140143365599231, +STORE, 140143365558272, 140143365582847, +ERASE, 140143365558272, 140143365582847, +STORE, 140143365558272, 140143365582847, +ERASE, 140143365582848, 140143365599231, +STORE, 140143365582848, 140143365599231, +STORE, 140143370010624, 140143370027007, +SNULL, 140143365574655, 140143365582847, +STORE, 140143365558272, 140143365574655, +STORE, 140143365574656, 140143365582847, +SNULL, 140143367794687, 140143367798783, +STORE, 140143367790592, 140143367794687, +STORE, 140143367794688, 140143367798783, +SNULL, 94880410152959, 94880410157055, +STORE, 94880410148864, 94880410152959, +STORE, 94880410152960, 94880410157055, +SNULL, 140143370059775, 140143370063871, +STORE, 140143370055680, 140143370059775, +STORE, 140143370059776, 140143370063871, +ERASE, 140143370027008, 140143370055679, +STORE, 94880442400768, 94880442535935, +STORE, 140143353409536, 140143361802239, +SNULL, 140143353413631, 140143361802239, +STORE, 140143353409536, 140143353413631, +STORE, 140143353413632, 140143361802239, +STORE, 140143345016832, 140143353409535, +STORE, 140143210799104, 140143345016831, +SNULL, 140143210799104, 140143239364607, +STORE, 140143239364608, 140143345016831, +STORE, 140143210799104, 140143239364607, +ERASE, 140143210799104, 140143239364607, +SNULL, 140143306473471, 140143345016831, +STORE, 140143239364608, 140143306473471, +STORE, 140143306473472, 140143345016831, +ERASE, 140143306473472, 140143345016831, +SNULL, 140143239499775, 140143306473471, +STORE, 140143239364608, 140143239499775, +STORE, 140143239499776, 140143306473471, +SNULL, 140143345020927, 140143353409535, +STORE, 140143345016832, 140143345020927, +STORE, 140143345020928, 140143353409535, +STORE, 140143336624128, 140143345016831, +SNULL, 140143336628223, 140143345016831, +STORE, 140143336624128, 140143336628223, +STORE, 140143336628224, 140143345016831, +STORE, 140143328231424, 140143336624127, +SNULL, 140143328235519, 140143336624127, +STORE, 140143328231424, 140143328235519, +STORE, 140143328235520, 140143336624127, +STORE, 140143319838720, 140143328231423, +SNULL, 140143319842815, 140143328231423, +STORE, 140143319838720, 140143319842815, +STORE, 140143319842816, 140143328231423, +STORE, 140143311446016, 140143319838719, +STORE, 140143105146880, 140143239364607, +STORE, 140143096754176, 140143105146879, +STORE, 140143029645312, 140143096754175, +ERASE, 140143029645312, 140143096754175, +STORE, 140142962536448, 140143096754175, +SNULL, 140142962536448, 140142970929151, +STORE, 140142970929152, 140143096754175, +STORE, 140142962536448, 140142970929151, +ERASE, 140142962536448, 140142970929151, +STORE, 140142962536448, 140142970929151, +STORE, 140142828318720, 140142962536447, +STORE, 140142819926016, 140142828318719, +SNULL, 140142828318720, 140142836711423, +STORE, 140142836711424, 140142962536447, +STORE, 140142828318720, 140142836711423, +ERASE, 140142828318720, 140142836711423, +SNULL, 140143172255743, 140143239364607, +STORE, 140143105146880, 140143172255743, +STORE, 140143172255744, 140143239364607, +ERASE, 140143172255744, 140143239364607, +SNULL, 140143105282047, 140143172255743, +STORE, 140143105146880, 140143105282047, +STORE, 140143105282048, 140143172255743, +SNULL, 140143038038015, 140143096754175, +STORE, 140142970929152, 140143038038015, +STORE, 140143038038016, 140143096754175, +ERASE, 140143038038016, 140143096754175, +SNULL, 140142971064319, 140143038038015, +STORE, 140142970929152, 140142971064319, +STORE, 140142971064320, 140143038038015, +SNULL, 140142903820287, 140142962536447, +STORE, 140142836711424, 140142903820287, +STORE, 140142903820288, 140142962536447, +ERASE, 140142903820288, 140142962536447, +SNULL, 140142836846591, 140142903820287, +STORE, 140142836711424, 140142836846591, +STORE, 140142836846592, 140142903820287, +STORE, 140142685708288, 140142819926015, +SNULL, 140143311450111, 140143319838719, +STORE, 140143311446016, 140143311450111, +STORE, 140143311450112, 140143319838719, +SNULL, 140142962540543, 140142970929151, +STORE, 140142962536448, 140142962540543, +STORE, 140142962540544, 140142970929151, +SNULL, 140142685708288, 140142702493695, +STORE, 140142702493696, 140142819926015, +STORE, 140142685708288, 140142702493695, +ERASE, 140142685708288, 140142702493695, +SNULL, 140142769602559, 140142819926015, +STORE, 140142702493696, 140142769602559, +STORE, 140142769602560, 140142819926015, +ERASE, 140142769602560, 140142819926015, +SNULL, 140142702628863, 140142769602559, +STORE, 140142702493696, 140142702628863, +STORE, 140142702628864, 140142769602559, +STORE, 140143230971904, 140143239364607, +SNULL, 140143230975999, 140143239364607, +STORE, 140143230971904, 140143230975999, +STORE, 140143230976000, 140143239364607, +SNULL, 140143096758271, 140143105146879, +STORE, 140143096754176, 140143096758271, +STORE, 140143096758272, 140143105146879, +STORE, 140143222579200, 140143230971903, +SNULL, 140143222583295, 140143230971903, +STORE, 140143222579200, 140143222583295, +STORE, 140143222583296, 140143230971903, +STORE, 140143214186496, 140143222579199, +SNULL, 140142819930111, 140142828318719, +STORE, 140142819926016, 140142819930111, +STORE, 140142819930112, 140142828318719, +STORE, 140143205793792, 140143222579199, +SNULL, 140143205793792, 140143214186495, +STORE, 140143214186496, 140143222579199, +STORE, 140143205793792, 140143214186495, +SNULL, 140143214190591, 140143222579199, +STORE, 140143214186496, 140143214190591, +STORE, 140143214190592, 140143222579199, +SNULL, 140143205797887, 140143214186495, +STORE, 140143205793792, 140143205797887, +STORE, 140143205797888, 140143214186495, +STORE, 140143197401088, 140143205793791, +SNULL, 140143197405183, 140143205793791, +STORE, 140143197401088, 140143197405183, +STORE, 140143197405184, 140143205793791, +STORE, 140143189008384, 140143197401087, +STORE, 140143180615680, 140143197401087, +STORE, 140143088361472, 140143096754175, +SNULL, 140143180619775, 140143197401087, +STORE, 140143180615680, 140143180619775, +STORE, 140143180619776, 140143197401087, +SNULL, 140143180619776, 140143189008383, +STORE, 140143189008384, 140143197401087, +STORE, 140143180619776, 140143189008383, +SNULL, 140143189012479, 140143197401087, +STORE, 140143189008384, 140143189012479, +STORE, 140143189012480, 140143197401087, +SNULL, 140143088365567, 140143096754175, +STORE, 140143088361472, 140143088365567, +STORE, 140143088365568, 140143096754175, +STORE, 140143079968768, 140143088361471, +SNULL, 140143079972863, 140143088361471, +STORE, 140143079968768, 140143079972863, +STORE, 140143079972864, 140143088361471, +STORE, 140143071576064, 140143079968767, +SNULL, 140143071580159, 140143079968767, +STORE, 140143071576064, 140143071580159, +STORE, 140143071580160, 140143079968767, +STORE, 140143063183360, 140143071576063, +STORE, 140143054790656, 140143071576063, +SNULL, 140143054794751, 140143071576063, +STORE, 140143054790656, 140143054794751, +STORE, 140143054794752, 140143071576063, +SNULL, 140143054794752, 140143063183359, +STORE, 140143063183360, 140143071576063, +STORE, 140143054794752, 140143063183359, +SNULL, 140143063187455, 140143071576063, +STORE, 140143063183360, 140143063187455, +STORE, 140143063187456, 140143071576063, +STORE, 140143046397952, 140143054790655, +STORE, 140142954143744, 140142962536447, +STORE, 140142945751040, 140142962536447, +STORE, 140142937358336, 140142962536447, +STORE, 140142928965632, 140142962536447, +STORE, 140142568275968, 140142702493695, +SNULL, 140142635384831, 140142702493695, +STORE, 140142568275968, 140142635384831, +STORE, 140142635384832, 140142702493695, +ERASE, 140142635384832, 140142702493695, +STORE, 140142920572928, 140142962536447, +STORE, 140142912180224, 140142962536447, +STORE, 140142568275968, 140142702493695, +SNULL, 140142568275968, 140142635384831, +STORE, 140142635384832, 140142702493695, +STORE, 140142568275968, 140142635384831, +SNULL, 140142635519999, 140142702493695, +STORE, 140142635384832, 140142635519999, +STORE, 140142635520000, 140142702493695, +STORE, 140142819930112, 140142836711423, +STORE, 140142811533312, 140142819926015, +STORE, 140142434058240, 140142635384831, +SNULL, 140142501167103, 140142635384831, +STORE, 140142434058240, 140142501167103, +STORE, 140142501167104, 140142635384831, +SNULL, 140142501167104, 140142568275967, +STORE, 140142568275968, 140142635384831, +STORE, 140142501167104, 140142568275967, +ERASE, 140142501167104, 140142568275967, +STORE, 140142299840512, 140142501167103, +STORE, 140142803140608, 140142819926015, +SNULL, 140142366949375, 140142501167103, +STORE, 140142299840512, 140142366949375, +STORE, 140142366949376, 140142501167103, +SNULL, 140142366949376, 140142434058239, +STORE, 140142434058240, 140142501167103, +STORE, 140142366949376, 140142434058239, +ERASE, 140142366949376, 140142434058239, +STORE, 140142794747904, 140142819926015, +STORE, 140142786355200, 140142819926015, +STORE, 140142299840512, 140142501167103, +STORE, 140142777962496, 140142819926015, +STORE, 140142559883264, 140142568275967, +STORE, 140142232731648, 140142501167103, +STORE, 140142551490560, 140142568275967, +SNULL, 140142777962496, 140142803140607, +STORE, 140142803140608, 140142819926015, +STORE, 140142777962496, 140142803140607, +SNULL, 140142803144703, 140142819926015, +STORE, 140142803140608, 140142803144703, +STORE, 140142803144704, 140142819926015, +STORE, 140142543097856, 140142568275967, +STORE, 140142098513920, 140142501167103, +SNULL, 140142165622783, 140142501167103, +STORE, 140142098513920, 140142165622783, +STORE, 140142165622784, 140142501167103, +SNULL, 140142165622784, 140142232731647, +STORE, 140142232731648, 140142501167103, +STORE, 140142165622784, 140142232731647, +ERASE, 140142165622784, 140142232731647, +SNULL, 140142568411135, 140142635384831, +STORE, 140142568275968, 140142568411135, +STORE, 140142568411136, 140142635384831, +STORE, 140141964296192, 140142165622783, +SNULL, 140142912180224, 140142928965631, +STORE, 140142928965632, 140142962536447, +STORE, 140142912180224, 140142928965631, +SNULL, 140142928969727, 140142962536447, +STORE, 140142928965632, 140142928969727, +STORE, 140142928969728, 140142962536447, +STORE, 140141830078464, 140142165622783, +SNULL, 140142912184319, 140142928965631, +STORE, 140142912180224, 140142912184319, +STORE, 140142912184320, 140142928965631, +SNULL, 140142232731648, 140142434058239, +STORE, 140142434058240, 140142501167103, +STORE, 140142232731648, 140142434058239, +SNULL, 140142434193407, 140142501167103, +STORE, 140142434058240, 140142434193407, +STORE, 140142434193408, 140142501167103, +SNULL, 140142232731648, 140142299840511, +STORE, 140142299840512, 140142434058239, +STORE, 140142232731648, 140142299840511, +SNULL, 140142299975679, 140142434058239, +STORE, 140142299840512, 140142299975679, +STORE, 140142299975680, 140142434058239, +SNULL, 140142928969728, 140142954143743, +STORE, 140142954143744, 140142962536447, +STORE, 140142928969728, 140142954143743, +SNULL, 140142954147839, 140142962536447, +STORE, 140142954143744, 140142954147839, +STORE, 140142954147840, 140142962536447, +STORE, 140141830078464, 140142299840511, +SNULL, 140142543097856, 140142559883263, +STORE, 140142559883264, 140142568275967, +STORE, 140142543097856, 140142559883263, +SNULL, 140142559887359, 140142568275967, +STORE, 140142559883264, 140142559887359, +STORE, 140142559887360, 140142568275967, +STORE, 140142534705152, 140142559883263, +SNULL, 140142928969728, 140142945751039, +STORE, 140142945751040, 140142954143743, +STORE, 140142928969728, 140142945751039, +SNULL, 140142945755135, 140142954143743, +STORE, 140142945751040, 140142945755135, +STORE, 140142945755136, 140142954143743, +SNULL, 140142299975680, 140142366949375, +STORE, 140142366949376, 140142434058239, +STORE, 140142299975680, 140142366949375, +SNULL, 140142367084543, 140142434058239, +STORE, 140142366949376, 140142367084543, +STORE, 140142367084544, 140142434058239, +SNULL, 140142928969728, 140142937358335, +STORE, 140142937358336, 140142945751039, +STORE, 140142928969728, 140142937358335, +SNULL, 140142937362431, 140142945751039, +STORE, 140142937358336, 140142937362431, +STORE, 140142937362432, 140142945751039, +SNULL, 140141830078464, 140142232731647, +STORE, 140142232731648, 140142299840511, +STORE, 140141830078464, 140142232731647, +SNULL, 140142232866815, 140142299840511, +STORE, 140142232731648, 140142232866815, +STORE, 140142232866816, 140142299840511, +SNULL, 140142534705152, 140142543097855, +STORE, 140142543097856, 140142559883263, +STORE, 140142534705152, 140142543097855, +SNULL, 140142543101951, 140142559883263, +STORE, 140142543097856, 140142543101951, +STORE, 140142543101952, 140142559883263, +STORE, 140142526312448, 140142543097855, +STORE, 140142517919744, 140142543097855, +SNULL, 140141830078464, 140142098513919, +STORE, 140142098513920, 140142232731647, +STORE, 140141830078464, 140142098513919, +SNULL, 140142098649087, 140142232731647, +STORE, 140142098513920, 140142098649087, +STORE, 140142098649088, 140142232731647, +SNULL, 140142031405055, 140142098513919, +STORE, 140141830078464, 140142031405055, +STORE, 140142031405056, 140142098513919, +ERASE, 140142031405056, 140142098513919, +SNULL, 140141830078464, 140141964296191, +STORE, 140141964296192, 140142031405055, +STORE, 140141830078464, 140141964296191, +SNULL, 140141964431359, 140142031405055, +STORE, 140141964296192, 140141964431359, +STORE, 140141964431360, 140142031405055, +STORE, 140142509527040, 140142543097855, +SNULL, 140141897187327, 140141964296191, +STORE, 140141830078464, 140141897187327, +STORE, 140141897187328, 140141964296191, +ERASE, 140141897187328, 140141964296191, +SNULL, 140141830213631, 140141897187327, +STORE, 140141830078464, 140141830213631, +STORE, 140141830213632, 140141897187327, +SNULL, 140142803144704, 140142811533311, +STORE, 140142811533312, 140142819926015, +STORE, 140142803144704, 140142811533311, +SNULL, 140142811537407, 140142819926015, +STORE, 140142811533312, 140142811537407, +STORE, 140142811537408, 140142819926015, +SNULL, 140142098649088, 140142165622783, +STORE, 140142165622784, 140142232731647, +STORE, 140142098649088, 140142165622783, +SNULL, 140142165757951, 140142232731647, +STORE, 140142165622784, 140142165757951, +STORE, 140142165757952, 140142232731647, +STORE, 140142090121216, 140142098513919, +SNULL, 140142777962496, 140142786355199, +STORE, 140142786355200, 140142803140607, +STORE, 140142777962496, 140142786355199, +SNULL, 140142786359295, 140142803140607, +STORE, 140142786355200, 140142786359295, +STORE, 140142786359296, 140142803140607, +SNULL, 140142509527040, 140142534705151, +STORE, 140142534705152, 140142543097855, +STORE, 140142509527040, 140142534705151, +SNULL, 140142534709247, 140142543097855, +STORE, 140142534705152, 140142534709247, +STORE, 140142534709248, 140142543097855, +STORE, 140142081728512, 140142098513919, +SNULL, 140142786359296, 140142794747903, +STORE, 140142794747904, 140142803140607, +STORE, 140142786359296, 140142794747903, +SNULL, 140142794751999, 140142803140607, +STORE, 140142794747904, 140142794751999, +STORE, 140142794752000, 140142803140607, +STORE, 140142073335808, 140142098513919, +SNULL, 140142073339903, 140142098513919, +STORE, 140142073335808, 140142073339903, +STORE, 140142073339904, 140142098513919, +SNULL, 140142543101952, 140142551490559, +STORE, 140142551490560, 140142559883263, +STORE, 140142543101952, 140142551490559, +SNULL, 140142551494655, 140142559883263, +STORE, 140142551490560, 140142551494655, +STORE, 140142551494656, 140142559883263, +SNULL, 140142509527040, 140142517919743, +STORE, 140142517919744, 140142534705151, +STORE, 140142509527040, 140142517919743, +SNULL, 140142517923839, 140142534705151, +STORE, 140142517919744, 140142517923839, +STORE, 140142517923840, 140142534705151, +STORE, 140142064943104, 140142073335807, +SNULL, 140142073339904, 140142090121215, +STORE, 140142090121216, 140142098513919, +STORE, 140142073339904, 140142090121215, +SNULL, 140142090125311, 140142098513919, +STORE, 140142090121216, 140142090125311, +STORE, 140142090125312, 140142098513919, +STORE, 140142056550400, 140142073335807, +SNULL, 140142056554495, 140142073335807, +STORE, 140142056550400, 140142056554495, +STORE, 140142056554496, 140142073335807, +STORE, 140142048157696, 140142056550399, +SNULL, 140142509531135, 140142517919743, +STORE, 140142509527040, 140142509531135, +STORE, 140142509531136, 140142517919743, +SNULL, 140142777966591, 140142786355199, +STORE, 140142777962496, 140142777966591, +STORE, 140142777966592, 140142786355199, +SNULL, 140143046402047, 140143054790655, +STORE, 140143046397952, 140143046402047, +STORE, 140143046402048, 140143054790655, +SNULL, 140142912184320, 140142920572927, +STORE, 140142920572928, 140142928965631, +STORE, 140142912184320, 140142920572927, +SNULL, 140142920577023, 140142928965631, +STORE, 140142920572928, 140142920577023, +STORE, 140142920577024, 140142928965631, +STORE, 140142039764992, 140142056550399, +STORE, 140141955903488, 140141964296191, +SNULL, 140142819930112, 140142828318719, +STORE, 140142828318720, 140142836711423, +STORE, 140142819930112, 140142828318719, +SNULL, 140142828322815, 140142836711423, +STORE, 140142828318720, 140142828322815, +STORE, 140142828322816, 140142836711423, +SNULL, 140142517923840, 140142526312447, +STORE, 140142526312448, 140142534705151, +STORE, 140142517923840, 140142526312447, +SNULL, 140142526316543, 140142534705151, +STORE, 140142526312448, 140142526316543, +STORE, 140142526316544, 140142534705151, +STORE, 140141947510784, 140141964296191, +SNULL, 140142056554496, 140142064943103, +STORE, 140142064943104, 140142073335807, +STORE, 140142056554496, 140142064943103, +SNULL, 140142064947199, 140142073335807, +STORE, 140142064943104, 140142064947199, +STORE, 140142064947200, 140142073335807, +SNULL, 140142073339904, 140142081728511, +STORE, 140142081728512, 140142090121215, +STORE, 140142073339904, 140142081728511, +SNULL, 140142081732607, 140142090121215, +STORE, 140142081728512, 140142081732607, +STORE, 140142081732608, 140142090121215, +STORE, 140141939118080, 140141964296191, +STORE, 140141930725376, 140141964296191, +STORE, 140141922332672, 140141964296191, +STORE, 140141913939968, 140141964296191, +SNULL, 140141913939968, 140141922332671, +STORE, 140141922332672, 140141964296191, +STORE, 140141913939968, 140141922332671, +SNULL, 140141922336767, 140141964296191, +STORE, 140141922332672, 140141922336767, +STORE, 140141922336768, 140141964296191, +STORE, 140141905547264, 140141922332671, +SNULL, 140141905551359, 140141922332671, +STORE, 140141905547264, 140141905551359, +STORE, 140141905551360, 140141922332671, +STORE, 140141821685760, 140141830078463, +STORE, 140141813293056, 140141830078463, +STORE, 140141804900352, 140141830078463, +STORE, 140141796507648, 140141830078463, +SNULL, 140141796511743, 140141830078463, +STORE, 140141796507648, 140141796511743, +STORE, 140141796511744, 140141830078463, +SNULL, 140141922336768, 140141955903487, +STORE, 140141955903488, 140141964296191, +STORE, 140141922336768, 140141955903487, +SNULL, 140141955907583, 140141964296191, +STORE, 140141955903488, 140141955907583, +STORE, 140141955907584, 140141964296191, +STORE, 140141788114944, 140141796507647, +STORE, 140141779722240, 140141796507647, +SNULL, 140141779722240, 140141788114943, +STORE, 140141788114944, 140141796507647, +STORE, 140141779722240, 140141788114943, +SNULL, 140141788119039, 140141796507647, +STORE, 140141788114944, 140141788119039, +STORE, 140141788119040, 140141796507647, +SNULL, 140141922336768, 140141947510783, +STORE, 140141947510784, 140141955903487, +STORE, 140141922336768, 140141947510783, +SNULL, 140141947514879, 140141955903487, +STORE, 140141947510784, 140141947514879, +STORE, 140141947514880, 140141955903487, +SNULL, 140142039764992, 140142048157695, +STORE, 140142048157696, 140142056550399, +STORE, 140142039764992, 140142048157695, +SNULL, 140142048161791, 140142056550399, +STORE, 140142048157696, 140142048161791, +STORE, 140142048161792, 140142056550399, +SNULL, 140142039769087, 140142048157695, +STORE, 140142039764992, 140142039769087, +STORE, 140142039769088, 140142048157695, +SNULL, 140141796511744, 140141804900351, +STORE, 140141804900352, 140141830078463, +STORE, 140141796511744, 140141804900351, +SNULL, 140141804904447, 140141830078463, +STORE, 140141804900352, 140141804904447, +STORE, 140141804904448, 140141830078463, +STORE, 140141771329536, 140141788114943, +STORE, 140141762936832, 140141788114943, +STORE, 140141754544128, 140141788114943, +SNULL, 140141804904448, 140141821685759, +STORE, 140141821685760, 140141830078463, +STORE, 140141804904448, 140141821685759, +SNULL, 140141821689855, 140141830078463, +STORE, 140141821685760, 140141821689855, +STORE, 140141821689856, 140141830078463, +SNULL, 140141922336768, 140141939118079, +STORE, 140141939118080, 140141947510783, +STORE, 140141922336768, 140141939118079, +SNULL, 140141939122175, 140141947510783, +STORE, 140141939118080, 140141939122175, +STORE, 140141939122176, 140141947510783, +SNULL, 140141905551360, 140141913939967, +STORE, 140141913939968, 140141922332671, +STORE, 140141905551360, 140141913939967, +SNULL, 140141913944063, 140141922332671, +STORE, 140141913939968, 140141913944063, +STORE, 140141913944064, 140141922332671, +STORE, 140141746151424, 140141788114943, +STORE, 140141737758720, 140141788114943, +SNULL, 140141804904448, 140141813293055, +STORE, 140141813293056, 140141821685759, +STORE, 140141804904448, 140141813293055, +SNULL, 140141813297151, 140141821685759, +STORE, 140141813293056, 140141813297151, +STORE, 140141813297152, 140141821685759, +STORE, 140141729366016, 140141788114943, +STORE, 140141720973312, 140141788114943, +STORE, 140141712580608, 140141788114943, +SNULL, 140141712584703, 140141788114943, +STORE, 140141712580608, 140141712584703, +STORE, 140141712584704, 140141788114943, +SNULL, 140141922336768, 140141930725375, +STORE, 140141930725376, 140141939118079, +STORE, 140141922336768, 140141930725375, +SNULL, 140141930729471, 140141939118079, +STORE, 140141930725376, 140141930729471, +STORE, 140141930729472, 140141939118079, +STORE, 140141704187904, 140141712580607, +SNULL, 140141704191999, 140141712580607, +STORE, 140141704187904, 140141704191999, +STORE, 140141704192000, 140141712580607, +STORE, 140141695795200, 140141704187903, +STORE, 140141687402496, 140141704187903, +SNULL, 140141712584704, 140141771329535, +STORE, 140141771329536, 140141788114943, +STORE, 140141712584704, 140141771329535, +SNULL, 140141771333631, 140141788114943, +STORE, 140141771329536, 140141771333631, +STORE, 140141771333632, 140141788114943, +SNULL, 140141771333632, 140141779722239, +STORE, 140141779722240, 140141788114943, +STORE, 140141771333632, 140141779722239, +SNULL, 140141779726335, 140141788114943, +STORE, 140141779722240, 140141779726335, +STORE, 140141779726336, 140141788114943, +STORE, 140141679009792, 140141704187903, +SNULL, 140141679013887, 140141704187903, +STORE, 140141679009792, 140141679013887, +STORE, 140141679013888, 140141704187903, +STORE, 140141670617088, 140141679009791, +SNULL, 140141670621183, 140141679009791, +STORE, 140141670617088, 140141670621183, +STORE, 140141670621184, 140141679009791, +STORE, 140141662224384, 140141670617087, +SNULL, 140141712584704, 140141737758719, +STORE, 140141737758720, 140141771329535, +STORE, 140141712584704, 140141737758719, +SNULL, 140141737762815, 140141771329535, +STORE, 140141737758720, 140141737762815, +STORE, 140141737762816, 140141771329535, +SNULL, 140141712584704, 140141729366015, +STORE, 140141729366016, 140141737758719, +STORE, 140141712584704, 140141729366015, +SNULL, 140141729370111, 140141737758719, +STORE, 140141729366016, 140141729370111, +STORE, 140141729370112, 140141737758719, +SNULL, 140141737762816, 140141746151423, +STORE, 140141746151424, 140141771329535, +STORE, 140141737762816, 140141746151423, +SNULL, 140141746155519, 140141771329535, +STORE, 140141746151424, 140141746155519, +STORE, 140141746155520, 140141771329535, +STORE, 140141653831680, 140141670617087, +SNULL, 140141746155520, 140141762936831, +STORE, 140141762936832, 140141771329535, +STORE, 140141746155520, 140141762936831, +SNULL, 140141762940927, 140141771329535, +STORE, 140141762936832, 140141762940927, +STORE, 140141762940928, 140141771329535, +STORE, 140141645438976, 140141670617087, +SNULL, 140141645443071, 140141670617087, +STORE, 140141645438976, 140141645443071, +STORE, 140141645443072, 140141670617087, +SNULL, 140141712584704, 140141720973311, +STORE, 140141720973312, 140141729366015, +STORE, 140141712584704, 140141720973311, +SNULL, 140141720977407, 140141729366015, +STORE, 140141720973312, 140141720977407, +STORE, 140141720977408, 140141729366015, +STORE, 140141637046272, 140141645438975, +SNULL, 140141637050367, 140141645438975, +STORE, 140141637046272, 140141637050367, +STORE, 140141637050368, 140141645438975, +STORE, 140141628653568, 140141637046271, +SNULL, 140141628657663, 140141637046271, +STORE, 140141628653568, 140141628657663, +STORE, 140141628657664, 140141637046271, +STORE, 140141620260864, 140141628653567, +SNULL, 140141679013888, 140141687402495, +STORE, 140141687402496, 140141704187903, +STORE, 140141679013888, 140141687402495, +SNULL, 140141687406591, 140141704187903, +STORE, 140141687402496, 140141687406591, +STORE, 140141687406592, 140141704187903, +SNULL, 140141746155520, 140141754544127, +STORE, 140141754544128, 140141762936831, +STORE, 140141746155520, 140141754544127, +SNULL, 140141754548223, 140141762936831, +STORE, 140141754544128, 140141754548223, +STORE, 140141754548224, 140141762936831, +SNULL, 140141687406592, 140141695795199, +STORE, 140141695795200, 140141704187903, +STORE, 140141687406592, 140141695795199, +SNULL, 140141695799295, 140141704187903, +STORE, 140141695795200, 140141695799295, +STORE, 140141695799296, 140141704187903, +STORE, 140141611868160, 140141628653567, +SNULL, 140141611872255, 140141628653567, +STORE, 140141611868160, 140141611872255, +STORE, 140141611872256, 140141628653567, +SNULL, 140141645443072, 140141662224383, +STORE, 140141662224384, 140141670617087, +STORE, 140141645443072, 140141662224383, +SNULL, 140141662228479, 140141670617087, +STORE, 140141662224384, 140141662228479, +STORE, 140141662228480, 140141670617087, +STORE, 140141603475456, 140141611868159, +SNULL, 140141603479551, 140141611868159, +STORE, 140141603475456, 140141603479551, +STORE, 140141603479552, 140141611868159, +STORE, 140141595082752, 140141603475455, +SNULL, 140141645443072, 140141653831679, +STORE, 140141653831680, 140141662224383, +STORE, 140141645443072, 140141653831679, +SNULL, 140141653835775, 140141662224383, +STORE, 140141653831680, 140141653835775, +STORE, 140141653835776, 140141662224383, +STORE, 140141586690048, 140141603475455, +SNULL, 140141611872256, 140141620260863, +STORE, 140141620260864, 140141628653567, +STORE, 140141611872256, 140141620260863, +SNULL, 140141620264959, 140141628653567, +STORE, 140141620260864, 140141620264959, +STORE, 140141620264960, 140141628653567, +SNULL, 140141586690048, 140141595082751, +STORE, 140141595082752, 140141603475455, +STORE, 140141586690048, 140141595082751, +SNULL, 140141595086847, 140141603475455, +STORE, 140141595082752, 140141595086847, +STORE, 140141595086848, 140141603475455, +STORE, 140141578297344, 140141595082751, +SNULL, 140141578301439, 140141595082751, +STORE, 140141578297344, 140141578301439, +STORE, 140141578301440, 140141595082751, +SNULL, 140141578301440, 140141586690047, +STORE, 140141586690048, 140141595082751, +STORE, 140141578301440, 140141586690047, +SNULL, 140141586694143, 140141595082751, +STORE, 140141586690048, 140141586694143, +STORE, 140141586694144, 140141595082751, +STORE, 140143370027008, 140143370055679, +STORE, 140143309254656, 140143311446015, +SNULL, 140143309254656, 140143309344767, +STORE, 140143309344768, 140143311446015, +STORE, 140143309254656, 140143309344767, +SNULL, 140143311437823, 140143311446015, +STORE, 140143309344768, 140143311437823, +STORE, 140143311437824, 140143311446015, +ERASE, 140143311437824, 140143311446015, +STORE, 140143311437824, 140143311446015, +SNULL, 140143311441919, 140143311446015, +STORE, 140143311437824, 140143311441919, +STORE, 140143311441920, 140143311446015, +ERASE, 140143370027008, 140143370055679, +ERASE, 140142912180224, 140142912184319, +ERASE, 140142912184320, 140142920572927, +ERASE, 140142945751040, 140142945755135, +ERASE, 140142945755136, 140142954143743, +ERASE, 140142090121216, 140142090125311, +ERASE, 140142090125312, 140142098513919, +ERASE, 140142794747904, 140142794751999, +ERASE, 140142794752000, 140142803140607, +ERASE, 140141913939968, 140141913944063, +ERASE, 140141913944064, 140141922332671, +ERASE, 140141746151424, 140141746155519, +ERASE, 140141746155520, 140141754544127, +ERASE, 140142954143744, 140142954147839, +ERASE, 140142954147840, 140142962536447, +ERASE, 140142081728512, 140142081732607, +ERASE, 140142081732608, 140142090121215, +ERASE, 140141905547264, 140141905551359, +ERASE, 140141905551360, 140141913939967, +ERASE, 140141729366016, 140141729370111, +ERASE, 140141729370112, 140141737758719, +ERASE, 140142920572928, 140142920577023, +ERASE, 140142920577024, 140142928965631, +ERASE, 140142039764992, 140142039769087, +ERASE, 140142039769088, 140142048157695, +ERASE, 140141679009792, 140141679013887, +ERASE, 140141679013888, 140141687402495, +ERASE, 140142551490560, 140142551494655, +ERASE, 140142551494656, 140142559883263, +ERASE, 140141947510784, 140141947514879, +ERASE, 140141947514880, 140141955903487, +ERASE, 140141771329536, 140141771333631, +ERASE, 140141771333632, 140141779722239, +ERASE, 140142928965632, 140142928969727, +ERASE, 140142928969728, 140142937358335, +ERASE, 140142073335808, 140142073339903, +ERASE, 140142073339904, 140142081728511, +ERASE, 140142543097856, 140142543101951, +ERASE, 140142543101952, 140142551490559, +ERASE, 140141955903488, 140141955907583, +ERASE, 140141955907584, 140141964296191, +ERASE, 140141704187904, 140141704191999, +ERASE, 140141704192000, 140141712580607, +ERASE, 140142786355200, 140142786359295, +ERASE, 140142786359296, 140142794747903, +ERASE, 140142056550400, 140142056554495, +ERASE, 140142056554496, 140142064943103, +ERASE, 140142828318720, 140142828322815, +ERASE, 140142828322816, 140142836711423, +ERASE, 140141788114944, 140141788119039, +ERASE, 140141788119040, 140141796507647, +ERASE, 140141695795200, 140141695799295, +ERASE, 140141695799296, 140141704187903, +ERASE, 140141578297344, 140141578301439, +ERASE, 140141578301440, 140141586690047, +ERASE, 140141611868160, 140141611872255, +ERASE, 140141611872256, 140141620260863, +ERASE, 140142811533312, 140142811537407, +ERASE, 140142811537408, 140142819926015, +ERASE, 140142064943104, 140142064947199, +ERASE, 140142064947200, 140142073335807, +ERASE, 140141628653568, 140141628657663, +ERASE, 140141628657664, 140141637046271, +ERASE, 140143046397952, 140143046402047, +ERASE, 140143046402048, 140143054790655, +ERASE, 140141796507648, 140141796511743, +ERASE, 140141796511744, 140141804900351, +ERASE, 140142803140608, 140142803144703, +ERASE, 140142803144704, 140142811533311, +ERASE, 140142509527040, 140142509531135, +ERASE, 140142509531136, 140142517919743, +ERASE, 140141821685760, 140141821689855, +ERASE, 140141821689856, 140141830078463, +ERASE, 140142777962496, 140142777966591, +ERASE, 140142777966592, 140142786355199, +ERASE, 140141804900352, 140141804904447, +ERASE, 140141804904448, 140141813293055, +ERASE, 140141930725376, 140141930729471, +ERASE, 140141930729472, 140141939118079, +ERASE, 140142937358336, 140142937362431, +ERASE, 140142937362432, 140142945751039, +ERASE, 140142559883264, 140142559887359, +ERASE, 140142559887360, 140142568275967, +ERASE, 140142534705152, 140142534709247, +ERASE, 140142534709248, 140142543097855, +ERASE, 140142048157696, 140142048161791, +ERASE, 140142048161792, 140142056550399, +ERASE, 140141754544128, 140141754548223, +ERASE, 140141754548224, 140141762936831, +ERASE, 140141939118080, 140141939122175, +ERASE, 140141939122176, 140141947510783, +ERASE, 140141653831680, 140141653835775, +ERASE, 140141653835776, 140141662224383, +ERASE, 140141712580608, 140141712584703, +ERASE, 140141712584704, 140141720973311, +ERASE, 140141645438976, 140141645443071, +ERASE, 140141645443072, 140141653831679, +ERASE, 140141687402496, 140141687406591, +ERASE, 140141687406592, 140141695795199, +ERASE, 140141662224384, 140141662228479, +ERASE, 140141662228480, 140141670617087, +ERASE, 140141922332672, 140141922336767, +ERASE, 140141922336768, 140141930725375, +ERASE, 140141737758720, 140141737762815, +ERASE, 140141737762816, 140141746151423, +ERASE, 140141637046272, 140141637050367, +ERASE, 140141637050368, 140141645438975, +ERASE, 140142517919744, 140142517923839, +ERASE, 140142517923840, 140142526312447, +ERASE, 140143096754176, 140143096758271, +ERASE, 140143096758272, 140143105146879, +ERASE, 140141595082752, 140141595086847, +ERASE, 140141595086848, 140141603475455, +ERASE, 140141762936832, 140141762940927, +ERASE, 140141762940928, 140141771329535, +ERASE, 140143311446016, 140143311450111, +ERASE, 140143311450112, 140143319838719, +ERASE, 140142526312448, 140142526316543, +ERASE, 140142526316544, 140142534705151, +ERASE, 140142819926016, 140142819930111, +ERASE, 140142819930112, 140142828318719, +ERASE, 140143180615680, 140143180619775, +ERASE, 140143180619776, 140143189008383, +ERASE, 140142962536448, 140142962540543, +ERASE, 140142962540544, 140142970929151, +ERASE, 140143214186496, 140143214190591, +ERASE, 140143214190592, 140143222579199, +ERASE, 140143088361472, 140143088365567, +ERASE, 140143088365568, 140143096754175, +ERASE, 140141586690048, 140141586694143, +ERASE, 140141586694144, 140141595082751, +ERASE, 140143230971904, 140143230975999, +ERASE, 140143230976000, 140143239364607, +ERASE, 140141779722240, 140141779726335, +ERASE, 140141779726336, 140141788114943, +ERASE, 140141670617088, 140141670621183, +ERASE, 140141670621184, 140141679009791, +ERASE, 140141813293056, 140141813297151, +ERASE, 140141813297152, 140141821685759, +ERASE, 140143222579200, 140143222583295, +ERASE, 140143222583296, 140143230971903, +ERASE, 140143189008384, 140143189012479, +ERASE, 140143189012480, 140143197401087, +ERASE, 140143071576064, 140143071580159, +ERASE, 140143071580160, 140143079968767, +ERASE, 140141620260864, 140141620264959, +ERASE, 140141620264960, 140141628653567, +ERASE, 140141603475456, 140141603479551, +ERASE, 140141603479552, 140141611868159, +ERASE, 140141720973312, 140141720977407, +ERASE, 140141720977408, 140141729366015, +ERASE, 140143079968768, 140143079972863, +ERASE, 140143079972864, 140143088361471, +ERASE, 140143205793792, 140143205797887, +ERASE, 140143205797888, 140143214186495, + }; + unsigned long set30[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140733436743680, 140737488351231, +SNULL, 140733436747775, 140737488351231, +STORE, 140733436743680, 140733436747775, +STORE, 140733436612608, 140733436747775, +STORE, 94630728904704, 94630731157503, +SNULL, 94630729035775, 94630731157503, +STORE, 94630728904704, 94630729035775, +STORE, 94630729035776, 94630731157503, +ERASE, 94630729035776, 94630731157503, +STORE, 94630731128832, 94630731137023, +STORE, 94630731137024, 94630731157503, +STORE, 140165750841344, 140165753094143, +SNULL, 140165750984703, 140165753094143, +STORE, 140165750841344, 140165750984703, +STORE, 140165750984704, 140165753094143, +ERASE, 140165750984704, 140165753094143, +STORE, 140165753081856, 140165753090047, +STORE, 140165753090048, 140165753094143, +STORE, 140733436887040, 140733436891135, +STORE, 140733436874752, 140733436887039, +STORE, 140165753053184, 140165753081855, +STORE, 140165753044992, 140165753053183, +STORE, 140165748625408, 140165750841343, +SNULL, 140165748625408, 140165748723711, +STORE, 140165748723712, 140165750841343, +STORE, 140165748625408, 140165748723711, +SNULL, 140165750816767, 140165750841343, +STORE, 140165748723712, 140165750816767, +STORE, 140165750816768, 140165750841343, +SNULL, 140165750816768, 140165750824959, +STORE, 140165750824960, 140165750841343, +STORE, 140165750816768, 140165750824959, +ERASE, 140165750816768, 140165750824959, +STORE, 140165750816768, 140165750824959, +ERASE, 140165750824960, 140165750841343, +STORE, 140165750824960, 140165750841343, +STORE, 140165744828416, 140165748625407, +SNULL, 140165744828416, 140165746487295, +STORE, 140165746487296, 140165748625407, +STORE, 140165744828416, 140165746487295, +SNULL, 140165748584447, 140165748625407, +STORE, 140165746487296, 140165748584447, +STORE, 140165748584448, 140165748625407, +SNULL, 140165748584448, 140165748609023, +STORE, 140165748609024, 140165748625407, +STORE, 140165748584448, 140165748609023, +ERASE, 140165748584448, 140165748609023, +STORE, 140165748584448, 140165748609023, +ERASE, 140165748609024, 140165748625407, +STORE, 140165748609024, 140165748625407, +STORE, 140165753036800, 140165753053183, +SNULL, 140165748600831, 140165748609023, +STORE, 140165748584448, 140165748600831, +STORE, 140165748600832, 140165748609023, +SNULL, 140165750820863, 140165750824959, +STORE, 140165750816768, 140165750820863, +STORE, 140165750820864, 140165750824959, +SNULL, 94630731132927, 94630731137023, +STORE, 94630731128832, 94630731132927, +STORE, 94630731132928, 94630731137023, +SNULL, 140165753085951, 140165753090047, +STORE, 140165753081856, 140165753085951, +STORE, 140165753085952, 140165753090047, +ERASE, 140165753053184, 140165753081855, +STORE, 94630743547904, 94630743683071, +STORE, 140165736435712, 140165744828415, +SNULL, 140165736439807, 140165744828415, +STORE, 140165736435712, 140165736439807, +STORE, 140165736439808, 140165744828415, +STORE, 140165728043008, 140165736435711, +STORE, 140165593825280, 140165728043007, +SNULL, 140165593825280, 140165653725183, +STORE, 140165653725184, 140165728043007, +STORE, 140165593825280, 140165653725183, +ERASE, 140165593825280, 140165653725183, +SNULL, 140165720834047, 140165728043007, +STORE, 140165653725184, 140165720834047, +STORE, 140165720834048, 140165728043007, +ERASE, 140165720834048, 140165728043007, +SNULL, 140165653860351, 140165720834047, +STORE, 140165653725184, 140165653860351, +STORE, 140165653860352, 140165720834047, +SNULL, 140165728047103, 140165736435711, +STORE, 140165728043008, 140165728047103, +STORE, 140165728047104, 140165736435711, +STORE, 140165645332480, 140165653725183, +SNULL, 140165645336575, 140165653725183, +STORE, 140165645332480, 140165645336575, +STORE, 140165645336576, 140165653725183, +STORE, 140165636939776, 140165645332479, +SNULL, 140165636943871, 140165645332479, +STORE, 140165636939776, 140165636943871, +STORE, 140165636943872, 140165645332479, +STORE, 140165628547072, 140165636939775, +SNULL, 140165628551167, 140165636939775, +STORE, 140165628547072, 140165628551167, +STORE, 140165628551168, 140165636939775, +STORE, 140165620154368, 140165628547071, +STORE, 140165611761664, 140165628547071, +STORE, 140165603368960, 140165628547071, +STORE, 140165469151232, 140165603368959, +SNULL, 140165469151232, 140165519507455, +STORE, 140165519507456, 140165603368959, +STORE, 140165469151232, 140165519507455, +ERASE, 140165469151232, 140165519507455, +SNULL, 140165586616319, 140165603368959, +STORE, 140165519507456, 140165586616319, +STORE, 140165586616320, 140165603368959, +ERASE, 140165586616320, 140165603368959, +STORE, 140165594976256, 140165628547071, +STORE, 140165385289728, 140165586616319, +SNULL, 140165452398591, 140165586616319, +STORE, 140165385289728, 140165452398591, +STORE, 140165452398592, 140165586616319, +SNULL, 140165452398592, 140165519507455, +STORE, 140165519507456, 140165586616319, +STORE, 140165452398592, 140165519507455, +ERASE, 140165452398592, 140165519507455, +STORE, 140165251072000, 140165452398591, +SNULL, 140165318180863, 140165452398591, +STORE, 140165251072000, 140165318180863, +STORE, 140165318180864, 140165452398591, +SNULL, 140165318180864, 140165385289727, +STORE, 140165385289728, 140165452398591, +STORE, 140165318180864, 140165385289727, +ERASE, 140165318180864, 140165385289727, +SNULL, 140165519642623, 140165586616319, +STORE, 140165519507456, 140165519642623, +STORE, 140165519642624, 140165586616319, +SNULL, 140165594976256, 140165611761663, +STORE, 140165611761664, 140165628547071, +STORE, 140165594976256, 140165611761663, +SNULL, 140165611765759, 140165628547071, +STORE, 140165611761664, 140165611765759, +STORE, 140165611765760, 140165628547071, +STORE, 140165385289728, 140165519507455, +SNULL, 140165385424895, 140165519507455, +STORE, 140165385289728, 140165385424895, +STORE, 140165385424896, 140165519507455, +SNULL, 140165594976256, 140165603368959, +STORE, 140165603368960, 140165611761663, +STORE, 140165594976256, 140165603368959, +SNULL, 140165603373055, 140165611761663, +STORE, 140165603368960, 140165603373055, +STORE, 140165603373056, 140165611761663, +SNULL, 140165251207167, 140165318180863, +STORE, 140165251072000, 140165251207167, +STORE, 140165251207168, 140165318180863, +STORE, 140165376897024, 140165385289727, +SNULL, 140165376901119, 140165385289727, +STORE, 140165376897024, 140165376901119, +STORE, 140165376901120, 140165385289727, +SNULL, 140165385424896, 140165452398591, +STORE, 140165452398592, 140165519507455, +STORE, 140165385424896, 140165452398591, +SNULL, 140165452533759, 140165519507455, +STORE, 140165452398592, 140165452533759, +STORE, 140165452533760, 140165519507455, +STORE, 140165368504320, 140165376897023, +SNULL, 140165594980351, 140165603368959, +STORE, 140165594976256, 140165594980351, +STORE, 140165594980352, 140165603368959, +SNULL, 140165368508415, 140165376897023, +STORE, 140165368504320, 140165368508415, +STORE, 140165368508416, 140165376897023, +SNULL, 140165611765760, 140165620154367, +STORE, 140165620154368, 140165628547071, +STORE, 140165611765760, 140165620154367, +SNULL, 140165620158463, 140165628547071, +STORE, 140165620154368, 140165620158463, +STORE, 140165620158464, 140165628547071, +STORE, 140165360111616, 140165368504319, +STORE, 140165351718912, 140165368504319, +STORE, 140165343326208, 140165368504319, +SNULL, 140165343326208, 140165351718911, +STORE, 140165351718912, 140165368504319, +STORE, 140165343326208, 140165351718911, +SNULL, 140165351723007, 140165368504319, +STORE, 140165351718912, 140165351723007, +STORE, 140165351723008, 140165368504319, +SNULL, 140165343330303, 140165351718911, +STORE, 140165343326208, 140165343330303, +STORE, 140165343330304, 140165351718911, +SNULL, 140165351723008, 140165360111615, +STORE, 140165360111616, 140165368504319, +STORE, 140165351723008, 140165360111615, +SNULL, 140165360115711, 140165368504319, +STORE, 140165360111616, 140165360115711, +STORE, 140165360115712, 140165368504319, +STORE, 140165334933504, 140165343326207, +SNULL, 140165334937599, 140165343326207, +STORE, 140165334933504, 140165334937599, +STORE, 140165334937600, 140165343326207, +STORE, 140165326540800, 140165334933503, +STORE, 140165242679296, 140165251071999, +SNULL, 140165242683391, 140165251071999, +STORE, 140165242679296, 140165242683391, +STORE, 140165242683392, 140165251071999, +STORE, 140165234286592, 140165242679295, +STORE, 140165225893888, 140165242679295, +SNULL, 140165225897983, 140165242679295, +STORE, 140165225893888, 140165225897983, +STORE, 140165225897984, 140165242679295, +SNULL, 140165225897984, 140165234286591, +STORE, 140165234286592, 140165242679295, +STORE, 140165225897984, 140165234286591, +SNULL, 140165234290687, 140165242679295, +STORE, 140165234286592, 140165234290687, +STORE, 140165234290688, 140165242679295, +SNULL, 140165326544895, 140165334933503, +STORE, 140165326540800, 140165326544895, +STORE, 140165326544896, 140165334933503, +STORE, 140165217501184, 140165225893887, +STORE, 140165209108480, 140165225893887, +SNULL, 140165209108480, 140165217501183, +STORE, 140165217501184, 140165225893887, +STORE, 140165209108480, 140165217501183, +SNULL, 140165217505279, 140165225893887, +STORE, 140165217501184, 140165217505279, +STORE, 140165217505280, 140165225893887, +SNULL, 140165209112575, 140165217501183, +STORE, 140165209108480, 140165209112575, +STORE, 140165209112576, 140165217501183, +STORE, 140165200715776, 140165209108479, +STORE, 140165066498048, 140165200715775, +SNULL, 140165066498048, 140165116854271, +STORE, 140165116854272, 140165200715775, +STORE, 140165066498048, 140165116854271, +ERASE, 140165066498048, 140165116854271, +SNULL, 140165183963135, 140165200715775, +STORE, 140165116854272, 140165183963135, +STORE, 140165183963136, 140165200715775, +ERASE, 140165183963136, 140165200715775, +SNULL, 140165116989439, 140165183963135, +STORE, 140165116854272, 140165116989439, +STORE, 140165116989440, 140165183963135, +STORE, 140165192323072, 140165209108479, +STORE, 140165108461568, 140165116854271, +STORE, 140164974243840, 140165108461567, +STORE, 140164965851136, 140164974243839, +SNULL, 140164974243840, 140164982636543, +STORE, 140164982636544, 140165108461567, +STORE, 140164974243840, 140164982636543, +ERASE, 140164974243840, 140164982636543, +STORE, 140164965851136, 140164982636543, +STORE, 140164957458432, 140164982636543, +STORE, 140164949065728, 140164982636543, +STORE, 140164940673024, 140164982636543, +STORE, 140164806455296, 140164940673023, +STORE, 140164798062592, 140164806455295, +STORE, 140164789669888, 140164806455295, +STORE, 140164655452160, 140164789669887, +STORE, 140164647059456, 140164655452159, +STORE, 140164638666752, 140164655452159, +SNULL, 140164655452160, 140164714201087, +STORE, 140164714201088, 140164789669887, +STORE, 140164655452160, 140164714201087, +ERASE, 140164655452160, 140164714201087, +STORE, 140164705808384, 140164714201087, +STORE, 140164697415680, 140164714201087, +STORE, 140164504449024, 140164638666751, +SNULL, 140164504449024, 140164512874495, +STORE, 140164512874496, 140164638666751, +STORE, 140164504449024, 140164512874495, +ERASE, 140164504449024, 140164512874495, +STORE, 140164689022976, 140164714201087, +STORE, 140164680630272, 140164714201087, +SNULL, 140164680634367, 140164714201087, +STORE, 140164680630272, 140164680634367, +STORE, 140164680634368, 140164714201087, +STORE, 140164378656768, 140164638666751, +SNULL, 140165192323072, 140165200715775, +STORE, 140165200715776, 140165209108479, +STORE, 140165192323072, 140165200715775, +SNULL, 140165200719871, 140165209108479, +STORE, 140165200715776, 140165200719871, +STORE, 140165200719872, 140165209108479, +SNULL, 140165049745407, 140165108461567, +STORE, 140164982636544, 140165049745407, +STORE, 140165049745408, 140165108461567, +ERASE, 140165049745408, 140165108461567, +SNULL, 140164982771711, 140165049745407, +STORE, 140164982636544, 140164982771711, +STORE, 140164982771712, 140165049745407, +STORE, 140164244439040, 140164638666751, +SNULL, 140164311547903, 140164638666751, +STORE, 140164244439040, 140164311547903, +STORE, 140164311547904, 140164638666751, +SNULL, 140164311547904, 140164378656767, +STORE, 140164378656768, 140164638666751, +STORE, 140164311547904, 140164378656767, +ERASE, 140164311547904, 140164378656767, +SNULL, 140164806455296, 140164848418815, +STORE, 140164848418816, 140164940673023, +STORE, 140164806455296, 140164848418815, +ERASE, 140164806455296, 140164848418815, +SNULL, 140164915527679, 140164940673023, +STORE, 140164848418816, 140164915527679, +STORE, 140164915527680, 140164940673023, +ERASE, 140164915527680, 140164940673023, +STORE, 140164110221312, 140164311547903, +SNULL, 140164177330175, 140164311547903, +STORE, 140164110221312, 140164177330175, +STORE, 140164177330176, 140164311547903, +SNULL, 140164177330176, 140164244439039, +STORE, 140164244439040, 140164311547903, +STORE, 140164177330176, 140164244439039, +ERASE, 140164177330176, 140164244439039, +SNULL, 140164781309951, 140164789669887, +STORE, 140164714201088, 140164781309951, +STORE, 140164781309952, 140164789669887, +ERASE, 140164781309952, 140164789669887, +STORE, 140163976003584, 140164177330175, +SNULL, 140164043112447, 140164177330175, +STORE, 140163976003584, 140164043112447, +STORE, 140164043112448, 140164177330175, +SNULL, 140164043112448, 140164110221311, +STORE, 140164110221312, 140164177330175, +STORE, 140164043112448, 140164110221311, +ERASE, 140164043112448, 140164110221311, +SNULL, 140164579983359, 140164638666751, +STORE, 140164378656768, 140164579983359, +STORE, 140164579983360, 140164638666751, +ERASE, 140164579983360, 140164638666751, +STORE, 140163841785856, 140164043112447, +SNULL, 140163908894719, 140164043112447, +STORE, 140163841785856, 140163908894719, +STORE, 140163908894720, 140164043112447, +SNULL, 140163908894720, 140163976003583, +STORE, 140163976003584, 140164043112447, +STORE, 140163908894720, 140163976003583, +ERASE, 140163908894720, 140163976003583, +SNULL, 140164940673024, 140164965851135, +STORE, 140164965851136, 140164982636543, +STORE, 140164940673024, 140164965851135, +SNULL, 140164965855231, 140164982636543, +STORE, 140164965851136, 140164965855231, +STORE, 140164965855232, 140164982636543, +SNULL, 140164965855232, 140164974243839, +STORE, 140164974243840, 140164982636543, +STORE, 140164965855232, 140164974243839, +SNULL, 140164974247935, 140164982636543, +STORE, 140164974243840, 140164974247935, +STORE, 140164974247936, 140164982636543, +SNULL, 140164445765631, 140164579983359, +STORE, 140164378656768, 140164445765631, +STORE, 140164445765632, 140164579983359, +SNULL, 140164445765632, 140164512874495, +STORE, 140164512874496, 140164579983359, +STORE, 140164445765632, 140164512874495, +ERASE, 140164445765632, 140164512874495, +SNULL, 140164378791935, 140164445765631, +STORE, 140164378656768, 140164378791935, +STORE, 140164378791936, 140164445765631, +SNULL, 140164789673983, 140164806455295, +STORE, 140164789669888, 140164789673983, +STORE, 140164789673984, 140164806455295, +SNULL, 140164789673984, 140164798062591, +STORE, 140164798062592, 140164806455295, +STORE, 140164789673984, 140164798062591, +SNULL, 140164798066687, 140164806455295, +STORE, 140164798062592, 140164798066687, +STORE, 140164798066688, 140164806455295, +SNULL, 140164638670847, 140164655452159, +STORE, 140164638666752, 140164638670847, +STORE, 140164638670848, 140164655452159, +STORE, 140165100068864, 140165116854271, +STORE, 140165091676160, 140165116854271, +STORE, 140165083283456, 140165116854271, +SNULL, 140164244574207, 140164311547903, +STORE, 140164244439040, 140164244574207, +STORE, 140164244574208, 140164311547903, +SNULL, 140164848553983, 140164915527679, +STORE, 140164848418816, 140164848553983, +STORE, 140164848553984, 140164915527679, +SNULL, 140164110356479, 140164177330175, +STORE, 140164110221312, 140164110356479, +STORE, 140164110356480, 140164177330175, +SNULL, 140164714336255, 140164781309951, +STORE, 140164714201088, 140164714336255, +STORE, 140164714336256, 140164781309951, +SNULL, 140163976138751, 140164043112447, +STORE, 140163976003584, 140163976138751, +STORE, 140163976138752, 140164043112447, +SNULL, 140164513009663, 140164579983359, +STORE, 140164512874496, 140164513009663, +STORE, 140164513009664, 140164579983359, +SNULL, 140163841921023, 140163908894719, +STORE, 140163841785856, 140163841921023, +STORE, 140163841921024, 140163908894719, +SNULL, 140165083283456, 140165100068863, +STORE, 140165100068864, 140165116854271, +STORE, 140165083283456, 140165100068863, +SNULL, 140165100072959, 140165116854271, +STORE, 140165100068864, 140165100072959, +STORE, 140165100072960, 140165116854271, +SNULL, 140165100072960, 140165108461567, +STORE, 140165108461568, 140165116854271, +STORE, 140165100072960, 140165108461567, +SNULL, 140165108465663, 140165116854271, +STORE, 140165108461568, 140165108465663, +STORE, 140165108465664, 140165116854271, +STORE, 140165074890752, 140165100068863, +SNULL, 140165074894847, 140165100068863, +STORE, 140165074890752, 140165074894847, +STORE, 140165074894848, 140165100068863, +STORE, 140165066498048, 140165074890751, +STORE, 140165058105344, 140165074890751, +STORE, 140164932280320, 140164965851135, +SNULL, 140165192327167, 140165200715775, +STORE, 140165192323072, 140165192327167, +STORE, 140165192327168, 140165200715775, +STORE, 140164923887616, 140164965851135, +SNULL, 140164923891711, 140164965851135, +STORE, 140164923887616, 140164923891711, +STORE, 140164923891712, 140164965851135, +SNULL, 140164680634368, 140164705808383, +STORE, 140164705808384, 140164714201087, +STORE, 140164680634368, 140164705808383, +SNULL, 140164705812479, 140164714201087, +STORE, 140164705808384, 140164705812479, +STORE, 140164705812480, 140164714201087, +SNULL, 140164680634368, 140164697415679, +STORE, 140164697415680, 140164705808383, +STORE, 140164680634368, 140164697415679, +SNULL, 140164697419775, 140164705808383, +STORE, 140164697415680, 140164697419775, +STORE, 140164697419776, 140164705808383, +STORE, 140164840026112, 140164848418815, +STORE, 140164831633408, 140164848418815, +STORE, 140164823240704, 140164848418815, +SNULL, 140165074894848, 140165083283455, +STORE, 140165083283456, 140165100068863, +STORE, 140165074894848, 140165083283455, +SNULL, 140165083287551, 140165100068863, +STORE, 140165083283456, 140165083287551, +STORE, 140165083287552, 140165100068863, +SNULL, 140165083287552, 140165091676159, +STORE, 140165091676160, 140165100068863, +STORE, 140165083287552, 140165091676159, +SNULL, 140165091680255, 140165100068863, +STORE, 140165091676160, 140165091680255, +STORE, 140165091680256, 140165100068863, +SNULL, 140164638670848, 140164647059455, +STORE, 140164647059456, 140164655452159, +STORE, 140164638670848, 140164647059455, +SNULL, 140164647063551, 140164655452159, +STORE, 140164647059456, 140164647063551, +STORE, 140164647063552, 140164655452159, +SNULL, 140164923891712, 140164940673023, +STORE, 140164940673024, 140164965851135, +STORE, 140164923891712, 140164940673023, +SNULL, 140164940677119, 140164965851135, +STORE, 140164940673024, 140164940677119, +STORE, 140164940677120, 140164965851135, +SNULL, 140164940677120, 140164949065727, +STORE, 140164949065728, 140164965851135, +STORE, 140164940677120, 140164949065727, +SNULL, 140164949069823, 140164965851135, +STORE, 140164949065728, 140164949069823, +STORE, 140164949069824, 140164965851135, +SNULL, 140164949069824, 140164957458431, +STORE, 140164957458432, 140164965851135, +STORE, 140164949069824, 140164957458431, +SNULL, 140164957462527, 140164965851135, +STORE, 140164957458432, 140164957462527, +STORE, 140164957462528, 140164965851135, +SNULL, 140164680634368, 140164689022975, +STORE, 140164689022976, 140164697415679, +STORE, 140164680634368, 140164689022975, +SNULL, 140164689027071, 140164697415679, +STORE, 140164689022976, 140164689027071, +STORE, 140164689027072, 140164697415679, +STORE, 140164814848000, 140164848418815, +SNULL, 140165058105344, 140165066498047, +STORE, 140165066498048, 140165074890751, +STORE, 140165058105344, 140165066498047, +SNULL, 140165066502143, 140165074890751, +STORE, 140165066498048, 140165066502143, +STORE, 140165066502144, 140165074890751, +SNULL, 140165058109439, 140165066498047, +STORE, 140165058105344, 140165058109439, +STORE, 140165058109440, 140165066498047, +STORE, 140164798066688, 140164814847999, +SNULL, 140164798066688, 140164806455295, +STORE, 140164806455296, 140164814847999, +STORE, 140164798066688, 140164806455295, +SNULL, 140164806459391, 140164814847999, +STORE, 140164806455296, 140164806459391, +STORE, 140164806459392, 140164814847999, +SNULL, 140164923891712, 140164932280319, +STORE, 140164932280320, 140164940673023, +STORE, 140164923891712, 140164932280319, +SNULL, 140164932284415, 140164940673023, +STORE, 140164932280320, 140164932284415, +STORE, 140164932284416, 140164940673023, +STORE, 140164672237568, 140164680630271, +STORE, 140164663844864, 140164680630271, +STORE, 140164647063552, 140164680630271, +SNULL, 140164647063552, 140164655452159, +STORE, 140164655452160, 140164680630271, +STORE, 140164647063552, 140164655452159, +SNULL, 140164655456255, 140164680630271, +STORE, 140164655452160, 140164655456255, +STORE, 140164655456256, 140164680630271, +STORE, 140164630274048, 140164638666751, +SNULL, 140164814852095, 140164848418815, +STORE, 140164814848000, 140164814852095, +STORE, 140164814852096, 140164848418815, +SNULL, 140164814852096, 140164831633407, +STORE, 140164831633408, 140164848418815, +STORE, 140164814852096, 140164831633407, +SNULL, 140164831637503, 140164848418815, +STORE, 140164831633408, 140164831637503, +STORE, 140164831637504, 140164848418815, +STORE, 140164621881344, 140164638666751, +SNULL, 140164831637504, 140164840026111, +STORE, 140164840026112, 140164848418815, +STORE, 140164831637504, 140164840026111, +SNULL, 140164840030207, 140164848418815, +STORE, 140164840026112, 140164840030207, +STORE, 140164840030208, 140164848418815, +STORE, 140164613488640, 140164638666751, +SNULL, 140164613492735, 140164638666751, +STORE, 140164613488640, 140164613492735, +STORE, 140164613492736, 140164638666751, +STORE, 140164605095936, 140164613488639, +SNULL, 140164605100031, 140164613488639, +STORE, 140164605095936, 140164605100031, +STORE, 140164605100032, 140164613488639, +STORE, 140164596703232, 140164605095935, +STORE, 140164588310528, 140164605095935, +SNULL, 140164588314623, 140164605095935, +STORE, 140164588310528, 140164588314623, +STORE, 140164588314624, 140164605095935, +STORE, 140164504481792, 140164512874495, +STORE, 140164496089088, 140164512874495, +SNULL, 140164496089088, 140164504481791, +STORE, 140164504481792, 140164512874495, +STORE, 140164496089088, 140164504481791, +SNULL, 140164504485887, 140164512874495, +STORE, 140164504481792, 140164504485887, +STORE, 140164504485888, 140164512874495, +SNULL, 140164613492736, 140164630274047, +STORE, 140164630274048, 140164638666751, +STORE, 140164613492736, 140164630274047, +SNULL, 140164630278143, 140164638666751, +STORE, 140164630274048, 140164630278143, +STORE, 140164630278144, 140164638666751, +STORE, 140164487696384, 140164504481791, +STORE, 140164479303680, 140164504481791, +SNULL, 140164814852096, 140164823240703, +STORE, 140164823240704, 140164831633407, +STORE, 140164814852096, 140164823240703, +SNULL, 140164823244799, 140164831633407, +STORE, 140164823240704, 140164823244799, +STORE, 140164823244800, 140164831633407, +STORE, 140164470910976, 140164504481791, +SNULL, 140164470910976, 140164496089087, +STORE, 140164496089088, 140164504481791, +STORE, 140164470910976, 140164496089087, +SNULL, 140164496093183, 140164504481791, +STORE, 140164496089088, 140164496093183, +STORE, 140164496093184, 140164504481791, +SNULL, 140164655456256, 140164672237567, +STORE, 140164672237568, 140164680630271, +STORE, 140164655456256, 140164672237567, +SNULL, 140164672241663, 140164680630271, +STORE, 140164672237568, 140164672241663, +STORE, 140164672241664, 140164680630271, +STORE, 140164462518272, 140164496089087, +STORE, 140164454125568, 140164496089087, +SNULL, 140164655456256, 140164663844863, +STORE, 140164663844864, 140164672237567, +STORE, 140164655456256, 140164663844863, +SNULL, 140164663848959, 140164672237567, +STORE, 140164663844864, 140164663848959, +STORE, 140164663848960, 140164672237567, +STORE, 140164370264064, 140164378656767, +STORE, 140164361871360, 140164378656767, +STORE, 140164353478656, 140164378656767, +STORE, 140164345085952, 140164378656767, +SNULL, 140164345085952, 140164353478655, +STORE, 140164353478656, 140164378656767, +STORE, 140164345085952, 140164353478655, +SNULL, 140164353482751, 140164378656767, +STORE, 140164353478656, 140164353482751, +STORE, 140164353482752, 140164378656767, +SNULL, 140164454125568, 140164487696383, +STORE, 140164487696384, 140164496089087, +STORE, 140164454125568, 140164487696383, +SNULL, 140164487700479, 140164496089087, +STORE, 140164487696384, 140164487700479, +STORE, 140164487700480, 140164496089087, +STORE, 140164336693248, 140164353478655, +SNULL, 140164336697343, 140164353478655, +STORE, 140164336693248, 140164336697343, +STORE, 140164336697344, 140164353478655, +STORE, 140164328300544, 140164336693247, +SNULL, 140164454125568, 140164479303679, +STORE, 140164479303680, 140164487696383, +STORE, 140164454125568, 140164479303679, +SNULL, 140164479307775, 140164487696383, +STORE, 140164479303680, 140164479307775, +STORE, 140164479307776, 140164487696383, +STORE, 140164319907840, 140164336693247, +STORE, 140164236046336, 140164244439039, +SNULL, 140164588314624, 140164596703231, +STORE, 140164596703232, 140164605095935, +STORE, 140164588314624, 140164596703231, +SNULL, 140164596707327, 140164605095935, +STORE, 140164596703232, 140164596707327, +STORE, 140164596707328, 140164605095935, +SNULL, 140164454125568, 140164462518271, +STORE, 140164462518272, 140164479303679, +STORE, 140164454125568, 140164462518271, +SNULL, 140164462522367, 140164479303679, +STORE, 140164462518272, 140164462522367, +STORE, 140164462522368, 140164479303679, +STORE, 140164227653632, 140164244439039, +SNULL, 140164227657727, 140164244439039, +STORE, 140164227653632, 140164227657727, +STORE, 140164227657728, 140164244439039, +SNULL, 140164462522368, 140164470910975, +STORE, 140164470910976, 140164479303679, +STORE, 140164462522368, 140164470910975, +SNULL, 140164470915071, 140164479303679, +STORE, 140164470910976, 140164470915071, +STORE, 140164470915072, 140164479303679, +SNULL, 140164613492736, 140164621881343, +STORE, 140164621881344, 140164630274047, +STORE, 140164613492736, 140164621881343, +SNULL, 140164621885439, 140164630274047, +STORE, 140164621881344, 140164621885439, +STORE, 140164621885440, 140164630274047, +SNULL, 140164353482752, 140164370264063, +STORE, 140164370264064, 140164378656767, +STORE, 140164353482752, 140164370264063, +SNULL, 140164370268159, 140164378656767, +STORE, 140164370264064, 140164370268159, +STORE, 140164370268160, 140164378656767, +STORE, 140164219260928, 140164227653631, +SNULL, 140164319911935, 140164336693247, +STORE, 140164319907840, 140164319911935, +STORE, 140164319911936, 140164336693247, +SNULL, 140164336697344, 140164345085951, +STORE, 140164345085952, 140164353478655, +STORE, 140164336697344, 140164345085951, +SNULL, 140164345090047, 140164353478655, +STORE, 140164345085952, 140164345090047, +STORE, 140164345090048, 140164353478655, +SNULL, 140164319911936, 140164328300543, +STORE, 140164328300544, 140164336693247, +STORE, 140164319911936, 140164328300543, +SNULL, 140164328304639, 140164336693247, +STORE, 140164328300544, 140164328304639, +STORE, 140164328304640, 140164336693247, +SNULL, 140164454129663, 140164462518271, +STORE, 140164454125568, 140164454129663, +STORE, 140164454129664, 140164462518271, +STORE, 140164210868224, 140164227653631, +STORE, 140164202475520, 140164227653631, +STORE, 140164194082816, 140164227653631, +SNULL, 140164194086911, 140164227653631, +STORE, 140164194082816, 140164194086911, +STORE, 140164194086912, 140164227653631, +SNULL, 140164353482752, 140164361871359, +STORE, 140164361871360, 140164370264063, +STORE, 140164353482752, 140164361871359, +SNULL, 140164361875455, 140164370264063, +STORE, 140164361871360, 140164361875455, +STORE, 140164361875456, 140164370264063, +SNULL, 140164227657728, 140164236046335, +STORE, 140164236046336, 140164244439039, +STORE, 140164227657728, 140164236046335, +SNULL, 140164236050431, 140164244439039, +STORE, 140164236046336, 140164236050431, +STORE, 140164236050432, 140164244439039, +STORE, 140164185690112, 140164194082815, +SNULL, 140164194086912, 140164219260927, +STORE, 140164219260928, 140164227653631, +STORE, 140164194086912, 140164219260927, +SNULL, 140164219265023, 140164227653631, +STORE, 140164219260928, 140164219265023, +STORE, 140164219265024, 140164227653631, +STORE, 140164101828608, 140164110221311, +STORE, 140164093435904, 140164110221311, +STORE, 140164085043200, 140164110221311, +SNULL, 140164085047295, 140164110221311, +STORE, 140164085043200, 140164085047295, +STORE, 140164085047296, 140164110221311, +STORE, 140164076650496, 140164085043199, +SNULL, 140164185694207, 140164194082815, +STORE, 140164185690112, 140164185694207, +STORE, 140164185694208, 140164194082815, +SNULL, 140164085047296, 140164101828607, +STORE, 140164101828608, 140164110221311, +STORE, 140164085047296, 140164101828607, +SNULL, 140164101832703, 140164110221311, +STORE, 140164101828608, 140164101832703, +STORE, 140164101832704, 140164110221311, +SNULL, 140164085047296, 140164093435903, +STORE, 140164093435904, 140164101828607, +STORE, 140164085047296, 140164093435903, +SNULL, 140164093439999, 140164101828607, +STORE, 140164093435904, 140164093439999, +STORE, 140164093440000, 140164101828607, +SNULL, 140164194086912, 140164202475519, +STORE, 140164202475520, 140164219260927, +STORE, 140164194086912, 140164202475519, +SNULL, 140164202479615, 140164219260927, +STORE, 140164202475520, 140164202479615, +STORE, 140164202479616, 140164219260927, +SNULL, 140164202479616, 140164210868223, +STORE, 140164210868224, 140164219260927, +STORE, 140164202479616, 140164210868223, +SNULL, 140164210872319, 140164219260927, +STORE, 140164210868224, 140164210872319, +STORE, 140164210872320, 140164219260927, +SNULL, 140164076654591, 140164085043199, +STORE, 140164076650496, 140164076654591, +STORE, 140164076654592, 140164085043199, +STORE, 140164068257792, 140164076650495, +SNULL, 140164068261887, 140164076650495, +STORE, 140164068257792, 140164068261887, +STORE, 140164068261888, 140164076650495, +STORE, 140165753053184, 140165753081855, +STORE, 140165725851648, 140165728043007, +SNULL, 140165725851648, 140165725941759, +STORE, 140165725941760, 140165728043007, +STORE, 140165725851648, 140165725941759, +SNULL, 140165728034815, 140165728043007, +STORE, 140165725941760, 140165728034815, +STORE, 140165728034816, 140165728043007, +ERASE, 140165728034816, 140165728043007, +STORE, 140165728034816, 140165728043007, +SNULL, 140165728038911, 140165728043007, +STORE, 140165728034816, 140165728038911, +STORE, 140165728038912, 140165728043007, +ERASE, 140165753053184, 140165753081855, +ERASE, 140164638666752, 140164638670847, +ERASE, 140164638670848, 140164647059455, +ERASE, 140165091676160, 140165091680255, +ERASE, 140165091680256, 140165100068863, +ERASE, 140164613488640, 140164613492735, +ERASE, 140164613492736, 140164621881343, +ERASE, 140164319907840, 140164319911935, +ERASE, 140164319911936, 140164328300543, +ERASE, 140165620154368, 140165620158463, +ERASE, 140165620158464, 140165628547071, +ERASE, 140164798062592, 140164798066687, +ERASE, 140164798066688, 140164806455295, +ERASE, 140164789669888, 140164789673983, +ERASE, 140164789673984, 140164798062591, +ERASE, 140164965851136, 140164965855231, +ERASE, 140164965855232, 140164974243839, +ERASE, 140165074890752, 140165074894847, +ERASE, 140165074894848, 140165083283455, +ERASE, 140164672237568, 140164672241663, +ERASE, 140164672241664, 140164680630271, +ERASE, 140164454125568, 140164454129663, +ERASE, 140164454129664, 140164462518271, +ERASE, 140165200715776, 140165200719871, +ERASE, 140165200719872, 140165209108479, +ERASE, 140164932280320, 140164932284415, +ERASE, 140164932284416, 140164940673023, +ERASE, 140164663844864, 140164663848959, +ERASE, 140164663848960, 140164672237567, +ERASE, 140164697415680, 140164697419775, +ERASE, 140164697419776, 140164705808383, +ERASE, 140164831633408, 140164831637503, +ERASE, 140164831637504, 140164840026111, +ERASE, 140165192323072, 140165192327167, +ERASE, 140165192327168, 140165200715775, +ERASE, 140165108461568, 140165108465663, +ERASE, 140165108465664, 140165116854271, +ERASE, 140164840026112, 140164840030207, +ERASE, 140164840030208, 140164848418815, +ERASE, 140164647059456, 140164647063551, +ERASE, 140164647063552, 140164655452159, +ERASE, 140165083283456, 140165083287551, +ERASE, 140165083287552, 140165091676159, +ERASE, 140164923887616, 140164923891711, +ERASE, 140164923891712, 140164932280319, +ERASE, 140164823240704, 140164823244799, +ERASE, 140164823244800, 140164831633407, +ERASE, 140164227653632, 140164227657727, +ERASE, 140164227657728, 140164236046335, +ERASE, 140164957458432, 140164957462527, +ERASE, 140164957462528, 140164965851135, +ERASE, 140164680630272, 140164680634367, +ERASE, 140164680634368, 140164689022975, +ERASE, 140164974243840, 140164974247935, +ERASE, 140164974247936, 140164982636543, +ERASE, 140165066498048, 140165066502143, +ERASE, 140165066502144, 140165074890751, +ERASE, 140164621881344, 140164621885439, +ERASE, 140164621885440, 140164630274047, +ERASE, 140164949065728, 140164949069823, +ERASE, 140164949069824, 140164957458431, +ERASE, 140164588310528, 140164588314623, +ERASE, 140164588314624, 140164596703231, +ERASE, 140164806455296, 140164806459391, +ERASE, 140164806459392, 140164814847999, +ERASE, 140164940673024, 140164940677119, +ERASE, 140164940677120, 140164949065727, +ERASE, 140164596703232, 140164596707327, +ERASE, 140164596707328, 140164605095935, +ERASE, 140164605095936, 140164605100031, +ERASE, 140164605100032, 140164613488639, +ERASE, 140164655452160, 140164655456255, +ERASE, 140164655456256, 140164663844863, +ERASE, 140164705808384, 140164705812479, +ERASE, 140164705812480, 140164714201087, +ERASE, 140164689022976, 140164689027071, +ERASE, 140164689027072, 140164697415679, +ERASE, 140164630274048, 140164630278143, +ERASE, 140164630278144, 140164638666751, +ERASE, 140164479303680, 140164479307775, +ERASE, 140164479307776, 140164487696383, +ERASE, 140164236046336, 140164236050431, +ERASE, 140164236050432, 140164244439039, +ERASE, 140164085043200, 140164085047295, +ERASE, 140164085047296, 140164093435903, +ERASE, 140164345085952, 140164345090047, +ERASE, 140164345090048, 140164353478655, +ERASE, 140164101828608, 140164101832703, +ERASE, 140164101832704, 140164110221311, +ERASE, 140164370264064, 140164370268159, +ERASE, 140164370268160, 140164378656767, +ERASE, 140164336693248, 140164336697343, +ERASE, 140164336697344, 140164345085951, +ERASE, 140164194082816, 140164194086911, +ERASE, 140164194086912, 140164202475519, +ERASE, 140164353478656, 140164353482751, +ERASE, 140164353482752, 140164361871359, +ERASE, 140164210868224, 140164210872319, +ERASE, 140164210872320, 140164219260927, +ERASE, 140164814848000, 140164814852095, +ERASE, 140164814852096, 140164823240703, +ERASE, 140164504481792, 140164504485887, +ERASE, 140164504485888, 140164512874495, +ERASE, 140165100068864, 140165100072959, +ERASE, 140165100072960, 140165108461567, +ERASE, 140164361871360, 140164361875455, +ERASE, 140164361875456, 140164370264063, +ERASE, 140164470910976, 140164470915071, +ERASE, 140164470915072, 140164479303679, +ERASE, 140164076650496, 140164076654591, +ERASE, 140164076654592, 140164085043199, +ERASE, 140164202475520, 140164202479615, +ERASE, 140164202479616, 140164210868223, +ERASE, 140164462518272, 140164462522367, +ERASE, 140164462522368, 140164470910975, +ERASE, 140165351718912, 140165351723007, +ERASE, 140165351723008, 140165360111615, +ERASE, 140164328300544, 140164328304639, +ERASE, 140164328304640, 140164336693247, +ERASE, 140164093435904, 140164093439999, +ERASE, 140164093440000, 140164101828607, +ERASE, 140165603368960, 140165603373055, +ERASE, 140165603373056, 140165611761663, +ERASE, 140165368504320, 140165368508415, +ERASE, 140165368508416, 140165376897023, +ERASE, 140165334933504, 140165334937599, +ERASE, 140165334937600, 140165343326207, +ERASE, 140165594976256, 140165594980351, +ERASE, 140165594980352, 140165603368959, +ERASE, 140164487696384, 140164487700479, +ERASE, 140164487700480, 140164496089087, +ERASE, 140164219260928, 140164219265023, +ERASE, 140164219265024, 140164227653631, +ERASE, 140164185690112, 140164185694207, +ERASE, 140164185694208, 140164194082815, +ERASE, 140164068257792, 140164068261887, +ERASE, 140164068261888, 140164076650495, +ERASE, 140165225893888, 140165225897983, +ERASE, 140165225897984, 140165234286591, +ERASE, 140165058105344, 140165058109439, + }; + unsigned long set31[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140730890784768, 140737488351231, +SNULL, 140730890788863, 140737488351231, +STORE, 140730890784768, 140730890788863, +STORE, 140730890653696, 140730890788863, +STORE, 94577123659776, 94577125912575, +SNULL, 94577123790847, 94577125912575, +STORE, 94577123659776, 94577123790847, +STORE, 94577123790848, 94577125912575, +ERASE, 94577123790848, 94577125912575, +STORE, 94577125883904, 94577125892095, +STORE, 94577125892096, 94577125912575, +STORE, 140624060407808, 140624062660607, +SNULL, 140624060551167, 140624062660607, +STORE, 140624060407808, 140624060551167, +STORE, 140624060551168, 140624062660607, +ERASE, 140624060551168, 140624062660607, +STORE, 140624062648320, 140624062656511, +STORE, 140624062656512, 140624062660607, +STORE, 140730892140544, 140730892144639, +STORE, 140730892128256, 140730892140543, +STORE, 140624062619648, 140624062648319, +STORE, 140624062611456, 140624062619647, +STORE, 140624058191872, 140624060407807, +SNULL, 140624058191872, 140624058290175, +STORE, 140624058290176, 140624060407807, +STORE, 140624058191872, 140624058290175, +SNULL, 140624060383231, 140624060407807, +STORE, 140624058290176, 140624060383231, +STORE, 140624060383232, 140624060407807, +SNULL, 140624060383232, 140624060391423, +STORE, 140624060391424, 140624060407807, +STORE, 140624060383232, 140624060391423, +ERASE, 140624060383232, 140624060391423, +STORE, 140624060383232, 140624060391423, +ERASE, 140624060391424, 140624060407807, +STORE, 140624060391424, 140624060407807, +STORE, 140624054394880, 140624058191871, +SNULL, 140624054394880, 140624056053759, +STORE, 140624056053760, 140624058191871, +STORE, 140624054394880, 140624056053759, +SNULL, 140624058150911, 140624058191871, +STORE, 140624056053760, 140624058150911, +STORE, 140624058150912, 140624058191871, +SNULL, 140624058150912, 140624058175487, +STORE, 140624058175488, 140624058191871, +STORE, 140624058150912, 140624058175487, +ERASE, 140624058150912, 140624058175487, +STORE, 140624058150912, 140624058175487, +ERASE, 140624058175488, 140624058191871, +STORE, 140624058175488, 140624058191871, +STORE, 140624062603264, 140624062619647, +SNULL, 140624058167295, 140624058175487, +STORE, 140624058150912, 140624058167295, +STORE, 140624058167296, 140624058175487, +SNULL, 140624060387327, 140624060391423, +STORE, 140624060383232, 140624060387327, +STORE, 140624060387328, 140624060391423, +SNULL, 94577125887999, 94577125892095, +STORE, 94577125883904, 94577125887999, +STORE, 94577125888000, 94577125892095, +SNULL, 140624062652415, 140624062656511, +STORE, 140624062648320, 140624062652415, +STORE, 140624062652416, 140624062656511, +ERASE, 140624062619648, 140624062648319, +STORE, 94577157709824, 94577157844991, +STORE, 140624046002176, 140624054394879, +SNULL, 140624046006271, 140624054394879, +STORE, 140624046002176, 140624046006271, +STORE, 140624046006272, 140624054394879, +STORE, 140624037609472, 140624046002175, +STORE, 140623903391744, 140624037609471, +SNULL, 140623903391744, 140623940157439, +STORE, 140623940157440, 140624037609471, +STORE, 140623903391744, 140623940157439, +ERASE, 140623903391744, 140623940157439, +SNULL, 140624007266303, 140624037609471, +STORE, 140623940157440, 140624007266303, +STORE, 140624007266304, 140624037609471, +ERASE, 140624007266304, 140624037609471, +SNULL, 140623940292607, 140624007266303, +STORE, 140623940157440, 140623940292607, +STORE, 140623940292608, 140624007266303, +SNULL, 140624037613567, 140624046002175, +STORE, 140624037609472, 140624037613567, +STORE, 140624037613568, 140624046002175, +STORE, 140624029216768, 140624037609471, +SNULL, 140624029220863, 140624037609471, +STORE, 140624029216768, 140624029220863, +STORE, 140624029220864, 140624037609471, +STORE, 140624020824064, 140624029216767, +SNULL, 140624020828159, 140624029216767, +STORE, 140624020824064, 140624020828159, +STORE, 140624020828160, 140624029216767, +STORE, 140624012431360, 140624020824063, +SNULL, 140624012435455, 140624020824063, +STORE, 140624012431360, 140624012435455, +STORE, 140624012435456, 140624020824063, +STORE, 140623931764736, 140623940157439, +STORE, 140623797547008, 140623931764735, +SNULL, 140623797547008, 140623805939711, +STORE, 140623805939712, 140623931764735, +STORE, 140623797547008, 140623805939711, +ERASE, 140623797547008, 140623805939711, +SNULL, 140623873048575, 140623931764735, +STORE, 140623805939712, 140623873048575, +STORE, 140623873048576, 140623931764735, +ERASE, 140623873048576, 140623931764735, +STORE, 140623923372032, 140623940157439, +STORE, 140623914979328, 140623940157439, +STORE, 140623906586624, 140623940157439, +STORE, 140623671721984, 140623873048575, +SNULL, 140623738830847, 140623873048575, +STORE, 140623671721984, 140623738830847, +STORE, 140623738830848, 140623873048575, +SNULL, 140623738830848, 140623805939711, +STORE, 140623805939712, 140623873048575, +STORE, 140623738830848, 140623805939711, +ERASE, 140623738830848, 140623805939711, +SNULL, 140623806074879, 140623873048575, +STORE, 140623805939712, 140623806074879, +STORE, 140623806074880, 140623873048575, +SNULL, 140623906586624, 140623931764735, +STORE, 140623931764736, 140623940157439, +STORE, 140623906586624, 140623931764735, +SNULL, 140623931768831, 140623940157439, +STORE, 140623931764736, 140623931768831, +STORE, 140623931768832, 140623940157439, +STORE, 140623537504256, 140623738830847, +SNULL, 140623537504256, 140623671721983, +STORE, 140623671721984, 140623738830847, +STORE, 140623537504256, 140623671721983, +SNULL, 140623671857151, 140623738830847, +STORE, 140623671721984, 140623671857151, +STORE, 140623671857152, 140623738830847, +SNULL, 140623604613119, 140623671721983, +STORE, 140623537504256, 140623604613119, +STORE, 140623604613120, 140623671721983, +ERASE, 140623604613120, 140623671721983, +SNULL, 140623537639423, 140623604613119, +STORE, 140623537504256, 140623537639423, +STORE, 140623537639424, 140623604613119, +STORE, 140623537639424, 140623671721983, +SNULL, 140623537639424, 140623604613119, +STORE, 140623604613120, 140623671721983, +STORE, 140623537639424, 140623604613119, +SNULL, 140623604748287, 140623671721983, +STORE, 140623604613120, 140623604748287, +STORE, 140623604748288, 140623671721983, +STORE, 140623898193920, 140623931764735, +SNULL, 140623898193920, 140623923372031, +STORE, 140623923372032, 140623931764735, +STORE, 140623898193920, 140623923372031, +SNULL, 140623923376127, 140623931764735, +STORE, 140623923372032, 140623923376127, +STORE, 140623923376128, 140623931764735, +STORE, 140623889801216, 140623923372031, +SNULL, 140623889801216, 140623898193919, +STORE, 140623898193920, 140623923372031, +STORE, 140623889801216, 140623898193919, +SNULL, 140623898198015, 140623923372031, +STORE, 140623898193920, 140623898198015, +STORE, 140623898198016, 140623923372031, +SNULL, 140623889805311, 140623898193919, +STORE, 140623889801216, 140623889805311, +STORE, 140623889805312, 140623898193919, +SNULL, 140623898198016, 140623906586623, +STORE, 140623906586624, 140623923372031, +STORE, 140623898198016, 140623906586623, +SNULL, 140623906590719, 140623923372031, +STORE, 140623906586624, 140623906590719, +STORE, 140623906590720, 140623923372031, +STORE, 140623881408512, 140623889801215, +SNULL, 140623906590720, 140623914979327, +STORE, 140623914979328, 140623923372031, +STORE, 140623906590720, 140623914979327, +SNULL, 140623914983423, 140623923372031, +STORE, 140623914979328, 140623914983423, +STORE, 140623914983424, 140623923372031, +SNULL, 140623881412607, 140623889801215, +STORE, 140623881408512, 140623881412607, +STORE, 140623881412608, 140623889801215, +STORE, 140623797547008, 140623805939711, +STORE, 140623789154304, 140623805939711, +STORE, 140623780761600, 140623805939711, +SNULL, 140623780761600, 140623789154303, +STORE, 140623789154304, 140623805939711, +STORE, 140623780761600, 140623789154303, +SNULL, 140623789158399, 140623805939711, +STORE, 140623789154304, 140623789158399, +STORE, 140623789158400, 140623805939711, +STORE, 140623772368896, 140623789154303, +STORE, 140623763976192, 140623789154303, +SNULL, 140623763976192, 140623780761599, +STORE, 140623780761600, 140623789154303, +STORE, 140623763976192, 140623780761599, +SNULL, 140623780765695, 140623789154303, +STORE, 140623780761600, 140623780765695, +STORE, 140623780765696, 140623789154303, +SNULL, 140623789158400, 140623797547007, +STORE, 140623797547008, 140623805939711, +STORE, 140623789158400, 140623797547007, +SNULL, 140623797551103, 140623805939711, +STORE, 140623797547008, 140623797551103, +STORE, 140623797551104, 140623805939711, +SNULL, 140623763976192, 140623772368895, +STORE, 140623772368896, 140623780761599, +STORE, 140623763976192, 140623772368895, +SNULL, 140623772372991, 140623780761599, +STORE, 140623772368896, 140623772372991, +STORE, 140623772372992, 140623780761599, +SNULL, 140623763980287, 140623772368895, +STORE, 140623763976192, 140623763980287, +STORE, 140623763980288, 140623772368895, +STORE, 140623755583488, 140623763976191, +STORE, 140623747190784, 140623763976191, +SNULL, 140623747190784, 140623755583487, +STORE, 140623755583488, 140623763976191, +STORE, 140623747190784, 140623755583487, +SNULL, 140623755587583, 140623763976191, +STORE, 140623755583488, 140623755587583, +STORE, 140623755587584, 140623763976191, +STORE, 140623529111552, 140623537504255, +SNULL, 140623747194879, 140623755583487, +STORE, 140623747190784, 140623747194879, +STORE, 140623747194880, 140623755583487, +SNULL, 140623529115647, 140623537504255, +STORE, 140623529111552, 140623529115647, +STORE, 140623529115648, 140623537504255, +STORE, 140623520718848, 140623529111551, +SNULL, 140623520722943, 140623529111551, +STORE, 140623520718848, 140623520722943, +STORE, 140623520722944, 140623529111551, +STORE, 140623512326144, 140623520718847, +STORE, 140623503933440, 140623520718847, +STORE, 140623495540736, 140623520718847, +STORE, 140623361323008, 140623495540735, +STORE, 140623227105280, 140623495540735, +STORE, 140623218712576, 140623227105279, +STORE, 140623084494848, 140623218712575, +STORE, 140623076102144, 140623084494847, +STORE, 140622941884416, 140623076102143, +SNULL, 140622941884416, 140623000633343, +STORE, 140623000633344, 140623076102143, +STORE, 140622941884416, 140623000633343, +ERASE, 140622941884416, 140623000633343, +STORE, 140622992240640, 140623000633343, +STORE, 140622983847936, 140623000633343, +STORE, 140622849630208, 140622983847935, +STORE, 140622841237504, 140622849630207, +SNULL, 140622849630208, 140622866415615, +STORE, 140622866415616, 140622983847935, +STORE, 140622849630208, 140622866415615, +ERASE, 140622849630208, 140622866415615, +STORE, 140622858022912, 140622866415615, +SNULL, 140622933524479, 140622983847935, +STORE, 140622866415616, 140622933524479, +STORE, 140622933524480, 140622983847935, +ERASE, 140622933524480, 140622983847935, +STORE, 140622975455232, 140623000633343, +STORE, 140622707019776, 140622841237503, +STORE, 140622967062528, 140623000633343, +STORE, 140622572802048, 140622841237503, +STORE, 140622958669824, 140623000633343, +STORE, 140622438584320, 140622841237503, +STORE, 140622950277120, 140623000633343, +SNULL, 140622858027007, 140622866415615, +STORE, 140622858022912, 140622858027007, +STORE, 140622858027008, 140622866415615, +STORE, 140622941884416, 140623000633343, +STORE, 140622841237504, 140622858022911, +SNULL, 140622841237504, 140622849630207, +STORE, 140622849630208, 140622858022911, +STORE, 140622841237504, 140622849630207, +SNULL, 140622849634303, 140622858022911, +STORE, 140622849630208, 140622849634303, +STORE, 140622849634304, 140622858022911, +STORE, 140622430191616, 140622438584319, +SNULL, 140622430195711, 140622438584319, +STORE, 140622430191616, 140622430195711, +STORE, 140622430195712, 140622438584319, +SNULL, 140623361323007, 140623495540735, +STORE, 140623227105280, 140623361323007, +STORE, 140623361323008, 140623495540735, +SNULL, 140623361323008, 140623403286527, +STORE, 140623403286528, 140623495540735, +STORE, 140623361323008, 140623403286527, +ERASE, 140623361323008, 140623403286527, +SNULL, 140623470395391, 140623495540735, +STORE, 140623403286528, 140623470395391, +STORE, 140623470395392, 140623495540735, +ERASE, 140623470395392, 140623495540735, +SNULL, 140623227105280, 140623269068799, +STORE, 140623269068800, 140623361323007, +STORE, 140623227105280, 140623269068799, +ERASE, 140623227105280, 140623269068799, +SNULL, 140623084494848, 140623134851071, +STORE, 140623134851072, 140623218712575, +STORE, 140623084494848, 140623134851071, +ERASE, 140623084494848, 140623134851071, +SNULL, 140623201959935, 140623218712575, +STORE, 140623134851072, 140623201959935, +STORE, 140623201959936, 140623218712575, +ERASE, 140623201959936, 140623218712575, +SNULL, 140623067742207, 140623076102143, +STORE, 140623000633344, 140623067742207, +STORE, 140623067742208, 140623076102143, +ERASE, 140623067742208, 140623076102143, +STORE, 140622295973888, 140622430191615, +SNULL, 140622295973888, 140622329544703, +STORE, 140622329544704, 140622430191615, +STORE, 140622295973888, 140622329544703, +ERASE, 140622295973888, 140622329544703, +SNULL, 140622866550783, 140622933524479, +STORE, 140622866415616, 140622866550783, +STORE, 140622866550784, 140622933524479, +SNULL, 140622707019775, 140622841237503, +STORE, 140622438584320, 140622707019775, +STORE, 140622707019776, 140622841237503, +SNULL, 140622707019776, 140622732197887, +STORE, 140622732197888, 140622841237503, +STORE, 140622707019776, 140622732197887, +ERASE, 140622707019776, 140622732197887, +SNULL, 140622799306751, 140622841237503, +STORE, 140622732197888, 140622799306751, +STORE, 140622799306752, 140622841237503, +ERASE, 140622799306752, 140622841237503, +SNULL, 140622572802047, 140622707019775, +STORE, 140622438584320, 140622572802047, +STORE, 140622572802048, 140622707019775, +SNULL, 140622572802048, 140622597980159, +STORE, 140622597980160, 140622707019775, +STORE, 140622572802048, 140622597980159, +ERASE, 140622572802048, 140622597980159, +SNULL, 140622438584320, 140622463762431, +STORE, 140622463762432, 140622572802047, +STORE, 140622438584320, 140622463762431, +ERASE, 140622438584320, 140622463762431, +SNULL, 140622530871295, 140622572802047, +STORE, 140622463762432, 140622530871295, +STORE, 140622530871296, 140622572802047, +ERASE, 140622530871296, 140622572802047, +STORE, 140622195326976, 140622430191615, +SNULL, 140622262435839, 140622430191615, +STORE, 140622195326976, 140622262435839, +STORE, 140622262435840, 140622430191615, +SNULL, 140622262435840, 140622329544703, +STORE, 140622329544704, 140622430191615, +STORE, 140622262435840, 140622329544703, +ERASE, 140622262435840, 140622329544703, +SNULL, 140622841241599, 140622849630207, +STORE, 140622841237504, 140622841241599, +STORE, 140622841241600, 140622849630207, +STORE, 140623487148032, 140623520718847, +STORE, 140623478755328, 140623520718847, +SNULL, 140622941884416, 140622983847935, +STORE, 140622983847936, 140623000633343, +STORE, 140622941884416, 140622983847935, +SNULL, 140622983852031, 140623000633343, +STORE, 140622983847936, 140622983852031, +STORE, 140622983852032, 140623000633343, +STORE, 140623394893824, 140623403286527, +SNULL, 140623394897919, 140623403286527, +STORE, 140623394893824, 140623394897919, +STORE, 140623394897920, 140623403286527, +SNULL, 140623403421695, 140623470395391, +STORE, 140623403286528, 140623403421695, +STORE, 140623403421696, 140623470395391, +SNULL, 140623478755328, 140623503933439, +STORE, 140623503933440, 140623520718847, +STORE, 140623478755328, 140623503933439, +SNULL, 140623503937535, 140623520718847, +STORE, 140623503933440, 140623503937535, +STORE, 140623503937536, 140623520718847, +SNULL, 140623336177663, 140623361323007, +STORE, 140623269068800, 140623336177663, +STORE, 140623336177664, 140623361323007, +ERASE, 140623336177664, 140623361323007, +SNULL, 140623269203967, 140623336177663, +STORE, 140623269068800, 140623269203967, +STORE, 140623269203968, 140623336177663, +SNULL, 140623134986239, 140623201959935, +STORE, 140623134851072, 140623134986239, +STORE, 140623134986240, 140623201959935, +SNULL, 140623000768511, 140623067742207, +STORE, 140623000633344, 140623000768511, +STORE, 140623000768512, 140623067742207, +SNULL, 140622396653567, 140622430191615, +STORE, 140622329544704, 140622396653567, +STORE, 140622396653568, 140622430191615, +ERASE, 140622396653568, 140622430191615, +SNULL, 140622732333055, 140622799306751, +STORE, 140622732197888, 140622732333055, +STORE, 140622732333056, 140622799306751, +SNULL, 140622941884416, 140622975455231, +STORE, 140622975455232, 140622983847935, +STORE, 140622941884416, 140622975455231, +SNULL, 140622975459327, 140622983847935, +STORE, 140622975455232, 140622975459327, +STORE, 140622975459328, 140622983847935, +SNULL, 140622665089023, 140622707019775, +STORE, 140622597980160, 140622665089023, +STORE, 140622665089024, 140622707019775, +ERASE, 140622665089024, 140622707019775, +SNULL, 140622598115327, 140622665089023, +STORE, 140622597980160, 140622598115327, +STORE, 140622598115328, 140622665089023, +SNULL, 140622463897599, 140622530871295, +STORE, 140622463762432, 140622463897599, +STORE, 140622463897600, 140622530871295, +SNULL, 140622195462143, 140622262435839, +STORE, 140622195326976, 140622195462143, +STORE, 140622195462144, 140622262435839, +STORE, 140623386501120, 140623394893823, +SNULL, 140622941884416, 140622950277119, +STORE, 140622950277120, 140622975455231, +STORE, 140622941884416, 140622950277119, +SNULL, 140622950281215, 140622975455231, +STORE, 140622950277120, 140622950281215, +STORE, 140622950281216, 140622975455231, +SNULL, 140622941888511, 140622950277119, +STORE, 140622941884416, 140622941888511, +STORE, 140622941888512, 140622950277119, +STORE, 140623378108416, 140623394893823, +SNULL, 140623478755328, 140623495540735, +STORE, 140623495540736, 140623503933439, +STORE, 140623478755328, 140623495540735, +SNULL, 140623495544831, 140623503933439, +STORE, 140623495540736, 140623495544831, +STORE, 140623495544832, 140623503933439, +SNULL, 140623478755328, 140623487148031, +STORE, 140623487148032, 140623495540735, +STORE, 140623478755328, 140623487148031, +SNULL, 140623487152127, 140623495540735, +STORE, 140623487148032, 140623487152127, +STORE, 140623487152128, 140623495540735, +SNULL, 140623218716671, 140623227105279, +STORE, 140623218712576, 140623218716671, +STORE, 140623218716672, 140623227105279, +SNULL, 140623076106239, 140623084494847, +STORE, 140623076102144, 140623076106239, +STORE, 140623076106240, 140623084494847, +SNULL, 140622329679871, 140622396653567, +STORE, 140622329544704, 140622329679871, +STORE, 140622329679872, 140622396653567, +SNULL, 140622950281216, 140622958669823, +STORE, 140622958669824, 140622975455231, +STORE, 140622950281216, 140622958669823, +SNULL, 140622958673919, 140622975455231, +STORE, 140622958669824, 140622958673919, +STORE, 140622958673920, 140622975455231, +SNULL, 140623503937536, 140623512326143, +STORE, 140623512326144, 140623520718847, +STORE, 140623503937536, 140623512326143, +SNULL, 140623512330239, 140623520718847, +STORE, 140623512326144, 140623512330239, +STORE, 140623512330240, 140623520718847, +SNULL, 140623378108416, 140623386501119, +STORE, 140623386501120, 140623394893823, +STORE, 140623378108416, 140623386501119, +SNULL, 140623386505215, 140623394893823, +STORE, 140623386501120, 140623386505215, +STORE, 140623386505216, 140623394893823, +STORE, 140623369715712, 140623386501119, +STORE, 140623361323008, 140623386501119, +STORE, 140623352930304, 140623386501119, +SNULL, 140623352930304, 140623361323007, +STORE, 140623361323008, 140623386501119, +STORE, 140623352930304, 140623361323007, +SNULL, 140623361327103, 140623386501119, +STORE, 140623361323008, 140623361327103, +STORE, 140623361327104, 140623386501119, +SNULL, 140623478759423, 140623487148031, +STORE, 140623478755328, 140623478759423, +STORE, 140623478759424, 140623487148031, +STORE, 140623344537600, 140623361323007, +STORE, 140623260676096, 140623269068799, +SNULL, 140622958673920, 140622967062527, +STORE, 140622967062528, 140622975455231, +STORE, 140622958673920, 140622967062527, +SNULL, 140622967066623, 140622975455231, +STORE, 140622967062528, 140622967066623, +STORE, 140622967066624, 140622975455231, +STORE, 140623252283392, 140623269068799, +STORE, 140623243890688, 140623269068799, +SNULL, 140622983852032, 140622992240639, +STORE, 140622992240640, 140623000633343, +STORE, 140622983852032, 140622992240639, +SNULL, 140622992244735, 140623000633343, +STORE, 140622992240640, 140622992244735, +STORE, 140622992244736, 140623000633343, +STORE, 140623235497984, 140623269068799, +STORE, 140623218716672, 140623235497983, +STORE, 140623210319872, 140623218712575, +STORE, 140623126458368, 140623134851071, +SNULL, 140623210323967, 140623218712575, +STORE, 140623210319872, 140623210323967, +STORE, 140623210323968, 140623218712575, +SNULL, 140623218716672, 140623227105279, +STORE, 140623227105280, 140623235497983, +STORE, 140623218716672, 140623227105279, +SNULL, 140623227109375, 140623235497983, +STORE, 140623227105280, 140623227109375, +STORE, 140623227109376, 140623235497983, +STORE, 140623118065664, 140623134851071, +STORE, 140623109672960, 140623134851071, +SNULL, 140623109677055, 140623134851071, +STORE, 140623109672960, 140623109677055, +STORE, 140623109677056, 140623134851071, +STORE, 140623101280256, 140623109672959, +STORE, 140623092887552, 140623109672959, +SNULL, 140623092887552, 140623101280255, +STORE, 140623101280256, 140623109672959, +STORE, 140623092887552, 140623101280255, +SNULL, 140623101284351, 140623109672959, +STORE, 140623101280256, 140623101284351, +STORE, 140623101284352, 140623109672959, +SNULL, 140623361327104, 140623378108415, +STORE, 140623378108416, 140623386501119, +STORE, 140623361327104, 140623378108415, +SNULL, 140623378112511, 140623386501119, +STORE, 140623378108416, 140623378112511, +STORE, 140623378112512, 140623386501119, +SNULL, 140623235497984, 140623243890687, +STORE, 140623243890688, 140623269068799, +STORE, 140623235497984, 140623243890687, +SNULL, 140623243894783, 140623269068799, +STORE, 140623243890688, 140623243894783, +STORE, 140623243894784, 140623269068799, +SNULL, 140623361327104, 140623369715711, +STORE, 140623369715712, 140623378108415, +STORE, 140623361327104, 140623369715711, +SNULL, 140623369719807, 140623378108415, +STORE, 140623369715712, 140623369719807, +STORE, 140623369719808, 140623378108415, +SNULL, 140623243894784, 140623252283391, +STORE, 140623252283392, 140623269068799, +STORE, 140623243894784, 140623252283391, +SNULL, 140623252287487, 140623269068799, +STORE, 140623252283392, 140623252287487, +STORE, 140623252287488, 140623269068799, +SNULL, 140623235502079, 140623243890687, +STORE, 140623235497984, 140623235502079, +STORE, 140623235502080, 140623243890687, +SNULL, 140623344541695, 140623361323007, +STORE, 140623344537600, 140623344541695, +STORE, 140623344541696, 140623361323007, +STORE, 140623076106240, 140623092887551, +SNULL, 140623076106240, 140623084494847, +STORE, 140623084494848, 140623092887551, +STORE, 140623076106240, 140623084494847, +SNULL, 140623084498943, 140623092887551, +STORE, 140623084494848, 140623084498943, +STORE, 140623084498944, 140623092887551, +SNULL, 140623344541696, 140623352930303, +STORE, 140623352930304, 140623361323007, +STORE, 140623344541696, 140623352930303, +SNULL, 140623352934399, 140623361323007, +STORE, 140623352930304, 140623352934399, +STORE, 140623352934400, 140623361323007, +SNULL, 140623109677056, 140623118065663, +STORE, 140623118065664, 140623134851071, +STORE, 140623109677056, 140623118065663, +SNULL, 140623118069759, 140623134851071, +STORE, 140623118065664, 140623118069759, +STORE, 140623118069760, 140623134851071, +STORE, 140622832844800, 140622841237503, +STORE, 140622824452096, 140622841237503, +SNULL, 140622824452096, 140622832844799, +STORE, 140622832844800, 140622841237503, +STORE, 140622824452096, 140622832844799, +SNULL, 140622832848895, 140622841237503, +STORE, 140622832844800, 140622832848895, +STORE, 140622832848896, 140622841237503, +STORE, 140622816059392, 140622832844799, +SNULL, 140623092891647, 140623101280255, +STORE, 140623092887552, 140623092891647, +STORE, 140623092891648, 140623101280255, +SNULL, 140623118069760, 140623126458367, +STORE, 140623126458368, 140623134851071, +STORE, 140623118069760, 140623126458367, +SNULL, 140623126462463, 140623134851071, +STORE, 140623126458368, 140623126462463, +STORE, 140623126462464, 140623134851071, +SNULL, 140623252287488, 140623260676095, +STORE, 140623260676096, 140623269068799, +STORE, 140623252287488, 140623260676095, +SNULL, 140623260680191, 140623269068799, +STORE, 140623260676096, 140623260680191, +STORE, 140623260680192, 140623269068799, +STORE, 140622807666688, 140622832844799, +STORE, 140622723805184, 140622732197887, +STORE, 140622715412480, 140622732197887, +STORE, 140622707019776, 140622732197887, +SNULL, 140622707023871, 140622732197887, +STORE, 140622707019776, 140622707023871, +STORE, 140622707023872, 140622732197887, +STORE, 140622698627072, 140622707019775, +STORE, 140622690234368, 140622707019775, +SNULL, 140622690238463, 140622707019775, +STORE, 140622690234368, 140622690238463, +STORE, 140622690238464, 140622707019775, +SNULL, 140622807666688, 140622816059391, +STORE, 140622816059392, 140622832844799, +STORE, 140622807666688, 140622816059391, +SNULL, 140622816063487, 140622832844799, +STORE, 140622816059392, 140622816063487, +STORE, 140622816063488, 140622832844799, +STORE, 140622681841664, 140622690234367, +STORE, 140622673448960, 140622690234367, +SNULL, 140622673453055, 140622690234367, +STORE, 140622673448960, 140622673453055, +STORE, 140622673453056, 140622690234367, +STORE, 140622589587456, 140622597980159, +SNULL, 140622807670783, 140622816059391, +STORE, 140622807666688, 140622807670783, +STORE, 140622807670784, 140622816059391, +STORE, 140622581194752, 140622597980159, +SNULL, 140622581198847, 140622597980159, +STORE, 140622581194752, 140622581198847, +STORE, 140622581198848, 140622597980159, +SNULL, 140622816063488, 140622824452095, +STORE, 140622824452096, 140622832844799, +STORE, 140622816063488, 140622824452095, +SNULL, 140622824456191, 140622832844799, +STORE, 140622824452096, 140622824456191, +STORE, 140622824456192, 140622832844799, +STORE, 140622572802048, 140622581194751, +SNULL, 140622572806143, 140622581194751, +STORE, 140622572802048, 140622572806143, +STORE, 140622572806144, 140622581194751, +STORE, 140622564409344, 140622572802047, +STORE, 140622556016640, 140622572802047, +SNULL, 140622556016640, 140622564409343, +STORE, 140622564409344, 140622572802047, +STORE, 140622556016640, 140622564409343, +SNULL, 140622564413439, 140622572802047, +STORE, 140622564409344, 140622564413439, +STORE, 140622564413440, 140622572802047, +SNULL, 140622690238464, 140622698627071, +STORE, 140622698627072, 140622707019775, +STORE, 140622690238464, 140622698627071, +SNULL, 140622698631167, 140622707019775, +STORE, 140622698627072, 140622698631167, +STORE, 140622698631168, 140622707019775, +SNULL, 140622707023872, 140622723805183, +STORE, 140622723805184, 140622732197887, +STORE, 140622707023872, 140622723805183, +SNULL, 140622723809279, 140622732197887, +STORE, 140622723805184, 140622723809279, +STORE, 140622723809280, 140622732197887, +SNULL, 140622707023872, 140622715412479, +STORE, 140622715412480, 140622723805183, +STORE, 140622707023872, 140622715412479, +SNULL, 140622715416575, 140622723805183, +STORE, 140622715412480, 140622715416575, +STORE, 140622715416576, 140622723805183, +STORE, 140622547623936, 140622564409343, +SNULL, 140622547628031, 140622564409343, +STORE, 140622547623936, 140622547628031, +STORE, 140622547628032, 140622564409343, +STORE, 140622539231232, 140622547623935, +SNULL, 140622539235327, 140622547623935, +STORE, 140622539231232, 140622539235327, +STORE, 140622539235328, 140622547623935, +SNULL, 140622581198848, 140622589587455, +STORE, 140622589587456, 140622597980159, +STORE, 140622581198848, 140622589587455, +SNULL, 140622589591551, 140622597980159, +STORE, 140622589587456, 140622589591551, +STORE, 140622589591552, 140622597980159, +STORE, 140622455369728, 140622463762431, +SNULL, 140622455373823, 140622463762431, +STORE, 140622455369728, 140622455373823, +STORE, 140622455373824, 140622463762431, +STORE, 140622446977024, 140622455369727, +SNULL, 140622446981119, 140622455369727, +STORE, 140622446977024, 140622446981119, +STORE, 140622446981120, 140622455369727, +SNULL, 140622547628032, 140622556016639, +STORE, 140622556016640, 140622564409343, +STORE, 140622547628032, 140622556016639, +SNULL, 140622556020735, 140622564409343, +STORE, 140622556016640, 140622556020735, +STORE, 140622556020736, 140622564409343, +STORE, 140622430195712, 140622446977023, +STORE, 140622421798912, 140622430191615, +SNULL, 140622430195712, 140622438584319, +STORE, 140622438584320, 140622446977023, +STORE, 140622430195712, 140622438584319, +SNULL, 140622438588415, 140622446977023, +STORE, 140622438584320, 140622438588415, +STORE, 140622438588416, 140622446977023, +STORE, 140622413406208, 140622430191615, +STORE, 140622405013504, 140622430191615, +SNULL, 140622405013504, 140622413406207, +STORE, 140622413406208, 140622430191615, +STORE, 140622405013504, 140622413406207, +SNULL, 140622413410303, 140622430191615, +STORE, 140622413406208, 140622413410303, +STORE, 140622413410304, 140622430191615, +SNULL, 140622673453056, 140622681841663, +STORE, 140622681841664, 140622690234367, +STORE, 140622673453056, 140622681841663, +SNULL, 140622681845759, 140622690234367, +STORE, 140622681841664, 140622681845759, +STORE, 140622681845760, 140622690234367, +STORE, 140622321152000, 140622329544703, +SNULL, 140622413410304, 140622421798911, +STORE, 140622421798912, 140622430191615, +STORE, 140622413410304, 140622421798911, +SNULL, 140622421803007, 140622430191615, +STORE, 140622421798912, 140622421803007, +STORE, 140622421803008, 140622430191615, +STORE, 140622312759296, 140622329544703, +SNULL, 140622312763391, 140622329544703, +STORE, 140622312759296, 140622312763391, +STORE, 140622312763392, 140622329544703, +SNULL, 140622405017599, 140622413406207, +STORE, 140622405013504, 140622405017599, +STORE, 140622405017600, 140622413406207, +STORE, 140622304366592, 140622312759295, +SNULL, 140622304370687, 140622312759295, +STORE, 140622304366592, 140622304370687, +STORE, 140622304370688, 140622312759295, +SNULL, 140622312763392, 140622321151999, +STORE, 140622321152000, 140622329544703, +STORE, 140622312763392, 140622321151999, +SNULL, 140622321156095, 140622329544703, +STORE, 140622321152000, 140622321156095, +STORE, 140622321156096, 140622329544703, +STORE, 140624062619648, 140624062648319, +STORE, 140624010240000, 140624012431359, +SNULL, 140624010240000, 140624010330111, +STORE, 140624010330112, 140624012431359, +STORE, 140624010240000, 140624010330111, +SNULL, 140624012423167, 140624012431359, +STORE, 140624010330112, 140624012423167, +STORE, 140624012423168, 140624012431359, +ERASE, 140624012423168, 140624012431359, +STORE, 140624012423168, 140624012431359, +SNULL, 140624012427263, 140624012431359, +STORE, 140624012423168, 140624012427263, +STORE, 140624012427264, 140624012431359, +ERASE, 140624062619648, 140624062648319, +ERASE, 140622849630208, 140622849634303, +ERASE, 140622849634304, 140622858022911, +ERASE, 140623394893824, 140623394897919, +ERASE, 140623394897920, 140623403286527, +ERASE, 140623361323008, 140623361327103, +ERASE, 140623361327104, 140623369715711, +ERASE, 140623084494848, 140623084498943, +ERASE, 140623084498944, 140623092887551, +ERASE, 140623931764736, 140623931768831, +ERASE, 140623931768832, 140623940157439, +ERASE, 140622841237504, 140622841241599, +ERASE, 140622841241600, 140622849630207, +ERASE, 140623487148032, 140623487152127, +ERASE, 140623487152128, 140623495540735, +ERASE, 140623109672960, 140623109677055, +ERASE, 140623109677056, 140623118065663, +ERASE, 140622983847936, 140622983852031, +ERASE, 140622983852032, 140622992240639, +ERASE, 140623352930304, 140623352934399, +ERASE, 140623352934400, 140623361323007, +ERASE, 140622564409344, 140622564413439, +ERASE, 140622564413440, 140622572802047, +ERASE, 140622430191616, 140622430195711, +ERASE, 140622430195712, 140622438584319, +ERASE, 140622958669824, 140622958673919, +ERASE, 140622958673920, 140622967062527, +ERASE, 140622992240640, 140622992244735, +ERASE, 140622992244736, 140623000633343, +ERASE, 140623227105280, 140623227109375, +ERASE, 140623227109376, 140623235497983, +ERASE, 140622321152000, 140622321156095, +ERASE, 140622321156096, 140622329544703, +ERASE, 140622858022912, 140622858027007, +ERASE, 140622858027008, 140622866415615, +ERASE, 140622975455232, 140622975459327, +ERASE, 140622975459328, 140622983847935, +ERASE, 140623378108416, 140623378112511, +ERASE, 140623378112512, 140623386501119, +ERASE, 140623495540736, 140623495544831, +ERASE, 140623495544832, 140623503933439, +ERASE, 140623118065664, 140623118069759, +ERASE, 140623118069760, 140623126458367, +ERASE, 140622572802048, 140622572806143, +ERASE, 140622572806144, 140622581194751, +ERASE, 140622421798912, 140622421803007, +ERASE, 140622421803008, 140622430191615, +ERASE, 140622967062528, 140622967066623, +ERASE, 140622967066624, 140622975455231, +ERASE, 140623252283392, 140623252287487, +ERASE, 140623252287488, 140623260676095, +ERASE, 140622673448960, 140622673453055, +ERASE, 140622673453056, 140622681841663, +ERASE, 140623076102144, 140623076106239, +ERASE, 140623076106240, 140623084494847, +ERASE, 140623101280256, 140623101284351, +ERASE, 140623101284352, 140623109672959, +ERASE, 140622715412480, 140622715416575, +ERASE, 140622715416576, 140622723805183, +ERASE, 140622405013504, 140622405017599, +ERASE, 140622405017600, 140622413406207, +ERASE, 140623478755328, 140623478759423, +ERASE, 140623478759424, 140623487148031, +ERASE, 140623906586624, 140623906590719, +ERASE, 140623906590720, 140623914979327, +ERASE, 140622950277120, 140622950281215, +ERASE, 140622950281216, 140622958669823, + }; + unsigned long set32[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140731244212224, 140737488351231, +SNULL, 140731244216319, 140737488351231, +STORE, 140731244212224, 140731244216319, +STORE, 140731244081152, 140731244216319, +STORE, 94427773984768, 94427776237567, +SNULL, 94427774115839, 94427776237567, +STORE, 94427773984768, 94427774115839, +STORE, 94427774115840, 94427776237567, +ERASE, 94427774115840, 94427776237567, +STORE, 94427776208896, 94427776217087, +STORE, 94427776217088, 94427776237567, +STORE, 140401464893440, 140401467146239, +SNULL, 140401465036799, 140401467146239, +STORE, 140401464893440, 140401465036799, +STORE, 140401465036800, 140401467146239, +ERASE, 140401465036800, 140401467146239, +STORE, 140401467133952, 140401467142143, +STORE, 140401467142144, 140401467146239, +STORE, 140731244507136, 140731244511231, +STORE, 140731244494848, 140731244507135, +STORE, 140401467105280, 140401467133951, +STORE, 140401467097088, 140401467105279, +STORE, 140401462677504, 140401464893439, +SNULL, 140401462677504, 140401462775807, +STORE, 140401462775808, 140401464893439, +STORE, 140401462677504, 140401462775807, +SNULL, 140401464868863, 140401464893439, +STORE, 140401462775808, 140401464868863, +STORE, 140401464868864, 140401464893439, +SNULL, 140401464868864, 140401464877055, +STORE, 140401464877056, 140401464893439, +STORE, 140401464868864, 140401464877055, +ERASE, 140401464868864, 140401464877055, +STORE, 140401464868864, 140401464877055, +ERASE, 140401464877056, 140401464893439, +STORE, 140401464877056, 140401464893439, +STORE, 140401458880512, 140401462677503, +SNULL, 140401458880512, 140401460539391, +STORE, 140401460539392, 140401462677503, +STORE, 140401458880512, 140401460539391, +SNULL, 140401462636543, 140401462677503, +STORE, 140401460539392, 140401462636543, +STORE, 140401462636544, 140401462677503, +SNULL, 140401462636544, 140401462661119, +STORE, 140401462661120, 140401462677503, +STORE, 140401462636544, 140401462661119, +ERASE, 140401462636544, 140401462661119, +STORE, 140401462636544, 140401462661119, +ERASE, 140401462661120, 140401462677503, +STORE, 140401462661120, 140401462677503, +STORE, 140401467088896, 140401467105279, +SNULL, 140401462652927, 140401462661119, +STORE, 140401462636544, 140401462652927, +STORE, 140401462652928, 140401462661119, +SNULL, 140401464872959, 140401464877055, +STORE, 140401464868864, 140401464872959, +STORE, 140401464872960, 140401464877055, +SNULL, 94427776212991, 94427776217087, +STORE, 94427776208896, 94427776212991, +STORE, 94427776212992, 94427776217087, +SNULL, 140401467138047, 140401467142143, +STORE, 140401467133952, 140401467138047, +STORE, 140401467138048, 140401467142143, +ERASE, 140401467105280, 140401467133951, +STORE, 94427784683520, 94427784818687, +STORE, 140401450487808, 140401458880511, +SNULL, 140401450491903, 140401458880511, +STORE, 140401450487808, 140401450491903, +STORE, 140401450491904, 140401458880511, +STORE, 140401442095104, 140401450487807, +STORE, 140401307877376, 140401442095103, +SNULL, 140401307877376, 140401340055551, +STORE, 140401340055552, 140401442095103, +STORE, 140401307877376, 140401340055551, +ERASE, 140401307877376, 140401340055551, +SNULL, 140401407164415, 140401442095103, +STORE, 140401340055552, 140401407164415, +STORE, 140401407164416, 140401442095103, +ERASE, 140401407164416, 140401442095103, +SNULL, 140401340190719, 140401407164415, +STORE, 140401340055552, 140401340190719, +STORE, 140401340190720, 140401407164415, +SNULL, 140401442099199, 140401450487807, +STORE, 140401442095104, 140401442099199, +STORE, 140401442099200, 140401450487807, +STORE, 140401433702400, 140401442095103, +SNULL, 140401433706495, 140401442095103, +STORE, 140401433702400, 140401433706495, +STORE, 140401433706496, 140401442095103, +STORE, 140401425309696, 140401433702399, +SNULL, 140401425313791, 140401433702399, +STORE, 140401425309696, 140401425313791, +STORE, 140401425313792, 140401433702399, +STORE, 140401416916992, 140401425309695, +SNULL, 140401416921087, 140401425309695, +STORE, 140401416916992, 140401416921087, +STORE, 140401416921088, 140401425309695, +STORE, 140401408524288, 140401416916991, +STORE, 140401205837824, 140401340055551, +SNULL, 140401272946687, 140401340055551, +STORE, 140401205837824, 140401272946687, +STORE, 140401272946688, 140401340055551, +ERASE, 140401272946688, 140401340055551, +SNULL, 140401205972991, 140401272946687, +STORE, 140401205837824, 140401205972991, +STORE, 140401205972992, 140401272946687, +STORE, 140401331662848, 140401340055551, +STORE, 140401323270144, 140401340055551, +STORE, 140401138728960, 140401205837823, +STORE, 140401314877440, 140401340055551, +SNULL, 140401408528383, 140401416916991, +STORE, 140401408524288, 140401408528383, +STORE, 140401408528384, 140401416916991, +SNULL, 140401138864127, 140401205837823, +STORE, 140401138728960, 140401138864127, +STORE, 140401138864128, 140401205837823, +STORE, 140401004511232, 140401138728959, +SNULL, 140401071620095, 140401138728959, +STORE, 140401004511232, 140401071620095, +STORE, 140401071620096, 140401138728959, +ERASE, 140401071620096, 140401138728959, +STORE, 140400870293504, 140401071620095, +SNULL, 140400937402367, 140401071620095, +STORE, 140400870293504, 140400937402367, +STORE, 140400937402368, 140401071620095, +SNULL, 140400937402368, 140401004511231, +STORE, 140401004511232, 140401071620095, +STORE, 140400937402368, 140401004511231, +ERASE, 140400937402368, 140401004511231, +STORE, 140401306484736, 140401340055551, +SNULL, 140401306484736, 140401323270143, +STORE, 140401323270144, 140401340055551, +STORE, 140401306484736, 140401323270143, +SNULL, 140401323274239, 140401340055551, +STORE, 140401323270144, 140401323274239, +STORE, 140401323274240, 140401340055551, +SNULL, 140401004646399, 140401071620095, +STORE, 140401004511232, 140401004646399, +STORE, 140401004646400, 140401071620095, +SNULL, 140400870428671, 140400937402367, +STORE, 140400870293504, 140400870428671, +STORE, 140400870428672, 140400937402367, +SNULL, 140401306488831, 140401323270143, +STORE, 140401306484736, 140401306488831, +STORE, 140401306488832, 140401323270143, +STORE, 140401298092032, 140401306484735, +SNULL, 140401306488832, 140401314877439, +STORE, 140401314877440, 140401323270143, +STORE, 140401306488832, 140401314877439, +SNULL, 140401314881535, 140401323270143, +STORE, 140401314877440, 140401314881535, +STORE, 140401314881536, 140401323270143, +SNULL, 140401323274240, 140401331662847, +STORE, 140401331662848, 140401340055551, +STORE, 140401323274240, 140401331662847, +SNULL, 140401331666943, 140401340055551, +STORE, 140401331662848, 140401331666943, +STORE, 140401331666944, 140401340055551, +SNULL, 140401298096127, 140401306484735, +STORE, 140401298092032, 140401298096127, +STORE, 140401298096128, 140401306484735, +STORE, 140401289699328, 140401298092031, +STORE, 140401281306624, 140401298092031, +STORE, 140401130336256, 140401138728959, +SNULL, 140401281306624, 140401289699327, +STORE, 140401289699328, 140401298092031, +STORE, 140401281306624, 140401289699327, +SNULL, 140401289703423, 140401298092031, +STORE, 140401289699328, 140401289703423, +STORE, 140401289703424, 140401298092031, +STORE, 140401121943552, 140401138728959, +STORE, 140401113550848, 140401138728959, +SNULL, 140401281310719, 140401289699327, +STORE, 140401281306624, 140401281310719, +STORE, 140401281310720, 140401289699327, +SNULL, 140401113550848, 140401121943551, +STORE, 140401121943552, 140401138728959, +STORE, 140401113550848, 140401121943551, +SNULL, 140401121947647, 140401138728959, +STORE, 140401121943552, 140401121947647, +STORE, 140401121947648, 140401138728959, +STORE, 140401105158144, 140401121943551, +SNULL, 140401121947648, 140401130336255, +STORE, 140401130336256, 140401138728959, +STORE, 140401121947648, 140401130336255, +SNULL, 140401130340351, 140401138728959, +STORE, 140401130336256, 140401130340351, +STORE, 140401130340352, 140401138728959, +STORE, 140401096765440, 140401121943551, +SNULL, 140401096765440, 140401113550847, +STORE, 140401113550848, 140401121943551, +STORE, 140401096765440, 140401113550847, +SNULL, 140401113554943, 140401121943551, +STORE, 140401113550848, 140401113554943, +STORE, 140401113554944, 140401121943551, +STORE, 140401088372736, 140401113550847, +SNULL, 140401088372736, 140401096765439, +STORE, 140401096765440, 140401113550847, +STORE, 140401088372736, 140401096765439, +SNULL, 140401096769535, 140401113550847, +STORE, 140401096765440, 140401096769535, +STORE, 140401096769536, 140401113550847, +SNULL, 140401096769536, 140401105158143, +STORE, 140401105158144, 140401113550847, +STORE, 140401096769536, 140401105158143, +SNULL, 140401105162239, 140401113550847, +STORE, 140401105158144, 140401105162239, +STORE, 140401105162240, 140401113550847, +SNULL, 140401088376831, 140401096765439, +STORE, 140401088372736, 140401088376831, +STORE, 140401088376832, 140401096765439, +STORE, 140401079980032, 140401088372735, +STORE, 140400996118528, 140401004511231, +SNULL, 140401079984127, 140401088372735, +STORE, 140401079980032, 140401079984127, +STORE, 140401079984128, 140401088372735, +SNULL, 140400996122623, 140401004511231, +STORE, 140400996118528, 140400996122623, +STORE, 140400996122624, 140401004511231, +STORE, 140400987725824, 140400996118527, +STORE, 140400979333120, 140400996118527, +STORE, 140400803184640, 140400870293503, +SNULL, 140400803319807, 140400870293503, +STORE, 140400803184640, 140400803319807, +STORE, 140400803319808, 140400870293503, +SNULL, 140400979333120, 140400987725823, +STORE, 140400987725824, 140400996118527, +STORE, 140400979333120, 140400987725823, +SNULL, 140400987729919, 140400996118527, +STORE, 140400987725824, 140400987729919, +STORE, 140400987729920, 140400996118527, +STORE, 140400970940416, 140400987725823, +STORE, 140400962547712, 140400987725823, +STORE, 140400668966912, 140400803184639, +STORE, 140400954155008, 140400987725823, +STORE, 140400945762304, 140400987725823, +STORE, 140400660574208, 140400668966911, +STORE, 140400593465344, 140400660574207, +STORE, 140400585072640, 140400593465343, +STORE, 140400450854912, 140400585072639, +STORE, 140400442462208, 140400450854911, +STORE, 140400434069504, 140400450854911, +STORE, 140400299851776, 140400434069503, +STORE, 140400291459072, 140400299851775, +SNULL, 140400299851776, 140400333422591, +STORE, 140400333422592, 140400434069503, +STORE, 140400299851776, 140400333422591, +ERASE, 140400299851776, 140400333422591, +STORE, 140400325029888, 140400333422591, +STORE, 140400157241344, 140400291459071, +STORE, 140400316637184, 140400333422591, +STORE, 140400308244480, 140400333422591, +STORE, 140400023023616, 140400291459071, +STORE, 140400291459072, 140400333422591, +SNULL, 140400023023616, 140400064987135, +STORE, 140400064987136, 140400291459071, +STORE, 140400023023616, 140400064987135, +ERASE, 140400023023616, 140400064987135, +STORE, 140400056594432, 140400064987135, +SNULL, 140400056598527, 140400064987135, +STORE, 140400056594432, 140400056598527, +STORE, 140400056598528, 140400064987135, +STORE, 140399989485568, 140400056594431, +SNULL, 140400291459072, 140400316637183, +STORE, 140400316637184, 140400333422591, +STORE, 140400291459072, 140400316637183, +SNULL, 140400316641279, 140400333422591, +STORE, 140400316637184, 140400316641279, +STORE, 140400316641280, 140400333422591, +STORE, 140399855267840, 140400056594431, +SNULL, 140399855267840, 140399863660543, +STORE, 140399863660544, 140400056594431, +STORE, 140399855267840, 140399863660543, +ERASE, 140399855267840, 140399863660543, +SNULL, 140400736075775, 140400803184639, +STORE, 140400668966912, 140400736075775, +STORE, 140400736075776, 140400803184639, +ERASE, 140400736075776, 140400803184639, +SNULL, 140400669102079, 140400736075775, +STORE, 140400668966912, 140400669102079, +STORE, 140400669102080, 140400736075775, +STORE, 140400669102080, 140400803184639, +SNULL, 140400669102080, 140400736075775, +STORE, 140400736075776, 140400803184639, +STORE, 140400669102080, 140400736075775, +SNULL, 140400736210943, 140400803184639, +STORE, 140400736075776, 140400736210943, +STORE, 140400736210944, 140400803184639, +ERASE, 140400593465344, 140400660574207, +SNULL, 140400450854912, 140400467640319, +STORE, 140400467640320, 140400585072639, +STORE, 140400450854912, 140400467640319, +ERASE, 140400450854912, 140400467640319, +STORE, 140399729442816, 140400056594431, +SNULL, 140400400531455, 140400434069503, +STORE, 140400333422592, 140400400531455, +STORE, 140400400531456, 140400434069503, +ERASE, 140400400531456, 140400434069503, +SNULL, 140400333557759, 140400400531455, +STORE, 140400333422592, 140400333557759, +STORE, 140400333557760, 140400400531455, +SNULL, 140400157241343, 140400291459071, +STORE, 140400064987136, 140400157241343, +STORE, 140400157241344, 140400291459071, +SNULL, 140400157241344, 140400199204863, +STORE, 140400199204864, 140400291459071, +STORE, 140400157241344, 140400199204863, +ERASE, 140400157241344, 140400199204863, +SNULL, 140400266313727, 140400291459071, +STORE, 140400199204864, 140400266313727, +STORE, 140400266313728, 140400291459071, +ERASE, 140400266313728, 140400291459071, +SNULL, 140400132095999, 140400157241343, +STORE, 140400064987136, 140400132095999, +STORE, 140400132096000, 140400157241343, +ERASE, 140400132096000, 140400157241343, +SNULL, 140400065122303, 140400132095999, +STORE, 140400064987136, 140400065122303, +STORE, 140400065122304, 140400132095999, +SNULL, 140400945762304, 140400954155007, +STORE, 140400954155008, 140400987725823, +STORE, 140400945762304, 140400954155007, +SNULL, 140400954159103, 140400987725823, +STORE, 140400954155008, 140400954159103, +STORE, 140400954159104, 140400987725823, +SNULL, 140400434069504, 140400442462207, +STORE, 140400442462208, 140400450854911, +STORE, 140400434069504, 140400442462207, +SNULL, 140400442466303, 140400450854911, +STORE, 140400442462208, 140400442466303, +STORE, 140400442466304, 140400450854911, +SNULL, 140400291463167, 140400316637183, +STORE, 140400291459072, 140400291463167, +STORE, 140400291463168, 140400316637183, +STORE, 140400652181504, 140400668966911, +STORE, 140400643788800, 140400668966911, +SNULL, 140400291463168, 140400299851775, +STORE, 140400299851776, 140400316637183, +STORE, 140400291463168, 140400299851775, +SNULL, 140400299855871, 140400316637183, +STORE, 140400299851776, 140400299855871, +STORE, 140400299855872, 140400316637183, +STORE, 140400635396096, 140400668966911, +SNULL, 140400635396096, 140400643788799, +STORE, 140400643788800, 140400668966911, +STORE, 140400635396096, 140400643788799, +SNULL, 140400643792895, 140400668966911, +STORE, 140400643788800, 140400643792895, +STORE, 140400643792896, 140400668966911, +SNULL, 140399989485567, 140400056594431, +STORE, 140399729442816, 140399989485567, +STORE, 140399989485568, 140400056594431, +ERASE, 140399989485568, 140400056594431, +SNULL, 140399930769407, 140399989485567, +STORE, 140399729442816, 140399930769407, +STORE, 140399930769408, 140399989485567, +ERASE, 140399930769408, 140399989485567, +SNULL, 140400945766399, 140400954155007, +STORE, 140400945762304, 140400945766399, +STORE, 140400945766400, 140400954155007, +SNULL, 140400534749183, 140400585072639, +STORE, 140400467640320, 140400534749183, +STORE, 140400534749184, 140400585072639, +ERASE, 140400534749184, 140400585072639, +SNULL, 140399796551679, 140399930769407, +STORE, 140399729442816, 140399796551679, +STORE, 140399796551680, 140399930769407, +SNULL, 140399796551680, 140399863660543, +STORE, 140399863660544, 140399930769407, +STORE, 140399796551680, 140399863660543, +ERASE, 140399796551680, 140399863660543, +SNULL, 140400199340031, 140400266313727, +STORE, 140400199204864, 140400199340031, +STORE, 140400199340032, 140400266313727, +STORE, 140400627003392, 140400643788799, +SNULL, 140400316641280, 140400325029887, +STORE, 140400325029888, 140400333422591, +STORE, 140400316641280, 140400325029887, +SNULL, 140400325033983, 140400333422591, +STORE, 140400325029888, 140400325033983, +STORE, 140400325033984, 140400333422591, +SNULL, 140400627003392, 140400635396095, +STORE, 140400635396096, 140400643788799, +STORE, 140400627003392, 140400635396095, +SNULL, 140400635400191, 140400643788799, +STORE, 140400635396096, 140400635400191, +STORE, 140400635400192, 140400643788799, +SNULL, 140400434073599, 140400442462207, +STORE, 140400434069504, 140400434073599, +STORE, 140400434073600, 140400442462207, +STORE, 140400618610688, 140400635396095, +STORE, 140400610217984, 140400635396095, +SNULL, 140400954159104, 140400962547711, +STORE, 140400962547712, 140400987725823, +STORE, 140400954159104, 140400962547711, +SNULL, 140400962551807, 140400987725823, +STORE, 140400962547712, 140400962551807, +STORE, 140400962551808, 140400987725823, +SNULL, 140400299855872, 140400308244479, +STORE, 140400308244480, 140400316637183, +STORE, 140400299855872, 140400308244479, +SNULL, 140400308248575, 140400316637183, +STORE, 140400308244480, 140400308248575, +STORE, 140400308248576, 140400316637183, +STORE, 140400601825280, 140400635396095, +SNULL, 140400601829375, 140400635396095, +STORE, 140400601825280, 140400601829375, +STORE, 140400601829376, 140400635396095, +STORE, 140400576679936, 140400593465343, +SNULL, 140400576684031, 140400593465343, +STORE, 140400576679936, 140400576684031, +STORE, 140400576684032, 140400593465343, +SNULL, 140400643792896, 140400652181503, +STORE, 140400652181504, 140400668966911, +STORE, 140400643792896, 140400652181503, +SNULL, 140400652185599, 140400668966911, +STORE, 140400652181504, 140400652185599, +STORE, 140400652185600, 140400668966911, +STORE, 140399595225088, 140399796551679, +SNULL, 140399662333951, 140399796551679, +STORE, 140399595225088, 140399662333951, +STORE, 140399662333952, 140399796551679, +SNULL, 140399662333952, 140399729442815, +STORE, 140399729442816, 140399796551679, +STORE, 140399662333952, 140399729442815, +ERASE, 140399662333952, 140399729442815, +SNULL, 140399863795711, 140399930769407, +STORE, 140399863660544, 140399863795711, +STORE, 140399863795712, 140399930769407, +STORE, 140400568287232, 140400576679935, +SNULL, 140400568291327, 140400576679935, +STORE, 140400568287232, 140400568291327, +STORE, 140400568291328, 140400576679935, +SNULL, 140400467775487, 140400534749183, +STORE, 140400467640320, 140400467775487, +STORE, 140400467775488, 140400534749183, +SNULL, 140399729577983, 140399796551679, +STORE, 140399729442816, 140399729577983, +STORE, 140399729577984, 140399796551679, +SNULL, 140400601829376, 140400627003391, +STORE, 140400627003392, 140400635396095, +STORE, 140400601829376, 140400627003391, +SNULL, 140400627007487, 140400635396095, +STORE, 140400627003392, 140400627007487, +STORE, 140400627007488, 140400635396095, +STORE, 140400559894528, 140400568287231, +STORE, 140400551501824, 140400568287231, +STORE, 140400543109120, 140400568287231, +STORE, 140400459247616, 140400467640319, +STORE, 140400442466304, 140400467640319, +SNULL, 140399595360255, 140399662333951, +STORE, 140399595225088, 140399595360255, +STORE, 140399595360256, 140399662333951, +SNULL, 140400962551808, 140400970940415, +STORE, 140400970940416, 140400987725823, +STORE, 140400962551808, 140400970940415, +SNULL, 140400970944511, 140400987725823, +STORE, 140400970940416, 140400970944511, +STORE, 140400970944512, 140400987725823, +SNULL, 140400652185600, 140400660574207, +STORE, 140400660574208, 140400668966911, +STORE, 140400652185600, 140400660574207, +SNULL, 140400660578303, 140400668966911, +STORE, 140400660574208, 140400660578303, +STORE, 140400660578304, 140400668966911, +SNULL, 140400576684032, 140400585072639, +STORE, 140400585072640, 140400593465343, +STORE, 140400576684032, 140400585072639, +SNULL, 140400585076735, 140400593465343, +STORE, 140400585072640, 140400585076735, +STORE, 140400585076736, 140400593465343, +STORE, 140400425676800, 140400434069503, +STORE, 140400417284096, 140400434069503, +STORE, 140400408891392, 140400434069503, +SNULL, 140400408891392, 140400417284095, +STORE, 140400417284096, 140400434069503, +STORE, 140400408891392, 140400417284095, +SNULL, 140400417288191, 140400434069503, +STORE, 140400417284096, 140400417288191, +STORE, 140400417288192, 140400434069503, +STORE, 140400283066368, 140400291459071, +SNULL, 140400601829376, 140400618610687, +STORE, 140400618610688, 140400627003391, +STORE, 140400601829376, 140400618610687, +SNULL, 140400618614783, 140400627003391, +STORE, 140400618610688, 140400618614783, +STORE, 140400618614784, 140400627003391, +SNULL, 140400601829376, 140400610217983, +STORE, 140400610217984, 140400618610687, +STORE, 140400601829376, 140400610217983, +SNULL, 140400610222079, 140400618610687, +STORE, 140400610217984, 140400610222079, +STORE, 140400610222080, 140400618610687, +STORE, 140400274673664, 140400291459071, +STORE, 140400190812160, 140400199204863, +STORE, 140400182419456, 140400199204863, +SNULL, 140400442466304, 140400450854911, +STORE, 140400450854912, 140400467640319, +STORE, 140400442466304, 140400450854911, +SNULL, 140400450859007, 140400467640319, +STORE, 140400450854912, 140400450859007, +STORE, 140400450859008, 140400467640319, +SNULL, 140400543109120, 140400559894527, +STORE, 140400559894528, 140400568287231, +STORE, 140400543109120, 140400559894527, +SNULL, 140400559898623, 140400568287231, +STORE, 140400559894528, 140400559898623, +STORE, 140400559898624, 140400568287231, +SNULL, 140400450859008, 140400459247615, +STORE, 140400459247616, 140400467640319, +STORE, 140400450859008, 140400459247615, +SNULL, 140400459251711, 140400467640319, +STORE, 140400459247616, 140400459251711, +STORE, 140400459251712, 140400467640319, +SNULL, 140400543113215, 140400559894527, +STORE, 140400543109120, 140400543113215, +STORE, 140400543113216, 140400559894527, +SNULL, 140400970944512, 140400979333119, +STORE, 140400979333120, 140400987725823, +STORE, 140400970944512, 140400979333119, +SNULL, 140400979337215, 140400987725823, +STORE, 140400979333120, 140400979337215, +STORE, 140400979337216, 140400987725823, +STORE, 140400174026752, 140400199204863, +SNULL, 140400174030847, 140400199204863, +STORE, 140400174026752, 140400174030847, +STORE, 140400174030848, 140400199204863, +SNULL, 140400274673664, 140400283066367, +STORE, 140400283066368, 140400291459071, +STORE, 140400274673664, 140400283066367, +SNULL, 140400283070463, 140400291459071, +STORE, 140400283066368, 140400283070463, +STORE, 140400283070464, 140400291459071, +STORE, 140400165634048, 140400174026751, +SNULL, 140400165638143, 140400174026751, +STORE, 140400165634048, 140400165638143, +STORE, 140400165638144, 140400174026751, +SNULL, 140400174030848, 140400182419455, +STORE, 140400182419456, 140400199204863, +STORE, 140400174030848, 140400182419455, +SNULL, 140400182423551, 140400199204863, +STORE, 140400182419456, 140400182423551, +STORE, 140400182423552, 140400199204863, +SNULL, 140400182423552, 140400190812159, +STORE, 140400190812160, 140400199204863, +STORE, 140400182423552, 140400190812159, +SNULL, 140400190816255, 140400199204863, +STORE, 140400190812160, 140400190816255, +STORE, 140400190816256, 140400199204863, +STORE, 140400157241344, 140400165634047, +SNULL, 140400157245439, 140400165634047, +STORE, 140400157241344, 140400157245439, +STORE, 140400157245440, 140400165634047, +SNULL, 140400408895487, 140400417284095, +STORE, 140400408891392, 140400408895487, +STORE, 140400408895488, 140400417284095, +SNULL, 140400417288192, 140400425676799, +STORE, 140400425676800, 140400434069503, +STORE, 140400417288192, 140400425676799, +SNULL, 140400425680895, 140400434069503, +STORE, 140400425676800, 140400425680895, +STORE, 140400425680896, 140400434069503, +STORE, 140400148848640, 140400157241343, +SNULL, 140400148852735, 140400157241343, +STORE, 140400148848640, 140400148852735, +STORE, 140400148852736, 140400157241343, +SNULL, 140400543113216, 140400551501823, +STORE, 140400551501824, 140400559894527, +STORE, 140400543113216, 140400551501823, +SNULL, 140400551505919, 140400559894527, +STORE, 140400551501824, 140400551505919, +STORE, 140400551505920, 140400559894527, +STORE, 140400140455936, 140400148848639, +STORE, 140400048201728, 140400056594431, +SNULL, 140400140460031, 140400148848639, +STORE, 140400140455936, 140400140460031, +STORE, 140400140460032, 140400148848639, +STORE, 140400039809024, 140400056594431, +SNULL, 140400039813119, 140400056594431, +STORE, 140400039809024, 140400039813119, +STORE, 140400039813120, 140400056594431, +STORE, 140400031416320, 140400039809023, +STORE, 140400023023616, 140400039809023, +SNULL, 140400274677759, 140400283066367, +STORE, 140400274673664, 140400274677759, +STORE, 140400274677760, 140400283066367, +STORE, 140400014630912, 140400039809023, +STORE, 140400006238208, 140400039809023, +STORE, 140399997845504, 140400039809023, +SNULL, 140399997849599, 140400039809023, +STORE, 140399997845504, 140399997849599, +STORE, 140399997849600, 140400039809023, +STORE, 140399989452800, 140399997845503, +SNULL, 140399989456895, 140399997845503, +STORE, 140399989452800, 140399989456895, +STORE, 140399989456896, 140399997845503, +STORE, 140399981060096, 140399989452799, +SNULL, 140399981064191, 140399989452799, +STORE, 140399981060096, 140399981064191, +STORE, 140399981064192, 140399989452799, +STORE, 140399972667392, 140399981060095, +STORE, 140399964274688, 140399981060095, +SNULL, 140399964278783, 140399981060095, +STORE, 140399964274688, 140399964278783, +STORE, 140399964278784, 140399981060095, +SNULL, 140400039813120, 140400048201727, +STORE, 140400048201728, 140400056594431, +STORE, 140400039813120, 140400048201727, +SNULL, 140400048205823, 140400056594431, +STORE, 140400048201728, 140400048205823, +STORE, 140400048205824, 140400056594431, +SNULL, 140399997849600, 140400031416319, +STORE, 140400031416320, 140400039809023, +STORE, 140399997849600, 140400031416319, +SNULL, 140400031420415, 140400039809023, +STORE, 140400031416320, 140400031420415, +STORE, 140400031420416, 140400039809023, +STORE, 140399955881984, 140399964274687, +SNULL, 140399955886079, 140399964274687, +STORE, 140399955881984, 140399955886079, +STORE, 140399955886080, 140399964274687, +STORE, 140399947489280, 140399955881983, +STORE, 140399939096576, 140399955881983, +STORE, 140399855267840, 140399863660543, +SNULL, 140399939100671, 140399955881983, +STORE, 140399939096576, 140399939100671, +STORE, 140399939100672, 140399955881983, +SNULL, 140399997849600, 140400014630911, +STORE, 140400014630912, 140400031416319, +STORE, 140399997849600, 140400014630911, +SNULL, 140400014635007, 140400031416319, +STORE, 140400014630912, 140400014635007, +STORE, 140400014635008, 140400031416319, +SNULL, 140400014635008, 140400023023615, +STORE, 140400023023616, 140400031416319, +STORE, 140400014635008, 140400023023615, +SNULL, 140400023027711, 140400031416319, +STORE, 140400023023616, 140400023027711, +STORE, 140400023027712, 140400031416319, +SNULL, 140399997849600, 140400006238207, +STORE, 140400006238208, 140400014630911, +STORE, 140399997849600, 140400006238207, +SNULL, 140400006242303, 140400014630911, +STORE, 140400006238208, 140400006242303, +STORE, 140400006242304, 140400014630911, +STORE, 140399846875136, 140399863660543, +STORE, 140399838482432, 140399863660543, +SNULL, 140399838486527, 140399863660543, +STORE, 140399838482432, 140399838486527, +STORE, 140399838486528, 140399863660543, +SNULL, 140399939100672, 140399947489279, +STORE, 140399947489280, 140399955881983, +STORE, 140399939100672, 140399947489279, +SNULL, 140399947493375, 140399955881983, +STORE, 140399947489280, 140399947493375, +STORE, 140399947493376, 140399955881983, +SNULL, 140399964278784, 140399972667391, +STORE, 140399972667392, 140399981060095, +STORE, 140399964278784, 140399972667391, +SNULL, 140399972671487, 140399981060095, +STORE, 140399972667392, 140399972671487, +STORE, 140399972671488, 140399981060095, +SNULL, 140399838486528, 140399855267839, +STORE, 140399855267840, 140399863660543, +STORE, 140399838486528, 140399855267839, +SNULL, 140399855271935, 140399863660543, +STORE, 140399855267840, 140399855271935, +STORE, 140399855271936, 140399863660543, +STORE, 140399830089728, 140399838482431, +SNULL, 140399830093823, 140399838482431, +STORE, 140399830089728, 140399830093823, +STORE, 140399830093824, 140399838482431, +STORE, 140399821697024, 140399830089727, +SNULL, 140399821701119, 140399830089727, +STORE, 140399821697024, 140399821701119, +STORE, 140399821701120, 140399830089727, +SNULL, 140399838486528, 140399846875135, +STORE, 140399846875136, 140399855267839, +STORE, 140399838486528, 140399846875135, +SNULL, 140399846879231, 140399855267839, +STORE, 140399846875136, 140399846879231, +STORE, 140399846879232, 140399855267839, +STORE, 140399813304320, 140399821697023, +STORE, 140399804911616, 140399821697023, +SNULL, 140399804915711, 140399821697023, +STORE, 140399804911616, 140399804915711, +STORE, 140399804915712, 140399821697023, +STORE, 140399721050112, 140399729442815, +SNULL, 140399804915712, 140399813304319, +STORE, 140399813304320, 140399821697023, +STORE, 140399804915712, 140399813304319, +SNULL, 140399813308415, 140399821697023, +STORE, 140399813304320, 140399813308415, +STORE, 140399813308416, 140399821697023, +SNULL, 140399721054207, 140399729442815, +STORE, 140399721050112, 140399721054207, +STORE, 140399721054208, 140399729442815, +STORE, 140401467105280, 140401467133951, +STORE, 140401279115264, 140401281306623, +SNULL, 140401279115264, 140401279205375, +STORE, 140401279205376, 140401281306623, +STORE, 140401279115264, 140401279205375, +SNULL, 140401281298431, 140401281306623, +STORE, 140401279205376, 140401281298431, +STORE, 140401281298432, 140401281306623, +ERASE, 140401281298432, 140401281306623, +STORE, 140401281298432, 140401281306623, +SNULL, 140401281302527, 140401281306623, +STORE, 140401281298432, 140401281302527, +STORE, 140401281302528, 140401281306623, +ERASE, 140401467105280, 140401467133951, +ERASE, 140400056594432, 140400056598527, +ERASE, 140400056598528, 140400064987135, +ERASE, 140400635396096, 140400635400191, +ERASE, 140400635400192, 140400643788799, +ERASE, 140400408891392, 140400408895487, +ERASE, 140400408895488, 140400417284095, +ERASE, 140400299851776, 140400299855871, +ERASE, 140400299855872, 140400308244479, +ERASE, 140400627003392, 140400627007487, +ERASE, 140400627007488, 140400635396095, +ERASE, 140400954155008, 140400954159103, +ERASE, 140400954159104, 140400962547711, +ERASE, 140400291459072, 140400291463167, +ERASE, 140400291463168, 140400299851775, +ERASE, 140400643788800, 140400643792895, +ERASE, 140400643792896, 140400652181503, +ERASE, 140400325029888, 140400325033983, +ERASE, 140400325033984, 140400333422591, +ERASE, 140400610217984, 140400610222079, +ERASE, 140400610222080, 140400618610687, +ERASE, 140400190812160, 140400190816255, +ERASE, 140400190816256, 140400199204863, +ERASE, 140399964274688, 140399964278783, +ERASE, 140399964278784, 140399972667391, +ERASE, 140400945762304, 140400945766399, +ERASE, 140400945766400, 140400954155007, +ERASE, 140400568287232, 140400568291327, +ERASE, 140400568291328, 140400576679935, +ERASE, 140399972667392, 140399972671487, +ERASE, 140399972671488, 140399981060095, +ERASE, 140400962547712, 140400962551807, +ERASE, 140400962551808, 140400970940415, +ERASE, 140400987725824, 140400987729919, +ERASE, 140400987729920, 140400996118527, +ERASE, 140400652181504, 140400652185599, +ERASE, 140400652185600, 140400660574207, +ERASE, 140400450854912, 140400450859007, +ERASE, 140400450859008, 140400459247615, +ERASE, 140400031416320, 140400031420415, +ERASE, 140400031420416, 140400039809023, +ERASE, 140400308244480, 140400308248575, +ERASE, 140400308248576, 140400316637183, +ERASE, 140400434069504, 140400434073599, +ERASE, 140400434073600, 140400442462207, +ERASE, 140400543109120, 140400543113215, +ERASE, 140400543113216, 140400551501823, +ERASE, 140400023023616, 140400023027711, +ERASE, 140400023027712, 140400031416319, +ERASE, 140399813304320, 140399813308415, +ERASE, 140399813308416, 140399821697023, +ERASE, 140400316637184, 140400316641279, +ERASE, 140400316641280, 140400325029887, +ERASE, 140400585072640, 140400585076735, +ERASE, 140400585076736, 140400593465343, +ERASE, 140400148848640, 140400148852735, +ERASE, 140400148852736, 140400157241343, +ERASE, 140399955881984, 140399955886079, +ERASE, 140399955886080, 140399964274687, +ERASE, 140399821697024, 140399821701119, +ERASE, 140399821701120, 140399830089727, +ERASE, 140400601825280, 140400601829375, +ERASE, 140400601829376, 140400610217983, +ERASE, 140400979333120, 140400979337215, +ERASE, 140400979337216, 140400987725823, +ERASE, 140399997845504, 140399997849599, +ERASE, 140399997849600, 140400006238207, +ERASE, 140400459247616, 140400459251711, +ERASE, 140400459251712, 140400467640319, +ERASE, 140400551501824, 140400551505919, +ERASE, 140400551505920, 140400559894527, +ERASE, 140399939096576, 140399939100671, +ERASE, 140399939100672, 140399947489279, +ERASE, 140400442462208, 140400442466303, +ERASE, 140400442466304, 140400450854911, +ERASE, 140400576679936, 140400576684031, +ERASE, 140400576684032, 140400585072639, +ERASE, 140400559894528, 140400559898623, +ERASE, 140400559898624, 140400568287231, +ERASE, 140400417284096, 140400417288191, +ERASE, 140400417288192, 140400425676799, +ERASE, 140400283066368, 140400283070463, +ERASE, 140400283070464, 140400291459071, + }; + unsigned long set33[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140734562918400, 140737488351231, +SNULL, 140734562922495, 140737488351231, +STORE, 140734562918400, 140734562922495, +STORE, 140734562787328, 140734562922495, +STORE, 94133878984704, 94133881237503, +SNULL, 94133879115775, 94133881237503, +STORE, 94133878984704, 94133879115775, +STORE, 94133879115776, 94133881237503, +ERASE, 94133879115776, 94133881237503, +STORE, 94133881208832, 94133881217023, +STORE, 94133881217024, 94133881237503, +STORE, 140583654043648, 140583656296447, +SNULL, 140583654187007, 140583656296447, +STORE, 140583654043648, 140583654187007, +STORE, 140583654187008, 140583656296447, +ERASE, 140583654187008, 140583656296447, +STORE, 140583656284160, 140583656292351, +STORE, 140583656292352, 140583656296447, +STORE, 140734564319232, 140734564323327, +STORE, 140734564306944, 140734564319231, +STORE, 140583656255488, 140583656284159, +STORE, 140583656247296, 140583656255487, +STORE, 140583651827712, 140583654043647, +SNULL, 140583651827712, 140583651926015, +STORE, 140583651926016, 140583654043647, +STORE, 140583651827712, 140583651926015, +SNULL, 140583654019071, 140583654043647, +STORE, 140583651926016, 140583654019071, +STORE, 140583654019072, 140583654043647, +SNULL, 140583654019072, 140583654027263, +STORE, 140583654027264, 140583654043647, +STORE, 140583654019072, 140583654027263, +ERASE, 140583654019072, 140583654027263, +STORE, 140583654019072, 140583654027263, +ERASE, 140583654027264, 140583654043647, +STORE, 140583654027264, 140583654043647, +STORE, 140583648030720, 140583651827711, +SNULL, 140583648030720, 140583649689599, +STORE, 140583649689600, 140583651827711, +STORE, 140583648030720, 140583649689599, +SNULL, 140583651786751, 140583651827711, +STORE, 140583649689600, 140583651786751, +STORE, 140583651786752, 140583651827711, +SNULL, 140583651786752, 140583651811327, +STORE, 140583651811328, 140583651827711, +STORE, 140583651786752, 140583651811327, +ERASE, 140583651786752, 140583651811327, +STORE, 140583651786752, 140583651811327, +ERASE, 140583651811328, 140583651827711, +STORE, 140583651811328, 140583651827711, +STORE, 140583656239104, 140583656255487, +SNULL, 140583651803135, 140583651811327, +STORE, 140583651786752, 140583651803135, +STORE, 140583651803136, 140583651811327, +SNULL, 140583654023167, 140583654027263, +STORE, 140583654019072, 140583654023167, +STORE, 140583654023168, 140583654027263, +SNULL, 94133881212927, 94133881217023, +STORE, 94133881208832, 94133881212927, +STORE, 94133881212928, 94133881217023, +SNULL, 140583656288255, 140583656292351, +STORE, 140583656284160, 140583656288255, +STORE, 140583656288256, 140583656292351, +ERASE, 140583656255488, 140583656284159, +STORE, 94133881733120, 94133881868287, +STORE, 140583639638016, 140583648030719, +SNULL, 140583639642111, 140583648030719, +STORE, 140583639638016, 140583639642111, +STORE, 140583639642112, 140583648030719, +STORE, 140583631245312, 140583639638015, +STORE, 140583497027584, 140583631245311, +SNULL, 140583497027584, 140583540621311, +STORE, 140583540621312, 140583631245311, +STORE, 140583497027584, 140583540621311, +ERASE, 140583497027584, 140583540621311, +SNULL, 140583607730175, 140583631245311, +STORE, 140583540621312, 140583607730175, +STORE, 140583607730176, 140583631245311, +ERASE, 140583607730176, 140583631245311, +SNULL, 140583540756479, 140583607730175, +STORE, 140583540621312, 140583540756479, +STORE, 140583540756480, 140583607730175, +SNULL, 140583631249407, 140583639638015, +STORE, 140583631245312, 140583631249407, +STORE, 140583631249408, 140583639638015, +STORE, 140583622852608, 140583631245311, +SNULL, 140583622856703, 140583631245311, +STORE, 140583622852608, 140583622856703, +STORE, 140583622856704, 140583631245311, +STORE, 140583614459904, 140583622852607, +SNULL, 140583614463999, 140583622852607, +STORE, 140583614459904, 140583614463999, +STORE, 140583614464000, 140583622852607, +STORE, 140583532228608, 140583540621311, +SNULL, 140583532232703, 140583540621311, +STORE, 140583532228608, 140583532232703, +STORE, 140583532232704, 140583540621311, +STORE, 140583523835904, 140583532228607, +STORE, 140583515443200, 140583532228607, +STORE, 140583507050496, 140583532228607, +STORE, 140583372832768, 140583507050495, +STORE, 140583364440064, 140583372832767, +STORE, 140583230222336, 140583364440063, +STORE, 140583096004608, 140583364440063, +SNULL, 140583230222335, 140583364440063, +STORE, 140583096004608, 140583230222335, +STORE, 140583230222336, 140583364440063, +SNULL, 140583230222336, 140583272185855, +STORE, 140583272185856, 140583364440063, +STORE, 140583230222336, 140583272185855, +ERASE, 140583230222336, 140583272185855, +STORE, 140582961786880, 140583230222335, +SNULL, 140583372832768, 140583406403583, +STORE, 140583406403584, 140583507050495, +STORE, 140583372832768, 140583406403583, +ERASE, 140583372832768, 140583406403583, +SNULL, 140583473512447, 140583507050495, +STORE, 140583406403584, 140583473512447, +STORE, 140583473512448, 140583507050495, +ERASE, 140583473512448, 140583507050495, +SNULL, 140583096004607, 140583230222335, +STORE, 140582961786880, 140583096004607, +STORE, 140583096004608, 140583230222335, +SNULL, 140583096004608, 140583137968127, +STORE, 140583137968128, 140583230222335, +STORE, 140583096004608, 140583137968127, +ERASE, 140583096004608, 140583137968127, +SNULL, 140583339294719, 140583364440063, +STORE, 140583272185856, 140583339294719, +STORE, 140583339294720, 140583364440063, +ERASE, 140583339294720, 140583364440063, +SNULL, 140583272321023, 140583339294719, +STORE, 140583272185856, 140583272321023, +STORE, 140583272321024, 140583339294719, +SNULL, 140582961786880, 140583003750399, +STORE, 140583003750400, 140583096004607, +STORE, 140582961786880, 140583003750399, +ERASE, 140582961786880, 140583003750399, + }; + + unsigned long set34[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140731327180800, 140737488351231, +SNULL, 140731327184895, 140737488351231, +STORE, 140731327180800, 140731327184895, +STORE, 140731327049728, 140731327184895, +STORE, 94632924487680, 94632926740479, +SNULL, 94632924618751, 94632926740479, +STORE, 94632924487680, 94632924618751, +STORE, 94632924618752, 94632926740479, +ERASE, 94632924618752, 94632926740479, +STORE, 94632926711808, 94632926719999, +STORE, 94632926720000, 94632926740479, +STORE, 140012544888832, 140012547141631, +SNULL, 140012545032191, 140012547141631, +STORE, 140012544888832, 140012545032191, +STORE, 140012545032192, 140012547141631, +ERASE, 140012545032192, 140012547141631, +STORE, 140012547129344, 140012547137535, +STORE, 140012547137536, 140012547141631, +STORE, 140731327725568, 140731327729663, +STORE, 140731327713280, 140731327725567, +STORE, 140012547100672, 140012547129343, +STORE, 140012547092480, 140012547100671, +STORE, 140012542672896, 140012544888831, +SNULL, 140012542672896, 140012542771199, +STORE, 140012542771200, 140012544888831, +STORE, 140012542672896, 140012542771199, +SNULL, 140012544864255, 140012544888831, +STORE, 140012542771200, 140012544864255, +STORE, 140012544864256, 140012544888831, +SNULL, 140012544864256, 140012544872447, +STORE, 140012544872448, 140012544888831, +STORE, 140012544864256, 140012544872447, +ERASE, 140012544864256, 140012544872447, +STORE, 140012544864256, 140012544872447, +ERASE, 140012544872448, 140012544888831, +STORE, 140012544872448, 140012544888831, +STORE, 140012538875904, 140012542672895, +SNULL, 140012538875904, 140012540534783, +STORE, 140012540534784, 140012542672895, +STORE, 140012538875904, 140012540534783, +SNULL, 140012542631935, 140012542672895, +STORE, 140012540534784, 140012542631935, +STORE, 140012542631936, 140012542672895, +SNULL, 140012542631936, 140012542656511, +STORE, 140012542656512, 140012542672895, +STORE, 140012542631936, 140012542656511, +ERASE, 140012542631936, 140012542656511, +STORE, 140012542631936, 140012542656511, +ERASE, 140012542656512, 140012542672895, +STORE, 140012542656512, 140012542672895, +STORE, 140012547084288, 140012547100671, +SNULL, 140012542648319, 140012542656511, +STORE, 140012542631936, 140012542648319, +STORE, 140012542648320, 140012542656511, +SNULL, 140012544868351, 140012544872447, +STORE, 140012544864256, 140012544868351, +STORE, 140012544868352, 140012544872447, +SNULL, 94632926715903, 94632926719999, +STORE, 94632926711808, 94632926715903, +STORE, 94632926715904, 94632926719999, +SNULL, 140012547133439, 140012547137535, +STORE, 140012547129344, 140012547133439, +STORE, 140012547133440, 140012547137535, +ERASE, 140012547100672, 140012547129343, +STORE, 94632939606016, 94632939741183, +STORE, 140012530483200, 140012538875903, +SNULL, 140012530487295, 140012538875903, +STORE, 140012530483200, 140012530487295, +STORE, 140012530487296, 140012538875903, +STORE, 140012522090496, 140012530483199, +STORE, 140012387872768, 140012522090495, +SNULL, 140012387872768, 140012444188671, +STORE, 140012444188672, 140012522090495, +STORE, 140012387872768, 140012444188671, +ERASE, 140012387872768, 140012444188671, +SNULL, 140012511297535, 140012522090495, +STORE, 140012444188672, 140012511297535, +STORE, 140012511297536, 140012522090495, +ERASE, 140012511297536, 140012522090495, +SNULL, 140012444323839, 140012511297535, +STORE, 140012444188672, 140012444323839, +STORE, 140012444323840, 140012511297535, +SNULL, 140012522094591, 140012530483199, +STORE, 140012522090496, 140012522094591, +STORE, 140012522094592, 140012530483199, +STORE, 140012513697792, 140012522090495, +SNULL, 140012513701887, 140012522090495, +STORE, 140012513697792, 140012513701887, +STORE, 140012513701888, 140012522090495, +STORE, 140012435795968, 140012444188671, +SNULL, 140012435800063, 140012444188671, +STORE, 140012435795968, 140012435800063, +STORE, 140012435800064, 140012444188671, +STORE, 140012427403264, 140012435795967, +SNULL, 140012427407359, 140012435795967, +STORE, 140012427403264, 140012427407359, +STORE, 140012427407360, 140012435795967, +STORE, 140012419010560, 140012427403263, +STORE, 140012410617856, 140012427403263, +STORE, 140012276400128, 140012410617855, +STORE, 140012268007424, 140012276400127, +STORE, 140012133789696, 140012268007423, +SNULL, 140012133789696, 140012175753215, +STORE, 140012175753216, 140012268007423, +STORE, 140012133789696, 140012175753215, +ERASE, 140012133789696, 140012175753215, +STORE, 140012041535488, 140012268007423, +SNULL, 140012108644351, 140012268007423, +STORE, 140012041535488, 140012108644351, +STORE, 140012108644352, 140012268007423, +SNULL, 140012108644352, 140012175753215, +STORE, 140012175753216, 140012268007423, +STORE, 140012108644352, 140012175753215, +ERASE, 140012108644352, 140012175753215, +SNULL, 140012276400128, 140012309970943, +STORE, 140012309970944, 140012410617855, +STORE, 140012276400128, 140012309970943, +ERASE, 140012276400128, 140012309970943, +STORE, 140012301578240, 140012309970943, +STORE, 140012041535488, 140012268007423, +SNULL, 140012242862079, 140012268007423, +STORE, 140012041535488, 140012242862079, +STORE, 140012242862080, 140012268007423, +ERASE, 140012242862080, 140012268007423, +SNULL, 140012041670655, 140012242862079, +STORE, 140012041535488, 140012041670655, +STORE, 140012041670656, 140012242862079, +SNULL, 140012041670656, 140012108644351, +STORE, 140012108644352, 140012242862079, +STORE, 140012041670656, 140012108644351, +SNULL, 140012108779519, 140012242862079, +STORE, 140012108644352, 140012108779519, +STORE, 140012108779520, 140012242862079, +SNULL, 140012377079807, 140012410617855, +STORE, 140012309970944, 140012377079807, +STORE, 140012377079808, 140012410617855, +ERASE, 140012377079808, 140012410617855, +SNULL, 140012310106111, 140012377079807, +STORE, 140012309970944, 140012310106111, +STORE, 140012310106112, 140012377079807, +SNULL, 140012410621951, 140012427403263, +STORE, 140012410617856, 140012410621951, +STORE, 140012410621952, 140012427403263, +SNULL, 140012108779520, 140012175753215, +STORE, 140012175753216, 140012242862079, +STORE, 140012108779520, 140012175753215, +SNULL, 140012175888383, 140012242862079, +STORE, 140012175753216, 140012175888383, +STORE, 140012175888384, 140012242862079, +SNULL, 140012301582335, 140012309970943, +STORE, 140012301578240, 140012301582335, +STORE, 140012301582336, 140012309970943, +SNULL, 140012410621952, 140012419010559, +STORE, 140012419010560, 140012427403263, +STORE, 140012410621952, 140012419010559, +SNULL, 140012419014655, 140012427403263, +STORE, 140012419010560, 140012419014655, +STORE, 140012419014656, 140012427403263, +SNULL, 140012268011519, 140012276400127, +STORE, 140012268007424, 140012268011519, +STORE, 140012268011520, 140012276400127, +STORE, 140012402225152, 140012410617855, +STORE, 140012393832448, 140012410617855, +SNULL, 140012393832448, 140012402225151, +STORE, 140012402225152, 140012410617855, +STORE, 140012393832448, 140012402225151, +SNULL, 140012402229247, 140012410617855, +STORE, 140012402225152, 140012402229247, +STORE, 140012402229248, 140012410617855, +STORE, 140012385439744, 140012402225151, +SNULL, 140012385439744, 140012393832447, +STORE, 140012393832448, 140012402225151, +STORE, 140012385439744, 140012393832447, +SNULL, 140012393836543, 140012402225151, +STORE, 140012393832448, 140012393836543, +STORE, 140012393836544, 140012402225151, +STORE, 140012293185536, 140012301578239, +STORE, 140012284792832, 140012301578239, +SNULL, 140012284792832, 140012293185535, +STORE, 140012293185536, 140012301578239, +STORE, 140012284792832, 140012293185535, +SNULL, 140012293189631, 140012301578239, +STORE, 140012293185536, 140012293189631, +STORE, 140012293189632, 140012301578239, +STORE, 140012268011520, 140012284792831, +SNULL, 140012385443839, 140012393832447, +STORE, 140012385439744, 140012385443839, +STORE, 140012385443840, 140012393832447, +STORE, 140012259614720, 140012268007423, +SNULL, 140012259618815, 140012268007423, +STORE, 140012259614720, 140012259618815, +STORE, 140012259618816, 140012268007423, +STORE, 140012251222016, 140012259614719, +SNULL, 140012251226111, 140012259614719, +STORE, 140012251222016, 140012251226111, +STORE, 140012251226112, 140012259614719, +SNULL, 140012284796927, 140012293185535, +STORE, 140012284792832, 140012284796927, +STORE, 140012284796928, 140012293185535, +SNULL, 140012268011520, 140012276400127, +STORE, 140012276400128, 140012284792831, +STORE, 140012268011520, 140012276400127, +SNULL, 140012276404223, 140012284792831, +STORE, 140012276400128, 140012276404223, +STORE, 140012276404224, 140012284792831, +STORE, 140012033142784, 140012041535487, +SNULL, 140012033146879, 140012041535487, +STORE, 140012033142784, 140012033146879, +STORE, 140012033146880, 140012041535487, +STORE, 140012024750080, 140012033142783, +STORE, 140012016357376, 140012033142783, +SNULL, 140012016357376, 140012024750079, +STORE, 140012024750080, 140012033142783, +STORE, 140012016357376, 140012024750079, +SNULL, 140012024754175, 140012033142783, +STORE, 140012024750080, 140012024754175, +STORE, 140012024754176, 140012033142783, +SNULL, 140012016361471, 140012024750079, +STORE, 140012016357376, 140012016361471, +STORE, 140012016361472, 140012024750079, +STORE, 140012007964672, 140012016357375, +SNULL, 140012007968767, 140012016357375, +STORE, 140012007964672, 140012007968767, +STORE, 140012007968768, 140012016357375, +STORE, 140011999571968, 140012007964671, +STORE, 140011991179264, 140012007964671, +STORE, 140011856961536, 140011991179263, +STORE, 140011848568832, 140011856961535, +STORE, 140011714351104, 140011848568831, +SNULL, 140011714351104, 140011773100031, +STORE, 140011773100032, 140011848568831, +STORE, 140011714351104, 140011773100031, +ERASE, 140011714351104, 140011773100031, +STORE, 140011764707328, 140011773100031, +STORE, 140011756314624, 140011773100031, +STORE, 140011622096896, 140011756314623, +STORE, 140011613704192, 140011622096895, +STORE, 140011479486464, 140011613704191, +STORE, 140011471093760, 140011479486463, +SNULL, 140011479486464, 140011504664575, +STORE, 140011504664576, 140011613704191, +STORE, 140011479486464, 140011504664575, +ERASE, 140011479486464, 140011504664575, +STORE, 140011496271872, 140011504664575, +STORE, 140011487879168, 140011504664575, +STORE, 140011336876032, 140011471093759, +SNULL, 140011336876032, 140011370446847, +STORE, 140011370446848, 140011471093759, +STORE, 140011336876032, 140011370446847, +ERASE, 140011336876032, 140011370446847, +STORE, 140011471093760, 140011487879167, +STORE, 140011362054144, 140011370446847, +SNULL, 140011362058239, 140011370446847, +STORE, 140011362054144, 140011362058239, +STORE, 140011362058240, 140011370446847, +STORE, 140011353661440, 140011362054143, +STORE, 140011345268736, 140011362054143, +SNULL, 140011345272831, 140011362054143, +STORE, 140011345268736, 140011345272831, +STORE, 140011345272832, 140011362054143, +STORE, 140011336876032, 140011345268735, +STORE, 140011328483328, 140011345268735, +SNULL, 140011328487423, 140011345268735, +STORE, 140011328483328, 140011328487423, +STORE, 140011328487424, 140011345268735, +STORE, 140011320090624, 140011328483327, +STORE, 140011185872896, 140011320090623, +SNULL, 140011185872896, 140011236229119, +STORE, 140011236229120, 140011320090623, +STORE, 140011185872896, 140011236229119, +ERASE, 140011185872896, 140011236229119, +SNULL, 140011856961536, 140011907317759, +STORE, 140011907317760, 140011991179263, +STORE, 140011856961536, 140011907317759, +ERASE, 140011856961536, 140011907317759, +SNULL, 140011974426623, 140011991179263, +STORE, 140011907317760, 140011974426623, +STORE, 140011974426624, 140011991179263, +ERASE, 140011974426624, 140011991179263, +SNULL, 140011840208895, 140011848568831, +STORE, 140011773100032, 140011840208895, +STORE, 140011840208896, 140011848568831, +ERASE, 140011840208896, 140011848568831, +SNULL, 140011773235199, 140011840208895, +STORE, 140011773100032, 140011773235199, +STORE, 140011773235200, 140011840208895, +STORE, 140011102011392, 140011320090623, +SNULL, 140011169120255, 140011320090623, +STORE, 140011102011392, 140011169120255, +STORE, 140011169120256, 140011320090623, +SNULL, 140011169120256, 140011236229119, +STORE, 140011236229120, 140011320090623, +STORE, 140011169120256, 140011236229119, +ERASE, 140011169120256, 140011236229119, +SNULL, 140011622096896, 140011638882303, +STORE, 140011638882304, 140011756314623, +STORE, 140011622096896, 140011638882303, +ERASE, 140011622096896, 140011638882303, +SNULL, 140011705991167, 140011756314623, +STORE, 140011638882304, 140011705991167, +STORE, 140011705991168, 140011756314623, +ERASE, 140011705991168, 140011756314623, +SNULL, 140011571773439, 140011613704191, +STORE, 140011504664576, 140011571773439, +STORE, 140011571773440, 140011613704191, +ERASE, 140011571773440, 140011613704191, +STORE, 140010967793664, 140011169120255, +SNULL, 140011034902527, 140011169120255, +STORE, 140010967793664, 140011034902527, +STORE, 140011034902528, 140011169120255, +SNULL, 140011034902528, 140011102011391, +STORE, 140011102011392, 140011169120255, +STORE, 140011034902528, 140011102011391, +ERASE, 140011034902528, 140011102011391, +STORE, 140010833575936, 140011034902527, +SNULL, 140011437555711, 140011471093759, +STORE, 140011370446848, 140011437555711, +STORE, 140011437555712, 140011471093759, +ERASE, 140011437555712, 140011471093759, +SNULL, 140011370582015, 140011437555711, +STORE, 140011370446848, 140011370582015, +STORE, 140011370582016, 140011437555711, +STORE, 140010699358208, 140011034902527, +SNULL, 140011487883263, 140011504664575, +STORE, 140011487879168, 140011487883263, +STORE, 140011487883264, 140011504664575, +SNULL, 140011345272832, 140011353661439, +STORE, 140011353661440, 140011362054143, +STORE, 140011345272832, 140011353661439, +SNULL, 140011353665535, 140011362054143, +STORE, 140011353661440, 140011353665535, +STORE, 140011353665536, 140011362054143, +SNULL, 140011328487424, 140011336876031, +STORE, 140011336876032, 140011345268735, +STORE, 140011328487424, 140011336876031, +SNULL, 140011336880127, 140011345268735, +STORE, 140011336876032, 140011336880127, +STORE, 140011336880128, 140011345268735, +SNULL, 140011303337983, 140011320090623, +STORE, 140011236229120, 140011303337983, +STORE, 140011303337984, 140011320090623, +ERASE, 140011303337984, 140011320090623, +SNULL, 140011907452927, 140011974426623, +STORE, 140011907317760, 140011907452927, +STORE, 140011907452928, 140011974426623, +SNULL, 140011102146559, 140011169120255, +STORE, 140011102011392, 140011102146559, +STORE, 140011102146560, 140011169120255, +SNULL, 140011639017471, 140011705991167, +STORE, 140011638882304, 140011639017471, +STORE, 140011639017472, 140011705991167, +SNULL, 140011504799743, 140011571773439, +STORE, 140011504664576, 140011504799743, +STORE, 140011504799744, 140011571773439, +SNULL, 140011613708287, 140011622096895, +STORE, 140011613704192, 140011613708287, +STORE, 140011613708288, 140011622096895, +SNULL, 140010699358208, 140010967793663, +STORE, 140010967793664, 140011034902527, +STORE, 140010699358208, 140010967793663, +SNULL, 140010967928831, 140011034902527, +STORE, 140010967793664, 140010967928831, +STORE, 140010967928832, 140011034902527, +SNULL, 140010900684799, 140010967793663, +STORE, 140010699358208, 140010900684799, +STORE, 140010900684800, 140010967793663, +ERASE, 140010900684800, 140010967793663, +SNULL, 140010766467071, 140010900684799, +STORE, 140010699358208, 140010766467071, +STORE, 140010766467072, 140010900684799, +SNULL, 140010766467072, 140010833575935, +STORE, 140010833575936, 140010900684799, +STORE, 140010766467072, 140010833575935, +ERASE, 140010766467072, 140010833575935, +SNULL, 140010699493375, 140010766467071, +STORE, 140010699358208, 140010699493375, +STORE, 140010699493376, 140010766467071, +SNULL, 140011848572927, 140011856961535, +STORE, 140011848568832, 140011848572927, +STORE, 140011848572928, 140011856961535, +STORE, 140011982786560, 140012007964671, +STORE, 140011898925056, 140011907317759, +SNULL, 140011898929151, 140011907317759, +STORE, 140011898925056, 140011898929151, +STORE, 140011898929152, 140011907317759, +SNULL, 140011320094719, 140011328483327, +STORE, 140011320090624, 140011320094719, +STORE, 140011320094720, 140011328483327, +STORE, 140011890532352, 140011898925055, +STORE, 140011882139648, 140011898925055, +SNULL, 140011882143743, 140011898925055, +STORE, 140011882139648, 140011882143743, +STORE, 140011882143744, 140011898925055, +STORE, 140011873746944, 140011882139647, +SNULL, 140011873751039, 140011882139647, +STORE, 140011873746944, 140011873751039, +STORE, 140011873751040, 140011882139647, +SNULL, 140011236364287, 140011303337983, +STORE, 140011236229120, 140011236364287, +STORE, 140011236364288, 140011303337983, +SNULL, 140011756318719, 140011773100031, +STORE, 140011756314624, 140011756318719, +STORE, 140011756318720, 140011773100031, +SNULL, 140011756318720, 140011764707327, +STORE, 140011764707328, 140011773100031, +STORE, 140011756318720, 140011764707327, +SNULL, 140011764711423, 140011773100031, +STORE, 140011764707328, 140011764711423, +STORE, 140011764711424, 140011773100031, +SNULL, 140011471097855, 140011487879167, +STORE, 140011471093760, 140011471097855, +STORE, 140011471097856, 140011487879167, +SNULL, 140010833711103, 140010900684799, +STORE, 140010833575936, 140010833711103, +STORE, 140010833711104, 140010900684799, +SNULL, 140011982790655, 140012007964671, +STORE, 140011982786560, 140011982790655, +STORE, 140011982790656, 140012007964671, +STORE, 140011865354240, 140011873746943, +STORE, 140011848572928, 140011865354239, +SNULL, 140011848572928, 140011856961535, +STORE, 140011856961536, 140011865354239, +STORE, 140011848572928, 140011856961535, +SNULL, 140011856965631, 140011865354239, +STORE, 140011856961536, 140011856965631, +STORE, 140011856965632, 140011865354239, +STORE, 140011747921920, 140011756314623, +STORE, 140011739529216, 140011756314623, +SNULL, 140011471097856, 140011479486463, +STORE, 140011479486464, 140011487879167, +STORE, 140011471097856, 140011479486463, +SNULL, 140011479490559, 140011487879167, +STORE, 140011479486464, 140011479490559, +STORE, 140011479490560, 140011487879167, +STORE, 140011731136512, 140011756314623, +STORE, 140011722743808, 140011756314623, +SNULL, 140011982790656, 140011999571967, +STORE, 140011999571968, 140012007964671, +STORE, 140011982790656, 140011999571967, +SNULL, 140011999576063, 140012007964671, +STORE, 140011999571968, 140011999576063, +STORE, 140011999576064, 140012007964671, +STORE, 140011714351104, 140011756314623, +SNULL, 140011882143744, 140011890532351, +STORE, 140011890532352, 140011898925055, +STORE, 140011882143744, 140011890532351, +SNULL, 140011890536447, 140011898925055, +STORE, 140011890532352, 140011890536447, +STORE, 140011890536448, 140011898925055, +STORE, 140011630489600, 140011638882303, +STORE, 140011613708288, 140011638882303, +STORE, 140011605311488, 140011613704191, +STORE, 140011596918784, 140011613704191, +STORE, 140011588526080, 140011613704191, +SNULL, 140011487883264, 140011496271871, +STORE, 140011496271872, 140011504664575, +STORE, 140011487883264, 140011496271871, +SNULL, 140011496275967, 140011504664575, +STORE, 140011496271872, 140011496275967, +STORE, 140011496275968, 140011504664575, +STORE, 140011580133376, 140011613704191, +SNULL, 140011580137471, 140011613704191, +STORE, 140011580133376, 140011580137471, +STORE, 140011580137472, 140011613704191, +SNULL, 140011982790656, 140011991179263, +STORE, 140011991179264, 140011999571967, +STORE, 140011982790656, 140011991179263, +SNULL, 140011991183359, 140011999571967, +STORE, 140011991179264, 140011991183359, +STORE, 140011991183360, 140011999571967, +SNULL, 140011865358335, 140011873746943, +STORE, 140011865354240, 140011865358335, +STORE, 140011865358336, 140011873746943, +STORE, 140011462701056, 140011471093759, +SNULL, 140011714351104, 140011739529215, +STORE, 140011739529216, 140011756314623, +STORE, 140011714351104, 140011739529215, +SNULL, 140011739533311, 140011756314623, +STORE, 140011739529216, 140011739533311, +STORE, 140011739533312, 140011756314623, +SNULL, 140011739533312, 140011747921919, +STORE, 140011747921920, 140011756314623, +STORE, 140011739533312, 140011747921919, +SNULL, 140011747926015, 140011756314623, +STORE, 140011747921920, 140011747926015, +STORE, 140011747926016, 140011756314623, +SNULL, 140011613708288, 140011630489599, +STORE, 140011630489600, 140011638882303, +STORE, 140011613708288, 140011630489599, +SNULL, 140011630493695, 140011638882303, +STORE, 140011630489600, 140011630493695, +STORE, 140011630493696, 140011638882303, +SNULL, 140011714351104, 140011722743807, +STORE, 140011722743808, 140011739529215, +STORE, 140011714351104, 140011722743807, +SNULL, 140011722747903, 140011739529215, +STORE, 140011722743808, 140011722747903, +STORE, 140011722747904, 140011739529215, +SNULL, 140011714355199, 140011722743807, +STORE, 140011714351104, 140011714355199, +STORE, 140011714355200, 140011722743807, +SNULL, 140011722747904, 140011731136511, +STORE, 140011731136512, 140011739529215, +STORE, 140011722747904, 140011731136511, +SNULL, 140011731140607, 140011739529215, +STORE, 140011731136512, 140011731140607, +STORE, 140011731140608, 140011739529215, +STORE, 140011454308352, 140011471093759, +STORE, 140011445915648, 140011471093759, +SNULL, 140011580137472, 140011588526079, +STORE, 140011588526080, 140011613704191, +STORE, 140011580137472, 140011588526079, +SNULL, 140011588530175, 140011613704191, +STORE, 140011588526080, 140011588530175, +STORE, 140011588530176, 140011613704191, +SNULL, 140011445915648, 140011462701055, +STORE, 140011462701056, 140011471093759, +STORE, 140011445915648, 140011462701055, +SNULL, 140011462705151, 140011471093759, +STORE, 140011462701056, 140011462705151, +STORE, 140011462705152, 140011471093759, +SNULL, 140011588530176, 140011596918783, +STORE, 140011596918784, 140011613704191, +STORE, 140011588530176, 140011596918783, +SNULL, 140011596922879, 140011613704191, +STORE, 140011596918784, 140011596922879, +STORE, 140011596922880, 140011613704191, +SNULL, 140011596922880, 140011605311487, +STORE, 140011605311488, 140011613704191, +STORE, 140011596922880, 140011605311487, +SNULL, 140011605315583, 140011613704191, +STORE, 140011605311488, 140011605315583, +STORE, 140011605315584, 140011613704191, +SNULL, 140011613708288, 140011622096895, +STORE, 140011622096896, 140011630489599, +STORE, 140011613708288, 140011622096895, +SNULL, 140011622100991, 140011630489599, +STORE, 140011622096896, 140011622100991, +STORE, 140011622100992, 140011630489599, +STORE, 140011311697920, 140011320090623, +STORE, 140011227836416, 140011236229119, +STORE, 140011219443712, 140011236229119, +SNULL, 140011219447807, 140011236229119, +STORE, 140011219443712, 140011219447807, +STORE, 140011219447808, 140011236229119, +STORE, 140011211051008, 140011219443711, +STORE, 140011202658304, 140011219443711, +SNULL, 140011202662399, 140011219443711, +STORE, 140011202658304, 140011202662399, +STORE, 140011202662400, 140011219443711, +STORE, 140011194265600, 140011202658303, +STORE, 140011185872896, 140011202658303, +STORE, 140011177480192, 140011202658303, +STORE, 140011093618688, 140011102011391, +SNULL, 140011445915648, 140011454308351, +STORE, 140011454308352, 140011462701055, +STORE, 140011445915648, 140011454308351, +SNULL, 140011454312447, 140011462701055, +STORE, 140011454308352, 140011454312447, +STORE, 140011454312448, 140011462701055, +STORE, 140011085225984, 140011102011391, +SNULL, 140011085230079, 140011102011391, +STORE, 140011085225984, 140011085230079, +STORE, 140011085230080, 140011102011391, +SNULL, 140011177484287, 140011202658303, +STORE, 140011177480192, 140011177484287, +STORE, 140011177484288, 140011202658303, +SNULL, 140011445919743, 140011454308351, +STORE, 140011445915648, 140011445919743, +STORE, 140011445919744, 140011454308351, +SNULL, 140011177484288, 140011185872895, +STORE, 140011185872896, 140011202658303, +STORE, 140011177484288, 140011185872895, +SNULL, 140011185876991, 140011202658303, +STORE, 140011185872896, 140011185876991, +STORE, 140011185876992, 140011202658303, +STORE, 140011076833280, 140011085225983, +SNULL, 140011202662400, 140011211051007, +STORE, 140011211051008, 140011219443711, +STORE, 140011202662400, 140011211051007, +SNULL, 140011211055103, 140011219443711, +STORE, 140011211051008, 140011211055103, +STORE, 140011211055104, 140011219443711, +SNULL, 140011185876992, 140011194265599, +STORE, 140011194265600, 140011202658303, +STORE, 140011185876992, 140011194265599, +SNULL, 140011194269695, 140011202658303, +STORE, 140011194265600, 140011194269695, +STORE, 140011194269696, 140011202658303, +STORE, 140011068440576, 140011085225983, +SNULL, 140011311702015, 140011320090623, +STORE, 140011311697920, 140011311702015, +STORE, 140011311702016, 140011320090623, +STORE, 140011060047872, 140011085225983, +SNULL, 140011060051967, 140011085225983, +STORE, 140011060047872, 140011060051967, +STORE, 140011060051968, 140011085225983, +STORE, 140011051655168, 140011060047871, +STORE, 140011043262464, 140011060047871, +SNULL, 140011043266559, 140011060047871, +STORE, 140011043262464, 140011043266559, +STORE, 140011043266560, 140011060047871, +SNULL, 140011219447808, 140011227836415, +STORE, 140011227836416, 140011236229119, +STORE, 140011219447808, 140011227836415, +SNULL, 140011227840511, 140011236229119, +STORE, 140011227836416, 140011227840511, +STORE, 140011227840512, 140011236229119, +SNULL, 140011085230080, 140011093618687, +STORE, 140011093618688, 140011102011391, +STORE, 140011085230080, 140011093618687, +SNULL, 140011093622783, 140011102011391, +STORE, 140011093618688, 140011093622783, +STORE, 140011093622784, 140011102011391, +STORE, 140010959400960, 140010967793663, +STORE, 140010951008256, 140010967793663, +SNULL, 140010951008256, 140010959400959, +STORE, 140010959400960, 140010967793663, +STORE, 140010951008256, 140010959400959, +SNULL, 140010959405055, 140010967793663, +STORE, 140010959400960, 140010959405055, +STORE, 140010959405056, 140010967793663, +STORE, 140010942615552, 140010959400959, +STORE, 140010934222848, 140010959400959, +SNULL, 140011060051968, 140011076833279, +STORE, 140011076833280, 140011085225983, +STORE, 140011060051968, 140011076833279, +SNULL, 140011076837375, 140011085225983, +STORE, 140011076833280, 140011076837375, +STORE, 140011076837376, 140011085225983, +SNULL, 140011043266560, 140011051655167, +STORE, 140011051655168, 140011060047871, +STORE, 140011043266560, 140011051655167, +SNULL, 140011051659263, 140011060047871, +STORE, 140011051655168, 140011051659263, +STORE, 140011051659264, 140011060047871, +STORE, 140010925830144, 140010959400959, +SNULL, 140011060051968, 140011068440575, +STORE, 140011068440576, 140011076833279, +STORE, 140011060051968, 140011068440575, +SNULL, 140011068444671, 140011076833279, +STORE, 140011068440576, 140011068444671, +STORE, 140011068444672, 140011076833279, +STORE, 140010917437440, 140010959400959, +STORE, 140010909044736, 140010959400959, +STORE, 140010825183232, 140010833575935, +SNULL, 140010909044736, 140010942615551, +STORE, 140010942615552, 140010959400959, +STORE, 140010909044736, 140010942615551, +SNULL, 140010942619647, 140010959400959, +STORE, 140010942615552, 140010942619647, +STORE, 140010942619648, 140010959400959, +SNULL, 140010909044736, 140010934222847, +STORE, 140010934222848, 140010942615551, +STORE, 140010909044736, 140010934222847, +SNULL, 140010934226943, 140010942615551, +STORE, 140010934222848, 140010934226943, +STORE, 140010934226944, 140010942615551, +SNULL, 140010909048831, 140010934222847, +STORE, 140010909044736, 140010909048831, +STORE, 140010909048832, 140010934222847, +STORE, 140010816790528, 140010833575935, +SNULL, 140010816794623, 140010833575935, +STORE, 140010816790528, 140010816794623, +STORE, 140010816794624, 140010833575935, +STORE, 140010808397824, 140010816790527, +SNULL, 140010942619648, 140010951008255, +STORE, 140010951008256, 140010959400959, +STORE, 140010942619648, 140010951008255, +SNULL, 140010951012351, 140010959400959, +STORE, 140010951008256, 140010951012351, +STORE, 140010951012352, 140010959400959, +STORE, 140010800005120, 140010816790527, +SNULL, 140010800009215, 140010816790527, +STORE, 140010800005120, 140010800009215, +STORE, 140010800009216, 140010816790527, +SNULL, 140010909048832, 140010925830143, +STORE, 140010925830144, 140010934222847, +STORE, 140010909048832, 140010925830143, +SNULL, 140010925834239, 140010934222847, +STORE, 140010925830144, 140010925834239, +STORE, 140010925834240, 140010934222847, +SNULL, 140010816794624, 140010825183231, +STORE, 140010825183232, 140010833575935, +STORE, 140010816794624, 140010825183231, +SNULL, 140010825187327, 140010833575935, +STORE, 140010825183232, 140010825187327, +STORE, 140010825187328, 140010833575935, +SNULL, 140010909048832, 140010917437439, +STORE, 140010917437440, 140010925830143, +STORE, 140010909048832, 140010917437439, +SNULL, 140010917441535, 140010925830143, +STORE, 140010917437440, 140010917441535, +STORE, 140010917441536, 140010925830143, +SNULL, 140010800009216, 140010808397823, +STORE, 140010808397824, 140010816790527, +STORE, 140010800009216, 140010808397823, +SNULL, 140010808401919, 140010816790527, +STORE, 140010808397824, 140010808401919, +STORE, 140010808401920, 140010816790527, +STORE, 140010791612416, 140010800005119, +SNULL, 140010791616511, 140010800005119, +STORE, 140010791612416, 140010791616511, +STORE, 140010791616512, 140010800005119, +STORE, 140012547100672, 140012547129343, +STORE, 140012511506432, 140012513697791, +SNULL, 140012511506432, 140012511596543, +STORE, 140012511596544, 140012513697791, +STORE, 140012511506432, 140012511596543, +SNULL, 140012513689599, 140012513697791, +STORE, 140012511596544, 140012513689599, +STORE, 140012513689600, 140012513697791, +ERASE, 140012513689600, 140012513697791, +STORE, 140012513689600, 140012513697791, +SNULL, 140012513693695, 140012513697791, +STORE, 140012513689600, 140012513693695, +STORE, 140012513693696, 140012513697791, +ERASE, 140012547100672, 140012547129343, +ERASE, 140011362054144, 140011362058239, +ERASE, 140011362058240, 140011370446847, +ERASE, 140011882139648, 140011882143743, +ERASE, 140011882143744, 140011890532351, +ERASE, 140011873746944, 140011873751039, +ERASE, 140011873751040, 140011882139647, +ERASE, 140011588526080, 140011588530175, +ERASE, 140011588530176, 140011596918783, +ERASE, 140011328483328, 140011328487423, +ERASE, 140011328487424, 140011336876031, +ERASE, 140011898925056, 140011898929151, +ERASE, 140011898929152, 140011907317759, +ERASE, 140011353661440, 140011353665535, +ERASE, 140011353665536, 140011362054143, +ERASE, 140011336876032, 140011336880127, +ERASE, 140011336880128, 140011345268735, +ERASE, 140011731136512, 140011731140607, +ERASE, 140011731140608, 140011739529215, +ERASE, 140011479486464, 140011479490559, +ERASE, 140011479490560, 140011487879167, +ERASE, 140011756314624, 140011756318719, +ERASE, 140011756318720, 140011764707327, +ERASE, 140011580133376, 140011580137471, +ERASE, 140011580137472, 140011588526079, +ERASE, 140011219443712, 140011219447807, +ERASE, 140011219447808, 140011227836415, +ERASE, 140011051655168, 140011051659263, +ERASE, 140011051659264, 140011060047871, +ERASE, 140011999571968, 140011999576063, +ERASE, 140011999576064, 140012007964671, +ERASE, 140011714351104, 140011714355199, +ERASE, 140011714355200, 140011722743807, +ERASE, 140011739529216, 140011739533311, +ERASE, 140011739533312, 140011747921919, +ERASE, 140011320090624, 140011320094719, +ERASE, 140011320094720, 140011328483327, +ERASE, 140011630489600, 140011630493695, +ERASE, 140011630493696, 140011638882303, +ERASE, 140011345268736, 140011345272831, +ERASE, 140011345272832, 140011353661439, +ERASE, 140011496271872, 140011496275967, +ERASE, 140011496275968, 140011504664575, +ERASE, 140011194265600, 140011194269695, +ERASE, 140011194269696, 140011202658303, +ERASE, 140011068440576, 140011068444671, +ERASE, 140011068444672, 140011076833279, +ERASE, 140010909044736, 140010909048831, +ERASE, 140010909048832, 140010917437439, +ERASE, 140011764707328, 140011764711423, +ERASE, 140011764711424, 140011773100031, +ERASE, 140011462701056, 140011462705151, +ERASE, 140011462705152, 140011471093759, +ERASE, 140011076833280, 140011076837375, +ERASE, 140011076837376, 140011085225983, +ERASE, 140011991179264, 140011991183359, +ERASE, 140011991183360, 140011999571967, +ERASE, 140011211051008, 140011211055103, +ERASE, 140011211055104, 140011219443711, +ERASE, 140010917437440, 140010917441535, +ERASE, 140010917441536, 140010925830143, +ERASE, 140011085225984, 140011085230079, +ERASE, 140011085230080, 140011093618687, +ERASE, 140011487879168, 140011487883263, +ERASE, 140011487883264, 140011496271871, +ERASE, 140011856961536, 140011856965631, +ERASE, 140011856965632, 140011865354239, +ERASE, 140011982786560, 140011982790655, +ERASE, 140011982790656, 140011991179263, +ERASE, 140011722743808, 140011722747903, +ERASE, 140011722747904, 140011731136511, +ERASE, 140011177480192, 140011177484287, +ERASE, 140011177484288, 140011185872895, +ERASE, 140011848568832, 140011848572927, +ERASE, 140011848572928, 140011856961535, +ERASE, 140011890532352, 140011890536447, +ERASE, 140011890536448, 140011898925055, +ERASE, 140011622096896, 140011622100991, +ERASE, 140011622100992, 140011630489599, +ERASE, 140011311697920, 140011311702015, +ERASE, 140011311702016, 140011320090623, +ERASE, 140011471093760, 140011471097855, +ERASE, 140011471097856, 140011479486463, +ERASE, 140011605311488, 140011605315583, +ERASE, 140011605315584, 140011613704191, +ERASE, 140010791612416, 140010791616511, +ERASE, 140010791616512, 140010800005119, +ERASE, 140010959400960, 140010959405055, +ERASE, 140010959405056, 140010967793663, +ERASE, 140011185872896, 140011185876991, +ERASE, 140011185876992, 140011194265599, +ERASE, 140011454308352, 140011454312447, +ERASE, 140011454312448, 140011462701055, +ERASE, 140011596918784, 140011596922879, +ERASE, 140011596922880, 140011605311487, +ERASE, 140011060047872, 140011060051967, +ERASE, 140011060051968, 140011068440575, +ERASE, 140010925830144, 140010925834239, +ERASE, 140010925834240, 140010934222847, +ERASE, 140011747921920, 140011747926015, +ERASE, 140011747926016, 140011756314623, +ERASE, 140011202658304, 140011202662399, +ERASE, 140011202662400, 140011211051007, +ERASE, 140010800005120, 140010800009215, +ERASE, 140010800009216, 140010808397823, +ERASE, 140011093618688, 140011093622783, +ERASE, 140011093622784, 140011102011391, +ERASE, 140010808397824, 140010808401919, +ERASE, 140010808401920, 140010816790527, +ERASE, 140012419010560, 140012419014655, +ERASE, 140012419014656, 140012427403263, +ERASE, 140010934222848, 140010934226943, +ERASE, 140010934226944, 140010942615551, +ERASE, 140010942615552, 140010942619647, +ERASE, 140010942619648, 140010951008255, +ERASE, 140011613704192, 140011613708287, +ERASE, 140011613708288, 140011622096895, +ERASE, 140011865354240, 140011865358335, +ERASE, 140011865358336, 140011873746943, +ERASE, 140012301578240, 140012301582335, +ERASE, 140012301582336, 140012309970943, +ERASE, 140012393832448, 140012393836543, +ERASE, 140012393836544, 140012402225151, +ERASE, 140012410617856, 140012410621951, +ERASE, 140012410621952, 140012419010559, +ERASE, 140012402225152, 140012402229247, +ERASE, 140012402229248, 140012410617855, +ERASE, 140012259614720, 140012259618815, +ERASE, 140012259618816, 140012268007423, +ERASE, 140012251222016, 140012251226111, +ERASE, 140012251226112, 140012259614719, +ERASE, 140012284792832, 140012284796927, +ERASE, 140012284796928, 140012293185535, +ERASE, 140011445915648, 140011445919743, +ERASE, 140011445919744, 140011454308351, +ERASE, 140010951008256, 140010951012351, +ERASE, 140010951012352, 140010959400959, +ERASE, 140011043262464, 140011043266559, +ERASE, 140011043266560, 140011051655167, +ERASE, 140010825183232, 140010825187327, +ERASE, 140010825187328, 140010833575935, +ERASE, 140012293185536, 140012293189631, +ERASE, 140012293189632, 140012301578239, +ERASE, 140012276400128, 140012276404223, +ERASE, 140012276404224, 140012284792831, +ERASE, 140012016357376, 140012016361471, +ERASE, 140012016361472, 140012024750079, +ERASE, 140012024750080, 140012024754175, +ERASE, 140012024754176, 140012033142783, +ERASE, 140011227836416, 140011227840511, +ERASE, 140011227840512, 140011236229119, +ERASE, 140010816790528, 140010816794623, +ERASE, 140010816794624, 140010825183231, +ERASE, 140012268007424, 140012268011519, +ERASE, 140012268011520, 140012276400127, +ERASE, 140012385439744, 140012385443839, +ERASE, 140012385443840, 140012393832447, +ERASE, 140012522090496, 140012522094591, +ERASE, 140012522094592, 140012530483199, +ERASE, 140012033142784, 140012033146879, +ERASE, 140012033146880, 140012041535487, + }; + unsigned long set35[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140730536939520, 140737488351231, +SNULL, 140730536943615, 140737488351231, +STORE, 140730536939520, 140730536943615, +STORE, 140730536808448, 140730536943615, +STORE, 94245239877632, 94245242130431, +SNULL, 94245240008703, 94245242130431, +STORE, 94245239877632, 94245240008703, +STORE, 94245240008704, 94245242130431, +ERASE, 94245240008704, 94245242130431, +STORE, 94245242101760, 94245242109951, +STORE, 94245242109952, 94245242130431, +STORE, 140475575263232, 140475577516031, +SNULL, 140475575406591, 140475577516031, +STORE, 140475575263232, 140475575406591, +STORE, 140475575406592, 140475577516031, +ERASE, 140475575406592, 140475577516031, +STORE, 140475577503744, 140475577511935, +STORE, 140475577511936, 140475577516031, +STORE, 140730538164224, 140730538168319, +STORE, 140730538151936, 140730538164223, +STORE, 140475577475072, 140475577503743, +STORE, 140475577466880, 140475577475071, +STORE, 140475573047296, 140475575263231, +SNULL, 140475573047296, 140475573145599, +STORE, 140475573145600, 140475575263231, +STORE, 140475573047296, 140475573145599, +SNULL, 140475575238655, 140475575263231, +STORE, 140475573145600, 140475575238655, +STORE, 140475575238656, 140475575263231, +SNULL, 140475575238656, 140475575246847, +STORE, 140475575246848, 140475575263231, +STORE, 140475575238656, 140475575246847, +ERASE, 140475575238656, 140475575246847, +STORE, 140475575238656, 140475575246847, +ERASE, 140475575246848, 140475575263231, +STORE, 140475575246848, 140475575263231, +STORE, 140475569250304, 140475573047295, +SNULL, 140475569250304, 140475570909183, +STORE, 140475570909184, 140475573047295, +STORE, 140475569250304, 140475570909183, +SNULL, 140475573006335, 140475573047295, +STORE, 140475570909184, 140475573006335, +STORE, 140475573006336, 140475573047295, +SNULL, 140475573006336, 140475573030911, +STORE, 140475573030912, 140475573047295, +STORE, 140475573006336, 140475573030911, +ERASE, 140475573006336, 140475573030911, +STORE, 140475573006336, 140475573030911, +ERASE, 140475573030912, 140475573047295, +STORE, 140475573030912, 140475573047295, +STORE, 140475577458688, 140475577475071, +SNULL, 140475573022719, 140475573030911, +STORE, 140475573006336, 140475573022719, +STORE, 140475573022720, 140475573030911, +SNULL, 140475575242751, 140475575246847, +STORE, 140475575238656, 140475575242751, +STORE, 140475575242752, 140475575246847, +SNULL, 94245242105855, 94245242109951, +STORE, 94245242101760, 94245242105855, +STORE, 94245242105856, 94245242109951, +SNULL, 140475577507839, 140475577511935, +STORE, 140475577503744, 140475577507839, +STORE, 140475577507840, 140475577511935, +ERASE, 140475577475072, 140475577503743, +STORE, 94245271216128, 94245271351295, +STORE, 140475560857600, 140475569250303, +SNULL, 140475560861695, 140475569250303, +STORE, 140475560857600, 140475560861695, +STORE, 140475560861696, 140475569250303, +STORE, 140475552464896, 140475560857599, +STORE, 140475418247168, 140475552464895, +SNULL, 140475418247168, 140475428241407, +STORE, 140475428241408, 140475552464895, +STORE, 140475418247168, 140475428241407, +ERASE, 140475418247168, 140475428241407, +SNULL, 140475495350271, 140475552464895, +STORE, 140475428241408, 140475495350271, +STORE, 140475495350272, 140475552464895, +ERASE, 140475495350272, 140475552464895, +SNULL, 140475428376575, 140475495350271, +STORE, 140475428241408, 140475428376575, +STORE, 140475428376576, 140475495350271, +SNULL, 140475552468991, 140475560857599, +STORE, 140475552464896, 140475552468991, +STORE, 140475552468992, 140475560857599, +STORE, 140475544072192, 140475552464895, +SNULL, 140475544076287, 140475552464895, +STORE, 140475544072192, 140475544076287, +STORE, 140475544076288, 140475552464895, +STORE, 140475535679488, 140475544072191, +SNULL, 140475535683583, 140475544072191, +STORE, 140475535679488, 140475535683583, +STORE, 140475535683584, 140475544072191, +STORE, 140475527286784, 140475535679487, +SNULL, 140475527290879, 140475535679487, +STORE, 140475527286784, 140475527290879, +STORE, 140475527290880, 140475535679487, +STORE, 140475518894080, 140475527286783, +STORE, 140475510501376, 140475527286783, +STORE, 140475502108672, 140475527286783, +STORE, 140475419848704, 140475428241407, +STORE, 140475285630976, 140475419848703, +SNULL, 140475285630976, 140475294023679, +STORE, 140475294023680, 140475419848703, +STORE, 140475285630976, 140475294023679, +ERASE, 140475285630976, 140475294023679, +STORE, 140475159805952, 140475419848703, +STORE, 140475025588224, 140475419848703, +SNULL, 140475092697087, 140475419848703, +STORE, 140475025588224, 140475092697087, +STORE, 140475092697088, 140475419848703, +SNULL, 140475092697088, 140475159805951, +STORE, 140475159805952, 140475419848703, +STORE, 140475092697088, 140475159805951, +ERASE, 140475092697088, 140475159805951, +STORE, 140474891370496, 140475092697087, +SNULL, 140474958479359, 140475092697087, +STORE, 140474891370496, 140474958479359, +STORE, 140474958479360, 140475092697087, +SNULL, 140474958479360, 140475025588223, +STORE, 140475025588224, 140475092697087, +STORE, 140474958479360, 140475025588223, +ERASE, 140474958479360, 140475025588223, +SNULL, 140475361132543, 140475419848703, +STORE, 140475159805952, 140475361132543, +STORE, 140475361132544, 140475419848703, +ERASE, 140475361132544, 140475419848703, +SNULL, 140475159805952, 140475294023679, +STORE, 140475294023680, 140475361132543, +STORE, 140475159805952, 140475294023679, +SNULL, 140475294158847, 140475361132543, +STORE, 140475294023680, 140475294158847, +STORE, 140475294158848, 140475361132543, +SNULL, 140475226914815, 140475294023679, +STORE, 140475159805952, 140475226914815, +STORE, 140475226914816, 140475294023679, +ERASE, 140475226914816, 140475294023679, +SNULL, 140475025723391, 140475092697087, +STORE, 140475025588224, 140475025723391, +STORE, 140475025723392, 140475092697087, +SNULL, 140475159941119, 140475226914815, +STORE, 140475159805952, 140475159941119, +STORE, 140475159941120, 140475226914815, +SNULL, 140474891505663, 140474958479359, +STORE, 140474891370496, 140474891505663, +STORE, 140474891505664, 140474958479359, +SNULL, 140475502108672, 140475518894079, +STORE, 140475518894080, 140475527286783, +STORE, 140475502108672, 140475518894079, +SNULL, 140475518898175, 140475527286783, +STORE, 140475518894080, 140475518898175, +STORE, 140475518898176, 140475527286783, +STORE, 140475411456000, 140475428241407, +SNULL, 140475502112767, 140475518894079, +STORE, 140475502108672, 140475502112767, +STORE, 140475502112768, 140475518894079, +SNULL, 140475411460095, 140475428241407, +STORE, 140475411456000, 140475411460095, +STORE, 140475411460096, 140475428241407, +SNULL, 140475411460096, 140475419848703, +STORE, 140475419848704, 140475428241407, +STORE, 140475411460096, 140475419848703, +SNULL, 140475419852799, 140475428241407, +STORE, 140475419848704, 140475419852799, +STORE, 140475419852800, 140475428241407, +STORE, 140475403063296, 140475411455999, +SNULL, 140475502112768, 140475510501375, +STORE, 140475510501376, 140475518894079, +STORE, 140475502112768, 140475510501375, +SNULL, 140475510505471, 140475518894079, +STORE, 140475510501376, 140475510505471, +STORE, 140475510505472, 140475518894079, +SNULL, 140475403067391, 140475411455999, +STORE, 140475403063296, 140475403067391, +STORE, 140475403067392, 140475411455999, +STORE, 140475394670592, 140475403063295, +SNULL, 140475394674687, 140475403063295, +STORE, 140475394670592, 140475394674687, +STORE, 140475394674688, 140475403063295, +STORE, 140475386277888, 140475394670591, +STORE, 140475377885184, 140475394670591, +STORE, 140475369492480, 140475394670591, +SNULL, 140475369496575, 140475394670591, +STORE, 140475369492480, 140475369496575, +STORE, 140475369496576, 140475394670591, +SNULL, 140475369496576, 140475377885183, +STORE, 140475377885184, 140475394670591, +STORE, 140475369496576, 140475377885183, +SNULL, 140475377889279, 140475394670591, +STORE, 140475377885184, 140475377889279, +STORE, 140475377889280, 140475394670591, +STORE, 140475285630976, 140475294023679, +SNULL, 140475377889280, 140475386277887, +STORE, 140475386277888, 140475394670591, +STORE, 140475377889280, 140475386277887, +SNULL, 140475386281983, 140475394670591, +STORE, 140475386277888, 140475386281983, +STORE, 140475386281984, 140475394670591, +SNULL, 140475285635071, 140475294023679, +STORE, 140475285630976, 140475285635071, +STORE, 140475285635072, 140475294023679, +STORE, 140475277238272, 140475285630975, +STORE, 140475268845568, 140475285630975, +SNULL, 140475268845568, 140475277238271, +STORE, 140475277238272, 140475285630975, +STORE, 140475268845568, 140475277238271, +SNULL, 140475277242367, 140475285630975, +STORE, 140475277238272, 140475277242367, +STORE, 140475277242368, 140475285630975, +STORE, 140475260452864, 140475277238271, +SNULL, 140475260452864, 140475268845567, +STORE, 140475268845568, 140475277238271, +STORE, 140475260452864, 140475268845567, +SNULL, 140475268849663, 140475277238271, +STORE, 140475268845568, 140475268849663, +STORE, 140475268849664, 140475277238271, +SNULL, 140475260456959, 140475268845567, +STORE, 140475260452864, 140475260456959, +STORE, 140475260456960, 140475268845567, +STORE, 140475252060160, 140475260452863, +SNULL, 140475252064255, 140475260452863, +STORE, 140475252060160, 140475252064255, +STORE, 140475252064256, 140475260452863, +STORE, 140475243667456, 140475252060159, +SNULL, 140475243671551, 140475252060159, +STORE, 140475243667456, 140475243671551, +STORE, 140475243671552, 140475252060159, +STORE, 140475235274752, 140475243667455, +STORE, 140475151413248, 140475159805951, +STORE, 140474891505664, 140475025588223, +STORE, 140475143020544, 140475159805951, +SNULL, 140474891505664, 140474958479359, +STORE, 140474958479360, 140475025588223, +STORE, 140474891505664, 140474958479359, +SNULL, 140474958614527, 140475025588223, +STORE, 140474958479360, 140474958614527, +STORE, 140474958614528, 140475025588223, +STORE, 140474824261632, 140474891370495, +SNULL, 140474824396799, 140474891370495, +STORE, 140474824261632, 140474824396799, +STORE, 140474824396800, 140474891370495, +STORE, 140475134627840, 140475159805951, +STORE, 140474690043904, 140474824261631, +STORE, 140475126235136, 140475159805951, +STORE, 140475117842432, 140475159805951, +STORE, 140474622935040, 140474824261631, +STORE, 140475109449728, 140475159805951, +STORE, 140474488717312, 140474824261631, +STORE, 140475101057024, 140475159805951, +STORE, 140474480324608, 140474488717311, +STORE, 140474413215744, 140474480324607, +STORE, 140474404823040, 140474413215743, +ERASE, 140474413215744, 140474480324607, +STORE, 140474471931904, 140474488717311, +STORE, 140474270605312, 140474404823039, +SNULL, 140475101057024, 140475126235135, +STORE, 140475126235136, 140475159805951, +STORE, 140475101057024, 140475126235135, +SNULL, 140475126239231, 140475159805951, +STORE, 140475126235136, 140475126239231, +STORE, 140475126239232, 140475159805951, +STORE, 140474463539200, 140474488717311, +STORE, 140474455146496, 140474488717311, +SNULL, 140474455150591, 140474488717311, +STORE, 140474455146496, 140474455150591, +STORE, 140474455150592, 140474488717311, +STORE, 140474446753792, 140474455146495, +SNULL, 140474446757887, 140474455146495, +STORE, 140474446753792, 140474446757887, +STORE, 140474446757888, 140474455146495, +STORE, 140474438361088, 140474446753791, +STORE, 140474429968384, 140474446753791, +SNULL, 140474429972479, 140474446753791, +STORE, 140474429968384, 140474429972479, +STORE, 140474429972480, 140474446753791, +SNULL, 140475235278847, 140475243667455, +STORE, 140475235274752, 140475235278847, +STORE, 140475235278848, 140475243667455, +SNULL, 140474757152767, 140474824261631, +STORE, 140474488717312, 140474757152767, +STORE, 140474757152768, 140474824261631, +ERASE, 140474757152768, 140474824261631, +SNULL, 140474488717312, 140474690043903, +STORE, 140474690043904, 140474757152767, +STORE, 140474488717312, 140474690043903, +SNULL, 140474690179071, 140474757152767, +STORE, 140474690043904, 140474690179071, +STORE, 140474690179072, 140474757152767, +SNULL, 140474488717312, 140474622935039, +STORE, 140474622935040, 140474690043903, +STORE, 140474488717312, 140474622935039, +SNULL, 140474623070207, 140474690043903, +STORE, 140474622935040, 140474623070207, +STORE, 140474623070208, 140474690043903, +SNULL, 140475101057024, 140475117842431, +STORE, 140475117842432, 140475126235135, +STORE, 140475101057024, 140475117842431, +SNULL, 140475117846527, 140475126235135, +STORE, 140475117842432, 140475117846527, +STORE, 140475117846528, 140475126235135, +SNULL, 140474555826175, 140474622935039, +STORE, 140474488717312, 140474555826175, +STORE, 140474555826176, 140474622935039, +ERASE, 140474555826176, 140474622935039, +STORE, 140474136387584, 140474404823039, +SNULL, 140474136387584, 140474153172991, +STORE, 140474153172992, 140474404823039, +STORE, 140474136387584, 140474153172991, +ERASE, 140474136387584, 140474153172991, +STORE, 140474018955264, 140474404823039, +STORE, 140473884737536, 140474404823039, +SNULL, 140474086064127, 140474404823039, +STORE, 140473884737536, 140474086064127, +STORE, 140474086064128, 140474404823039, +SNULL, 140474086064128, 140474153172991, +STORE, 140474153172992, 140474404823039, +STORE, 140474086064128, 140474153172991, +ERASE, 140474086064128, 140474153172991, +STORE, 140473750519808, 140474086064127, +SNULL, 140473817628671, 140474086064127, +STORE, 140473750519808, 140473817628671, +STORE, 140473817628672, 140474086064127, +SNULL, 140473817628672, 140473884737535, +STORE, 140473884737536, 140474086064127, +STORE, 140473817628672, 140473884737535, +ERASE, 140473817628672, 140473884737535, +SNULL, 140475126239232, 140475151413247, +STORE, 140475151413248, 140475159805951, +STORE, 140475126239232, 140475151413247, +SNULL, 140475151417343, 140475159805951, +STORE, 140475151413248, 140475151417343, +STORE, 140475151417344, 140475159805951, +SNULL, 140474270605311, 140474404823039, +STORE, 140474153172992, 140474270605311, +STORE, 140474270605312, 140474404823039, +SNULL, 140474270605312, 140474287390719, +STORE, 140474287390720, 140474404823039, +STORE, 140474270605312, 140474287390719, +ERASE, 140474270605312, 140474287390719, +SNULL, 140474429972480, 140474438361087, +STORE, 140474438361088, 140474446753791, +STORE, 140474429972480, 140474438361087, +SNULL, 140474438365183, 140474446753791, +STORE, 140474438361088, 140474438365183, +STORE, 140474438365184, 140474446753791, +STORE, 140474815868928, 140474824261631, +SNULL, 140474815873023, 140474824261631, +STORE, 140474815868928, 140474815873023, +STORE, 140474815873024, 140474824261631, +SNULL, 140474220281855, 140474270605311, +STORE, 140474153172992, 140474220281855, +STORE, 140474220281856, 140474270605311, +ERASE, 140474220281856, 140474270605311, +SNULL, 140474488852479, 140474555826175, +STORE, 140474488717312, 140474488852479, +STORE, 140474488852480, 140474555826175, +SNULL, 140475101057024, 140475109449727, +STORE, 140475109449728, 140475117842431, +STORE, 140475101057024, 140475109449727, +SNULL, 140475109453823, 140475117842431, +STORE, 140475109449728, 140475109453823, +STORE, 140475109453824, 140475117842431, +SNULL, 140473951846399, 140474086064127, +STORE, 140473884737536, 140473951846399, +STORE, 140473951846400, 140474086064127, +SNULL, 140473951846400, 140474018955263, +STORE, 140474018955264, 140474086064127, +STORE, 140473951846400, 140474018955263, +ERASE, 140473951846400, 140474018955263, +SNULL, 140473884872703, 140473951846399, +STORE, 140473884737536, 140473884872703, +STORE, 140473884872704, 140473951846399, +SNULL, 140474019090431, 140474086064127, +STORE, 140474018955264, 140474019090431, +STORE, 140474019090432, 140474086064127, +SNULL, 140473750654975, 140473817628671, +STORE, 140473750519808, 140473750654975, +STORE, 140473750654976, 140473817628671, +SNULL, 140474455150592, 140474463539199, +STORE, 140474463539200, 140474488717311, +STORE, 140474455150592, 140474463539199, +SNULL, 140474463543295, 140474488717311, +STORE, 140474463539200, 140474463543295, +STORE, 140474463543296, 140474488717311, +STORE, 140474807476224, 140474815868927, +SNULL, 140474463543296, 140474471931903, +STORE, 140474471931904, 140474488717311, +STORE, 140474463543296, 140474471931903, +SNULL, 140474471935999, 140474488717311, +STORE, 140474471931904, 140474471935999, +STORE, 140474471936000, 140474488717311, +STORE, 140474799083520, 140474815868927, +STORE, 140474790690816, 140474815868927, +SNULL, 140474790690816, 140474799083519, +STORE, 140474799083520, 140474815868927, +STORE, 140474790690816, 140474799083519, +SNULL, 140474799087615, 140474815868927, +STORE, 140474799083520, 140474799087615, +STORE, 140474799087616, 140474815868927, +SNULL, 140474354499583, 140474404823039, +STORE, 140474287390720, 140474354499583, +STORE, 140474354499584, 140474404823039, +ERASE, 140474354499584, 140474404823039, +SNULL, 140474287525887, 140474354499583, +STORE, 140474287390720, 140474287525887, +STORE, 140474287525888, 140474354499583, +STORE, 140474782298112, 140474799083519, +STORE, 140474773905408, 140474799083519, +SNULL, 140474773909503, 140474799083519, +STORE, 140474773905408, 140474773909503, +STORE, 140474773909504, 140474799083519, +SNULL, 140475126239232, 140475134627839, +STORE, 140475134627840, 140475151413247, +STORE, 140475126239232, 140475134627839, +SNULL, 140475134631935, 140475151413247, +STORE, 140475134627840, 140475134631935, +STORE, 140475134631936, 140475151413247, +STORE, 140474765512704, 140474773905407, +STORE, 140474614542336, 140474622935039, +SNULL, 140474153308159, 140474220281855, +STORE, 140474153172992, 140474153308159, +STORE, 140474153308160, 140474220281855, +SNULL, 140474404827135, 140474413215743, +STORE, 140474404823040, 140474404827135, +STORE, 140474404827136, 140474413215743, +STORE, 140474606149632, 140474622935039, +SNULL, 140474606153727, 140474622935039, +STORE, 140474606149632, 140474606153727, +STORE, 140474606153728, 140474622935039, +STORE, 140474597756928, 140474606149631, +SNULL, 140474597761023, 140474606149631, +STORE, 140474597756928, 140474597761023, +STORE, 140474597761024, 140474606149631, +SNULL, 140475134631936, 140475143020543, +STORE, 140475143020544, 140475151413247, +STORE, 140475134631936, 140475143020543, +SNULL, 140475143024639, 140475151413247, +STORE, 140475143020544, 140475143024639, +STORE, 140475143024640, 140475151413247, +STORE, 140474589364224, 140474597756927, +SNULL, 140474606153728, 140474614542335, +STORE, 140474614542336, 140474622935039, +STORE, 140474606153728, 140474614542335, +SNULL, 140474614546431, 140474622935039, +STORE, 140474614542336, 140474614546431, +STORE, 140474614546432, 140474622935039, +SNULL, 140474765516799, 140474773905407, +STORE, 140474765512704, 140474765516799, +STORE, 140474765516800, 140474773905407, +STORE, 140474580971520, 140474597756927, +SNULL, 140474773909504, 140474782298111, +STORE, 140474782298112, 140474799083519, +STORE, 140474773909504, 140474782298111, +SNULL, 140474782302207, 140474799083519, +STORE, 140474782298112, 140474782302207, +STORE, 140474782302208, 140474799083519, +SNULL, 140474471936000, 140474480324607, +STORE, 140474480324608, 140474488717311, +STORE, 140474471936000, 140474480324607, +SNULL, 140474480328703, 140474488717311, +STORE, 140474480324608, 140474480328703, +STORE, 140474480328704, 140474488717311, +STORE, 140474572578816, 140474597756927, +SNULL, 140474572582911, 140474597756927, +STORE, 140474572578816, 140474572582911, +STORE, 140474572582912, 140474597756927, +SNULL, 140474782302208, 140474790690815, +STORE, 140474790690816, 140474799083519, +STORE, 140474782302208, 140474790690815, +SNULL, 140474790694911, 140474799083519, +STORE, 140474790690816, 140474790694911, +STORE, 140474790694912, 140474799083519, +STORE, 140474564186112, 140474572578815, +STORE, 140474421575680, 140474429968383, +STORE, 140474396430336, 140474404823039, +SNULL, 140474396434431, 140474404823039, +STORE, 140474396430336, 140474396434431, +STORE, 140474396434432, 140474404823039, +STORE, 140474388037632, 140474396430335, +SNULL, 140474799087616, 140474807476223, +STORE, 140474807476224, 140474815868927, +STORE, 140474799087616, 140474807476223, +SNULL, 140474807480319, 140474815868927, +STORE, 140474807476224, 140474807480319, +STORE, 140474807480320, 140474815868927, +SNULL, 140475101061119, 140475109449727, +STORE, 140475101057024, 140475101061119, +STORE, 140475101061120, 140475109449727, +STORE, 140474379644928, 140474396430335, +SNULL, 140474572582912, 140474589364223, +STORE, 140474589364224, 140474597756927, +STORE, 140474572582912, 140474589364223, +SNULL, 140474589368319, 140474597756927, +STORE, 140474589364224, 140474589368319, +STORE, 140474589368320, 140474597756927, +STORE, 140474371252224, 140474396430335, +STORE, 140474362859520, 140474396430335, +STORE, 140474278998016, 140474287390719, +STORE, 140474270605312, 140474287390719, +STORE, 140474262212608, 140474287390719, +SNULL, 140474262216703, 140474287390719, +STORE, 140474262212608, 140474262216703, +STORE, 140474262216704, 140474287390719, +STORE, 140474253819904, 140474262212607, +SNULL, 140474253823999, 140474262212607, +STORE, 140474253819904, 140474253823999, +STORE, 140474253824000, 140474262212607, +SNULL, 140474362859520, 140474388037631, +STORE, 140474388037632, 140474396430335, +STORE, 140474362859520, 140474388037631, +SNULL, 140474388041727, 140474396430335, +STORE, 140474388037632, 140474388041727, +STORE, 140474388041728, 140474396430335, +SNULL, 140474362859520, 140474379644927, +STORE, 140474379644928, 140474388037631, +STORE, 140474362859520, 140474379644927, +SNULL, 140474379649023, 140474388037631, +STORE, 140474379644928, 140474379649023, +STORE, 140474379649024, 140474388037631, +STORE, 140474245427200, 140474253819903, +STORE, 140474237034496, 140474253819903, +STORE, 140474228641792, 140474253819903, +STORE, 140474144780288, 140474153172991, +SNULL, 140474228645887, 140474253819903, +STORE, 140474228641792, 140474228645887, +STORE, 140474228645888, 140474253819903, +SNULL, 140474564190207, 140474572578815, +STORE, 140474564186112, 140474564190207, +STORE, 140474564190208, 140474572578815, +STORE, 140474136387584, 140474153172991, +SNULL, 140474362859520, 140474371252223, +STORE, 140474371252224, 140474379644927, +STORE, 140474362859520, 140474371252223, +SNULL, 140474371256319, 140474379644927, +STORE, 140474371252224, 140474371256319, +STORE, 140474371256320, 140474379644927, +STORE, 140474127994880, 140474153172991, +STORE, 140474119602176, 140474153172991, +SNULL, 140474421579775, 140474429968383, +STORE, 140474421575680, 140474421579775, +STORE, 140474421579776, 140474429968383, +STORE, 140474111209472, 140474153172991, +SNULL, 140474111213567, 140474153172991, +STORE, 140474111209472, 140474111213567, +STORE, 140474111213568, 140474153172991, +SNULL, 140474262216704, 140474270605311, +STORE, 140474270605312, 140474287390719, +STORE, 140474262216704, 140474270605311, +SNULL, 140474270609407, 140474287390719, +STORE, 140474270605312, 140474270609407, +STORE, 140474270609408, 140474287390719, +STORE, 140474102816768, 140474111209471, +SNULL, 140474102820863, 140474111209471, +STORE, 140474102816768, 140474102820863, +STORE, 140474102820864, 140474111209471, +SNULL, 140474270609408, 140474278998015, +STORE, 140474278998016, 140474287390719, +STORE, 140474270609408, 140474278998015, +SNULL, 140474279002111, 140474287390719, +STORE, 140474278998016, 140474279002111, +STORE, 140474279002112, 140474287390719, +STORE, 140474094424064, 140474102816767, +SNULL, 140474572582912, 140474580971519, +STORE, 140474580971520, 140474589364223, +STORE, 140474572582912, 140474580971519, +SNULL, 140474580975615, 140474589364223, +STORE, 140474580971520, 140474580975615, +STORE, 140474580975616, 140474589364223, +SNULL, 140474362863615, 140474371252223, +STORE, 140474362859520, 140474362863615, +STORE, 140474362863616, 140474371252223, +STORE, 140474010562560, 140474018955263, +SNULL, 140474228645888, 140474245427199, +STORE, 140474245427200, 140474253819903, +STORE, 140474228645888, 140474245427199, +SNULL, 140474245431295, 140474253819903, +STORE, 140474245427200, 140474245431295, +STORE, 140474245431296, 140474253819903, +SNULL, 140474111213568, 140474136387583, +STORE, 140474136387584, 140474153172991, +STORE, 140474111213568, 140474136387583, +SNULL, 140474136391679, 140474153172991, +STORE, 140474136387584, 140474136391679, +STORE, 140474136391680, 140474153172991, +STORE, 140474002169856, 140474018955263, +STORE, 140473993777152, 140474018955263, +SNULL, 140474111213568, 140474127994879, +STORE, 140474127994880, 140474136387583, +STORE, 140474111213568, 140474127994879, +SNULL, 140474127998975, 140474136387583, +STORE, 140474127994880, 140474127998975, +STORE, 140474127998976, 140474136387583, +SNULL, 140474228645888, 140474237034495, +STORE, 140474237034496, 140474245427199, +STORE, 140474228645888, 140474237034495, +SNULL, 140474237038591, 140474245427199, +STORE, 140474237034496, 140474237038591, +STORE, 140474237038592, 140474245427199, +SNULL, 140474136391680, 140474144780287, +STORE, 140474144780288, 140474153172991, +STORE, 140474136391680, 140474144780287, +SNULL, 140474144784383, 140474153172991, +STORE, 140474144780288, 140474144784383, +STORE, 140474144784384, 140474153172991, +STORE, 140473985384448, 140474018955263, +STORE, 140473976991744, 140474018955263, +STORE, 140473968599040, 140474018955263, +SNULL, 140473968603135, 140474018955263, +STORE, 140473968599040, 140473968603135, +STORE, 140473968603136, 140474018955263, +SNULL, 140474111213568, 140474119602175, +STORE, 140474119602176, 140474127994879, +STORE, 140474111213568, 140474119602175, +SNULL, 140474119606271, 140474127994879, +STORE, 140474119602176, 140474119606271, +STORE, 140474119606272, 140474127994879, +STORE, 140473960206336, 140473968599039, +SNULL, 140474094428159, 140474102816767, +STORE, 140474094424064, 140474094428159, +STORE, 140474094428160, 140474102816767, +STORE, 140473876344832, 140473884737535, +STORE, 140473867952128, 140473884737535, +STORE, 140473859559424, 140473884737535, +SNULL, 140473859563519, 140473884737535, +STORE, 140473859559424, 140473859563519, +STORE, 140473859563520, 140473884737535, +SNULL, 140473968603136, 140473993777151, +STORE, 140473993777152, 140474018955263, +STORE, 140473968603136, 140473993777151, +SNULL, 140473993781247, 140474018955263, +STORE, 140473993777152, 140473993781247, +STORE, 140473993781248, 140474018955263, +SNULL, 140473960210431, 140473968599039, +STORE, 140473960206336, 140473960210431, +STORE, 140473960210432, 140473968599039, +SNULL, 140473993781248, 140474010562559, +STORE, 140474010562560, 140474018955263, +STORE, 140473993781248, 140474010562559, +SNULL, 140474010566655, 140474018955263, +STORE, 140474010562560, 140474010566655, +STORE, 140474010566656, 140474018955263, +SNULL, 140473968603136, 140473985384447, +STORE, 140473985384448, 140473993777151, +STORE, 140473968603136, 140473985384447, +SNULL, 140473985388543, 140473993777151, +STORE, 140473985384448, 140473985388543, +STORE, 140473985388544, 140473993777151, +SNULL, 140473993781248, 140474002169855, +STORE, 140474002169856, 140474010562559, +STORE, 140473993781248, 140474002169855, +SNULL, 140474002173951, 140474010562559, +STORE, 140474002169856, 140474002173951, +STORE, 140474002173952, 140474010562559, +STORE, 140473851166720, 140473859559423, +SNULL, 140473851170815, 140473859559423, +STORE, 140473851166720, 140473851170815, +STORE, 140473851170816, 140473859559423, +SNULL, 140473968603136, 140473976991743, +STORE, 140473976991744, 140473985384447, +STORE, 140473968603136, 140473976991743, +SNULL, 140473976995839, 140473985384447, +STORE, 140473976991744, 140473976995839, +STORE, 140473976995840, 140473985384447, +STORE, 140473842774016, 140473851166719, +SNULL, 140473859563520, 140473867952127, +STORE, 140473867952128, 140473884737535, +STORE, 140473859563520, 140473867952127, +SNULL, 140473867956223, 140473884737535, +STORE, 140473867952128, 140473867956223, +STORE, 140473867956224, 140473884737535, +SNULL, 140473867956224, 140473876344831, +STORE, 140473876344832, 140473884737535, +STORE, 140473867956224, 140473876344831, +SNULL, 140473876348927, 140473884737535, +STORE, 140473876344832, 140473876348927, +STORE, 140473876348928, 140473884737535, +STORE, 140473834381312, 140473851166719, +SNULL, 140473834385407, 140473851166719, +STORE, 140473834381312, 140473834385407, +STORE, 140473834385408, 140473851166719, +SNULL, 140473834385408, 140473842774015, +STORE, 140473842774016, 140473851166719, +STORE, 140473834385408, 140473842774015, +SNULL, 140473842778111, 140473851166719, +STORE, 140473842774016, 140473842778111, +STORE, 140473842778112, 140473851166719, +STORE, 140473825988608, 140473834381311, +SNULL, 140473825992703, 140473834381311, +STORE, 140473825988608, 140473825992703, +STORE, 140473825992704, 140473834381311, +STORE, 140475577475072, 140475577503743, +STORE, 140475499917312, 140475502108671, +SNULL, 140475499917312, 140475500007423, +STORE, 140475500007424, 140475502108671, +STORE, 140475499917312, 140475500007423, +SNULL, 140475502100479, 140475502108671, +STORE, 140475500007424, 140475502100479, +STORE, 140475502100480, 140475502108671, +ERASE, 140475502100480, 140475502108671, +STORE, 140475502100480, 140475502108671, +SNULL, 140475502104575, 140475502108671, +STORE, 140475502100480, 140475502104575, +STORE, 140475502104576, 140475502108671, +ERASE, 140475577475072, 140475577503743, +ERASE, 140475235274752, 140475235278847, +ERASE, 140475235278848, 140475243667455, +ERASE, 140474815868928, 140474815873023, +ERASE, 140474815873024, 140474824261631, +ERASE, 140474606149632, 140474606153727, +ERASE, 140474606153728, 140474614542335, +ERASE, 140474270605312, 140474270609407, +ERASE, 140474270609408, 140474278998015, +ERASE, 140474438361088, 140474438365183, +ERASE, 140474438365184, 140474446753791, +ERASE, 140474597756928, 140474597761023, +ERASE, 140474597761024, 140474606149631, +ERASE, 140475126235136, 140475126239231, +ERASE, 140475126239232, 140475134627839, +ERASE, 140474463539200, 140474463543295, +ERASE, 140474463543296, 140474471931903, +ERASE, 140474388037632, 140474388041727, +ERASE, 140474388041728, 140474396430335, +ERASE, 140474404823040, 140474404827135, +ERASE, 140474404827136, 140474413215743, +ERASE, 140474278998016, 140474279002111, +ERASE, 140474279002112, 140474287390719, +ERASE, 140474094424064, 140474094428159, +ERASE, 140474094428160, 140474102816767, +ERASE, 140473867952128, 140473867956223, +ERASE, 140473867956224, 140473876344831, +ERASE, 140475151413248, 140475151417343, +ERASE, 140475151417344, 140475159805951, +ERASE, 140474455146496, 140474455150591, +ERASE, 140474455150592, 140474463539199, +ERASE, 140474807476224, 140474807480319, +ERASE, 140474807480320, 140474815868927, +ERASE, 140475117842432, 140475117846527, +ERASE, 140475117846528, 140475126235135, +ERASE, 140474446753792, 140474446757887, +ERASE, 140474446757888, 140474455146495, +ERASE, 140474429968384, 140474429972479, +ERASE, 140474429972480, 140474438361087, +ERASE, 140474782298112, 140474782302207, +ERASE, 140474782302208, 140474790690815, +ERASE, 140474136387584, 140474136391679, +ERASE, 140474136391680, 140474144780287, +ERASE, 140474002169856, 140474002173951, +ERASE, 140474002173952, 140474010562559, +ERASE, 140475134627840, 140475134631935, +ERASE, 140475134631936, 140475143020543, +ERASE, 140474471931904, 140474471935999, +ERASE, 140474471936000, 140474480324607, +ERASE, 140474396430336, 140474396434431, +ERASE, 140474396434432, 140474404823039, + }; + unsigned long set36[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140723893125120, 140737488351231, +SNULL, 140723893129215, 140737488351231, +STORE, 140723893125120, 140723893129215, +STORE, 140723892994048, 140723893129215, +STORE, 94076829786112, 94076832038911, +SNULL, 94076829917183, 94076832038911, +STORE, 94076829786112, 94076829917183, +STORE, 94076829917184, 94076832038911, +ERASE, 94076829917184, 94076832038911, +STORE, 94076832010240, 94076832018431, +STORE, 94076832018432, 94076832038911, +STORE, 140122444345344, 140122446598143, +SNULL, 140122444488703, 140122446598143, +STORE, 140122444345344, 140122444488703, +STORE, 140122444488704, 140122446598143, +ERASE, 140122444488704, 140122446598143, +STORE, 140122446585856, 140122446594047, +STORE, 140122446594048, 140122446598143, +STORE, 140723893538816, 140723893542911, +STORE, 140723893526528, 140723893538815, +STORE, 140122446557184, 140122446585855, +STORE, 140122446548992, 140122446557183, +STORE, 140122442129408, 140122444345343, +SNULL, 140122442129408, 140122442227711, +STORE, 140122442227712, 140122444345343, +STORE, 140122442129408, 140122442227711, +SNULL, 140122444320767, 140122444345343, +STORE, 140122442227712, 140122444320767, +STORE, 140122444320768, 140122444345343, +SNULL, 140122444320768, 140122444328959, +STORE, 140122444328960, 140122444345343, +STORE, 140122444320768, 140122444328959, +ERASE, 140122444320768, 140122444328959, +STORE, 140122444320768, 140122444328959, +ERASE, 140122444328960, 140122444345343, +STORE, 140122444328960, 140122444345343, +STORE, 140122438332416, 140122442129407, +SNULL, 140122438332416, 140122439991295, +STORE, 140122439991296, 140122442129407, +STORE, 140122438332416, 140122439991295, +SNULL, 140122442088447, 140122442129407, +STORE, 140122439991296, 140122442088447, +STORE, 140122442088448, 140122442129407, +SNULL, 140122442088448, 140122442113023, +STORE, 140122442113024, 140122442129407, +STORE, 140122442088448, 140122442113023, +ERASE, 140122442088448, 140122442113023, +STORE, 140122442088448, 140122442113023, +ERASE, 140122442113024, 140122442129407, +STORE, 140122442113024, 140122442129407, +STORE, 140122446540800, 140122446557183, +SNULL, 140122442104831, 140122442113023, +STORE, 140122442088448, 140122442104831, +STORE, 140122442104832, 140122442113023, +SNULL, 140122444324863, 140122444328959, +STORE, 140122444320768, 140122444324863, +STORE, 140122444324864, 140122444328959, +SNULL, 94076832014335, 94076832018431, +STORE, 94076832010240, 94076832014335, +STORE, 94076832014336, 94076832018431, +SNULL, 140122446589951, 140122446594047, +STORE, 140122446585856, 140122446589951, +STORE, 140122446589952, 140122446594047, +ERASE, 140122446557184, 140122446585855, +STORE, 94076845723648, 94076845858815, +STORE, 140122429939712, 140122438332415, +SNULL, 140122429943807, 140122438332415, +STORE, 140122429939712, 140122429943807, +STORE, 140122429943808, 140122438332415, +STORE, 140122421547008, 140122429939711, +STORE, 140122287329280, 140122421547007, +SNULL, 140122287329280, 140122301399039, +STORE, 140122301399040, 140122421547007, +STORE, 140122287329280, 140122301399039, +ERASE, 140122287329280, 140122301399039, +SNULL, 140122368507903, 140122421547007, +STORE, 140122301399040, 140122368507903, +STORE, 140122368507904, 140122421547007, +ERASE, 140122368507904, 140122421547007, +SNULL, 140122301534207, 140122368507903, +STORE, 140122301399040, 140122301534207, +STORE, 140122301534208, 140122368507903, +SNULL, 140122421551103, 140122429939711, +STORE, 140122421547008, 140122421551103, +STORE, 140122421551104, 140122429939711, +STORE, 140122413154304, 140122421547007, +SNULL, 140122413158399, 140122421547007, +STORE, 140122413154304, 140122413158399, +STORE, 140122413158400, 140122421547007, +STORE, 140122404761600, 140122413154303, +SNULL, 140122404765695, 140122413154303, +STORE, 140122404761600, 140122404765695, +STORE, 140122404765696, 140122413154303, +STORE, 140122396368896, 140122404761599, +SNULL, 140122396372991, 140122404761599, +STORE, 140122396368896, 140122396372991, +STORE, 140122396372992, 140122404761599, +STORE, 140122387976192, 140122396368895, +STORE, 140122167181312, 140122301399039, +SNULL, 140122234290175, 140122301399039, +STORE, 140122167181312, 140122234290175, +STORE, 140122234290176, 140122301399039, +ERASE, 140122234290176, 140122301399039, +SNULL, 140122167316479, 140122234290175, +STORE, 140122167181312, 140122167316479, +STORE, 140122167316480, 140122234290175, +STORE, 140122379583488, 140122396368895, +STORE, 140122371190784, 140122396368895, +STORE, 140122167316480, 140122301399039, +STORE, 140122158788608, 140122167181311, +SNULL, 140122371190784, 140122387976191, +STORE, 140122387976192, 140122396368895, +STORE, 140122371190784, 140122387976191, +SNULL, 140122387980287, 140122396368895, +STORE, 140122387976192, 140122387980287, +STORE, 140122387980288, 140122396368895, +SNULL, 140122167316480, 140122234290175, +STORE, 140122234290176, 140122301399039, +STORE, 140122167316480, 140122234290175, +SNULL, 140122234425343, 140122301399039, +STORE, 140122234290176, 140122234425343, +STORE, 140122234425344, 140122301399039, +STORE, 140122024570880, 140122158788607, +SNULL, 140122024570880, 140122032963583, +STORE, 140122032963584, 140122158788607, +STORE, 140122024570880, 140122032963583, +ERASE, 140122024570880, 140122032963583, +STORE, 140121898745856, 140122158788607, +STORE, 140121890353152, 140121898745855, +SNULL, 140122100072447, 140122158788607, +STORE, 140121898745856, 140122100072447, +STORE, 140122100072448, 140122158788607, +ERASE, 140122100072448, 140122158788607, +SNULL, 140121965854719, 140122100072447, +STORE, 140121898745856, 140121965854719, +STORE, 140121965854720, 140122100072447, +SNULL, 140121965854720, 140122032963583, +STORE, 140122032963584, 140122100072447, +STORE, 140121965854720, 140122032963583, +ERASE, 140121965854720, 140122032963583, +SNULL, 140121898881023, 140121965854719, +STORE, 140121898745856, 140121898881023, +STORE, 140121898881024, 140121965854719, +SNULL, 140121890357247, 140121898745855, +STORE, 140121890353152, 140121890357247, +STORE, 140121890357248, 140121898745855, +SNULL, 140122371190784, 140122379583487, +STORE, 140122379583488, 140122387976191, +STORE, 140122371190784, 140122379583487, +SNULL, 140122379587583, 140122387976191, +STORE, 140122379583488, 140122379587583, +STORE, 140122379587584, 140122387976191, +SNULL, 140122033098751, 140122100072447, +STORE, 140122032963584, 140122033098751, +STORE, 140122033098752, 140122100072447, +SNULL, 140122158792703, 140122167181311, +STORE, 140122158788608, 140122158792703, +STORE, 140122158792704, 140122167181311, +STORE, 140122150395904, 140122158788607, +STORE, 140122142003200, 140122158788607, +SNULL, 140122142007295, 140122158788607, +STORE, 140122142003200, 140122142007295, +STORE, 140122142007296, 140122158788607, +SNULL, 140122371194879, 140122379583487, +STORE, 140122371190784, 140122371194879, +STORE, 140122371194880, 140122379583487, +SNULL, 140122142007296, 140122150395903, +STORE, 140122150395904, 140122158788607, +STORE, 140122142007296, 140122150395903, +SNULL, 140122150399999, 140122158788607, +STORE, 140122150395904, 140122150399999, +STORE, 140122150400000, 140122158788607, +STORE, 140122133610496, 140122142003199, +STORE, 140122125217792, 140122142003199, +STORE, 140122116825088, 140122142003199, +SNULL, 140122116829183, 140122142003199, +STORE, 140122116825088, 140122116829183, +STORE, 140122116829184, 140122142003199, +SNULL, 140122116829184, 140122133610495, +STORE, 140122133610496, 140122142003199, +STORE, 140122116829184, 140122133610495, +SNULL, 140122133614591, 140122142003199, +STORE, 140122133610496, 140122133614591, +STORE, 140122133614592, 140122142003199, +SNULL, 140122116829184, 140122125217791, +STORE, 140122125217792, 140122133610495, +STORE, 140122116829184, 140122125217791, +SNULL, 140122125221887, 140122133610495, +STORE, 140122125217792, 140122125221887, +STORE, 140122125221888, 140122133610495, +STORE, 140122108432384, 140122116825087, +SNULL, 140122108436479, 140122116825087, +STORE, 140122108432384, 140122108436479, +STORE, 140122108436480, 140122116825087, +STORE, 140122024570880, 140122032963583, +STORE, 140122016178176, 140122032963583, +SNULL, 140122016182271, 140122032963583, +STORE, 140122016178176, 140122016182271, +STORE, 140122016182272, 140122032963583, +SNULL, 140122016182272, 140122024570879, +STORE, 140122024570880, 140122032963583, +STORE, 140122016182272, 140122024570879, +SNULL, 140122024574975, 140122032963583, +STORE, 140122024570880, 140122024574975, +STORE, 140122024574976, 140122032963583, +STORE, 140122007785472, 140122016178175, +SNULL, 140122007789567, 140122016178175, +STORE, 140122007785472, 140122007789567, +STORE, 140122007789568, 140122016178175, +STORE, 140121999392768, 140122007785471, +STORE, 140121991000064, 140122007785471, +SNULL, 140121991004159, 140122007785471, +STORE, 140121991000064, 140121991004159, +STORE, 140121991004160, 140122007785471, +SNULL, 140121991004160, 140121999392767, +STORE, 140121999392768, 140122007785471, +STORE, 140121991004160, 140121999392767, +SNULL, 140121999396863, 140122007785471, +STORE, 140121999392768, 140121999396863, +STORE, 140121999396864, 140122007785471, +STORE, 140121982607360, 140121991000063, +STORE, 140121823244288, 140121890353151, +ERASE, 140121823244288, 140121890353151, +STORE, 140121756135424, 140121890353151, +SNULL, 140121756135424, 140121764528127, +STORE, 140121764528128, 140121890353151, +STORE, 140121756135424, 140121764528127, +ERASE, 140121756135424, 140121764528127, +SNULL, 140121831636991, 140121890353151, +STORE, 140121764528128, 140121831636991, +STORE, 140121831636992, 140121890353151, +ERASE, 140121831636992, 140121890353151, +STORE, 140121974214656, 140121991000063, +STORE, 140121630310400, 140121831636991, +SNULL, 140121697419263, 140121831636991, +STORE, 140121630310400, 140121697419263, +STORE, 140121697419264, 140121831636991, +SNULL, 140121697419264, 140121764528127, +STORE, 140121764528128, 140121831636991, +STORE, 140121697419264, 140121764528127, +ERASE, 140121697419264, 140121764528127, +STORE, 140121881960448, 140121890353151, +STORE, 140121630310400, 140121831636991, +STORE, 140121873567744, 140121890353151, +SNULL, 140121630310400, 140121697419263, +STORE, 140121697419264, 140121831636991, +STORE, 140121630310400, 140121697419263, +SNULL, 140121697554431, 140121831636991, +STORE, 140121697419264, 140121697554431, +STORE, 140121697554432, 140121831636991, +STORE, 140121865175040, 140121890353151, +STORE, 140121856782336, 140121890353151, +STORE, 140121848389632, 140121890353151, +STORE, 140121839996928, 140121890353151, +STORE, 140121496092672, 140121697419263, +STORE, 140121487699968, 140121496092671, +STORE, 140121420591104, 140121487699967, +STORE, 140121412198400, 140121420591103, +ERASE, 140121420591104, 140121487699967, +STORE, 140121479307264, 140121496092671, +STORE, 140121277980672, 140121412198399, +SNULL, 140121277980672, 140121294766079, +STORE, 140121294766080, 140121412198399, +STORE, 140121277980672, 140121294766079, +ERASE, 140121277980672, 140121294766079, +STORE, 140121470914560, 140121496092671, +STORE, 140121462521856, 140121496092671, +STORE, 140121160548352, 140121412198399, +STORE, 140121454129152, 140121496092671, +SNULL, 140121227657215, 140121412198399, +STORE, 140121160548352, 140121227657215, +STORE, 140121227657216, 140121412198399, +SNULL, 140121227657216, 140121294766079, +STORE, 140121294766080, 140121412198399, +STORE, 140121227657216, 140121294766079, +ERASE, 140121227657216, 140121294766079, +STORE, 140121445736448, 140121496092671, +STORE, 140121437343744, 140121496092671, +SNULL, 140121437343744, 140121445736447, +STORE, 140121445736448, 140121496092671, +STORE, 140121437343744, 140121445736447, +SNULL, 140121445740543, 140121496092671, +STORE, 140121445736448, 140121445740543, +STORE, 140121445740544, 140121496092671, +SNULL, 140121697554432, 140121764528127, +STORE, 140121764528128, 140121831636991, +STORE, 140121697554432, 140121764528127, +SNULL, 140121764663295, 140121831636991, +STORE, 140121764528128, 140121764663295, +STORE, 140121764663296, 140121831636991, +SNULL, 140121496092672, 140121630310399, +STORE, 140121630310400, 140121697419263, +STORE, 140121496092672, 140121630310399, +SNULL, 140121630445567, 140121697419263, +STORE, 140121630310400, 140121630445567, +STORE, 140121630445568, 140121697419263, +SNULL, 140121445740544, 140121454129151, +STORE, 140121454129152, 140121496092671, +STORE, 140121445740544, 140121454129151, +SNULL, 140121454133247, 140121496092671, +STORE, 140121454129152, 140121454133247, +STORE, 140121454133248, 140121496092671, +STORE, 140121026330624, 140121227657215, +SNULL, 140121093439487, 140121227657215, +STORE, 140121026330624, 140121093439487, +STORE, 140121093439488, 140121227657215, +SNULL, 140121093439488, 140121160548351, +STORE, 140121160548352, 140121227657215, +STORE, 140121093439488, 140121160548351, +ERASE, 140121093439488, 140121160548351, +SNULL, 140121563201535, 140121630310399, +STORE, 140121496092672, 140121563201535, +STORE, 140121563201536, 140121630310399, +ERASE, 140121563201536, 140121630310399, +STORE, 140120892112896, 140121093439487, +SNULL, 140120959221759, 140121093439487, +STORE, 140120892112896, 140120959221759, +STORE, 140120959221760, 140121093439487, +SNULL, 140120959221760, 140121026330623, +STORE, 140121026330624, 140121093439487, +STORE, 140120959221760, 140121026330623, +ERASE, 140120959221760, 140121026330623, +STORE, 140120757895168, 140120959221759, +SNULL, 140121361874943, 140121412198399, +STORE, 140121294766080, 140121361874943, +STORE, 140121361874944, 140121412198399, +ERASE, 140121361874944, 140121412198399, +SNULL, 140121294901247, 140121361874943, +STORE, 140121294766080, 140121294901247, +STORE, 140121294901248, 140121361874943, +STORE, 140120623677440, 140120959221759, +SNULL, 140120690786303, 140120959221759, +STORE, 140120623677440, 140120690786303, +STORE, 140120690786304, 140120959221759, +SNULL, 140120690786304, 140120757895167, +STORE, 140120757895168, 140120959221759, +STORE, 140120690786304, 140120757895167, +ERASE, 140120690786304, 140120757895167, +SNULL, 140121160683519, 140121227657215, +STORE, 140121160548352, 140121160683519, +STORE, 140121160683520, 140121227657215, +SNULL, 140121974214656, 140121982607359, +STORE, 140121982607360, 140121991000063, +STORE, 140121974214656, 140121982607359, +SNULL, 140121982611455, 140121991000063, +STORE, 140121982607360, 140121982611455, +STORE, 140121982611456, 140121991000063, +SNULL, 140121839996928, 140121873567743, +STORE, 140121873567744, 140121890353151, +STORE, 140121839996928, 140121873567743, +SNULL, 140121873571839, 140121890353151, +STORE, 140121873567744, 140121873571839, +STORE, 140121873571840, 140121890353151, +SNULL, 140121873571840, 140121881960447, +STORE, 140121881960448, 140121890353151, +STORE, 140121873571840, 140121881960447, +SNULL, 140121881964543, 140121890353151, +STORE, 140121881960448, 140121881964543, +STORE, 140121881964544, 140121890353151, +SNULL, 140121840001023, 140121873567743, +STORE, 140121839996928, 140121840001023, +STORE, 140121840001024, 140121873567743, +SNULL, 140121840001024, 140121865175039, +STORE, 140121865175040, 140121873567743, +STORE, 140121840001024, 140121865175039, +SNULL, 140121865179135, 140121873567743, +STORE, 140121865175040, 140121865179135, +STORE, 140121865179136, 140121873567743, +SNULL, 140121437347839, 140121445736447, +STORE, 140121437343744, 140121437347839, +STORE, 140121437347840, 140121445736447, +STORE, 140121621917696, 140121630310399, +STORE, 140121613524992, 140121630310399, +SNULL, 140121026465791, 140121093439487, +STORE, 140121026330624, 140121026465791, +STORE, 140121026465792, 140121093439487, +SNULL, 140121496227839, 140121563201535, +STORE, 140121496092672, 140121496227839, +STORE, 140121496227840, 140121563201535, +SNULL, 140120757895168, 140120892112895, +STORE, 140120892112896, 140120959221759, +STORE, 140120757895168, 140120892112895, +SNULL, 140120892248063, 140120959221759, +STORE, 140120892112896, 140120892248063, +STORE, 140120892248064, 140120959221759, +SNULL, 140120825004031, 140120892112895, +STORE, 140120757895168, 140120825004031, +STORE, 140120825004032, 140120892112895, +ERASE, 140120825004032, 140120892112895, +SNULL, 140120623812607, 140120690786303, +STORE, 140120623677440, 140120623812607, +STORE, 140120623812608, 140120690786303, +SNULL, 140120758030335, 140120825004031, +STORE, 140120757895168, 140120758030335, +STORE, 140120758030336, 140120825004031, +SNULL, 140121454133248, 140121462521855, +STORE, 140121462521856, 140121496092671, +STORE, 140121454133248, 140121462521855, +SNULL, 140121462525951, 140121496092671, +STORE, 140121462521856, 140121462525951, +STORE, 140121462525952, 140121496092671, +STORE, 140121605132288, 140121630310399, +SNULL, 140121605136383, 140121630310399, +STORE, 140121605132288, 140121605136383, +STORE, 140121605136384, 140121630310399, +STORE, 140121596739584, 140121605132287, +SNULL, 140121605136384, 140121621917695, +STORE, 140121621917696, 140121630310399, +STORE, 140121605136384, 140121621917695, +SNULL, 140121621921791, 140121630310399, +STORE, 140121621917696, 140121621921791, +STORE, 140121621921792, 140121630310399, +STORE, 140121588346880, 140121605132287, +STORE, 140121579954176, 140121605132287, +SNULL, 140121412202495, 140121420591103, +STORE, 140121412198400, 140121412202495, +STORE, 140121412202496, 140121420591103, +SNULL, 140121974218751, 140121982607359, +STORE, 140121974214656, 140121974218751, +STORE, 140121974218752, 140121982607359, +SNULL, 140121462525952, 140121479307263, +STORE, 140121479307264, 140121496092671, +STORE, 140121462525952, 140121479307263, +SNULL, 140121479311359, 140121496092671, +STORE, 140121479307264, 140121479311359, +STORE, 140121479311360, 140121496092671, +STORE, 140121571561472, 140121605132287, +SNULL, 140121571565567, 140121605132287, +STORE, 140121571561472, 140121571565567, +STORE, 140121571565568, 140121605132287, +STORE, 140121428951040, 140121437343743, +SNULL, 140121428955135, 140121437343743, +STORE, 140121428951040, 140121428955135, +STORE, 140121428955136, 140121437343743, +SNULL, 140121840001024, 140121856782335, +STORE, 140121856782336, 140121865175039, +STORE, 140121840001024, 140121856782335, +SNULL, 140121856786431, 140121865175039, +STORE, 140121856782336, 140121856786431, +STORE, 140121856786432, 140121865175039, +STORE, 140121403805696, 140121412198399, +SNULL, 140121840001024, 140121848389631, +STORE, 140121848389632, 140121856782335, +STORE, 140121840001024, 140121848389631, +SNULL, 140121848393727, 140121856782335, +STORE, 140121848389632, 140121848393727, +STORE, 140121848393728, 140121856782335, +SNULL, 140121479311360, 140121487699967, +STORE, 140121487699968, 140121496092671, +STORE, 140121479311360, 140121487699967, +SNULL, 140121487704063, 140121496092671, +STORE, 140121487699968, 140121487704063, +STORE, 140121487704064, 140121496092671, +STORE, 140121395412992, 140121412198399, +STORE, 140121387020288, 140121412198399, +SNULL, 140121387024383, 140121412198399, +STORE, 140121387020288, 140121387024383, +STORE, 140121387024384, 140121412198399, +SNULL, 140121605136384, 140121613524991, +STORE, 140121613524992, 140121621917695, +STORE, 140121605136384, 140121613524991, +SNULL, 140121613529087, 140121621917695, +STORE, 140121613524992, 140121613529087, +STORE, 140121613529088, 140121621917695, +SNULL, 140121462525952, 140121470914559, +STORE, 140121470914560, 140121479307263, +STORE, 140121462525952, 140121470914559, +SNULL, 140121470918655, 140121479307263, +STORE, 140121470914560, 140121470918655, +STORE, 140121470918656, 140121479307263, +STORE, 140121378627584, 140121387020287, +SNULL, 140121378631679, 140121387020287, +STORE, 140121378627584, 140121378631679, +STORE, 140121378631680, 140121387020287, +SNULL, 140121571565568, 140121596739583, +STORE, 140121596739584, 140121605132287, +STORE, 140121571565568, 140121596739583, +SNULL, 140121596743679, 140121605132287, +STORE, 140121596739584, 140121596743679, +STORE, 140121596743680, 140121605132287, +SNULL, 140121387024384, 140121403805695, +STORE, 140121403805696, 140121412198399, +STORE, 140121387024384, 140121403805695, +SNULL, 140121403809791, 140121412198399, +STORE, 140121403805696, 140121403809791, +STORE, 140121403809792, 140121412198399, +STORE, 140121370234880, 140121378627583, +SNULL, 140121387024384, 140121395412991, +STORE, 140121395412992, 140121403805695, +STORE, 140121387024384, 140121395412991, +SNULL, 140121395417087, 140121403805695, +STORE, 140121395412992, 140121395417087, +STORE, 140121395417088, 140121403805695, +SNULL, 140121571565568, 140121588346879, +STORE, 140121588346880, 140121596739583, +STORE, 140121571565568, 140121588346879, +SNULL, 140121588350975, 140121596739583, +STORE, 140121588346880, 140121588350975, +STORE, 140121588350976, 140121596739583, +SNULL, 140121571565568, 140121579954175, +STORE, 140121579954176, 140121588346879, +STORE, 140121571565568, 140121579954175, +SNULL, 140121579958271, 140121588346879, +STORE, 140121579954176, 140121579958271, +STORE, 140121579958272, 140121588346879, +STORE, 140121286373376, 140121294766079, +STORE, 140121277980672, 140121294766079, +SNULL, 140121277980672, 140121286373375, +STORE, 140121286373376, 140121294766079, +STORE, 140121277980672, 140121286373375, +SNULL, 140121286377471, 140121294766079, +STORE, 140121286373376, 140121286377471, +STORE, 140121286377472, 140121294766079, +STORE, 140121269587968, 140121286373375, +STORE, 140121261195264, 140121286373375, +SNULL, 140121261195264, 140121269587967, +STORE, 140121269587968, 140121286373375, +STORE, 140121261195264, 140121269587967, +SNULL, 140121269592063, 140121286373375, +STORE, 140121269587968, 140121269592063, +STORE, 140121269592064, 140121286373375, +STORE, 140121252802560, 140121269587967, +SNULL, 140121252806655, 140121269587967, +STORE, 140121252802560, 140121252806655, +STORE, 140121252806656, 140121269587967, +STORE, 140121244409856, 140121252802559, +STORE, 140121236017152, 140121252802559, +SNULL, 140121236017152, 140121244409855, +STORE, 140121244409856, 140121252802559, +STORE, 140121236017152, 140121244409855, +SNULL, 140121244413951, 140121252802559, +STORE, 140121244409856, 140121244413951, +STORE, 140121244413952, 140121252802559, +SNULL, 140121370238975, 140121378627583, +STORE, 140121370234880, 140121370238975, +STORE, 140121370238976, 140121378627583, +STORE, 140121152155648, 140121160548351, +STORE, 140121143762944, 140121160548351, +STORE, 140121135370240, 140121160548351, +SNULL, 140121135374335, 140121160548351, +STORE, 140121135370240, 140121135374335, +STORE, 140121135374336, 140121160548351, +STORE, 140121126977536, 140121135370239, +STORE, 140121118584832, 140121135370239, +STORE, 140121110192128, 140121135370239, +SNULL, 140121110192128, 140121118584831, +STORE, 140121118584832, 140121135370239, +STORE, 140121110192128, 140121118584831, +SNULL, 140121118588927, 140121135370239, +STORE, 140121118584832, 140121118588927, +STORE, 140121118588928, 140121135370239, +STORE, 140121101799424, 140121118584831, +STORE, 140121017937920, 140121026330623, +STORE, 140121009545216, 140121026330623, +SNULL, 140121009545216, 140121017937919, +STORE, 140121017937920, 140121026330623, +STORE, 140121009545216, 140121017937919, +SNULL, 140121017942015, 140121026330623, +STORE, 140121017937920, 140121017942015, +STORE, 140121017942016, 140121026330623, +SNULL, 140121269592064, 140121277980671, +STORE, 140121277980672, 140121286373375, +STORE, 140121269592064, 140121277980671, +SNULL, 140121277984767, 140121286373375, +STORE, 140121277980672, 140121277984767, +STORE, 140121277984768, 140121286373375, +STORE, 140121001152512, 140121017937919, +SNULL, 140121252806656, 140121261195263, +STORE, 140121261195264, 140121269587967, +STORE, 140121252806656, 140121261195263, +SNULL, 140121261199359, 140121269587967, +STORE, 140121261195264, 140121261199359, +STORE, 140121261199360, 140121269587967, +SNULL, 140121135374336, 140121152155647, +STORE, 140121152155648, 140121160548351, +STORE, 140121135374336, 140121152155647, +SNULL, 140121152159743, 140121160548351, +STORE, 140121152155648, 140121152159743, +STORE, 140121152159744, 140121160548351, +STORE, 140120992759808, 140121017937919, +STORE, 140120984367104, 140121017937919, +STORE, 140120975974400, 140121017937919, +SNULL, 140121101799424, 140121110192127, +STORE, 140121110192128, 140121118584831, +STORE, 140121101799424, 140121110192127, +SNULL, 140121110196223, 140121118584831, +STORE, 140121110192128, 140121110196223, +STORE, 140121110196224, 140121118584831, +SNULL, 140121118588928, 140121126977535, +STORE, 140121126977536, 140121135370239, +STORE, 140121118588928, 140121126977535, +SNULL, 140121126981631, 140121135370239, +STORE, 140121126977536, 140121126981631, +STORE, 140121126981632, 140121135370239, +STORE, 140120967581696, 140121017937919, +STORE, 140120883720192, 140120892112895, +SNULL, 140120883724287, 140120892112895, +STORE, 140120883720192, 140120883724287, +STORE, 140120883724288, 140120892112895, +STORE, 140120875327488, 140120883720191, +SNULL, 140121101803519, 140121110192127, +STORE, 140121101799424, 140121101803519, +STORE, 140121101803520, 140121110192127, +SNULL, 140121135374336, 140121143762943, +STORE, 140121143762944, 140121152155647, +STORE, 140121135374336, 140121143762943, +SNULL, 140121143767039, 140121152155647, +STORE, 140121143762944, 140121143767039, +STORE, 140121143767040, 140121152155647, +STORE, 140120866934784, 140120883720191, +SNULL, 140120967581696, 140120984367103, +STORE, 140120984367104, 140121017937919, +STORE, 140120967581696, 140120984367103, +SNULL, 140120984371199, 140121017937919, +STORE, 140120984367104, 140120984371199, +STORE, 140120984371200, 140121017937919, +STORE, 140120858542080, 140120883720191, +SNULL, 140121236021247, 140121244409855, +STORE, 140121236017152, 140121236021247, +STORE, 140121236021248, 140121244409855, +SNULL, 140120984371200, 140121009545215, +STORE, 140121009545216, 140121017937919, +STORE, 140120984371200, 140121009545215, +SNULL, 140121009549311, 140121017937919, +STORE, 140121009545216, 140121009549311, +STORE, 140121009549312, 140121017937919, +SNULL, 140120984371200, 140120992759807, +STORE, 140120992759808, 140121009545215, +STORE, 140120984371200, 140120992759807, +SNULL, 140120992763903, 140121009545215, +STORE, 140120992759808, 140120992763903, +STORE, 140120992763904, 140121009545215, +SNULL, 140120992763904, 140121001152511, +STORE, 140121001152512, 140121009545215, +STORE, 140120992763904, 140121001152511, +SNULL, 140121001156607, 140121009545215, +STORE, 140121001152512, 140121001156607, +STORE, 140121001156608, 140121009545215, +STORE, 140120850149376, 140120883720191, +SNULL, 140120850153471, 140120883720191, +STORE, 140120850149376, 140120850153471, +STORE, 140120850153472, 140120883720191, +SNULL, 140120967585791, 140120984367103, +STORE, 140120967581696, 140120967585791, +STORE, 140120967585792, 140120984367103, +SNULL, 140120850153472, 140120866934783, +STORE, 140120866934784, 140120883720191, +STORE, 140120850153472, 140120866934783, +SNULL, 140120866938879, 140120883720191, +STORE, 140120866934784, 140120866938879, +STORE, 140120866938880, 140120883720191, +STORE, 140120841756672, 140120850149375, +SNULL, 140120967585792, 140120975974399, +STORE, 140120975974400, 140120984367103, +STORE, 140120967585792, 140120975974399, +SNULL, 140120975978495, 140120984367103, +STORE, 140120975974400, 140120975978495, +STORE, 140120975978496, 140120984367103, +SNULL, 140120866938880, 140120875327487, +STORE, 140120875327488, 140120883720191, +STORE, 140120866938880, 140120875327487, +SNULL, 140120875331583, 140120883720191, +STORE, 140120875327488, 140120875331583, +STORE, 140120875331584, 140120883720191, +STORE, 140120833363968, 140120850149375, +STORE, 140120749502464, 140120757895167, +STORE, 140120741109760, 140120757895167, +STORE, 140120732717056, 140120757895167, +STORE, 140120724324352, 140120757895167, +SNULL, 140120724324352, 140120732717055, +STORE, 140120732717056, 140120757895167, +STORE, 140120724324352, 140120732717055, +SNULL, 140120732721151, 140120757895167, +STORE, 140120732717056, 140120732721151, +STORE, 140120732721152, 140120757895167, +STORE, 140120715931648, 140120732717055, +SNULL, 140120715935743, 140120732717055, +STORE, 140120715931648, 140120715935743, +STORE, 140120715935744, 140120732717055, +SNULL, 140120850153472, 140120858542079, +STORE, 140120858542080, 140120866934783, +STORE, 140120850153472, 140120858542079, +SNULL, 140120858546175, 140120866934783, +STORE, 140120858542080, 140120858546175, +STORE, 140120858546176, 140120866934783, +STORE, 140120707538944, 140120715931647, +SNULL, 140120707543039, 140120715931647, +STORE, 140120707538944, 140120707543039, +STORE, 140120707543040, 140120715931647, +SNULL, 140120833368063, 140120850149375, +STORE, 140120833363968, 140120833368063, +STORE, 140120833368064, 140120850149375, +SNULL, 140120833368064, 140120841756671, +STORE, 140120841756672, 140120850149375, +STORE, 140120833368064, 140120841756671, +SNULL, 140120841760767, 140120850149375, +STORE, 140120841756672, 140120841760767, +STORE, 140120841760768, 140120850149375, +STORE, 140120699146240, 140120707538943, +SNULL, 140120715935744, 140120724324351, +STORE, 140120724324352, 140120732717055, +STORE, 140120715935744, 140120724324351, +SNULL, 140120724328447, 140120732717055, +STORE, 140120724324352, 140120724328447, +STORE, 140120724328448, 140120732717055, +SNULL, 140120732721152, 140120741109759, +STORE, 140120741109760, 140120757895167, +STORE, 140120732721152, 140120741109759, +SNULL, 140120741113855, 140120757895167, +STORE, 140120741109760, 140120741113855, +STORE, 140120741113856, 140120757895167, +SNULL, 140120741113856, 140120749502463, +STORE, 140120749502464, 140120757895167, +STORE, 140120741113856, 140120749502463, +SNULL, 140120749506559, 140120757895167, +STORE, 140120749502464, 140120749506559, +STORE, 140120749506560, 140120757895167, +SNULL, 140120699150335, 140120707538943, +STORE, 140120699146240, 140120699150335, +STORE, 140120699150336, 140120707538943, +STORE, 140122446557184, 140122446585855, +STORE, 140122368999424, 140122371190783, +SNULL, 140122368999424, 140122369089535, +STORE, 140122369089536, 140122371190783, +STORE, 140122368999424, 140122369089535, +SNULL, 140122371182591, 140122371190783, +STORE, 140122369089536, 140122371182591, +STORE, 140122371182592, 140122371190783, +ERASE, 140122371182592, 140122371190783, +STORE, 140122371182592, 140122371190783, +SNULL, 140122371186687, 140122371190783, +STORE, 140122371182592, 140122371186687, +STORE, 140122371186688, 140122371190783, +ERASE, 140122446557184, 140122446585855, +ERASE, 140121445736448, 140121445740543, +ERASE, 140121445740544, 140121454129151, +ERASE, 140121621917696, 140121621921791, +ERASE, 140121621921792, 140121630310399, +ERASE, 140121579954176, 140121579958271, +ERASE, 140121579958272, 140121588346879, +ERASE, 140121261195264, 140121261199359, +ERASE, 140121261199360, 140121269587967, +ERASE, 140121454129152, 140121454133247, +ERASE, 140121454133248, 140121462521855, +ERASE, 140121588346880, 140121588350975, +ERASE, 140121588350976, 140121596739583, +ERASE, 140121135370240, 140121135374335, +ERASE, 140121135374336, 140121143762943, +ERASE, 140121881960448, 140121881964543, +ERASE, 140121881964544, 140121890353151, +ERASE, 140121428951040, 140121428955135, +ERASE, 140121428955136, 140121437343743, +ERASE, 140121387020288, 140121387024383, +ERASE, 140121387024384, 140121395412991, +ERASE, 140121487699968, 140121487704063, +ERASE, 140121487704064, 140121496092671, +ERASE, 140121437343744, 140121437347839, +ERASE, 140121437347840, 140121445736447, +ERASE, 140121613524992, 140121613529087, +ERASE, 140121613529088, 140121621917695, +ERASE, 140121856782336, 140121856786431, +ERASE, 140121856786432, 140121865175039, +ERASE, 140121252802560, 140121252806655, +ERASE, 140121252806656, 140121261195263, +ERASE, 140121839996928, 140121840001023, +ERASE, 140121840001024, 140121848389631, +ERASE, 140121596739584, 140121596743679, +ERASE, 140121596743680, 140121605132287, +ERASE, 140121009545216, 140121009549311, +ERASE, 140121009549312, 140121017937919, +ERASE, 140120724324352, 140120724328447, +ERASE, 140120724328448, 140120732717055, +ERASE, 140120883720192, 140120883724287, +ERASE, 140120883724288, 140120892112895, +ERASE, 140121982607360, 140121982611455, +ERASE, 140121982611456, 140121991000063, +ERASE, 140121571561472, 140121571565567, +ERASE, 140121571565568, 140121579954175, +ERASE, 140121286373376, 140121286377471, +ERASE, 140121286377472, 140121294766079, +ERASE, 140120875327488, 140120875331583, +ERASE, 140120875331584, 140120883720191, +ERASE, 140121848389632, 140121848393727, +ERASE, 140121848393728, 140121856782335, +ERASE, 140121370234880, 140121370238975, +ERASE, 140121370238976, 140121378627583, +ERASE, 140121143762944, 140121143767039, +ERASE, 140121143767040, 140121152155647, +ERASE, 140121118584832, 140121118588927, +ERASE, 140121118588928, 140121126977535, +ERASE, 140120866934784, 140120866938879, +ERASE, 140120866938880, 140120875327487, +ERASE, 140120741109760, 140120741113855, +ERASE, 140120741113856, 140120749502463, +ERASE, 140121865175040, 140121865179135, +ERASE, 140121865179136, 140121873567743, +ERASE, 140121403805696, 140121403809791, +ERASE, 140121403809792, 140121412198399, +ERASE, 140121236017152, 140121236021247, +ERASE, 140121236021248, 140121244409855, +ERASE, 140120732717056, 140120732721151, +ERASE, 140120732721152, 140120741109759, +ERASE, 140121017937920, 140121017942015, +ERASE, 140121017942016, 140121026330623, +ERASE, 140121873567744, 140121873571839, +ERASE, 140121873571840, 140121881960447, +ERASE, 140121470914560, 140121470918655, +ERASE, 140121470918656, 140121479307263, +ERASE, 140121126977536, 140121126981631, +ERASE, 140121126981632, 140121135370239, +ERASE, 140120850149376, 140120850153471, +ERASE, 140120850153472, 140120858542079, +ERASE, 140120707538944, 140120707543039, +ERASE, 140120707543040, 140120715931647, +ERASE, 140121479307264, 140121479311359, +ERASE, 140121479311360, 140121487699967, +ERASE, 140120967581696, 140120967585791, +ERASE, 140120967585792, 140120975974399, +ERASE, 140120841756672, 140120841760767, +ERASE, 140120841760768, 140120850149375, +ERASE, 140121412198400, 140121412202495, +ERASE, 140121412202496, 140121420591103, +ERASE, 140122158788608, 140122158792703, +ERASE, 140122158792704, 140122167181311, +ERASE, 140122142003200, 140122142007295, +ERASE, 140122142007296, 140122150395903, +ERASE, 140121101799424, 140121101803519, +ERASE, 140121101803520, 140121110192127, +ERASE, 140120858542080, 140120858546175, +ERASE, 140120858546176, 140120866934783, +ERASE, 140120833363968, 140120833368063, +ERASE, 140120833368064, 140120841756671, +ERASE, 140121277980672, 140121277984767, +ERASE, 140121277984768, 140121286373375, +ERASE, 140121001152512, 140121001156607, +ERASE, 140121001156608, 140121009545215, +ERASE, 140120749502464, 140120749506559, +ERASE, 140120749506560, 140120757895167, +ERASE, 140121605132288, 140121605136383, +ERASE, 140121605136384, 140121613524991, +ERASE, 140121378627584, 140121378631679, +ERASE, 140121378631680, 140121387020287, +ERASE, 140121110192128, 140121110196223, +ERASE, 140121110196224, 140121118584831, +ERASE, 140121462521856, 140121462525951, +ERASE, 140121462525952, 140121470914559, +ERASE, 140121395412992, 140121395417087, +ERASE, 140121395417088, 140121403805695, +ERASE, 140121152155648, 140121152159743, +ERASE, 140121152159744, 140121160548351, +ERASE, 140120992759808, 140120992763903, +ERASE, 140120992763904, 140121001152511, +ERASE, 140122387976192, 140122387980287, +ERASE, 140122387980288, 140122396368895, +ERASE, 140121890353152, 140121890357247, +ERASE, 140121890357248, 140121898745855, +ERASE, 140121269587968, 140121269592063, +ERASE, 140121269592064, 140121277980671, + }; + unsigned long set37[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140722404016128, 140737488351231, +SNULL, 140722404020223, 140737488351231, +STORE, 140722404016128, 140722404020223, +STORE, 140722403885056, 140722404020223, +STORE, 94637010001920, 94637012254719, +SNULL, 94637010132991, 94637012254719, +STORE, 94637010001920, 94637010132991, +STORE, 94637010132992, 94637012254719, +ERASE, 94637010132992, 94637012254719, +STORE, 94637012226048, 94637012234239, +STORE, 94637012234240, 94637012254719, +STORE, 139760240594944, 139760242847743, +SNULL, 139760240738303, 139760242847743, +STORE, 139760240594944, 139760240738303, +STORE, 139760240738304, 139760242847743, +ERASE, 139760240738304, 139760242847743, +STORE, 139760242835456, 139760242843647, +STORE, 139760242843648, 139760242847743, +STORE, 140722405232640, 140722405236735, +STORE, 140722405220352, 140722405232639, +STORE, 139760242806784, 139760242835455, +STORE, 139760242798592, 139760242806783, +STORE, 139760238379008, 139760240594943, +SNULL, 139760238379008, 139760238477311, +STORE, 139760238477312, 139760240594943, +STORE, 139760238379008, 139760238477311, +SNULL, 139760240570367, 139760240594943, +STORE, 139760238477312, 139760240570367, +STORE, 139760240570368, 139760240594943, +SNULL, 139760240570368, 139760240578559, +STORE, 139760240578560, 139760240594943, +STORE, 139760240570368, 139760240578559, +ERASE, 139760240570368, 139760240578559, +STORE, 139760240570368, 139760240578559, +ERASE, 139760240578560, 139760240594943, +STORE, 139760240578560, 139760240594943, +STORE, 139760234582016, 139760238379007, +SNULL, 139760234582016, 139760236240895, +STORE, 139760236240896, 139760238379007, +STORE, 139760234582016, 139760236240895, +SNULL, 139760238338047, 139760238379007, +STORE, 139760236240896, 139760238338047, +STORE, 139760238338048, 139760238379007, +SNULL, 139760238338048, 139760238362623, +STORE, 139760238362624, 139760238379007, +STORE, 139760238338048, 139760238362623, +ERASE, 139760238338048, 139760238362623, +STORE, 139760238338048, 139760238362623, +ERASE, 139760238362624, 139760238379007, +STORE, 139760238362624, 139760238379007, +STORE, 139760242790400, 139760242806783, +SNULL, 139760238354431, 139760238362623, +STORE, 139760238338048, 139760238354431, +STORE, 139760238354432, 139760238362623, +SNULL, 139760240574463, 139760240578559, +STORE, 139760240570368, 139760240574463, +STORE, 139760240574464, 139760240578559, +SNULL, 94637012230143, 94637012234239, +STORE, 94637012226048, 94637012230143, +STORE, 94637012230144, 94637012234239, +SNULL, 139760242839551, 139760242843647, +STORE, 139760242835456, 139760242839551, +STORE, 139760242839552, 139760242843647, +ERASE, 139760242806784, 139760242835455, +STORE, 94637033324544, 94637033459711, +STORE, 139760226189312, 139760234582015, +SNULL, 139760226193407, 139760234582015, +STORE, 139760226189312, 139760226193407, +STORE, 139760226193408, 139760234582015, +STORE, 139760217796608, 139760226189311, +STORE, 139760083578880, 139760217796607, +SNULL, 139760083578880, 139760114860031, +STORE, 139760114860032, 139760217796607, +STORE, 139760083578880, 139760114860031, +ERASE, 139760083578880, 139760114860031, +SNULL, 139760181968895, 139760217796607, +STORE, 139760114860032, 139760181968895, +STORE, 139760181968896, 139760217796607, +ERASE, 139760181968896, 139760217796607, +SNULL, 139760114995199, 139760181968895, +STORE, 139760114860032, 139760114995199, +STORE, 139760114995200, 139760181968895, +SNULL, 139760217800703, 139760226189311, +STORE, 139760217796608, 139760217800703, +STORE, 139760217800704, 139760226189311, +STORE, 139760209403904, 139760217796607, +SNULL, 139760209407999, 139760217796607, +STORE, 139760209403904, 139760209407999, +STORE, 139760209408000, 139760217796607, +STORE, 139760201011200, 139760209403903, +SNULL, 139760201015295, 139760209403903, +STORE, 139760201011200, 139760201015295, +STORE, 139760201015296, 139760209403903, +STORE, 139760192618496, 139760201011199, +SNULL, 139760192622591, 139760201011199, +STORE, 139760192618496, 139760192622591, +STORE, 139760192622592, 139760201011199, +STORE, 139760184225792, 139760192618495, +STORE, 139759980642304, 139760114860031, +STORE, 139759972249600, 139759980642303, +STORE, 139759963856896, 139759980642303, +STORE, 139759955464192, 139759980642303, +STORE, 139759888355328, 139759955464191, +SNULL, 139760047751167, 139760114860031, +STORE, 139759980642304, 139760047751167, +STORE, 139760047751168, 139760114860031, +ERASE, 139760047751168, 139760114860031, +SNULL, 139759980777471, 139760047751167, +STORE, 139759980642304, 139759980777471, +STORE, 139759980777472, 139760047751167, +STORE, 139759980777472, 139760114860031, +SNULL, 139759980777472, 139760047751167, +STORE, 139760047751168, 139760114860031, +STORE, 139759980777472, 139760047751167, +SNULL, 139760047886335, 139760114860031, +STORE, 139760047751168, 139760047886335, +STORE, 139760047886336, 139760114860031, +STORE, 139759821246464, 139759955464191, +SNULL, 139759821246464, 139759888355327, +STORE, 139759888355328, 139759955464191, +STORE, 139759821246464, 139759888355327, +ERASE, 139759821246464, 139759888355327, +ERASE, 139759888355328, 139759955464191, + }; + unsigned long set38[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140730666221568, 140737488351231, +SNULL, 140730666225663, 140737488351231, +STORE, 140730666221568, 140730666225663, +STORE, 140730666090496, 140730666225663, +STORE, 94177584803840, 94177587056639, +SNULL, 94177584934911, 94177587056639, +STORE, 94177584803840, 94177584934911, +STORE, 94177584934912, 94177587056639, +ERASE, 94177584934912, 94177587056639, +STORE, 94177587027968, 94177587036159, +STORE, 94177587036160, 94177587056639, +STORE, 140614382714880, 140614384967679, +SNULL, 140614382858239, 140614384967679, +STORE, 140614382714880, 140614382858239, +STORE, 140614382858240, 140614384967679, +ERASE, 140614382858240, 140614384967679, +STORE, 140614384955392, 140614384963583, +STORE, 140614384963584, 140614384967679, +STORE, 140730666315776, 140730666319871, +STORE, 140730666303488, 140730666315775, +STORE, 140614384926720, 140614384955391, +STORE, 140614384918528, 140614384926719, +STORE, 140614380498944, 140614382714879, +SNULL, 140614380498944, 140614380597247, +STORE, 140614380597248, 140614382714879, +STORE, 140614380498944, 140614380597247, +SNULL, 140614382690303, 140614382714879, +STORE, 140614380597248, 140614382690303, +STORE, 140614382690304, 140614382714879, +SNULL, 140614382690304, 140614382698495, +STORE, 140614382698496, 140614382714879, +STORE, 140614382690304, 140614382698495, +ERASE, 140614382690304, 140614382698495, +STORE, 140614382690304, 140614382698495, +ERASE, 140614382698496, 140614382714879, +STORE, 140614382698496, 140614382714879, +STORE, 140614376701952, 140614380498943, +SNULL, 140614376701952, 140614378360831, +STORE, 140614378360832, 140614380498943, +STORE, 140614376701952, 140614378360831, +SNULL, 140614380457983, 140614380498943, +STORE, 140614378360832, 140614380457983, +STORE, 140614380457984, 140614380498943, +SNULL, 140614380457984, 140614380482559, +STORE, 140614380482560, 140614380498943, +STORE, 140614380457984, 140614380482559, +ERASE, 140614380457984, 140614380482559, +STORE, 140614380457984, 140614380482559, +ERASE, 140614380482560, 140614380498943, +STORE, 140614380482560, 140614380498943, +STORE, 140614384910336, 140614384926719, +SNULL, 140614380474367, 140614380482559, +STORE, 140614380457984, 140614380474367, +STORE, 140614380474368, 140614380482559, +SNULL, 140614382694399, 140614382698495, +STORE, 140614382690304, 140614382694399, +STORE, 140614382694400, 140614382698495, +SNULL, 94177587032063, 94177587036159, +STORE, 94177587027968, 94177587032063, +STORE, 94177587032064, 94177587036159, +SNULL, 140614384959487, 140614384963583, +STORE, 140614384955392, 140614384959487, +STORE, 140614384959488, 140614384963583, +ERASE, 140614384926720, 140614384955391, +STORE, 94177619791872, 94177619927039, +STORE, 140614368309248, 140614376701951, +SNULL, 140614368313343, 140614376701951, +STORE, 140614368309248, 140614368313343, +STORE, 140614368313344, 140614376701951, +STORE, 140614359916544, 140614368309247, +STORE, 140614225698816, 140614359916543, +SNULL, 140614225698816, 140614276481023, +STORE, 140614276481024, 140614359916543, +STORE, 140614225698816, 140614276481023, +ERASE, 140614225698816, 140614276481023, +SNULL, 140614343589887, 140614359916543, +STORE, 140614276481024, 140614343589887, +STORE, 140614343589888, 140614359916543, +ERASE, 140614343589888, 140614359916543, +SNULL, 140614276616191, 140614343589887, +STORE, 140614276481024, 140614276616191, +STORE, 140614276616192, 140614343589887, +SNULL, 140614359920639, 140614368309247, +STORE, 140614359916544, 140614359920639, +STORE, 140614359920640, 140614368309247, +STORE, 140614351523840, 140614359916543, +SNULL, 140614351527935, 140614359916543, +STORE, 140614351523840, 140614351527935, +STORE, 140614351527936, 140614359916543, +STORE, 140614268088320, 140614276481023, +SNULL, 140614268092415, 140614276481023, +STORE, 140614268088320, 140614268092415, +STORE, 140614268092416, 140614276481023, +STORE, 140614259695616, 140614268088319, +SNULL, 140614259699711, 140614268088319, +STORE, 140614259695616, 140614259699711, +STORE, 140614259699712, 140614268088319, +STORE, 140614251302912, 140614259695615, +STORE, 140614242910208, 140614259695615, +STORE, 140614108692480, 140614242910207, +SNULL, 140614108692480, 140614142263295, +STORE, 140614142263296, 140614242910207, +STORE, 140614108692480, 140614142263295, +ERASE, 140614108692480, 140614142263295, +STORE, 140614133870592, 140614142263295, +STORE, 140613999652864, 140614133870591, +SNULL, 140613999652864, 140614008045567, +STORE, 140614008045568, 140614133870591, +STORE, 140613999652864, 140614008045567, +ERASE, 140613999652864, 140614008045567, +STORE, 140613999652864, 140614008045567, +STORE, 140613865435136, 140613999652863, +SNULL, 140613865435136, 140613873827839, +STORE, 140613873827840, 140613999652863, +STORE, 140613865435136, 140613873827839, +ERASE, 140613865435136, 140613873827839, +SNULL, 140614209372159, 140614242910207, +STORE, 140614142263296, 140614209372159, +STORE, 140614209372160, 140614242910207, +ERASE, 140614209372160, 140614242910207, +SNULL, 140614142398463, 140614209372159, +STORE, 140614142263296, 140614142398463, +STORE, 140614142398464, 140614209372159, +SNULL, 140614075154431, 140614133870591, +STORE, 140614008045568, 140614075154431, +STORE, 140614075154432, 140614133870591, +ERASE, 140614075154432, 140614133870591, +SNULL, 140614008180735, 140614075154431, +STORE, 140614008045568, 140614008180735, +STORE, 140614008180736, 140614075154431, +SNULL, 140613940936703, 140613999652863, +STORE, 140613873827840, 140613940936703, +STORE, 140613940936704, 140613999652863, +ERASE, 140613940936704, 140613999652863, +SNULL, 140614242914303, 140614259695615, +STORE, 140614242910208, 140614242914303, +STORE, 140614242914304, 140614259695615, +STORE, 140613739610112, 140613940936703, +STORE, 140614234517504, 140614242910207, +SNULL, 140614242914304, 140614251302911, +STORE, 140614251302912, 140614259695615, +STORE, 140614242914304, 140614251302911, +SNULL, 140614251307007, 140614259695615, +STORE, 140614251302912, 140614251307007, +STORE, 140614251307008, 140614259695615, +SNULL, 140613739610112, 140613873827839, +STORE, 140613873827840, 140613940936703, +STORE, 140613739610112, 140613873827839, +SNULL, 140613873963007, 140613940936703, +STORE, 140613873827840, 140613873963007, +STORE, 140613873963008, 140613940936703, +SNULL, 140614133874687, 140614142263295, +STORE, 140614133870592, 140614133874687, +STORE, 140614133874688, 140614142263295, +SNULL, 140613806718975, 140613873827839, +STORE, 140613739610112, 140613806718975, +STORE, 140613806718976, 140613873827839, +ERASE, 140613806718976, 140613873827839, +STORE, 140614226124800, 140614242910207, +SNULL, 140613739745279, 140613806718975, +STORE, 140613739610112, 140613739745279, +STORE, 140613739745280, 140613806718975, +SNULL, 140613999656959, 140614008045567, +STORE, 140613999652864, 140613999656959, +STORE, 140613999656960, 140614008045567, +SNULL, 140614226124800, 140614234517503, +STORE, 140614234517504, 140614242910207, +STORE, 140614226124800, 140614234517503, +SNULL, 140614234521599, 140614242910207, +STORE, 140614234517504, 140614234521599, +STORE, 140614234521600, 140614242910207, +STORE, 140614217732096, 140614234517503, +STORE, 140614125477888, 140614133870591, +SNULL, 140614125481983, 140614133870591, +STORE, 140614125477888, 140614125481983, +STORE, 140614125481984, 140614133870591, +STORE, 140614117085184, 140614125477887, +SNULL, 140614217736191, 140614234517503, +STORE, 140614217732096, 140614217736191, +STORE, 140614217736192, 140614234517503, +SNULL, 140614117089279, 140614125477887, +STORE, 140614117085184, 140614117089279, +STORE, 140614117089280, 140614125477887, +SNULL, 140614217736192, 140614226124799, +STORE, 140614226124800, 140614234517503, +STORE, 140614217736192, 140614226124799, +SNULL, 140614226128895, 140614234517503, +STORE, 140614226124800, 140614226128895, +STORE, 140614226128896, 140614234517503, +STORE, 140614108692480, 140614117085183, +STORE, 140614100299776, 140614117085183, +STORE, 140614091907072, 140614117085183, +SNULL, 140614091907072, 140614108692479, +STORE, 140614108692480, 140614117085183, +STORE, 140614091907072, 140614108692479, +SNULL, 140614108696575, 140614117085183, +STORE, 140614108692480, 140614108696575, +STORE, 140614108696576, 140614117085183, +SNULL, 140614091907072, 140614100299775, +STORE, 140614100299776, 140614108692479, +STORE, 140614091907072, 140614100299775, +SNULL, 140614100303871, 140614108692479, +STORE, 140614100299776, 140614100303871, +STORE, 140614100303872, 140614108692479, +STORE, 140614083514368, 140614100299775, +SNULL, 140614083518463, 140614100299775, +STORE, 140614083514368, 140614083518463, +STORE, 140614083518464, 140614100299775, +STORE, 140613991260160, 140613999652863, +SNULL, 140614083518464, 140614091907071, +STORE, 140614091907072, 140614100299775, +STORE, 140614083518464, 140614091907071, +SNULL, 140614091911167, 140614100299775, +STORE, 140614091907072, 140614091911167, +STORE, 140614091911168, 140614100299775, +SNULL, 140613991264255, 140613999652863, +STORE, 140613991260160, 140613991264255, +STORE, 140613991264256, 140613999652863, +STORE, 140613982867456, 140613991260159, +SNULL, 140613982871551, 140613991260159, +STORE, 140613982867456, 140613982871551, +STORE, 140613982871552, 140613991260159, +STORE, 140613974474752, 140613982867455, +SNULL, 140613974478847, 140613982867455, +STORE, 140613974474752, 140613974478847, +STORE, 140613974478848, 140613982867455, +STORE, 140613966082048, 140613974474751, +STORE, 140613739745280, 140613873827839, +SNULL, 140613739745280, 140613806718975, +STORE, 140613806718976, 140613873827839, +STORE, 140613739745280, 140613806718975, +SNULL, 140613806854143, 140613873827839, +STORE, 140613806718976, 140613806854143, +STORE, 140613806854144, 140613873827839, +SNULL, 140613966086143, 140613974474751, +STORE, 140613966082048, 140613966086143, +STORE, 140613966086144, 140613974474751, +STORE, 140613957689344, 140613966082047, +STORE, 140613605392384, 140613739610111, +STORE, 140613949296640, 140613966082047, +STORE, 140613596999680, 140613605392383, +STORE, 140613529890816, 140613596999679, +STORE, 140613521498112, 140613529890815, +STORE, 140613513105408, 140613529890815, +STORE, 140613378887680, 140613513105407, +SNULL, 140613378887680, 140613404065791, +STORE, 140613404065792, 140613513105407, +STORE, 140613378887680, 140613404065791, +ERASE, 140613378887680, 140613404065791, +STORE, 140613395673088, 140613404065791, +STORE, 140613261455360, 140613395673087, +SNULL, 140613261455360, 140613269848063, +STORE, 140613269848064, 140613395673087, +STORE, 140613261455360, 140613269848063, +ERASE, 140613261455360, 140613269848063, +STORE, 140613261455360, 140613269848063, +STORE, 140613253062656, 140613269848063, +STORE, 140613118844928, 140613253062655, +STORE, 140613110452224, 140613118844927, +SNULL, 140613118844928, 140613135630335, +STORE, 140613135630336, 140613253062655, +STORE, 140613118844928, 140613135630335, +ERASE, 140613118844928, 140613135630335, +STORE, 140613127237632, 140613135630335, +STORE, 140613110452224, 140613135630335, +STORE, 140612976234496, 140613110452223, +STORE, 140612967841792, 140612976234495, +STORE, 140612833624064, 140612967841791, +STORE, 140612825231360, 140612833624063, +STORE, 140612816838656, 140612833624063, +STORE, 140612682620928, 140612816838655, +STORE, 140612674228224, 140612682620927, +SNULL, 140612682620928, 140612732977151, +STORE, 140612732977152, 140612816838655, +STORE, 140612682620928, 140612732977151, +ERASE, 140612682620928, 140612732977151, +SNULL, 140613672501247, 140613739610111, +STORE, 140613605392384, 140613672501247, +STORE, 140613672501248, 140613739610111, +ERASE, 140613672501248, 140613739610111, +SNULL, 140613605527551, 140613672501247, +STORE, 140613605392384, 140613605527551, +STORE, 140613605527552, 140613672501247, +ERASE, 140613529890816, 140613596999679, +STORE, 140612540010496, 140612674228223, +SNULL, 140612540010496, 140612598759423, +STORE, 140612598759424, 140612674228223, +STORE, 140612540010496, 140612598759423, +ERASE, 140612540010496, 140612598759423, +SNULL, 140613471174655, 140613513105407, +STORE, 140613404065792, 140613471174655, +STORE, 140613471174656, 140613513105407, +ERASE, 140613471174656, 140613513105407, +SNULL, 140613404200959, 140613471174655, +STORE, 140613404065792, 140613404200959, +STORE, 140613404200960, 140613471174655, +SNULL, 140613336956927, 140613395673087, +STORE, 140613269848064, 140613336956927, +STORE, 140613336956928, 140613395673087, +ERASE, 140613336956928, 140613395673087, +SNULL, 140612833624064, 140612867194879, +STORE, 140612867194880, 140612967841791, +STORE, 140612833624064, 140612867194879, +ERASE, 140612833624064, 140612867194879, +SNULL, 140612976234496, 140613001412607, +STORE, 140613001412608, 140613110452223, +STORE, 140612976234496, 140613001412607, +ERASE, 140612976234496, 140613001412607, +SNULL, 140613202739199, 140613253062655, +STORE, 140613135630336, 140613202739199, +STORE, 140613202739200, 140613253062655, +ERASE, 140613202739200, 140613253062655, +SNULL, 140613135765503, 140613202739199, +STORE, 140613135630336, 140613135765503, +STORE, 140613135765504, 140613202739199, +SNULL, 140612816842751, 140612833624063, +STORE, 140612816838656, 140612816842751, +STORE, 140612816842752, 140612833624063, +SNULL, 140613110456319, 140613135630335, +STORE, 140613110452224, 140613110456319, +STORE, 140613110456320, 140613135630335, +SNULL, 140613949300735, 140613966082047, +STORE, 140613949296640, 140613949300735, +STORE, 140613949300736, 140613966082047, +SNULL, 140613110456320, 140613118844927, +STORE, 140613118844928, 140613135630335, +STORE, 140613110456320, 140613118844927, +SNULL, 140613118849023, 140613135630335, +STORE, 140613118844928, 140613118849023, +STORE, 140613118849024, 140613135630335, +SNULL, 140612800086015, 140612816838655, +STORE, 140612732977152, 140612800086015, +STORE, 140612800086016, 140612816838655, +ERASE, 140612800086016, 140612816838655, +SNULL, 140613253062656, 140613261455359, +STORE, 140613261455360, 140613269848063, +STORE, 140613253062656, 140613261455359, +SNULL, 140613261459455, 140613269848063, +STORE, 140613261455360, 140613261459455, +STORE, 140613261459456, 140613269848063, +SNULL, 140612674232319, 140612682620927, +STORE, 140612674228224, 140612674232319, +STORE, 140612674232320, 140612682620927, +STORE, 140613731217408, 140613739610111, +STORE, 140613722824704, 140613739610111, +SNULL, 140613949300736, 140613957689343, +STORE, 140613957689344, 140613966082047, +STORE, 140613949300736, 140613957689343, +SNULL, 140613957693439, 140613966082047, +STORE, 140613957689344, 140613957693439, +STORE, 140613957693440, 140613966082047, +STORE, 140612464541696, 140612674228223, +SNULL, 140612531650559, 140612674228223, +STORE, 140612464541696, 140612531650559, +STORE, 140612531650560, 140612674228223, +SNULL, 140612531650560, 140612598759423, +STORE, 140612598759424, 140612674228223, +STORE, 140612531650560, 140612598759423, +ERASE, 140612531650560, 140612598759423, +SNULL, 140612665868287, 140612674228223, +STORE, 140612598759424, 140612665868287, +STORE, 140612665868288, 140612674228223, +ERASE, 140612665868288, 140612674228223, +SNULL, 140613269983231, 140613336956927, +STORE, 140613269848064, 140613269983231, +STORE, 140613269983232, 140613336956927, +SNULL, 140612934303743, 140612967841791, +STORE, 140612867194880, 140612934303743, +STORE, 140612934303744, 140612967841791, +ERASE, 140612934303744, 140612967841791, +SNULL, 140613068521471, 140613110452223, +STORE, 140613001412608, 140613068521471, +STORE, 140613068521472, 140613110452223, +ERASE, 140613068521472, 140613110452223, +STORE, 140613714432000, 140613739610111, +SNULL, 140613001547775, 140613068521471, +STORE, 140613001412608, 140613001547775, +STORE, 140613001547776, 140613068521471, +SNULL, 140612733112319, 140612800086015, +STORE, 140612732977152, 140612733112319, +STORE, 140612733112320, 140612800086015, +SNULL, 140613513109503, 140613529890815, +STORE, 140613513105408, 140613513109503, +STORE, 140613513109504, 140613529890815, +STORE, 140613706039296, 140613739610111, +STORE, 140613697646592, 140613739610111, +STORE, 140613689253888, 140613739610111, +SNULL, 140613689257983, 140613739610111, +STORE, 140613689253888, 140613689257983, +STORE, 140613689257984, 140613739610111, +SNULL, 140613253066751, 140613261455359, +STORE, 140613253062656, 140613253066751, +STORE, 140613253066752, 140613261455359, +STORE, 140613680861184, 140613689253887, +STORE, 140613588606976, 140613605392383, +SNULL, 140613689257984, 140613731217407, +STORE, 140613731217408, 140613739610111, +STORE, 140613689257984, 140613731217407, +SNULL, 140613731221503, 140613739610111, +STORE, 140613731217408, 140613731221503, +STORE, 140613731221504, 140613739610111, +STORE, 140613580214272, 140613605392383, +SNULL, 140612464676863, 140612531650559, +STORE, 140612464541696, 140612464676863, +STORE, 140612464676864, 140612531650559, +SNULL, 140612598894591, 140612665868287, +STORE, 140612598759424, 140612598894591, +STORE, 140612598894592, 140612665868287, +SNULL, 140612867330047, 140612934303743, +STORE, 140612867194880, 140612867330047, +STORE, 140612867330048, 140612934303743, +STORE, 140613571821568, 140613605392383, +SNULL, 140613571825663, 140613605392383, +STORE, 140613571821568, 140613571825663, +STORE, 140613571825664, 140613605392383, +SNULL, 140613689257984, 140613722824703, +STORE, 140613722824704, 140613731217407, +STORE, 140613689257984, 140613722824703, +SNULL, 140613722828799, 140613731217407, +STORE, 140613722824704, 140613722828799, +STORE, 140613722828800, 140613731217407, +SNULL, 140613689257984, 140613714431999, +STORE, 140613714432000, 140613722824703, +STORE, 140613689257984, 140613714431999, +SNULL, 140613714436095, 140613722824703, +STORE, 140613714432000, 140613714436095, +STORE, 140613714436096, 140613722824703, +SNULL, 140612816842752, 140612825231359, +STORE, 140612825231360, 140612833624063, +STORE, 140612816842752, 140612825231359, +SNULL, 140612825235455, 140612833624063, +STORE, 140612825231360, 140612825235455, +STORE, 140612825235456, 140612833624063, +SNULL, 140613395677183, 140613404065791, +STORE, 140613395673088, 140613395677183, +STORE, 140613395677184, 140613404065791, +SNULL, 140613689257984, 140613706039295, +STORE, 140613706039296, 140613714431999, +STORE, 140613689257984, 140613706039295, +SNULL, 140613706043391, 140613714431999, +STORE, 140613706039296, 140613706043391, +STORE, 140613706043392, 140613714431999, +SNULL, 140613118849024, 140613127237631, +STORE, 140613127237632, 140613135630335, +STORE, 140613118849024, 140613127237631, +SNULL, 140613127241727, 140613135630335, +STORE, 140613127237632, 140613127241727, +STORE, 140613127241728, 140613135630335, +SNULL, 140613571825664, 140613580214271, +STORE, 140613580214272, 140613605392383, +STORE, 140613571825664, 140613580214271, +SNULL, 140613580218367, 140613605392383, +STORE, 140613580214272, 140613580218367, +STORE, 140613580218368, 140613605392383, +SNULL, 140613689257984, 140613697646591, +STORE, 140613697646592, 140613706039295, +STORE, 140613689257984, 140613697646591, +SNULL, 140613697650687, 140613706039295, +STORE, 140613697646592, 140613697650687, +STORE, 140613697650688, 140613706039295, +SNULL, 140613680865279, 140613689253887, +STORE, 140613680861184, 140613680865279, +STORE, 140613680865280, 140613689253887, +STORE, 140613563428864, 140613571821567, +SNULL, 140613563432959, 140613571821567, +STORE, 140613563428864, 140613563432959, +STORE, 140613563432960, 140613571821567, +SNULL, 140613580218368, 140613588606975, +STORE, 140613588606976, 140613605392383, +STORE, 140613580218368, 140613588606975, +SNULL, 140613588611071, 140613605392383, +STORE, 140613588606976, 140613588611071, +STORE, 140613588611072, 140613605392383, +SNULL, 140613513109504, 140613521498111, +STORE, 140613521498112, 140613529890815, +STORE, 140613513109504, 140613521498111, +SNULL, 140613521502207, 140613529890815, +STORE, 140613521498112, 140613521502207, +STORE, 140613521502208, 140613529890815, +SNULL, 140613588611072, 140613596999679, +STORE, 140613596999680, 140613605392383, +STORE, 140613588611072, 140613596999679, +SNULL, 140613597003775, 140613605392383, +STORE, 140613596999680, 140613597003775, +STORE, 140613597003776, 140613605392383, +STORE, 140613555036160, 140613563428863, +SNULL, 140613555040255, 140613563428863, +STORE, 140613555036160, 140613555040255, +STORE, 140613555040256, 140613563428863, +STORE, 140613546643456, 140613555036159, +STORE, 140613538250752, 140613555036159, +SNULL, 140613538250752, 140613546643455, +STORE, 140613546643456, 140613555036159, +STORE, 140613538250752, 140613546643455, +SNULL, 140613546647551, 140613555036159, +STORE, 140613546643456, 140613546647551, +STORE, 140613546647552, 140613555036159, +STORE, 140613504712704, 140613513105407, +STORE, 140613496320000, 140613513105407, +SNULL, 140613496324095, 140613513105407, +STORE, 140613496320000, 140613496324095, +STORE, 140613496324096, 140613513105407, +STORE, 140613487927296, 140613496319999, +SNULL, 140613487931391, 140613496319999, +STORE, 140613487927296, 140613487931391, +STORE, 140613487931392, 140613496319999, +STORE, 140613479534592, 140613487927295, +SNULL, 140612967845887, 140612976234495, +STORE, 140612967841792, 140612967845887, +STORE, 140612967845888, 140612976234495, +STORE, 140613387280384, 140613395673087, +STORE, 140613378887680, 140613395673087, +SNULL, 140613378887680, 140613387280383, +STORE, 140613387280384, 140613395673087, +STORE, 140613378887680, 140613387280383, +SNULL, 140613387284479, 140613395673087, +STORE, 140613387280384, 140613387284479, +STORE, 140613387284480, 140613395673087, +STORE, 140613370494976, 140613387280383, +STORE, 140613362102272, 140613387280383, +SNULL, 140613479538687, 140613487927295, +STORE, 140613479534592, 140613479538687, +STORE, 140613479538688, 140613487927295, +STORE, 140613353709568, 140613387280383, +STORE, 140613345316864, 140613387280383, +STORE, 140613244669952, 140613253062655, +SNULL, 140613345320959, 140613387280383, +STORE, 140613345316864, 140613345320959, +STORE, 140613345320960, 140613387280383, +SNULL, 140613538254847, 140613546643455, +STORE, 140613538250752, 140613538254847, +STORE, 140613538254848, 140613546643455, +STORE, 140613236277248, 140613253062655, +STORE, 140613227884544, 140613253062655, +STORE, 140613219491840, 140613253062655, +STORE, 140613211099136, 140613253062655, +SNULL, 140613211103231, 140613253062655, +STORE, 140613211099136, 140613211103231, +STORE, 140613211103232, 140613253062655, +STORE, 140613102059520, 140613110452223, +STORE, 140613093666816, 140613110452223, +SNULL, 140613093670911, 140613110452223, +STORE, 140613093666816, 140613093670911, +STORE, 140613093670912, 140613110452223, +STORE, 140613085274112, 140613093666815, +SNULL, 140613496324096, 140613504712703, +STORE, 140613504712704, 140613513105407, +STORE, 140613496324096, 140613504712703, +SNULL, 140613504716799, 140613513105407, +STORE, 140613504712704, 140613504716799, +STORE, 140613504716800, 140613513105407, +SNULL, 140613345320960, 140613378887679, +STORE, 140613378887680, 140613387280383, +STORE, 140613345320960, 140613378887679, +SNULL, 140613378891775, 140613387280383, +STORE, 140613378887680, 140613378891775, +STORE, 140613378891776, 140613387280383, +SNULL, 140613345320960, 140613362102271, +STORE, 140613362102272, 140613378887679, +STORE, 140613345320960, 140613362102271, +SNULL, 140613362106367, 140613378887679, +STORE, 140613362102272, 140613362106367, +STORE, 140613362106368, 140613378887679, +SNULL, 140613362106368, 140613370494975, +STORE, 140613370494976, 140613378887679, +STORE, 140613362106368, 140613370494975, +SNULL, 140613370499071, 140613378887679, +STORE, 140613370494976, 140613370499071, +STORE, 140613370499072, 140613378887679, +STORE, 140613076881408, 140613093666815, +STORE, 140612993019904, 140613001412607, +SNULL, 140613076885503, 140613093666815, +STORE, 140613076881408, 140613076885503, +STORE, 140613076885504, 140613093666815, +SNULL, 140613093670912, 140613102059519, +STORE, 140613102059520, 140613110452223, +STORE, 140613093670912, 140613102059519, +SNULL, 140613102063615, 140613110452223, +STORE, 140613102059520, 140613102063615, +STORE, 140613102063616, 140613110452223, +SNULL, 140613076885504, 140613085274111, +STORE, 140613085274112, 140613093666815, +STORE, 140613076885504, 140613085274111, +SNULL, 140613085278207, 140613093666815, +STORE, 140613085274112, 140613085278207, +STORE, 140613085278208, 140613093666815, +STORE, 140612984627200, 140613001412607, +STORE, 140612967845888, 140612984627199, +SNULL, 140613211103232, 140613219491839, +STORE, 140613219491840, 140613253062655, +STORE, 140613211103232, 140613219491839, +SNULL, 140613219495935, 140613253062655, +STORE, 140613219491840, 140613219495935, +STORE, 140613219495936, 140613253062655, +STORE, 140612959449088, 140612967841791, +STORE, 140612951056384, 140612967841791, +SNULL, 140612951060479, 140612967841791, +STORE, 140612951056384, 140612951060479, +STORE, 140612951060480, 140612967841791, +SNULL, 140613345320960, 140613353709567, +STORE, 140613353709568, 140613362102271, +STORE, 140613345320960, 140613353709567, +SNULL, 140613353713663, 140613362102271, +STORE, 140613353709568, 140613353713663, +STORE, 140613353713664, 140613362102271, +SNULL, 140613219495936, 140613244669951, +STORE, 140613244669952, 140613253062655, +STORE, 140613219495936, 140613244669951, +SNULL, 140613244674047, 140613253062655, +STORE, 140613244669952, 140613244674047, +STORE, 140613244674048, 140613253062655, +STORE, 140612942663680, 140612951056383, +SNULL, 140613219495936, 140613236277247, +STORE, 140613236277248, 140613244669951, +STORE, 140613219495936, 140613236277247, +SNULL, 140613236281343, 140613244669951, +STORE, 140613236277248, 140613236281343, +STORE, 140613236281344, 140613244669951, +SNULL, 140613219495936, 140613227884543, +STORE, 140613227884544, 140613236277247, +STORE, 140613219495936, 140613227884543, +SNULL, 140613227888639, 140613236277247, +STORE, 140613227884544, 140613227888639, +STORE, 140613227888640, 140613236277247, +SNULL, 140612984627200, 140612993019903, +STORE, 140612993019904, 140613001412607, +STORE, 140612984627200, 140612993019903, +SNULL, 140612993023999, 140613001412607, +STORE, 140612993019904, 140612993023999, +STORE, 140612993024000, 140613001412607, +STORE, 140612858802176, 140612867194879, +STORE, 140612850409472, 140612867194879, +SNULL, 140612951060480, 140612959449087, +STORE, 140612959449088, 140612967841791, +STORE, 140612951060480, 140612959449087, +SNULL, 140612959453183, 140612967841791, +STORE, 140612959449088, 140612959453183, +STORE, 140612959453184, 140612967841791, +SNULL, 140612967845888, 140612976234495, +STORE, 140612976234496, 140612984627199, +STORE, 140612967845888, 140612976234495, +SNULL, 140612976238591, 140612984627199, +STORE, 140612976234496, 140612976238591, +STORE, 140612976238592, 140612984627199, +STORE, 140612842016768, 140612867194879, +SNULL, 140612842020863, 140612867194879, +STORE, 140612842016768, 140612842020863, +STORE, 140612842020864, 140612867194879, +SNULL, 140612984631295, 140612993019903, +STORE, 140612984627200, 140612984631295, +STORE, 140612984631296, 140612993019903, +STORE, 140612825235456, 140612842016767, +STORE, 140612808445952, 140612816838655, +SNULL, 140612942667775, 140612951056383, +STORE, 140612942663680, 140612942667775, +STORE, 140612942667776, 140612951056383, +STORE, 140612724584448, 140612732977151, +SNULL, 140612724588543, 140612732977151, +STORE, 140612724584448, 140612724588543, +STORE, 140612724588544, 140612732977151, +STORE, 140612716191744, 140612724584447, +SNULL, 140612842020864, 140612850409471, +STORE, 140612850409472, 140612867194879, +STORE, 140612842020864, 140612850409471, +SNULL, 140612850413567, 140612867194879, +STORE, 140612850409472, 140612850413567, +STORE, 140612850413568, 140612867194879, +SNULL, 140612850413568, 140612858802175, +STORE, 140612858802176, 140612867194879, +STORE, 140612850413568, 140612858802175, +SNULL, 140612858806271, 140612867194879, +STORE, 140612858802176, 140612858806271, +STORE, 140612858806272, 140612867194879, +STORE, 140612707799040, 140612724584447, +SNULL, 140612707803135, 140612724584447, +STORE, 140612707799040, 140612707803135, +STORE, 140612707803136, 140612724584447, +SNULL, 140612707803136, 140612716191743, +STORE, 140612716191744, 140612724584447, +STORE, 140612707803136, 140612716191743, +SNULL, 140612716195839, 140612724584447, +STORE, 140612716191744, 140612716195839, +STORE, 140612716195840, 140612724584447, +SNULL, 140612808450047, 140612816838655, +STORE, 140612808445952, 140612808450047, +STORE, 140612808450048, 140612816838655, +SNULL, 140612825235456, 140612833624063, +STORE, 140612833624064, 140612842016767, +STORE, 140612825235456, 140612833624063, +SNULL, 140612833628159, 140612842016767, +STORE, 140612833624064, 140612833628159, +STORE, 140612833628160, 140612842016767, +STORE, 140612699406336, 140612707799039, +SNULL, 140612699410431, 140612707799039, +STORE, 140612699406336, 140612699410431, +STORE, 140612699410432, 140612707799039, +STORE, 140614384926720, 140614384955391, +STORE, 140614349332480, 140614351523839, +SNULL, 140614349332480, 140614349422591, +STORE, 140614349422592, 140614351523839, +STORE, 140614349332480, 140614349422591, +SNULL, 140614351515647, 140614351523839, +STORE, 140614349422592, 140614351515647, +STORE, 140614351515648, 140614351523839, +ERASE, 140614351515648, 140614351523839, +STORE, 140614351515648, 140614351523839, +SNULL, 140614351519743, 140614351523839, +STORE, 140614351515648, 140614351519743, +STORE, 140614351519744, 140614351523839, +ERASE, 140614384926720, 140614384955391, +ERASE, 140613949296640, 140613949300735, +ERASE, 140613949300736, 140613957689343, +ERASE, 140613689253888, 140613689257983, +ERASE, 140613689257984, 140613697646591, +ERASE, 140613563428864, 140613563432959, +ERASE, 140613563432960, 140613571821567, +ERASE, 140613211099136, 140613211103231, +ERASE, 140613211103232, 140613219491839, +ERASE, 140614133870592, 140614133874687, +ERASE, 140614133874688, 140614142263295, +ERASE, 140612967841792, 140612967845887, +ERASE, 140612967845888, 140612976234495, +ERASE, 140613076881408, 140613076885503, +ERASE, 140613076885504, 140613085274111, +ERASE, 140612850409472, 140612850413567, +ERASE, 140612850413568, 140612858802175, +ERASE, 140613110452224, 140613110456319, +ERASE, 140613110456320, 140613118844927, +ERASE, 140613706039296, 140613706043391, +ERASE, 140613706043392, 140613714431999, +ERASE, 140613521498112, 140613521502207, +ERASE, 140613521502208, 140613529890815, +ERASE, 140613362102272, 140613362106367, +ERASE, 140613362106368, 140613370494975, +ERASE, 140613253062656, 140613253066751, +ERASE, 140613253066752, 140613261455359, +ERASE, 140612816838656, 140612816842751, +ERASE, 140612816842752, 140612825231359, +ERASE, 140613261455360, 140613261459455, +ERASE, 140613261459456, 140613269848063, +ERASE, 140613118844928, 140613118849023, +ERASE, 140613118849024, 140613127237631, +ERASE, 140613714432000, 140613714436095, +ERASE, 140613714436096, 140613722824703, +ERASE, 140613496320000, 140613496324095, +ERASE, 140613496324096, 140613504712703, +ERASE, 140613513105408, 140613513109503, +ERASE, 140613513109504, 140613521498111, +ERASE, 140613697646592, 140613697650687, +ERASE, 140613697650688, 140613706039295, +ERASE, 140613093666816, 140613093670911, +ERASE, 140613093670912, 140613102059519, +ERASE, 140612993019904, 140612993023999, +ERASE, 140612993024000, 140613001412607, +ERASE, 140613127237632, 140613127241727, +ERASE, 140613127241728, 140613135630335, +ERASE, 140613957689344, 140613957693439, +ERASE, 140613957693440, 140613966082047, +ERASE, 140613571821568, 140613571825663, +ERASE, 140613571825664, 140613580214271, +ERASE, 140613479534592, 140613479538687, +ERASE, 140613479538688, 140613487927295, +ERASE, 140612984627200, 140612984631295, +ERASE, 140612984631296, 140612993019903, +ERASE, 140613588606976, 140613588611071, +ERASE, 140613588611072, 140613596999679, +ERASE, 140613680861184, 140613680865279, +ERASE, 140613680865280, 140613689253887, +ERASE, 140613345316864, 140613345320959, +ERASE, 140613345320960, 140613353709567, +ERASE, 140613596999680, 140613597003775, +ERASE, 140613597003776, 140613605392383, +ERASE, 140613966082048, 140613966086143, +ERASE, 140613966086144, 140613974474751, +ERASE, 140613731217408, 140613731221503, +ERASE, 140613731221504, 140613739610111, +ERASE, 140613395673088, 140613395677183, +ERASE, 140613395677184, 140613404065791, +ERASE, 140612825231360, 140612825235455, +ERASE, 140612825235456, 140612833624063, +ERASE, 140612674228224, 140612674232319, +ERASE, 140612674232320, 140612682620927, +ERASE, 140613722824704, 140613722828799, +ERASE, 140613722828800, 140613731217407, +ERASE, 140613487927296, 140613487931391, +ERASE, 140613487931392, 140613496319999, +ERASE, 140613102059520, 140613102063615, +ERASE, 140613102063616, 140613110452223, +ERASE, 140614242910208, 140614242914303, +ERASE, 140614242914304, 140614251302911, +ERASE, 140612808445952, 140612808450047, +ERASE, 140612808450048, 140612816838655, +ERASE, 140613236277248, 140613236281343, +ERASE, 140613236281344, 140613244669951, +ERASE, 140613580214272, 140613580218367, +ERASE, 140613580218368, 140613588606975, +ERASE, 140613370494976, 140613370499071, +ERASE, 140613370499072, 140613378887679, +ERASE, 140613244669952, 140613244674047, +ERASE, 140613244674048, 140613253062655, +ERASE, 140612724584448, 140612724588543, +ERASE, 140612724588544, 140612732977151, +ERASE, 140612707799040, 140612707803135, +ERASE, 140612707803136, 140612716191743, +ERASE, 140613504712704, 140613504716799, +ERASE, 140613504716800, 140613513105407, + }; + + unsigned long set39[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140736271417344, 140737488351231, +SNULL, 140736271421439, 140737488351231, +STORE, 140736271417344, 140736271421439, +STORE, 140736271286272, 140736271421439, +STORE, 94412930822144, 94412933074943, +SNULL, 94412930953215, 94412933074943, +STORE, 94412930822144, 94412930953215, +STORE, 94412930953216, 94412933074943, +ERASE, 94412930953216, 94412933074943, +STORE, 94412933046272, 94412933054463, +STORE, 94412933054464, 94412933074943, +STORE, 140326136901632, 140326139154431, +SNULL, 140326137044991, 140326139154431, +STORE, 140326136901632, 140326137044991, +STORE, 140326137044992, 140326139154431, +ERASE, 140326137044992, 140326139154431, +STORE, 140326139142144, 140326139150335, +STORE, 140326139150336, 140326139154431, +STORE, 140736271585280, 140736271589375, +STORE, 140736271572992, 140736271585279, +STORE, 140326139113472, 140326139142143, +STORE, 140326139105280, 140326139113471, +STORE, 140326134685696, 140326136901631, +SNULL, 140326134685696, 140326134783999, +STORE, 140326134784000, 140326136901631, +STORE, 140326134685696, 140326134783999, +SNULL, 140326136877055, 140326136901631, +STORE, 140326134784000, 140326136877055, +STORE, 140326136877056, 140326136901631, +SNULL, 140326136877056, 140326136885247, +STORE, 140326136885248, 140326136901631, +STORE, 140326136877056, 140326136885247, +ERASE, 140326136877056, 140326136885247, +STORE, 140326136877056, 140326136885247, +ERASE, 140326136885248, 140326136901631, +STORE, 140326136885248, 140326136901631, +STORE, 140326130888704, 140326134685695, +SNULL, 140326130888704, 140326132547583, +STORE, 140326132547584, 140326134685695, +STORE, 140326130888704, 140326132547583, +SNULL, 140326134644735, 140326134685695, +STORE, 140326132547584, 140326134644735, +STORE, 140326134644736, 140326134685695, +SNULL, 140326134644736, 140326134669311, +STORE, 140326134669312, 140326134685695, +STORE, 140326134644736, 140326134669311, +ERASE, 140326134644736, 140326134669311, +STORE, 140326134644736, 140326134669311, +ERASE, 140326134669312, 140326134685695, +STORE, 140326134669312, 140326134685695, +STORE, 140326139097088, 140326139113471, +SNULL, 140326134661119, 140326134669311, +STORE, 140326134644736, 140326134661119, +STORE, 140326134661120, 140326134669311, +SNULL, 140326136881151, 140326136885247, +STORE, 140326136877056, 140326136881151, +STORE, 140326136881152, 140326136885247, +SNULL, 94412933050367, 94412933054463, +STORE, 94412933046272, 94412933050367, +STORE, 94412933050368, 94412933054463, +SNULL, 140326139146239, 140326139150335, +STORE, 140326139142144, 140326139146239, +STORE, 140326139146240, 140326139150335, +ERASE, 140326139113472, 140326139142143, +STORE, 94412939493376, 94412939628543, +STORE, 140326122496000, 140326130888703, +SNULL, 140326122500095, 140326130888703, +STORE, 140326122496000, 140326122500095, +STORE, 140326122500096, 140326130888703, +STORE, 140326114103296, 140326122495999, +STORE, 140325979885568, 140326114103295, +SNULL, 140325979885568, 140326043910143, +STORE, 140326043910144, 140326114103295, +STORE, 140325979885568, 140326043910143, +ERASE, 140325979885568, 140326043910143, +SNULL, 140326111019007, 140326114103295, +STORE, 140326043910144, 140326111019007, +STORE, 140326111019008, 140326114103295, +ERASE, 140326111019008, 140326114103295, +SNULL, 140326044045311, 140326111019007, +STORE, 140326043910144, 140326044045311, +STORE, 140326044045312, 140326111019007, +SNULL, 140326114107391, 140326122495999, +STORE, 140326114103296, 140326114107391, +STORE, 140326114107392, 140326122495999, +STORE, 140326035517440, 140326043910143, +SNULL, 140326035521535, 140326043910143, +STORE, 140326035517440, 140326035521535, +STORE, 140326035521536, 140326043910143, +STORE, 140326027124736, 140326035517439, +SNULL, 140326027128831, 140326035517439, +STORE, 140326027124736, 140326027128831, +STORE, 140326027128832, 140326035517439, +STORE, 140326018732032, 140326027124735, +SNULL, 140326018736127, 140326027124735, +STORE, 140326018732032, 140326018736127, +STORE, 140326018736128, 140326027124735, +STORE, 140326010339328, 140326018732031, +STORE, 140326001946624, 140326018732031, +STORE, 140325993553920, 140326018732031, +STORE, 140325859336192, 140325993553919, +SNULL, 140325859336192, 140325909692415, +STORE, 140325909692416, 140325993553919, +STORE, 140325859336192, 140325909692415, +ERASE, 140325859336192, 140325909692415, +SNULL, 140325976801279, 140325993553919, +STORE, 140325909692416, 140325976801279, +STORE, 140325976801280, 140325993553919, +ERASE, 140325976801280, 140325993553919, +STORE, 140325985161216, 140326018732031, +STORE, 140325775474688, 140325976801279, +STORE, 140325708365824, 140325976801279, +SNULL, 140325708500991, 140325976801279, +STORE, 140325708365824, 140325708500991, +STORE, 140325708500992, 140325976801279, +SNULL, 140325708500992, 140325909692415, +STORE, 140325909692416, 140325976801279, +STORE, 140325708500992, 140325909692415, +SNULL, 140325909827583, 140325976801279, +STORE, 140325909692416, 140325909827583, +STORE, 140325909827584, 140325976801279, +SNULL, 140325842583551, 140325909692415, +STORE, 140325708500992, 140325842583551, +STORE, 140325842583552, 140325909692415, +ERASE, 140325842583552, 140325909692415, +SNULL, 140325708500992, 140325775474687, +STORE, 140325775474688, 140325842583551, +STORE, 140325708500992, 140325775474687, +SNULL, 140325775609855, 140325842583551, +STORE, 140325775474688, 140325775609855, +STORE, 140325775609856, 140325842583551, +STORE, 140325775609856, 140325909692415, +SNULL, 140325775609856, 140325842583551, +STORE, 140325842583552, 140325909692415, +STORE, 140325775609856, 140325842583551, +SNULL, 140325842718719, 140325909692415, +STORE, 140325842583552, 140325842718719, +STORE, 140325842718720, 140325909692415, +SNULL, 140325985161216, 140325993553919, +STORE, 140325993553920, 140326018732031, +STORE, 140325985161216, 140325993553919, +SNULL, 140325993558015, 140326018732031, +STORE, 140325993553920, 140325993558015, +STORE, 140325993558016, 140326018732031, +SNULL, 140325985165311, 140325993553919, +STORE, 140325985161216, 140325985165311, +STORE, 140325985165312, 140325993553919, +SNULL, 140325993558016, 140326001946623, +STORE, 140326001946624, 140326018732031, +STORE, 140325993558016, 140326001946623, +SNULL, 140326001950719, 140326018732031, +STORE, 140326001946624, 140326001950719, +STORE, 140326001950720, 140326018732031, +SNULL, 140326001950720, 140326010339327, +STORE, 140326010339328, 140326018732031, +STORE, 140326001950720, 140326010339327, +SNULL, 140326010343423, 140326018732031, +STORE, 140326010339328, 140326010343423, +STORE, 140326010343424, 140326018732031, +STORE, 140325699973120, 140325708365823, +STORE, 140325691580416, 140325708365823, +STORE, 140325683187712, 140325708365823, +SNULL, 140325683191807, 140325708365823, +STORE, 140325683187712, 140325683191807, +STORE, 140325683191808, 140325708365823, +SNULL, 140325683191808, 140325699973119, +STORE, 140325699973120, 140325708365823, +STORE, 140325683191808, 140325699973119, +SNULL, 140325699977215, 140325708365823, +STORE, 140325699973120, 140325699977215, +STORE, 140325699977216, 140325708365823, +STORE, 140325674795008, 140325683187711, +STORE, 140325666402304, 140325683187711, +STORE, 140325658009600, 140325683187711, +SNULL, 140325658009600, 140325666402303, +STORE, 140325666402304, 140325683187711, +STORE, 140325658009600, 140325666402303, +SNULL, 140325666406399, 140325683187711, +STORE, 140325666402304, 140325666406399, +STORE, 140325666406400, 140325683187711, +SNULL, 140325683191808, 140325691580415, +STORE, 140325691580416, 140325699973119, +STORE, 140325683191808, 140325691580415, +SNULL, 140325691584511, 140325699973119, +STORE, 140325691580416, 140325691584511, +STORE, 140325691584512, 140325699973119, +SNULL, 140325666406400, 140325674795007, +STORE, 140325674795008, 140325683187711, +STORE, 140325666406400, 140325674795007, +SNULL, 140325674799103, 140325683187711, +STORE, 140325674795008, 140325674799103, +STORE, 140325674799104, 140325683187711, +STORE, 140325649616896, 140325666402303, +SNULL, 140325649616896, 140325658009599, +STORE, 140325658009600, 140325666402303, +STORE, 140325649616896, 140325658009599, +SNULL, 140325658013695, 140325666402303, +STORE, 140325658009600, 140325658013695, +STORE, 140325658013696, 140325666402303, +SNULL, 140325649620991, 140325658009599, +STORE, 140325649616896, 140325649620991, +STORE, 140325649620992, 140325658009599, +STORE, 140325641224192, 140325649616895, +STORE, 140325632831488, 140325649616895, +SNULL, 140325632835583, 140325649616895, +STORE, 140325632831488, 140325632835583, +STORE, 140325632835584, 140325649616895, +STORE, 140325624438784, 140325632831487, +SNULL, 140325624442879, 140325632831487, +STORE, 140325624438784, 140325624442879, +STORE, 140325624442880, 140325632831487, +SNULL, 140325632835584, 140325641224191, +STORE, 140325641224192, 140325649616895, +STORE, 140325632835584, 140325641224191, +SNULL, 140325641228287, 140325649616895, +STORE, 140325641224192, 140325641228287, +STORE, 140325641228288, 140325649616895, +STORE, 140325616046080, 140325624438783, +SNULL, 140325616050175, 140325624438783, +STORE, 140325616046080, 140325616050175, +STORE, 140325616050176, 140325624438783, +STORE, 140325607653376, 140325616046079, +SNULL, 140325607657471, 140325616046079, +STORE, 140325607653376, 140325607657471, +STORE, 140325607657472, 140325616046079, +STORE, 140325599260672, 140325607653375, +STORE, 140325590867968, 140325607653375, +STORE, 140325456650240, 140325590867967, +SNULL, 140325456650240, 140325507039231, +STORE, 140325507039232, 140325590867967, +STORE, 140325456650240, 140325507039231, +ERASE, 140325456650240, 140325507039231, +STORE, 140325498646528, 140325507039231, +STORE, 140325364428800, 140325498646527, +SNULL, 140325364428800, 140325372821503, +STORE, 140325372821504, 140325498646527, +STORE, 140325364428800, 140325372821503, +ERASE, 140325364428800, 140325372821503, +STORE, 140325364428800, 140325372821503, +STORE, 140325356036096, 140325372821503, +STORE, 140325221818368, 140325356036095, +SNULL, 140325221818368, 140325238603775, +STORE, 140325238603776, 140325356036095, +STORE, 140325221818368, 140325238603775, +ERASE, 140325221818368, 140325238603775, +STORE, 140325230211072, 140325238603775, +STORE, 140325221818368, 140325238603775, +STORE, 140325087600640, 140325221818367, +STORE, 140325079207936, 140325087600639, +SNULL, 140325087600640, 140325104386047, +STORE, 140325104386048, 140325221818367, +STORE, 140325087600640, 140325104386047, +ERASE, 140325087600640, 140325104386047, +STORE, 140325095993344, 140325104386047, +STORE, 140325079207936, 140325104386047, +STORE, 140324944990208, 140325079207935, +SNULL, 140324944990208, 140324970168319, +STORE, 140324970168320, 140325079207935, +STORE, 140324944990208, 140324970168319, +ERASE, 140324944990208, 140324970168319, +STORE, 140324961775616, 140324970168319, +STORE, 140324953382912, 140324970168319, +STORE, 140324819165184, 140324953382911, +STORE, 140324684947456, 140324953382911, +STORE, 140324676554752, 140324684947455, +STORE, 140324668162048, 140324684947455, +STORE, 140324533944320, 140324668162047, +STORE, 140324525551616, 140324533944319, +SNULL, 140324533944320, 140324567515135, +STORE, 140324567515136, 140324668162047, +STORE, 140324533944320, 140324567515135, +ERASE, 140324533944320, 140324567515135, +STORE, 140324559122432, 140324567515135, +STORE, 140324391333888, 140324525551615, +SNULL, 140325574148095, 140325590867967, +STORE, 140325507039232, 140325574148095, +STORE, 140325574148096, 140325590867967, +ERASE, 140325574148096, 140325590867967, +SNULL, 140325439930367, 140325498646527, +STORE, 140325372821504, 140325439930367, +STORE, 140325439930368, 140325498646527, +ERASE, 140325439930368, 140325498646527, +SNULL, 140325305712639, 140325356036095, +STORE, 140325238603776, 140325305712639, +STORE, 140325305712640, 140325356036095, +ERASE, 140325305712640, 140325356036095, +SNULL, 140325171494911, 140325221818367, +STORE, 140325104386048, 140325171494911, +STORE, 140325171494912, 140325221818367, +ERASE, 140325171494912, 140325221818367, +SNULL, 140325104521215, 140325171494911, +STORE, 140325104386048, 140325104521215, +STORE, 140325104521216, 140325171494911, +STORE, 140324257116160, 140324525551615, +SNULL, 140324257116160, 140324299079679, +STORE, 140324299079680, 140324525551615, +STORE, 140324257116160, 140324299079679, +ERASE, 140324257116160, 140324299079679, +SNULL, 140325037277183, 140325079207935, +STORE, 140324970168320, 140325037277183, +STORE, 140325037277184, 140325079207935, +ERASE, 140325037277184, 140325079207935, +SNULL, 140324819165183, 140324953382911, +STORE, 140324684947456, 140324819165183, +STORE, 140324819165184, 140324953382911, +SNULL, 140324819165184, 140324835950591, +STORE, 140324835950592, 140324953382911, +STORE, 140324819165184, 140324835950591, +ERASE, 140324819165184, 140324835950591, +SNULL, 140324903059455, 140324953382911, +STORE, 140324835950592, 140324903059455, +STORE, 140324903059456, 140324953382911, +ERASE, 140324903059456, 140324953382911, +SNULL, 140324684947456, 140324701732863, +STORE, 140324701732864, 140324819165183, +STORE, 140324684947456, 140324701732863, +ERASE, 140324684947456, 140324701732863, +SNULL, 140324768841727, 140324819165183, +STORE, 140324701732864, 140324768841727, +STORE, 140324768841728, 140324819165183, +ERASE, 140324768841728, 140324819165183, +SNULL, 140324634623999, 140324668162047, +STORE, 140324567515136, 140324634623999, +STORE, 140324634624000, 140324668162047, +ERASE, 140324634624000, 140324668162047, +SNULL, 140324391333887, 140324525551615, +STORE, 140324299079680, 140324391333887, +STORE, 140324391333888, 140324525551615, +SNULL, 140324391333888, 140324433297407, +STORE, 140324433297408, 140324525551615, +STORE, 140324391333888, 140324433297407, +ERASE, 140324391333888, 140324433297407, +SNULL, 140325507174399, 140325574148095, +STORE, 140325507039232, 140325507174399, +STORE, 140325507174400, 140325574148095, +SNULL, 140325590867968, 140325599260671, +STORE, 140325599260672, 140325607653375, +STORE, 140325590867968, 140325599260671, +SNULL, 140325599264767, 140325607653375, +STORE, 140325599260672, 140325599264767, +STORE, 140325599264768, 140325607653375, +SNULL, 140325372956671, 140325439930367, +STORE, 140325372821504, 140325372956671, +STORE, 140325372956672, 140325439930367, +SNULL, 140324668166143, 140324684947455, +STORE, 140324668162048, 140324668166143, +STORE, 140324668166144, 140324684947455, +SNULL, 140324525555711, 140324533944319, +STORE, 140324525551616, 140324525555711, +STORE, 140324525555712, 140324533944319, +SNULL, 140324953382912, 140324961775615, +STORE, 140324961775616, 140324970168319, +STORE, 140324953382912, 140324961775615, +SNULL, 140324961779711, 140324970168319, +STORE, 140324961775616, 140324961779711, +STORE, 140324961779712, 140324970168319, +SNULL, 140325079212031, 140325104386047, +STORE, 140325079207936, 140325079212031, +STORE, 140325079212032, 140325104386047, +SNULL, 140325221818368, 140325230211071, +STORE, 140325230211072, 140325238603775, +STORE, 140325221818368, 140325230211071, +SNULL, 140325230215167, 140325238603775, +STORE, 140325230211072, 140325230215167, +STORE, 140325230215168, 140325238603775, +SNULL, 140325356036096, 140325364428799, +STORE, 140325364428800, 140325372821503, +STORE, 140325356036096, 140325364428799, +SNULL, 140325364432895, 140325372821503, + }; + unsigned long set40[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140734309167104, 140737488351231, +SNULL, 140734309171199, 140737488351231, +STORE, 140734309167104, 140734309171199, +STORE, 140734309036032, 140734309171199, +STORE, 94270500081664, 94270502334463, +SNULL, 94270500212735, 94270502334463, +STORE, 94270500081664, 94270500212735, +STORE, 94270500212736, 94270502334463, +ERASE, 94270500212736, 94270502334463, +STORE, 94270502305792, 94270502313983, +STORE, 94270502313984, 94270502334463, +STORE, 140321935110144, 140321937362943, +SNULL, 140321935253503, 140321937362943, +STORE, 140321935110144, 140321935253503, +STORE, 140321935253504, 140321937362943, +ERASE, 140321935253504, 140321937362943, +STORE, 140321937350656, 140321937358847, +STORE, 140321937358848, 140321937362943, +STORE, 140734309625856, 140734309629951, +STORE, 140734309613568, 140734309625855, +STORE, 140321937321984, 140321937350655, +STORE, 140321937313792, 140321937321983, +STORE, 140321932894208, 140321935110143, +SNULL, 140321932894208, 140321932992511, +STORE, 140321932992512, 140321935110143, +STORE, 140321932894208, 140321932992511, +SNULL, 140321935085567, 140321935110143, +STORE, 140321932992512, 140321935085567, +STORE, 140321935085568, 140321935110143, +SNULL, 140321935085568, 140321935093759, +STORE, 140321935093760, 140321935110143, +STORE, 140321935085568, 140321935093759, +ERASE, 140321935085568, 140321935093759, +STORE, 140321935085568, 140321935093759, +ERASE, 140321935093760, 140321935110143, +STORE, 140321935093760, 140321935110143, +STORE, 140321929097216, 140321932894207, +SNULL, 140321929097216, 140321930756095, +STORE, 140321930756096, 140321932894207, +STORE, 140321929097216, 140321930756095, +SNULL, 140321932853247, 140321932894207, +STORE, 140321930756096, 140321932853247, +STORE, 140321932853248, 140321932894207, +SNULL, 140321932853248, 140321932877823, +STORE, 140321932877824, 140321932894207, +STORE, 140321932853248, 140321932877823, +ERASE, 140321932853248, 140321932877823, +STORE, 140321932853248, 140321932877823, +ERASE, 140321932877824, 140321932894207, +STORE, 140321932877824, 140321932894207, +STORE, 140321937305600, 140321937321983, +SNULL, 140321932869631, 140321932877823, +STORE, 140321932853248, 140321932869631, +STORE, 140321932869632, 140321932877823, +SNULL, 140321935089663, 140321935093759, +STORE, 140321935085568, 140321935089663, +STORE, 140321935089664, 140321935093759, +SNULL, 94270502309887, 94270502313983, +STORE, 94270502305792, 94270502309887, +STORE, 94270502309888, 94270502313983, +SNULL, 140321937354751, 140321937358847, +STORE, 140321937350656, 140321937354751, +STORE, 140321937354752, 140321937358847, +ERASE, 140321937321984, 140321937350655, +STORE, 94270507364352, 94270507499519, +STORE, 140321920704512, 140321929097215, +SNULL, 140321920708607, 140321929097215, +STORE, 140321920704512, 140321920708607, +STORE, 140321920708608, 140321929097215, +STORE, 140321912311808, 140321920704511, +STORE, 140321778094080, 140321912311807, +SNULL, 140321778094080, 140321816051711, +STORE, 140321816051712, 140321912311807, +STORE, 140321778094080, 140321816051711, +ERASE, 140321778094080, 140321816051711, +SNULL, 140321883160575, 140321912311807, +STORE, 140321816051712, 140321883160575, +STORE, 140321883160576, 140321912311807, +ERASE, 140321883160576, 140321912311807, +SNULL, 140321816186879, 140321883160575, +STORE, 140321816051712, 140321816186879, +STORE, 140321816186880, 140321883160575, +SNULL, 140321912315903, 140321920704511, +STORE, 140321912311808, 140321912315903, +STORE, 140321912315904, 140321920704511, +STORE, 140321903919104, 140321912311807, +SNULL, 140321903923199, 140321912311807, +STORE, 140321903919104, 140321903923199, +STORE, 140321903923200, 140321912311807, +STORE, 140321895526400, 140321903919103, +SNULL, 140321895530495, 140321903919103, +STORE, 140321895526400, 140321895530495, +STORE, 140321895530496, 140321903919103, +STORE, 140321887133696, 140321895526399, +SNULL, 140321887137791, 140321895526399, +STORE, 140321887133696, 140321887137791, +STORE, 140321887137792, 140321895526399, +STORE, 140321807659008, 140321816051711, +STORE, 140321673441280, 140321807659007, +SNULL, 140321673441280, 140321681833983, +STORE, 140321681833984, 140321807659007, +STORE, 140321673441280, 140321681833983, +ERASE, 140321673441280, 140321681833983, +SNULL, 140321748942847, 140321807659007, +STORE, 140321681833984, 140321748942847, +STORE, 140321748942848, 140321807659007, +ERASE, 140321748942848, 140321807659007, +STORE, 140321799266304, 140321816051711, +STORE, 140321790873600, 140321816051711, +STORE, 140321782480896, 140321816051711, +STORE, 140321547616256, 140321748942847, +SNULL, 140321614725119, 140321748942847, +STORE, 140321547616256, 140321614725119, +STORE, 140321614725120, 140321748942847, +SNULL, 140321614725120, 140321681833983, +STORE, 140321681833984, 140321748942847, +STORE, 140321614725120, 140321681833983, +ERASE, 140321614725120, 140321681833983, +SNULL, 140321681969151, 140321748942847, +STORE, 140321681833984, 140321681969151, +STORE, 140321681969152, 140321748942847, +STORE, 140321547616256, 140321681833983, +SNULL, 140321547616256, 140321614725119, +STORE, 140321614725120, 140321681833983, +STORE, 140321547616256, 140321614725119, +SNULL, 140321614860287, 140321681833983, +STORE, 140321614725120, 140321614860287, +STORE, 140321614860288, 140321681833983, +SNULL, 140321547751423, 140321614725119, +STORE, 140321547616256, 140321547751423, +STORE, 140321547751424, 140321614725119, +STORE, 140321480507392, 140321547616255, +SNULL, 140321782480896, 140321799266303, +STORE, 140321799266304, 140321816051711, +STORE, 140321782480896, 140321799266303, +SNULL, 140321799270399, 140321816051711, +STORE, 140321799266304, 140321799270399, +STORE, 140321799270400, 140321816051711, +STORE, 140321774088192, 140321799266303, +SNULL, 140321774088192, 140321790873599, +STORE, 140321790873600, 140321799266303, +STORE, 140321774088192, 140321790873599, +SNULL, 140321790877695, 140321799266303, +STORE, 140321790873600, 140321790877695, +STORE, 140321790877696, 140321799266303, +SNULL, 140321480642559, 140321547616255, +STORE, 140321480507392, 140321480642559, +STORE, 140321480642560, 140321547616255, +SNULL, 140321774088192, 140321782480895, +STORE, 140321782480896, 140321790873599, +STORE, 140321774088192, 140321782480895, +SNULL, 140321782484991, 140321790873599, +STORE, 140321782480896, 140321782484991, +STORE, 140321782484992, 140321790873599, +SNULL, 140321799270400, 140321807659007, +STORE, 140321807659008, 140321816051711, +STORE, 140321799270400, 140321807659007, +SNULL, 140321807663103, 140321816051711, +STORE, 140321807659008, 140321807663103, +STORE, 140321807663104, 140321816051711, +STORE, 140321765695488, 140321782480895, +STORE, 140321757302784, 140321782480895, +SNULL, 140321757306879, 140321782480895, +STORE, 140321757302784, 140321757306879, +STORE, 140321757306880, 140321782480895, +STORE, 140321472114688, 140321480507391, +STORE, 140321463721984, 140321480507391, +SNULL, 140321463726079, 140321480507391, +STORE, 140321463721984, 140321463726079, +STORE, 140321463726080, 140321480507391, +SNULL, 140321757306880, 140321774088191, +STORE, 140321774088192, 140321782480895, +STORE, 140321757306880, 140321774088191, +SNULL, 140321774092287, 140321782480895, +STORE, 140321774088192, 140321774092287, +STORE, 140321774092288, 140321782480895, +SNULL, 140321463726080, 140321472114687, +STORE, 140321472114688, 140321480507391, +STORE, 140321463726080, 140321472114687, +SNULL, 140321472118783, 140321480507391, +STORE, 140321472114688, 140321472118783, +STORE, 140321472118784, 140321480507391, +SNULL, 140321757306880, 140321765695487, +STORE, 140321765695488, 140321774088191, +STORE, 140321757306880, 140321765695487, +SNULL, 140321765699583, 140321774088191, +STORE, 140321765695488, 140321765699583, +STORE, 140321765699584, 140321774088191, +STORE, 140321455329280, 140321463721983, +SNULL, 140321455333375, 140321463721983, +STORE, 140321455329280, 140321455333375, +STORE, 140321455333376, 140321463721983, +STORE, 140321446936576, 140321455329279, +STORE, 140321438543872, 140321455329279, +STORE, 140321430151168, 140321455329279, +SNULL, 140321430155263, 140321455329279, +STORE, 140321430151168, 140321430155263, +STORE, 140321430155264, 140321455329279, +SNULL, 140321430155264, 140321446936575, +STORE, 140321446936576, 140321455329279, +STORE, 140321430155264, 140321446936575, +SNULL, 140321446940671, 140321455329279, +STORE, 140321446936576, 140321446940671, +STORE, 140321446940672, 140321455329279, +SNULL, 140321430155264, 140321438543871, +STORE, 140321438543872, 140321446936575, +STORE, 140321430155264, 140321438543871, +SNULL, 140321438547967, 140321446936575, +STORE, 140321438543872, 140321438547967, +STORE, 140321438547968, 140321446936575, +STORE, 140321421758464, 140321430151167, +SNULL, 140321421762559, 140321430151167, +STORE, 140321421758464, 140321421762559, +STORE, 140321421762560, 140321430151167, +STORE, 140321413365760, 140321421758463, +SNULL, 140321413369855, 140321421758463, +STORE, 140321413365760, 140321413369855, +STORE, 140321413369856, 140321421758463, +STORE, 140321404973056, 140321413365759, +SNULL, 140321404977151, 140321413365759, +STORE, 140321404973056, 140321404977151, +STORE, 140321404977152, 140321413365759, +STORE, 140321396580352, 140321404973055, +STORE, 140321388187648, 140321404973055, +STORE, 140321253969920, 140321388187647, +SNULL, 140321253969920, 140321279180799, +STORE, 140321279180800, 140321388187647, +STORE, 140321253969920, 140321279180799, +ERASE, 140321253969920, 140321279180799, +SNULL, 140321346289663, 140321388187647, +STORE, 140321279180800, 140321346289663, +STORE, 140321346289664, 140321388187647, +ERASE, 140321346289664, 140321388187647, +STORE, 140321144963072, 140321346289663, +STORE, 140321379794944, 140321404973055, +STORE, 140321371402240, 140321404973055, +STORE, 140321010745344, 140321346289663, +STORE, 140321363009536, 140321404973055, +SNULL, 140321077854207, 140321346289663, +STORE, 140321010745344, 140321077854207, +STORE, 140321077854208, 140321346289663, +SNULL, 140321077854208, 140321144963071, +STORE, 140321144963072, 140321346289663, +STORE, 140321077854208, 140321144963071, +ERASE, 140321077854208, 140321144963071, +STORE, 140321354616832, 140321404973055, +STORE, 140321136570368, 140321144963071, +STORE, 140320943636480, 140321077854207, +STORE, 140320876527616, 140321077854207, +STORE, 140321128177664, 140321144963071, +SNULL, 140320876662783, 140321077854207, +STORE, 140320876527616, 140320876662783, +STORE, 140320876662784, 140321077854207, +STORE, 140321119784960, 140321144963071, +STORE, 140321111392256, 140321144963071, +STORE, 140320742309888, 140320876527615, +STORE, 140321102999552, 140321144963071, +STORE, 140320608092160, 140320876527615, +SNULL, 140320675201023, 140320876527615, +STORE, 140320608092160, 140320675201023, +STORE, 140320675201024, 140320876527615, +SNULL, 140320675201024, 140320742309887, +STORE, 140320742309888, 140320876527615, +STORE, 140320675201024, 140320742309887, +ERASE, 140320675201024, 140320742309887, +STORE, 140321094606848, 140321144963071, +STORE, 140321086214144, 140321144963071, +STORE, 140320608092160, 140320876527615, +SNULL, 140320608092160, 140320675201023, +STORE, 140320675201024, 140320876527615, +STORE, 140320608092160, 140320675201023, +SNULL, 140320675336191, 140320876527615, +STORE, 140320675201024, 140320675336191, +STORE, 140320675336192, 140320876527615, +STORE, 140320599699456, 140320608092159, +STORE, 140320591306752, 140320608092159, +STORE, 140320457089024, 140320591306751, +STORE, 140320448696320, 140320457089023, +STORE, 140320314478592, 140320448696319, +SNULL, 140321144963072, 140321279180799, +STORE, 140321279180800, 140321346289663, +STORE, 140321144963072, 140321279180799, +SNULL, 140321279315967, 140321346289663, +STORE, 140321279180800, 140321279315967, +STORE, 140321279315968, 140321346289663, +SNULL, 140321086214144, 140321136570367, +STORE, 140321136570368, 140321144963071, +STORE, 140321086214144, 140321136570367, +SNULL, 140321136574463, 140321144963071, +STORE, 140321136570368, 140321136574463, +STORE, 140321136574464, 140321144963071, +SNULL, 140321212071935, 140321279180799, +STORE, 140321144963072, 140321212071935, +STORE, 140321212071936, 140321279180799, +ERASE, 140321212071936, 140321279180799, +SNULL, 140321145098239, 140321212071935, +STORE, 140321144963072, 140321145098239, +STORE, 140321145098240, 140321212071935, +SNULL, 140320876662784, 140321010745343, +STORE, 140321010745344, 140321077854207, +STORE, 140320876662784, 140321010745343, +SNULL, 140321010880511, 140321077854207, +STORE, 140321010745344, 140321010880511, +STORE, 140321010880512, 140321077854207, +SNULL, 140321354616832, 140321379794943, +STORE, 140321379794944, 140321404973055, +STORE, 140321354616832, 140321379794943, +SNULL, 140321379799039, 140321404973055, +STORE, 140321379794944, 140321379799039, +STORE, 140321379799040, 140321404973055, +SNULL, 140320876662784, 140320943636479, +STORE, 140320943636480, 140321010745343, +STORE, 140320876662784, 140320943636479, +SNULL, 140320943771647, 140321010745343, +STORE, 140320943636480, 140320943771647, +STORE, 140320943771648, 140321010745343, +SNULL, 140320809418751, 140320876527615, +STORE, 140320675336192, 140320809418751, +STORE, 140320809418752, 140320876527615, +ERASE, 140320809418752, 140320876527615, +SNULL, 140320675336192, 140320742309887, +STORE, 140320742309888, 140320809418751, +STORE, 140320675336192, 140320742309887, +SNULL, 140320742445055, 140320809418751, +STORE, 140320742309888, 140320742445055, +STORE, 140320742445056, 140320809418751, +SNULL, 140320608227327, 140320675201023, +STORE, 140320608092160, 140320608227327, +STORE, 140320608227328, 140320675201023, +SNULL, 140320457089024, 140320473874431, +STORE, 140320473874432, 140320591306751, +STORE, 140320457089024, 140320473874431, +ERASE, 140320457089024, 140320473874431, +SNULL, 140320540983295, 140320591306751, +STORE, 140320473874432, 140320540983295, +STORE, 140320540983296, 140320591306751, +ERASE, 140320540983296, 140320591306751, +SNULL, 140320314478592, 140320339656703, +STORE, 140320339656704, 140320448696319, +STORE, 140320314478592, 140320339656703, +ERASE, 140320314478592, 140320339656703, +SNULL, 140321086214144, 140321128177663, +STORE, 140321128177664, 140321136570367, +STORE, 140321086214144, 140321128177663, +SNULL, 140321128181759, 140321136570367, +STORE, 140321128177664, 140321128181759, +STORE, 140321128181760, 140321136570367, +SNULL, 140321354616832, 140321371402239, +STORE, 140321371402240, 140321379794943, +STORE, 140321354616832, 140321371402239, +SNULL, 140321371406335, 140321379794943, +STORE, 140321371402240, 140321371406335, +STORE, 140321371406336, 140321379794943, +SNULL, 140320591310847, 140320608092159, +STORE, 140320591306752, 140320591310847, +STORE, 140320591310848, 140320608092159, +SNULL, 140321354616832, 140321363009535, +STORE, 140321363009536, 140321371402239, +STORE, 140321354616832, 140321363009535, +SNULL, 140321363013631, 140321371402239, +STORE, 140321363009536, 140321363013631, +STORE, 140321363013632, 140321371402239, +SNULL, 140321086214144, 140321119784959, +STORE, 140321119784960, 140321128177663, +STORE, 140321086214144, 140321119784959, +SNULL, 140321119789055, 140321128177663, +STORE, 140321119784960, 140321119789055, +STORE, 140321119789056, 140321128177663, +SNULL, 140321086218239, 140321119784959, +STORE, 140321086214144, 140321086218239, +STORE, 140321086218240, 140321119784959, +SNULL, 140321086218240, 140321094606847, +STORE, 140321094606848, 140321119784959, +STORE, 140321086218240, 140321094606847, +SNULL, 140321094610943, 140321119784959, +STORE, 140321094606848, 140321094610943, +STORE, 140321094610944, 140321119784959, +SNULL, 140320474009599, 140320540983295, +STORE, 140320473874432, 140320474009599, +STORE, 140320474009600, 140320540983295, +SNULL, 140320406765567, 140320448696319, +STORE, 140320339656704, 140320406765567, +STORE, 140320406765568, 140320448696319, +ERASE, 140320406765568, 140320448696319, +SNULL, 140320339791871, 140320406765567, +STORE, 140320339656704, 140320339791871, +STORE, 140320339791872, 140320406765567, +STORE, 140321270788096, 140321279180799, +STORE, 140321262395392, 140321279180799, +STORE, 140321254002688, 140321279180799, +SNULL, 140321254002688, 140321262395391, +STORE, 140321262395392, 140321279180799, +STORE, 140321254002688, 140321262395391, +SNULL, 140321262399487, 140321279180799, +STORE, 140321262395392, 140321262399487, +STORE, 140321262399488, 140321279180799, +STORE, 140321245609984, 140321262395391, +STORE, 140321237217280, 140321262395391, +SNULL, 140321237217280, 140321245609983, +STORE, 140321245609984, 140321262395391, +STORE, 140321237217280, 140321245609983, +SNULL, 140321245614079, 140321262395391, +STORE, 140321245609984, 140321245614079, +STORE, 140321245614080, 140321262395391, +SNULL, 140321379799040, 140321388187647, +STORE, 140321388187648, 140321404973055, +STORE, 140321379799040, 140321388187647, +SNULL, 140321388191743, 140321404973055, +STORE, 140321388187648, 140321388191743, +STORE, 140321388191744, 140321404973055, +SNULL, 140321354620927, 140321363009535, +STORE, 140321354616832, 140321354620927, +STORE, 140321354620928, 140321363009535, +SNULL, 140321388191744, 140321396580351, +STORE, 140321396580352, 140321404973055, +STORE, 140321388191744, 140321396580351, +SNULL, 140321396584447, 140321404973055, +STORE, 140321396580352, 140321396584447, +STORE, 140321396584448, 140321404973055, +SNULL, 140321094610944, 140321111392255, +STORE, 140321111392256, 140321119784959, +STORE, 140321094610944, 140321111392255, +SNULL, 140321111396351, 140321119784959, +STORE, 140321111392256, 140321111396351, +STORE, 140321111396352, 140321119784959, +STORE, 140321228824576, 140321245609983, +SNULL, 140321094610944, 140321102999551, +STORE, 140321102999552, 140321111392255, +STORE, 140321094610944, 140321102999551, +SNULL, 140321103003647, 140321111392255, +STORE, 140321102999552, 140321103003647, +STORE, 140321103003648, 140321111392255, +STORE, 140321220431872, 140321245609983, +SNULL, 140321220435967, 140321245609983, +STORE, 140321220431872, 140321220435967, +STORE, 140321220435968, 140321245609983, +STORE, 140320868134912, 140320876527615, +SNULL, 140320868139007, 140320876527615, +STORE, 140320868134912, 140320868139007, +STORE, 140320868139008, 140320876527615, +SNULL, 140320591310848, 140320599699455, +STORE, 140320599699456, 140320608092159, +STORE, 140320591310848, 140320599699455, +SNULL, 140320599703551, 140320608092159, +STORE, 140320599699456, 140320599703551, +STORE, 140320599703552, 140320608092159, +STORE, 140320859742208, 140320868134911, +SNULL, 140321262399488, 140321270788095, +STORE, 140321270788096, 140321279180799, +STORE, 140321262399488, 140321270788095, +SNULL, 140321270792191, 140321279180799, +STORE, 140321270788096, 140321270792191, +STORE, 140321270792192, 140321279180799, +STORE, 140320851349504, 140320868134911, +STORE, 140320842956800, 140320868134911, +STORE, 140320834564096, 140320868134911, +STORE, 140320826171392, 140320868134911, +SNULL, 140320826171392, 140320834564095, +STORE, 140320834564096, 140320868134911, +STORE, 140320826171392, 140320834564095, +SNULL, 140320834568191, 140320868134911, +STORE, 140320834564096, 140320834568191, +STORE, 140320834568192, 140320868134911, +SNULL, 140321220435968, 140321228824575, +STORE, 140321228824576, 140321245609983, +STORE, 140321220435968, 140321228824575, +SNULL, 140321228828671, 140321245609983, +STORE, 140321228824576, 140321228828671, +STORE, 140321228828672, 140321245609983, +STORE, 140320817778688, 140320834564095, +SNULL, 140320817782783, 140320834564095, +STORE, 140320817778688, 140320817782783, +STORE, 140320817782784, 140320834564095, +STORE, 140320582914048, 140320591306751, +SNULL, 140321228828672, 140321237217279, +STORE, 140321237217280, 140321245609983, +STORE, 140321228828672, 140321237217279, +SNULL, 140321237221375, 140321245609983, +STORE, 140321237217280, 140321237221375, +STORE, 140321237221376, 140321245609983, +SNULL, 140320448700415, 140320457089023, +STORE, 140320448696320, 140320448700415, +STORE, 140320448700416, 140320457089023, +SNULL, 140321245614080, 140321254002687, +STORE, 140321254002688, 140321262395391, +STORE, 140321245614080, 140321254002687, +SNULL, 140321254006783, 140321262395391, +STORE, 140321254002688, 140321254006783, +STORE, 140321254006784, 140321262395391, +STORE, 140320574521344, 140320591306751, +SNULL, 140320574525439, 140320591306751, +STORE, 140320574521344, 140320574525439, +STORE, 140320574525440, 140320591306751, +STORE, 140320566128640, 140320574521343, +SNULL, 140320566132735, 140320574521343, +STORE, 140320566128640, 140320566132735, +STORE, 140320566132736, 140320574521343, +SNULL, 140320574525440, 140320582914047, +STORE, 140320582914048, 140320591306751, +STORE, 140320574525440, 140320582914047, +SNULL, 140320582918143, 140320591306751, +STORE, 140320582914048, 140320582918143, +STORE, 140320582918144, 140320591306751, +STORE, 140320557735936, 140320566128639, +SNULL, 140320557740031, 140320566128639, +STORE, 140320557735936, 140320557740031, +STORE, 140320557740032, 140320566128639, +STORE, 140320549343232, 140320557735935, +STORE, 140320465481728, 140320473874431, +STORE, 140320448700416, 140320473874431, +SNULL, 140320834568192, 140320859742207, +STORE, 140320859742208, 140320868134911, +STORE, 140320834568192, 140320859742207, +SNULL, 140320859746303, 140320868134911, +STORE, 140320859742208, 140320859746303, +STORE, 140320859746304, 140320868134911, +STORE, 140320440303616, 140320448696319, +STORE, 140320431910912, 140320448696319, +SNULL, 140320834568192, 140320851349503, +STORE, 140320851349504, 140320859742207, +STORE, 140320834568192, 140320851349503, +SNULL, 140320851353599, 140320859742207, +STORE, 140320851349504, 140320851353599, +STORE, 140320851353600, 140320859742207, +SNULL, 140320817782784, 140320826171391, +STORE, 140320826171392, 140320834564095, +STORE, 140320817782784, 140320826171391, +SNULL, 140320826175487, 140320834564095, +STORE, 140320826171392, 140320826175487, +STORE, 140320826175488, 140320834564095, +SNULL, 140320834568192, 140320842956799, +STORE, 140320842956800, 140320851349503, +STORE, 140320834568192, 140320842956799, +SNULL, 140320842960895, 140320851349503, +STORE, 140320842956800, 140320842960895, +STORE, 140320842960896, 140320851349503, +STORE, 140320423518208, 140320448696319, +SNULL, 140320423522303, 140320448696319, +STORE, 140320423518208, 140320423522303, +STORE, 140320423522304, 140320448696319, +STORE, 140320415125504, 140320423518207, +STORE, 140320331264000, 140320339656703, +STORE, 140320322871296, 140320339656703, +STORE, 140320314478592, 140320339656703, +SNULL, 140320314482687, 140320339656703, +STORE, 140320314478592, 140320314482687, +STORE, 140320314482688, 140320339656703, +STORE, 140320306085888, 140320314478591, +SNULL, 140320306089983, 140320314478591, +STORE, 140320306085888, 140320306089983, +STORE, 140320306089984, 140320314478591, +STORE, 140320297693184, 140320306085887, +SNULL, 140320297697279, 140320306085887, +STORE, 140320297693184, 140320297697279, +STORE, 140320297697280, 140320306085887, +STORE, 140320289300480, 140320297693183, +STORE, 140320280907776, 140320297693183, +SNULL, 140320280911871, 140320297693183, +STORE, 140320280907776, 140320280911871, +STORE, 140320280911872, 140320297693183, +SNULL, 140320423522304, 140320431910911, +STORE, 140320431910912, 140320448696319, +STORE, 140320423522304, 140320431910911, +SNULL, 140320431915007, 140320448696319, +STORE, 140320431910912, 140320431915007, +STORE, 140320431915008, 140320448696319, +SNULL, 140320549347327, 140320557735935, +STORE, 140320549343232, 140320549347327, +STORE, 140320549347328, 140320557735935, +STORE, 140320272515072, 140320280907775, +SNULL, 140320448700416, 140320457089023, +STORE, 140320457089024, 140320473874431, +STORE, 140320448700416, 140320457089023, +SNULL, 140320457093119, 140320473874431, +STORE, 140320457089024, 140320457093119, +STORE, 140320457093120, 140320473874431, +STORE, 140320264122368, 140320280907775, +SNULL, 140320457093120, 140320465481727, +STORE, 140320465481728, 140320473874431, +STORE, 140320457093120, 140320465481727, +SNULL, 140320465485823, 140320473874431, +STORE, 140320465481728, 140320465485823, +STORE, 140320465485824, 140320473874431, +SNULL, 140320431915008, 140320440303615, +STORE, 140320440303616, 140320448696319, +STORE, 140320431915008, 140320440303615, +SNULL, 140320440307711, 140320448696319, +STORE, 140320440303616, 140320440307711, +STORE, 140320440307712, 140320448696319, +STORE, 140320255729664, 140320280907775, +STORE, 140320247336960, 140320280907775, +SNULL, 140320247341055, 140320280907775, +STORE, 140320247336960, 140320247341055, +STORE, 140320247341056, 140320280907775, +STORE, 140320238944256, 140320247336959, +STORE, 140320230551552, 140320247336959, +SNULL, 140320230551552, 140320238944255, +STORE, 140320238944256, 140320247336959, +STORE, 140320230551552, 140320238944255, +SNULL, 140320238948351, 140320247336959, +STORE, 140320238944256, 140320238948351, +STORE, 140320238948352, 140320247336959, +SNULL, 140320314482688, 140320331263999, +STORE, 140320331264000, 140320339656703, +STORE, 140320314482688, 140320331263999, +SNULL, 140320331268095, 140320339656703, +STORE, 140320331264000, 140320331268095, +STORE, 140320331268096, 140320339656703, +SNULL, 140320280911872, 140320289300479, +STORE, 140320289300480, 140320297693183, +STORE, 140320280911872, 140320289300479, +SNULL, 140320289304575, 140320297693183, +STORE, 140320289300480, 140320289304575, +STORE, 140320289304576, 140320297693183, +SNULL, 140320415129599, 140320423518207, +STORE, 140320415125504, 140320415129599, +STORE, 140320415129600, 140320423518207, +STORE, 140320222158848, 140320238944255, +STORE, 140320213766144, 140320238944255, +STORE, 140320205373440, 140320238944255, +SNULL, 140320205377535, 140320238944255, +STORE, 140320205373440, 140320205377535, +STORE, 140320205377536, 140320238944255, +SNULL, 140320314482688, 140320322871295, +STORE, 140320322871296, 140320331263999, +STORE, 140320314482688, 140320322871295, +SNULL, 140320322875391, 140320331263999, +STORE, 140320322871296, 140320322875391, +STORE, 140320322875392, 140320331263999, +SNULL, 140320247341056, 140320272515071, +STORE, 140320272515072, 140320280907775, +STORE, 140320247341056, 140320272515071, +SNULL, 140320272519167, 140320280907775, +STORE, 140320272515072, 140320272519167, +STORE, 140320272519168, 140320280907775, +SNULL, 140320247341056, 140320264122367, +STORE, 140320264122368, 140320272515071, +STORE, 140320247341056, 140320264122367, +SNULL, 140320264126463, 140320272515071, +STORE, 140320264122368, 140320264126463, +STORE, 140320264126464, 140320272515071, +SNULL, 140320205377536, 140320230551551, +STORE, 140320230551552, 140320238944255, +STORE, 140320205377536, 140320230551551, +SNULL, 140320230555647, 140320238944255, +STORE, 140320230551552, 140320230555647, +STORE, 140320230555648, 140320238944255, +STORE, 140320196980736, 140320205373439, +SNULL, 140320196984831, 140320205373439, +STORE, 140320196980736, 140320196984831, +STORE, 140320196984832, 140320205373439, +STORE, 140320188588032, 140320196980735, +SNULL, 140320247341056, 140320255729663, +STORE, 140320255729664, 140320264122367, +STORE, 140320247341056, 140320255729663, +SNULL, 140320255733759, 140320264122367, +STORE, 140320255729664, 140320255733759, +STORE, 140320255733760, 140320264122367, +STORE, 140320180195328, 140320196980735, +SNULL, 140320180199423, 140320196980735, +STORE, 140320180195328, 140320180199423, +STORE, 140320180199424, 140320196980735, +STORE, 140320171802624, 140320180195327, +STORE, 140320163409920, 140320180195327, +SNULL, 140320163414015, 140320180195327, +STORE, 140320163409920, 140320163414015, +STORE, 140320163414016, 140320180195327, +SNULL, 140320205377536, 140320222158847, +STORE, 140320222158848, 140320230551551, +STORE, 140320205377536, 140320222158847, +SNULL, 140320222162943, 140320230551551, +STORE, 140320222158848, 140320222162943, +STORE, 140320222162944, 140320230551551, +SNULL, 140320205377536, 140320213766143, +STORE, 140320213766144, 140320222158847, +STORE, 140320205377536, 140320213766143, +SNULL, 140320213770239, 140320222158847, +STORE, 140320213766144, 140320213770239, +STORE, 140320213770240, 140320222158847, +STORE, 140320155017216, 140320163409919, +SNULL, 140320180199424, 140320188588031, +STORE, 140320188588032, 140320196980735, +STORE, 140320180199424, 140320188588031, +SNULL, 140320188592127, 140320196980735, +STORE, 140320188588032, 140320188592127, +STORE, 140320188592128, 140320196980735, +SNULL, 140320155021311, 140320163409919, +STORE, 140320155017216, 140320155021311, +STORE, 140320155021312, 140320163409919, +SNULL, 140320163414016, 140320171802623, +STORE, 140320171802624, 140320180195327, +STORE, 140320163414016, 140320171802623, +SNULL, 140320171806719, 140320180195327, +STORE, 140320171802624, 140320171806719, +STORE, 140320171806720, 140320180195327, +STORE, 140320146624512, 140320155017215, +SNULL, 140320146628607, 140320155017215, +STORE, 140320146624512, 140320146628607, +STORE, 140320146628608, 140320155017215, +STORE, 140321937321984, 140321937350655, +STORE, 140321884942336, 140321887133695, +SNULL, 140321884942336, 140321885032447, +STORE, 140321885032448, 140321887133695, +STORE, 140321884942336, 140321885032447, +SNULL, 140321887125503, 140321887133695, +STORE, 140321885032448, 140321887125503, +STORE, 140321887125504, 140321887133695, +ERASE, 140321887125504, 140321887133695, +STORE, 140321887125504, 140321887133695, +SNULL, 140321887129599, 140321887133695, +STORE, 140321887125504, 140321887129599, +STORE, 140321887129600, 140321887133695, +ERASE, 140321937321984, 140321937350655, +ERASE, 140321086214144, 140321086218239, +ERASE, 140321086218240, 140321094606847, +ERASE, 140321119784960, 140321119789055, +ERASE, 140321119789056, 140321128177663, +ERASE, 140321245609984, 140321245614079, +ERASE, 140321245614080, 140321254002687, +ERASE, 140320574521344, 140320574525439, +ERASE, 140320574525440, 140320582914047, +ERASE, 140320297693184, 140320297697279, +ERASE, 140320297697280, 140320306085887, +ERASE, 140321354616832, 140321354620927, +ERASE, 140321354620928, 140321363009535, +ERASE, 140320834564096, 140320834568191, +ERASE, 140320834568192, 140320842956799, +ERASE, 140320591306752, 140320591310847, +ERASE, 140320591310848, 140320599699455, +ERASE, 140321136570368, 140321136574463, +ERASE, 140321136574464, 140321144963071, +ERASE, 140321237217280, 140321237221375, +ERASE, 140321237221376, 140321245609983, +ERASE, 140321363009536, 140321363013631, +ERASE, 140321363013632, 140321371402239, +ERASE, 140320599699456, 140320599703551, +ERASE, 140320599703552, 140320608092159, +ERASE, 140321396580352, 140321396584447, +ERASE, 140321396584448, 140321404973055, +ERASE, 140320566128640, 140320566132735, +ERASE, 140320566132736, 140320574521343, +ERASE, 140321094606848, 140321094610943, +ERASE, 140321094610944, 140321102999551, +ERASE, 140320582914048, 140320582918143, +ERASE, 140320582918144, 140320591306751, +ERASE, 140320289300480, 140320289304575, +ERASE, 140320289304576, 140320297693183, +ERASE, 140320163409920, 140320163414015, + }; + unsigned long set41[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140728157171712, 140737488351231, +SNULL, 140728157175807, 140737488351231, +STORE, 140728157171712, 140728157175807, +STORE, 140728157040640, 140728157175807, +STORE, 94376106364928, 94376108613631, +SNULL, 94376106487807, 94376108613631, +STORE, 94376106364928, 94376106487807, +STORE, 94376106487808, 94376108613631, +SNULL, 94376106487808, 94376108613631, +STORE, 94376108584960, 94376108593151, +STORE, 94376108593152, 94376108613631, +STORE, 140113496432640, 140113498685439, +SNULL, 140113496575999, 140113498685439, +STORE, 140113496432640, 140113496575999, +STORE, 140113496576000, 140113498685439, +SNULL, 140113496576000, 140113498685439, +STORE, 140113498673152, 140113498681343, +STORE, 140113498681344, 140113498685439, +STORE, 140728157609984, 140728157618175, +STORE, 140728157593600, 140728157609983, +STORE, 140113498636288, 140113498673151, +STORE, 140113498628096, 140113498636287, +STORE, 140113492635648, 140113496432639, +SNULL, 140113492635648, 140113494294527, +STORE, 140113494294528, 140113496432639, +STORE, 140113492635648, 140113494294527, +SNULL, 140113496391679, 140113496432639, +STORE, 140113494294528, 140113496391679, +STORE, 140113496391680, 140113496432639, +SNULL, 140113496391680, 140113496416255, +STORE, 140113496416256, 140113496432639, +STORE, 140113496391680, 140113496416255, +SNULL, 140113496391680, 140113496416255, +STORE, 140113496391680, 140113496416255, +SNULL, 140113496416256, 140113496432639, +STORE, 140113496416256, 140113496432639, +SNULL, 140113496408063, 140113496416255, +STORE, 140113496391680, 140113496408063, +STORE, 140113496408064, 140113496416255, +SNULL, 94376108589055, 94376108593151, +STORE, 94376108584960, 94376108589055, +STORE, 94376108589056, 94376108593151, +SNULL, 140113498677247, 140113498681343, +STORE, 140113498673152, 140113498677247, +STORE, 140113498677248, 140113498681343, +SNULL, 140113498636288, 140113498673151, +STORE, 94376135090176, 94376135094271, +STORE, 94376135090176, 94376135098367, +STORE, 94376139288576, 94376139292671, +STORE, 94376143482880, 94376143486975, +STORE, 94376147677184, 94376147681279, +STORE, 94376151871488, 94376151875583, +STORE, 94376156065792, 94376156069887, +STORE, 94376160260096, 94376160264191, +STORE, 94376164454400, 94376164458495, +STORE, 94376168648704, 94376168652799, +STORE, 94376172843008, 94376172847103, +STORE, 94376177037312, 94376177041407, +STORE, 94376181231616, 94376181235711, +STORE, 94376185425920, 94376185430015, +STORE, 94376189620224, 94376189624319, +STORE, 94376193814528, 94376193818623, +STORE, 94376198008832, 94376198012927, +STORE, 94376202203136, 94376202207231, +STORE, 94376206397440, 94376206401535, +STORE, 94376210591744, 94376210595839, +STORE, 94376214786048, 94376214790143, +STORE, 94376218980352, 94376218984447, +STORE, 94376223174656, 94376223178751, +STORE, 94376227368960, 94376227373055, +STORE, 94376231563264, 94376231567359, +STORE, 94376235757568, 94376235761663, +STORE, 94376239951872, 94376239955967, +STORE, 94376244146176, 94376244150271, +STORE, 94376248340480, 94376248344575, +STORE, 94376252534784, 94376252538879, +STORE, 94376256729088, 94376256733183, +STORE, 94376260923392, 94376260927487, +STORE, 94376265117696, 94376265121791, +STORE, 94376269312000, 94376269316095, +STORE, 94376273506304, 94376273510399, +STORE, 94376277700608, 94376277704703, +STORE, 94376281894912, 94376281899007, +STORE, 94376286089216, 94376286093311, +STORE, 94376290283520, 94376290287615, +STORE, 94376294477824, 94376294481919, +STORE, 94376298672128, 94376298676223, +STORE, 94376302866432, 94376302870527, +STORE, 94376307060736, 94376307064831, +STORE, 94376311255040, 94376311259135, +STORE, 94376315449344, 94376315453439, +STORE, 94376319643648, 94376319647743, +STORE, 94376323837952, 94376323842047, +STORE, 94376328032256, 94376328036351, +STORE, 94376332226560, 94376332230655, +STORE, 94376336420864, 94376336424959, +STORE, 94376340615168, 94376340619263, +STORE, 94376344809472, 94376344813567, +STORE, 94376349003776, 94376349007871, +STORE, 94376353198080, 94376353202175, +STORE, 94376357392384, 94376357396479, +STORE, 94376361586688, 94376361590783, +STORE, 94376365780992, 94376365785087, +STORE, 94376369975296, 94376369979391, +STORE, 94376374169600, 94376374173695, +STORE, 94376378363904, 94376378367999, +STORE, 94376382558208, 94376382562303, +STORE, 94376386752512, 94376386756607, +STORE, 94376390946816, 94376390950911, +STORE, 94376395141120, 94376395145215, +STORE, 94376399335424, 94376399339519, +STORE, 94376403529728, 94376403533823, +STORE, 94376407724032, 94376407728127, +STORE, 94376411918336, 94376411922431, +STORE, 94376416112640, 94376416116735, +STORE, 94376420306944, 94376420311039, +STORE, 94376424501248, 94376424505343, +STORE, 94376428695552, 94376428699647, +STORE, 94376432889856, 94376432893951, +STORE, 94376437084160, 94376437088255, +STORE, 94376441278464, 94376441282559, +STORE, 94376445472768, 94376445476863, +STORE, 94376449667072, 94376449671167, +STORE, 94376453861376, 94376453865471, +STORE, 94376458055680, 94376458059775, +STORE, 94376462249984, 94376462254079, +STORE, 94376466444288, 94376466448383, +STORE, 94376470638592, 94376470642687, +STORE, 94376474832896, 94376474836991, +STORE, 94376479027200, 94376479031295, +STORE, 94376483221504, 94376483225599, +STORE, 94376487415808, 94376487419903, +STORE, 94376491610112, 94376491614207, +STORE, 94376495804416, 94376495808511, +STORE, 94376499998720, 94376500002815, +STORE, 94376504193024, 94376504197119, +STORE, 94376508387328, 94376508391423, +STORE, 94376512581632, 94376512585727, +STORE, 94376516775936, 94376516780031, +STORE, 94376520970240, 94376520974335, +STORE, 94376525164544, 94376525168639, +STORE, 94376529358848, 94376529362943, +STORE, 94376533553152, 94376533557247, +STORE, 94376537747456, 94376537751551, +STORE, 94376541941760, 94376541945855, +STORE, 94376546136064, 94376546140159, +STORE, 94376550330368, 94376550334463, +STORE, 94376554524672, 94376554528767, +STORE, 94376558718976, 94376558723071, +STORE, 94376562913280, 94376562917375, +STORE, 94376567107584, 94376567111679, +STORE, 94376571301888, 94376571305983, +STORE, 94376575496192, 94376575500287, +STORE, 94376579690496, 94376579694591, +STORE, 94376583884800, 94376583888895, +STORE, 94376588079104, 94376588083199, +STORE, 94376592273408, 94376592277503, +STORE, 94376596467712, 94376596471807, +STORE, 94376600662016, 94376600666111, +STORE, 94376604856320, 94376604860415, +STORE, 94376609050624, 94376609054719, +STORE, 94376613244928, 94376613249023, +STORE, 94376617439232, 94376617443327, +STORE, 94376621633536, 94376621637631, +STORE, 94376625827840, 94376625831935, +STORE, 94376630022144, 94376630026239, +STORE, 94376634216448, 94376634220543, +STORE, 94376638410752, 94376638414847, +STORE, 94376642605056, 94376642609151, +STORE, 94376646799360, 94376646803455, +STORE, 94376650993664, 94376650997759, +STORE, 94376655187968, 94376655192063, +STORE, 94376659382272, 94376659386367, +STORE, 94376663576576, 94376663580671, +STORE, 94376667770880, 94376667774975, +STORE, 94376671965184, 94376671969279, +STORE, 94376676159488, 94376676163583, +STORE, 94376680353792, 94376680357887, +STORE, 94376684548096, 94376684552191, +STORE, 94376688742400, 94376688746495, +STORE, 94376692936704, 94376692940799, +STORE, 94376697131008, 94376697135103, +STORE, 94376701325312, 94376701329407, +STORE, 94376705519616, 94376705523711, +STORE, 94376709713920, 94376709718015, +STORE, 94376713908224, 94376713912319, +STORE, 94376718102528, 94376718106623, +STORE, 94376722296832, 94376722300927, +STORE, 94376726491136, 94376726495231, +STORE, 94376730685440, 94376730689535, +STORE, 94376734879744, 94376734883839, +STORE, 94376739074048, 94376739078143, +STORE, 94376743268352, 94376743272447, +STORE, 94376747462656, 94376747466751, +STORE, 94376751656960, 94376751661055, +STORE, 94376755851264, 94376755855359, +STORE, 94376760045568, 94376760049663, +STORE, 94376764239872, 94376764243967, +STORE, 94376768434176, 94376768438271, +STORE, 94376772628480, 94376772632575, +STORE, 94376776822784, 94376776826879, +STORE, 94376781017088, 94376781021183, +STORE, 94376785211392, 94376785215487, +STORE, 94376789405696, 94376789409791, +STORE, 94376793600000, 94376793604095, +STORE, 94376797794304, 94376797798399, +STORE, 94376801988608, 94376801992703, +STORE, 94376806182912, 94376806187007, +STORE, 94376810377216, 94376810381311, +STORE, 94376814571520, 94376814575615, +STORE, 94376818765824, 94376818769919, +STORE, 94376822960128, 94376822964223, +STORE, 94376827154432, 94376827158527, +STORE, 94376831348736, 94376831352831, +STORE, 94376835543040, 94376835547135, +STORE, 94376839737344, 94376839741439, +STORE, 94376843931648, 94376843935743, +STORE, 94376848125952, 94376848130047, +STORE, 94376852320256, 94376852324351, +STORE, 94376856514560, 94376856518655, +STORE, 94376860708864, 94376860712959, +STORE, 94376864903168, 94376864907263, +STORE, 94376869097472, 94376869101567, +STORE, 94376873291776, 94376873295871, +STORE, 94376877486080, 94376877490175, +STORE, 94376881680384, 94376881684479, +STORE, 94376885874688, 94376885878783, +STORE, 94376890068992, 94376890073087, +STORE, 94376894263296, 94376894267391, +STORE, 94376898457600, 94376898461695, +STORE, 94376902651904, 94376902655999, +STORE, 94376906846208, 94376906850303, +STORE, 94376911040512, 94376911044607, +STORE, 94376915234816, 94376915238911, +STORE, 94376919429120, 94376919433215, +STORE, 94376923623424, 94376923627519, +STORE, 94376927817728, 94376927821823, +STORE, 94376932012032, 94376932016127, +STORE, 94376936206336, 94376936210431, +STORE, 94376940400640, 94376940404735, +STORE, 94376944594944, 94376944599039, +STORE, 94376948789248, 94376948793343, +STORE, 94376952983552, 94376952987647, +STORE, 94376957177856, 94376957181951, +STORE, 94376961372160, 94376961376255, +STORE, 94376965566464, 94376965570559, +STORE, 94376969760768, 94376969764863, +STORE, 94376973955072, 94376973959167, +STORE, 94376978149376, 94376978153471, +STORE, 94376982343680, 94376982347775, +STORE, 94376986537984, 94376986542079, +STORE, 94376990732288, 94376990736383, +STORE, 94376994926592, 94376994930687, +STORE, 94376999120896, 94376999124991, +STORE, 94377003315200, 94377003319295, +STORE, 94377007509504, 94377007513599, +STORE, 94377011703808, 94377011707903, +STORE, 94377015898112, 94377015902207, +STORE, 94377020092416, 94377020096511, +STORE, 94377024286720, 94377024290815, +STORE, 94377028481024, 94377028485119, +STORE, 94377032675328, 94377032679423, +STORE, 94377036869632, 94377036873727, +STORE, 94377041063936, 94377041068031, +STORE, 94377045258240, 94377045262335, +STORE, 94377049452544, 94377049456639, +STORE, 94377053646848, 94377053650943, +STORE, 94377057841152, 94377057845247, +STORE, 94377062035456, 94377062039551, +STORE, 94377066229760, 94377066233855, +STORE, 94377070424064, 94377070428159, +STORE, 94377074618368, 94377074622463, +STORE, 94377078812672, 94377078816767, +STORE, 94377083006976, 94377083011071, +STORE, 94377087201280, 94377087205375, +STORE, 94377091395584, 94377091399679, +STORE, 94377095589888, 94377095593983, +STORE, 94377099784192, 94377099788287, +STORE, 94377103978496, 94377103982591, +STORE, 94377108172800, 94377108176895, +STORE, 94377112367104, 94377112371199, +STORE, 94377116561408, 94377116565503, +STORE, 94377120755712, 94377120759807, +STORE, 94377124950016, 94377124954111, +STORE, 94377129144320, 94377129148415, +STORE, 94377133338624, 94377133342719, +STORE, 94377137532928, 94377137537023, +STORE, 94377141727232, 94377141731327, +STORE, 94377145921536, 94377145925631, +STORE, 94377150115840, 94377150119935, +STORE, 94377154310144, 94377154314239, +STORE, 94377158504448, 94377158508543, +STORE, 94377162698752, 94377162702847, +STORE, 94377166893056, 94377166897151, +STORE, 94377171087360, 94377171091455, +STORE, 94377175281664, 94377175285759, +STORE, 94377179475968, 94377179480063, +STORE, 94377183670272, 94377183674367, +STORE, 94377187864576, 94377187868671, +STORE, 94377192058880, 94377192062975, +STORE, 94377196253184, 94377196257279, +STORE, 94377200447488, 94377200451583, +STORE, 94377204641792, 94377204645887, +SNULL, 94376135094271, 94376135098367, +STORE, 94376135090176, 94376135094271, +STORE, 94376135094272, 94376135098367, +SNULL, 94376135094272, 94377208836095, + }; + unsigned long set42[] = { +STORE, 314572800, 1388314623, +STORE, 1462157312, 1462169599, +STORE, 1462169600, 1462185983, +STORE, 1462185984, 1462190079, +STORE, 1462190080, 1462194175, +STORE, 1462194176, 1462198271, +STORE, 1879986176, 1881800703, +STORE, 1881800704, 1882034175, +STORE, 1882034176, 1882193919, +STORE, 1882193920, 1882406911, +STORE, 1882406912, 1882451967, +STORE, 1882451968, 1882996735, +STORE, 1882996736, 1885892607, +STORE, 1885892608, 1885896703, +STORE, 1885896704, 1885904895, +STORE, 1885904896, 1885908991, +STORE, 1885908992, 1885913087, +STORE, 1885913088, 1885966335, +STORE, 1885966336, 1886232575, +STORE, 1886232576, 1886236671, +STORE, 1886236672, 1886240767, +STORE, 1886240768, 1886244863, +STORE, 1886244864, 1886248959, +STORE, 1886248960, 1886294015, +STORE, 1886294016, 1886494719, +STORE, 1886494720, 1886498815, +STORE, 1886498816, 1886502911, +STORE, 1886502912, 1886507007, +STORE, 1886507008, 1886511103, +STORE, 1886511104, 1886556159, +STORE, 1886556160, 1886629887, +STORE, 1886629888, 1886633983, +STORE, 1886633984, 1886638079, +STORE, 1886638080, 1886642175, +STORE, 1886642176, 1886646271, +STORE, 1886646272, 1886666751, +STORE, 1886666752, 1886670847, +STORE, 1886670848, 1886674943, +STORE, 1886674944, 1886679039, +STORE, 1886679040, 1895419903, +STORE, 1895419904, 1895550975, +STORE, 1895550976, 1896148991, +STORE, 1896148992, 1897189375, +STORE, 1897189376, 1897701375, +STORE, 1897701376, 1897803775, +STORE, 1897803776, 1897816063, +STORE, 1897816064, 1899913215, +STORE, 1899913216, 1909379071, +STORE, 1909379072, 1909387263, +STORE, 1909387264, 1909391359, +STORE, 1909391360, 1909432319, +STORE, 1909432320, 1909436415, +STORE, 1909436416, 1909440511, +STORE, 1909440512, 1909460991, +STORE, 1909460992, 1909547007, +STORE, 1909547008, 1909551103, +STORE, 1909551104, 1909555199, +STORE, 1909555200, 1909559295, +STORE, 1909559296, 1909563391, +STORE, 1909563392, 1909739519, +STORE, 1909739520, 1910566911, +STORE, 1910566912, 1910571007, +STORE, 1910571008, 1910575103, +STORE, 1910575104, 1910579199, +STORE, 1910579200, 1910583295, +STORE, 1910583296, 1910587391, +STORE, 1910587392, 1910620159, +STORE, 1910620160, 1910624255, +STORE, 1910624256, 1910628351, +STORE, 1910628352, 1910632447, +STORE, 1910632448, 1910652927, +STORE, 1910652928, 1910657023, +STORE, 1910657024, 1910661119, +STORE, 1910661120, 1910665215, +STORE, 1910665216, 1910669311, +STORE, 1910669312, 1910677503, +STORE, 1910677504, 1910681599, +STORE, 1910681600, 1910685695, +STORE, 1910685696, 1910689791, +STORE, 1910689792, 1910697983, +STORE, 1910697984, 1910702079, +STORE, 1910702080, 1910706175, +STORE, 1910706176, 1910710271, +STORE, 1910710272, 1914093567, +STORE, 1914093568, 1914097663, +STORE, 1914097664, 1969434623, +STORE, 1969434624, 1977819135, +STORE, 3290435584, 3426750463, +STORE, 3426750464, 3426754559, +STORE, 3426754560, 3426762751, +STORE, 3426762752, 3426766847, +STORE, 3426766848, 3426770943, +STORE, 3427037184, 3427061759, +STORE, 3427061760, 3427135487, +STORE, 3427135488, 3427143679, +STORE, 3427143680, 3427147775, +STORE, 3427147776, 3427209215, +STORE, 3427319808, 3432116223, +STORE, 3432116224, 3450130431, +STORE, 3450130432, 3451027455, +STORE, 3451027456, 3451031551, +STORE, 3451031552, 3451461631, +STORE, 3451736064, 3456688127, +STORE, 3456688128, 3475222527, +STORE, 3475222528, 3476119551, +STORE, 3476119552, 3476127743, +STORE, 3476127744, 3476553727, +STORE, 3476631552, 3477315583, +STORE, 3477315584, 3479949311, +STORE, 3479949312, 3480002559, +STORE, 3480002560, 3480006655, +STORE, 3480006656, 3480432639, +STORE, 3480539136, 3480543231, +STORE, 3480543232, 3480547327, +STORE, 3480547328, 3480555519, +STORE, 3480854528, 3480903679, +STORE, 3480903680, 3480969215, +STORE, 3480969216, 3480977407, +STORE, 3480977408, 3480981503, +STORE, 3481030656, 3481092095, +STORE, 3481092096, 3481235455, +STORE, 3481235456, 3481243647, +STORE, 3481243648, 3481247743, +STORE, 3481436160, 3481444351, +STORE, 3481444352, 3481456639, +STORE, 3481456640, 3481460735, +STORE, 3481460736, 3481464831, +STORE, 3481587712, 3481645055, +STORE, 3481645056, 3481772031, +STORE, 3481772032, 3481776127, +STORE, 3481776128, 3481780223, +STORE, 3481874432, 3481935871, +STORE, 3481935872, 3482030079, +STORE, 3482030080, 3482038271, +STORE, 3482038272, 3482042367, +STORE, 3482198016, 3482230783, +STORE, 3482230784, 3482271743, +STORE, 3482271744, 3482279935, +STORE, 3482279936, 3482284031, +STORE, 3482562560, 3482566655, +STORE, 3482566656, 3482570751, +STORE, 3482570752, 3482574847, +STORE, 3482636288, 3482689535, +STORE, 3482689536, 3482746879, +STORE, 3482746880, 3482755071, +STORE, 3482755072, 3482759167, +STORE, 3482972160, 3483062271, +STORE, 3483062272, 3483242495, +STORE, 3483242496, 3483246591, +STORE, 3483246592, 3483250687, +STORE, 3483398144, 3483688959, +STORE, 3483688960, 3484114943, +STORE, 3484114944, 3484131327, +STORE, 3484131328, 3484135423, +STORE, 3484135424, 3484143615, +STORE, 3484184576, 3484475391, +STORE, 3484475392, 3485028351, +STORE, 3485028352, 3485057023, +STORE, 3485057024, 3485061119, +STORE, 3485360128, 3485364223, +STORE, 3485364224, 3485368319, +STORE, 3485368320, 3485372415, +STORE, 3485589504, 3485593599, +STORE, 3485593600, 3485597695, +STORE, 3485597696, 3485601791, +STORE, 3485913088, 3485937663, +STORE, 3485937664, 3485974527, +STORE, 3485974528, 3485982719, +STORE, 3485982720, 3485986815, +STORE, 3486052352, 3486056447, +STORE, 3486056448, 3486064639, +STORE, 3486064640, 3486068735, +STORE, 3486068736, 3486072831, +STORE, 3486294016, 3486302207, +STORE, 3486302208, 3486306303, +STORE, 3486306304, 3486310399, +STORE, 3486310400, 3486314495, +STORE, 3486670848, 3486679039, +STORE, 3486679040, 3486683135, +STORE, 3486683136, 3486687231, +STORE, 3486687232, 3486691327, +STORE, 3486863360, 3486871551, +STORE, 3486871552, 3486875647, +STORE, 3486875648, 3486879743, +STORE, 3486879744, 3486883839, +STORE, 3487584256, 3522543615, +STORE, 3522543616, 3523321855, +STORE, 3523321856, 3523342335, +STORE, 3523342336, 3523387391, +STORE, 3523387392, 3523391487, +STORE, 3523391488, 3523395583, +STORE, 3523477504, 3523686399, +STORE, 3523686400, 3523981311, +STORE, 3523981312, 3523997695, +STORE, 3523997696, 3524001791, +STORE, 3524177920, 3525013503, +STORE, 3525013504, 3526582271, +STORE, 3526582272, 3526606847, +STORE, 3526606848, 3526610943, +STORE, 3526610944, 3526615039, +STORE, 3526672384, 3526746111, +STORE, 3526746112, 3526860799, +STORE, 3526860800, 3526868991, +STORE, 3526868992, 3526873087, +STORE, 3527000064, 3527475199, +STORE, 3527475200, 3527479295, +STORE, 3527479296, 3527573503, +STORE, 3527573504, 3527581695, +STORE, 3527581696, 3527585791, +STORE, 3527585792, 3527606271, +STORE, 3527909376, 3527913471, +STORE, 3527913472, 3527917567, +STORE, 3527917568, 3527921663, +STORE, 3527950336, 3528011775, +STORE, 3528011776, 3528093695, +STORE, 3528093696, 3528101887, +STORE, 3528101888, 3528105983, +STORE, 3528228864, 3528241151, +STORE, 3528241152, 3528261631, +STORE, 3528261632, 3528265727, +STORE, 3528273920, 3528593407, +STORE, 3528593408, 3528609791, +STORE, 3528609792, 3528638463, +STORE, 3528638464, 3528642559, +STORE, 3528642560, 3528646655, +STORE, 3528880128, 3528912895, +STORE, 3528912896, 3528962047, +STORE, 3528962048, 3528966143, +STORE, 3528966144, 3528970239, +STORE, 3528982528, 3530293247, +STORE, 3530366976, 3530825727, +STORE, 3530825728, 3531317247, +STORE, 3531317248, 3541041151, +STORE, 3541041152, 3541303295, +STORE, 3541430272, 3566206975, +STORE, 3566206976, 3566993407, +STORE, 3567239168, 3587571711, +STORE, 3587571712, 3588284415, +STORE, 3588284416, 3588661247, +STORE, 3588661248, 3589066751, +STORE, 3589066752, 3589574655, +STORE, 3589574656, 3590078463, +STORE, 3590078464, 3590373375, +STORE, 3590373376, 3590668287, +STORE, 3590668288, 3590963199, +STORE, 3590963200, 3591294975, +STORE, 3591294976, 3591602175, +STORE, 3591602176, 3591933951, +STORE, 3591933952, 3592241151, +STORE, 3592241152, 3592572927, +STORE, 3592572928, 3592876031, +STORE, 3592876032, 3593211903, +STORE, 3593211904, 3593547775, +STORE, 3593547776, 3593650175, +STORE, 3593650176, 3593928703, +STORE, 3593928704, 3593936895, +STORE, 3593936896, 3593940991, +STORE, 3594006528, 3594301439, +STORE, 3594301440, 3594739711, +STORE, 3594739712, 3594756095, +STORE, 3594756096, 3594760191, +STORE, 3594760192, 3594768383, +STORE, 3594952704, 3595051007, +STORE, 3595051008, 3595223039, +STORE, 3595223040, 3595227135, +STORE, 3595227136, 3595235327, +STORE, 3595431936, 3595775999, +STORE, 3595776000, 3596701695, +STORE, 3596701696, 3596742655, +STORE, 3596742656, 3596746751, +STORE, 3596746752, 3596750847, +STORE, 3596767232, 3597070335, +STORE, 3597070336, 3597402111, +STORE, 3597402112, 3598188543, +STORE, 3598262272, 3623428095, +STORE, 3623428096, 3623432191, +STORE, 3623432192, 3623436287, +STORE, 3623436288, 3623440383, +STORE, 3623616512, 3623878655, +STORE, 3624169472, 3624300543, +STORE, 3627524096, 3628523519, +STORE, 3628523520, 3629522943, +STORE, 3696631808, 3730186239, +STORE, 3730186240, 3763740671, +STORE, 3763740672, 3764027391, +STORE, 3764027392, 3765133311, +STORE, 3765133312, 3765145599, +STORE, 3765145600, 3765149695, +STORE, 3765178368, 3766022143, +STORE, 3766022144, 3768791039, +STORE, 3768791040, 3768840191, +STORE, 3768840192, 3768844287, +STORE, 3768897536, 3768913919, +STORE, 3768913920, 3768934399, +STORE, 3768934400, 3768938495, +STORE, 3769016320, 3769147391, +STORE, 3769147392, 3769233407, +STORE, 3769233408, 3769356287, +STORE, 3769356288, 3769360383, +STORE, 3769360384, 3769368575, +STORE, 3769376768, 3794542591, +STORE, 3794542592, 3794599935, +STORE, 3794599936, 3794731007, +STORE, 3794731008, 3794735103, +STORE, 3794735104, 3794743295, +STORE, 3794849792, 3794980863, +STORE, 3794980864, 3794984959, +STORE, 3794984960, 3794989055, +STORE, 3794989056, 3794993151, +STORE, 3794993152, 3794997247, +STORE, 3795103744, 3795128319, +STORE, 3795128320, 3795165183, +STORE, 3795165184, 3795169279, +STORE, 3795169280, 3795173375, +STORE, 3795210240, 3795357695, +STORE, 3795357696, 3795365887, +STORE, 3795365888, 3795374079, +STORE, 3795374080, 3795378175, +STORE, 3795378176, 3795382271, +STORE, 3795406848, 3795738623, +STORE, 3795738624, 3795742719, +STORE, 3795742720, 3795755007, +STORE, 3795755008, 3795759103, +STORE, 3795763200, 3795894271, +STORE, 3795894272, 3796041727, +STORE, 3796041728, 3796054015, +STORE, 3796054016, 3796066303, +STORE, 3796066304, 3796070399, +STORE, 3796176896, 3796205567, +STORE, 3796205568, 3796250623, +STORE, 3796250624, 3796254719, +STORE, 3796254720, 3796258815, +STORE, 3796262912, 3796393983, +STORE, 3796393984, 3796516863, +STORE, 3796516864, 3796873215, +STORE, 3796873216, 3796885503, +STORE, 3796885504, 3796889599, +STORE, 3796963328, 3796967423, +STORE, 3796967424, 3796975615, +STORE, 3796975616, 3796979711, +STORE, 3797000192, 3797307391, +STORE, 3797307392, 3797311487, +STORE, 3797311488, 3797315583, +STORE, 3797315584, 3797323775, +STORE, 3797327872, 3797450751, +STORE, 3797450752, 3797458943, +STORE, 3797458944, 3797471231, +STORE, 3797471232, 3797475327, +STORE, 3797577728, 3797700607, +STORE, 3797700608, 3797721087, +STORE, 3797721088, 3797733375, +STORE, 3797733376, 3797741567, +STORE, 3797741568, 3797864447, +STORE, 3797864448, 3797995519, +STORE, 3797995520, 3798048767, +STORE, 3798048768, 3798179839, +STORE, 3798179840, 3798188031, +STORE, 3798188032, 3798192127, +STORE, 3798290432, 3798302719, +STORE, 3798302720, 3798323199, +STORE, 3798323200, 3798327295, +STORE, 3798327296, 3798331391, +STORE, 3798429696, 3798433791, +STORE, 3798433792, 3798552575, +STORE, 3798552576, 3798556671, +STORE, 3798556672, 3798568959, +STORE, 3798568960, 3798573055, +STORE, 3798573056, 3798581247, +STORE, 3798618112, 3798749183, +STORE, 3798749184, 3798855679, +STORE, 3798855680, 3798966271, +STORE, 3798966272, 3798982655, +STORE, 3798982656, 3798986751, +STORE, 3799101440, 3799171071, +STORE, 3799171072, 3799240703, +STORE, 3799240704, 3799248895, +STORE, 3799248896, 3799252991, +STORE, 3799326720, 3799650303, +STORE, 3799650304, 3800629247, +STORE, 3800629248, 3800641535, +STORE, 3800641536, 3800645631, +STORE, 3800645632, 3800649727, +STORE, 3800649728, 3800903679, +STORE, 3800903680, 3800936447, +STORE, 3800936448, 3800969215, +STORE, 3800969216, 3800981503, +STORE, 3800981504, 3800985599, +STORE, 3801001984, 3801133055, +STORE, 3801133056, 3801202687, +STORE, 3801202688, 3801591807, +STORE, 3801591808, 3801599999, +STORE, 3801600000, 3801604095, +STORE, 3801604096, 3801608191, +STORE, 3801608192, 3801739263, +STORE, 3801739264, 3801755647, +STORE, 3801755648, 3801796607, +STORE, 3801796608, 3801804799, +STORE, 3801804800, 3801808895, +STORE, 3801878528, 3801944063, +STORE, 3801944064, 3802116095, +STORE, 3802116096, 3802124287, +STORE, 3802124288, 3802128383, +STORE, 3802136576, 3803447295, +STORE, 3803492352, 3803553791, +STORE, 3803553792, 3804233727, +STORE, 3804233728, 3806068735, +STORE, 3806121984, 3806253055, +STORE, 3806253056, 3806674943, +STORE, 3806674944, 3807117311, +STORE, 3807117312, 3807379455, +STORE, 3807379456, 3807432703, +STORE, 3807432704, 3807563775, +STORE, 3807563776, 3809202175, +STORE, 3809202176, 3810250751, +STORE, 3810250752, 3827027967, +STORE, 3827027968, 3829125119, +STORE, 3829125120, 3837513727, +STORE, 3837513728, 3839610879, +STORE, 3839610880, 3847999487, +STORE, 3847999488, 3856392191, +STORE, 3856392192, 3864784895, +STORE, 3864784896, 3868983295, +STORE, 3868983296, 3885760511, +STORE, 3885760512, 3886809087, +STORE, 3886809088, 3887857663, +STORE, 3887857664, 3888119807, +STORE, 3888144384, 3888148479, +STORE, 3888148480, 3888218111, +STORE, 3888218112, 3888222207, +STORE, 3888222208, 3888353279, +STORE, 3888353280, 3889172479, +STORE, 3889172480, 3892314111, +STORE, 3892314112, 3892576255, +STORE, 3892588544, 3892637695, +STORE, 3892637696, 3892686847, +STORE, 3892686848, 3892744191, +STORE, 3892748288, 3892785151, +STORE, 3892785152, 3895459839, +STORE, 3895459840, 3895721983, +STORE, 3895738368, 3895885823, +STORE, 3895885824, 3897081855, +STORE, 3897081856, 3906482175, +STORE, 3906482176, 3916144639, +STORE, 3916144640, 3925766143, +STORE, 3925766144, 3926974463, +STORE, 3926974464, 3928367103, +STORE, 3928367104, 3928911871, +STORE, 3928911872, 3933995007, +STORE, 3933995008, 3935830015, +STORE, 3935830016, 3935846399, +STORE, 3935879168, 3936010239, +STORE, 3936010240, 3936026623, +STORE, 3936026624, 3936034815, +STORE, 3936034816, 3936051199, +STORE, 3936051200, 3936055295, +STORE, 3936071680, 3936137215, +STORE, 3936137216, 3936202751, +STORE, 3936202752, 3936219135, +STORE, 3936235520, 3936251903, +STORE, 3936268288, 3936276479, +STORE, 3936276480, 3936284671, +STORE, 3936284672, 3936288767, +STORE, 3936288768, 3936292863, +STORE, 3936296960, 3936354303, +STORE, 3936354304, 3936616447, +STORE, 3936628736, 3936669695, +STORE, 3936669696, 3936747519, +STORE, 3936747520, 3936870399, +STORE, 3936870400, 3936874495, +STORE, 3936874496, 3936878591, +STORE, 3936882688, 3936903167, +STORE, 3936911360, 3936948223, +STORE, 3936948224, 3936964607, +STORE, 3936964608, 3937103871, +STORE, 3937103872, 3937107967, +STORE, 3937132544, 3937161215, +STORE, 3937189888, 3937255423, +STORE, 3937255424, 3938512895, +STORE, 3938512896, 3945435135, +STORE, 3945435136, 3945476095, +STORE, 3945476096, 3945484287, +STORE, 3945484288, 3945496575, +STORE, 3945500672, 3945541631, +STORE, 3945558016, 3945566207, +STORE, 3945566208, 3945594879, +STORE, 3945594880, 3945598975, +STORE, 3945598976, 3945603071, +STORE, 3945611264, 3945742335, +STORE, 3945742336, 3945844735, +STORE, 3945844736, 3945848831, +STORE, 3945848832, 3945861119, +STORE, 3945861120, 3945865215, +STORE, 3945869312, 3945897983, +STORE, 3945897984, 3946303487, +STORE, 3946303488, 3946397695, +STORE, 3946397696, 3946569727, +STORE, 3946569728, 3946573823, +STORE, 3946573824, 3946594303, +STORE, 3946594304, 3946663935, +STORE, 3946663936, 3946708991, +STORE, 3946708992, 3946823679, +STORE, 3946823680, 3946827775, +STORE, 3946827776, 3946831871, +STORE, 3946831872, 3946860543, +STORE, 3946893312, 3946897407, +STORE, 3946897408, 3946905599, +STORE, 3946905600, 3946909695, +STORE, 3946909696, 3946913791, +STORE, 3946913792, 3946930175, +STORE, 3946930176, 3946967039, +STORE, 3946967040, 3947102207, +STORE, 3947102208, 3948412927, +STORE, 3948441600, 3948556287, +STORE, 3948556288, 3948576767, +STORE, 3948576768, 3948597247, +STORE, 3948597248, 3948605439, +STORE, 3948605440, 3948609535, +STORE, 3948609536, 3948654591, +STORE, 3948654592, 3948781567, +STORE, 3948781568, 3948822527, +STORE, 3948822528, 3948904447, +STORE, 3948904448, 3948908543, +STORE, 3948908544, 3948912639, +STORE, 3948945408, 3949043711, +STORE, 3949043712, 3949174783, +STORE, 3949174784, 3949191167, +STORE, 3949191168, 3949195263, +STORE, 3949207552, 3949252607, +STORE, 3949252608, 3949256703, +STORE, 3949256704, 3949363199, +STORE, 3949363200, 3949367295, +STORE, 3949367296, 3949379583, +STORE, 3949379584, 3949383679, +STORE, 3949383680, 3949400063, +STORE, 3949400064, 3949404159, +STORE, 3949416448, 3949481983, +STORE, 3949481984, 3949486079, +STORE, 3949486080, 3949592575, +STORE, 3949592576, 3949596671, +STORE, 3949596672, 3949621247, +STORE, 3949621248, 3949662207, +STORE, 3949662208, 3949666303, +STORE, 3949694976, 3949727743, +STORE, 3949727744, 3949731839, +STORE, 3949731840, 3949838335, +STORE, 3949838336, 3949842431, +STORE, 3949842432, 3949846527, +STORE, 3949846528, 3949854719, +STORE, 3949854720, 3949858815, +STORE, 3949858816, 3949862911, +STORE, 3949867008, 3949891583, +STORE, 3949891584, 3949928447, +STORE, 3949928448, 3949993983, +STORE, 3949993984, 3950043135, +STORE, 3950043136, 3950059519, +STORE, 3950059520, 3950096383, +STORE, 3950096384, 3950100479, +STORE, 3950100480, 3950104575, +STORE, 3950104576, 3950157823, +STORE, 3950157824, 3950292991, +STORE, 3950292992, 3950346239, +STORE, 3950346240, 3950477311, +STORE, 3950477312, 3950485503, +STORE, 3950485504, 3950489599, +STORE, 3950493696, 3950510079, +STORE, 3950510080, 3950661631, +STORE, 3950661632, 3951005695, +STORE, 3951005696, 3951026175, +STORE, 3951026176, 3951030271, +STORE, 3951030272, 3951054847, +STORE, 3951054848, 3951116287, +STORE, 3951116288, 3951144959, +STORE, 3951144960, 3951149055, +STORE, 3951149056, 3951194111, +STORE, 3951194112, 3951202303, +STORE, 3951202304, 3951206399, +STORE, 3951210496, 3951226879, +STORE, 3951226880, 3951329279, +STORE, 3951329280, 3951366143, +STORE, 3951366144, 3951411199, +STORE, 3951411200, 3951415295, +STORE, 3951415296, 3951419391, +STORE, 3951419392, 3951452159, +STORE, 3951452160, 3951566847, +STORE, 3951566848, 3951812607, +STORE, 3951812608, 3952173055, +STORE, 3952173056, 3952214015, +STORE, 3952214016, 3952218111, +STORE, 3952222208, 3952250879, +STORE, 3952250880, 3952369663, +STORE, 3952369664, 3952488447, +STORE, 3952488448, 3952627711, +STORE, 3952627712, 3952635903, +STORE, 3952635904, 3952639999, +STORE, 3952652288, 3952668671, +STORE, 3952668672, 3953000447, +STORE, 3953000448, 3953004543, +STORE, 3953004544, 3953008639, +STORE, 3953008640, 3953012735, +STORE, 3953012736, 3953037311, +STORE, 3953037312, 3953151999, +STORE, 3953152000, 3953291263, +STORE, 3953291264, 3953324031, +STORE, 3953324032, 3953364991, +STORE, 3953364992, 3953373183, +STORE, 3953373184, 3953377279, +STORE, 3953381376, 3953410047, +STORE, 3953410048, 3953491967, +STORE, 3953491968, 3953643519, +STORE, 3953643520, 3953651711, +STORE, 3953651712, 3953655807, +STORE, 3953659904, 3953766399, +STORE, 3953766400, 3953774591, +STORE, 3953774592, 3953786879, +STORE, 3953786880, 3953790975, +STORE, 3953790976, 3953823743, +STORE, 3953823744, 3953963007, +STORE, 3953963008, 3954024447, +STORE, 3954024448, 3954118655, +STORE, 3954118656, 3954122751, +STORE, 3954122752, 3954126847, +STORE, 3954130944, 3954184191, +STORE, 3954184192, 3954294783, +STORE, 3954294784, 3954323455, +STORE, 3954323456, 3954393087, +STORE, 3954393088, 3954397183, +STORE, 3954397184, 3954401279, +STORE, 3954401280, 3954405375, +STORE, 3954409472, 3954528255, +STORE, 3954528256, 3954737151, +STORE, 3954737152, 3955052543, +STORE, 3955052544, 3955060735, +STORE, 3955060736, 3955064831, +STORE, 3955068928, 3955105791, +STORE, 3955105792, 3955167231, +STORE, 3955167232, 3955277823, +STORE, 3955277824, 3955310591, +STORE, 3955310592, 3955351551, +STORE, 3955351552, 3955359743, +STORE, 3955359744, 3955363839, +STORE, 3955363840, 3955392511, +STORE, 3955392512, 3955453951, +STORE, 3955453952, 3955601407, +STORE, 3955601408, 3955777535, +STORE, 3955777536, 3955982335, +STORE, 3955982336, 3956011007, +STORE, 3956011008, 3956015103, +STORE, 3956023296, 3956039679, +STORE, 3956039680, 3956125695, +STORE, 3956125696, 3956129791, +STORE, 3956129792, 3956133887, +STORE, 3956133888, 3956137983, +STORE, 3956142080, 3956449279, +STORE, 3956449280, 3956543487, +STORE, 3956543488, 3956719615, +STORE, 3956719616, 3956731903, +STORE, 3956731904, 3956735999, +STORE, 3956744192, 3956793343, +STORE, 3956793344, 3956887551, +STORE, 3956887552, 3956953087, +STORE, 3956953088, 3957035007, +STORE, 3957035008, 3957039103, +STORE, 3957039104, 3957047295, +STORE, 3957047296, 3957071871, +STORE, 3957071872, 3957231615, +STORE, 3957231616, 3957563391, +STORE, 3957563392, 3957579775, +STORE, 3957579776, 3957583871, +STORE, 3957592064, 3957608447, +STORE, 3957608448, 3957878783, +STORE, 3957878784, 3958591487, +STORE, 3958591488, 3958599679, +STORE, 3958599680, 3958607871, +STORE, 3958607872, 3958620159, +STORE, 3958620160, 3958624255, +STORE, 3958624256, 3963199487, +STORE, 3963199488, 3963285503, +STORE, 3963285504, 3963371519, +STORE, 3963371520, 3963428863, +STORE, 3963428864, 3963555839, +STORE, 3963555840, 3963559935, +STORE, 3963559936, 3963564031, +STORE, 3963568128, 3963596799, +STORE, 3963596800, 3963682815, +STORE, 3963682816, 3963695103, +STORE, 3963695104, 3963711487, +STORE, 3963711488, 3963715583, +STORE, 3963719680, 3963752447, +STORE, 3963752448, 3963846655, +STORE, 3963846656, 3963932671, +STORE, 3963932672, 3964444671, +STORE, 3964444672, 3964448767, +STORE, 3964448768, 3965808639, +STORE, 3965808640, 3965845503, +STORE, 3965845504, 3965849599, +STORE, 3965853696, 3965935615, +STORE, 3965935616, 3966017535, +STORE, 3966017536, 3966103551, +STORE, 3966103552, 3966685183, +STORE, 3966685184, 3967705087, +STORE, 3967705088, 3967758335, +STORE, 3967758336, 3967762431, +STORE, 3967762432, 3967770623, +STORE, 3967770624, 3967799295, +STORE, 3967799296, 3967848447, +STORE, 3967848448, 3967868927, +STORE, 3967868928, 3967901695, +STORE, 3967901696, 3967905791, +STORE, 3967905792, 3967909887, +STORE, 3967909888, 3967995903, +STORE, 3967995904, 3968077823, +STORE, 3968077824, 3968159743, +STORE, 3968159744, 3968167935, +STORE, 3968167936, 3968172031, +STORE, 3968172032, 3968192511, +STORE, 3968192512, 3968196607, +STORE, 3968196608, 3968200703, +STORE, 3968208896, 3968516095, +STORE, 3968516096, 3968528383, +STORE, 3968528384, 3968552959, +STORE, 3968552960, 3968557055, +STORE, 3968561152, 3968593919, +STORE, 3968593920, 3968626687, +STORE, 3968626688, 3971153919, +STORE, 3971153920, 3973754879, +STORE, 3973754880, 3973804031, +STORE, 3973804032, 3973820415, +STORE, 3973820416, 3973832703, +STORE, 3973840896, 3973873663, +STORE, 3973873664, 3973967871, +STORE, 3973967872, 3973976063, +STORE, 3973976064, 3973984255, +STORE, 3973984256, 3973988351, +STORE, 3973988352, 3973992447, +STORE, 3973996544, 3974008831, +STORE, 3974008832, 3974045695, +STORE, 3974045696, 3974139903, +STORE, 3974139904, 3974254591, +STORE, 3974254592, 3974275071, +STORE, 3974275072, 3974291455, +STORE, 3974291456, 3974295551, +STORE, 3974295552, 3974373375, +STORE, 3974373376, 3974524927, +STORE, 3974524928, 3974529023, +STORE, 3974529024, 3974537215, +STORE, 3974537216, 3974541311, +STORE, 3974541312, 3974545407, +STORE, 3974545408, 3974627327, +STORE, 3974627328, 3974680575, +STORE, 3974680576, 3974811647, +STORE, 3974811648, 3974819839, +STORE, 3974819840, 3974823935, +STORE, 3974832128, 3974918143, +STORE, 3974918144, 3974963199, +STORE, 3974963200, 3975077887, +STORE, 3975077888, 3975090175, +STORE, 3975090176, 3975094271, +STORE, 3975094272, 3975102463, +STORE, 3975102464, 3975114751, +STORE, 3975114752, 3975266303, +STORE, 3975266304, 3975274495, +STORE, 3975274496, 3975286783, +STORE, 3975286784, 3975290879, +STORE, 3975290880, 3975299071, +STORE, 3975299072, 3975315455, +STORE, 3975315456, 3975430143, +STORE, 3975430144, 3975536639, +STORE, 3975536640, 3975651327, +STORE, 3975651328, 3975655423, +STORE, 3975655424, 3975659519, +STORE, 3975659520, 3975770111, +STORE, 3975770112, 3975778303, +STORE, 3975778304, 3975790591, +STORE, 3975790592, 3975794687, +STORE, 3975794688, 3975798783, +STORE, 3975798784, 3975831551, +STORE, 3975831552, 3975872511, +STORE, 3975872512, 3975987199, +STORE, 3975987200, 3976134655, +STORE, 3976134656, 3977175039, +STORE, 3977175040, 3977183231, +STORE, 3977183232, 3977191423, +STORE, 3977191424, 3977195519, +STORE, 3977199616, 3977248767, +STORE, 3977248768, 3977539583, +STORE, 3977539584, 3977965567, +STORE, 3977965568, 3977981951, +STORE, 3977981952, 3977986047, +STORE, 3977986048, 3977994239, +STORE, 3977994240, 3978002431, +STORE, 3978002432, 3978084351, +STORE, 3978084352, 3978125311, +STORE, 3978125312, 3978174463, +STORE, 3978174464, 3978178559, +STORE, 3978178560, 3978182655, +STORE, 3978182656, 3978207231, +STORE, 3978207232, 3978297343, +STORE, 3978297344, 3978301439, +STORE, 3978301440, 3978305535, +STORE, 3978305536, 3978309631, +STORE, 3978309632, 3978317823, +STORE, 3978317824, 3978625023, +STORE, 3978625024, 3978657791, +STORE, 3978657792, 3978727423, +STORE, 3978727424, 3978735615, +STORE, 3978735616, 3978739711, +STORE, 3978739712, 3978760191, +STORE, 3978760192, 3978842111, +STORE, 3978842112, 3978850303, +STORE, 3978850304, 3978858495, +STORE, 3978858496, 3978862591, +STORE, 3978862592, 3978895359, +STORE, 3978895360, 3979014143, +STORE, 3979014144, 3979132927, +STORE, 3979132928, 3979288575, +STORE, 3979288576, 3979481087, +STORE, 3979481088, 3979489279, +STORE, 3979489280, 3979493375, +STORE, 3979497472, 3979583487, +STORE, 3979583488, 3979673599, +STORE, 3979673600, 3979718655, +STORE, 3979718656, 3979829247, +STORE, 3979829248, 3979841535, +STORE, 3979841536, 3979882495, +STORE, 3979882496, 3979964415, +STORE, 3979964416, 3980013567, +STORE, 3980013568, 3980148735, +STORE, 3980148736, 3980152831, +STORE, 3980152832, 3980320767, +STORE, 3980320768, 3980337151, +STORE, 3980337152, 3980341247, +STORE, 3980345344, 3980365823, +STORE, 3980365824, 3980423167, +STORE, 3980423168, 3980460031, +STORE, 3980460032, 3980500991, +STORE, 3980500992, 3980509183, +STORE, 3980509184, 3980513279, +STORE, 3980513280, 3980546047, +STORE, 3980546048, 3980660735, +STORE, 3980660736, 3980951551, +STORE, 3980951552, 3981500415, +STORE, 3981500416, 3981529087, +STORE, 3981529088, 3981533183, +STORE, 3981537280, 3981549567, +STORE, 3981549568, 3981598719, +STORE, 3981598720, 3981717503, +STORE, 3981717504, 3982127103, +STORE, 3982127104, 3982675967, +STORE, 3982675968, 3982733311, +STORE, 3982733312, 3982737407, +STORE, 3982741504, 3982860287, +STORE, 3982860288, 3982905343, +STORE, 3982905344, 3982966783, +STORE, 3982966784, 3982974975, +STORE, 3982974976, 3982979071, +STORE, 3982979072, 3983032319, +STORE, 3983032320, 3983085567, +STORE, 3983085568, 3983208447, +STORE, 3983208448, 3983212543, +STORE, 3983212544, 3983220735, +STORE, 3983220736, 3983224831, +STORE, 3983224832, 3983237119, +STORE, 3983237120, 3983351807, +STORE, 3983351808, 3983376383, +STORE, 3983376384, 3983392767, +STORE, 3983392768, 3983396863, +STORE, 3983396864, 3983400959, +STORE, 3983400960, 3983417343, +STORE, 3983417344, 3983753215, +STORE, 3983753216, 3983757311, +STORE, 3983757312, 3983761407, +STORE, 3983761408, 3983765503, +STORE, 3983765504, 3983769599, +STORE, 3983769600, 3983880191, +STORE, 3983880192, 3983892479, +STORE, 3983892480, 3983900671, +STORE, 3983900672, 3983904767, +STORE, 3983904768, 3983908863, +STORE, 3983908864, 3983941631, +STORE, 3983941632, 3983990783, +STORE, 3983990784, 3984097279, +STORE, 3984097280, 3984105471, +STORE, 3984105472, 3984117759, +STORE, 3984117760, 3984121855, +STORE, 3984121856, 3984125951, +STORE, 3984125952, 3984134143, +STORE, 3984134144, 3984150527, +STORE, 3984150528, 3984416767, +STORE, 3984416768, 3984470015, +STORE, 3984470016, 3984564223, +STORE, 3984564224, 3984568319, +STORE, 3984572416, 3984629759, +STORE, 3984629760, 3984805887, +STORE, 3984805888, 3985096703, +STORE, 3985096704, 3985104895, +STORE, 3985104896, 3985108991, +STORE, 3985113088, 3986862079, +STORE, 3986862080, 3993640959, +STORE, 3993640960, 3993739263, +STORE, 3993739264, 3993743359, +STORE, 3993743360, 3993759743, +STORE, 3993759744, 3993780223, +STORE, 3993780224, 3993784319, +STORE, 3993784320, 3993792511, +STORE, 3993792512, 3993796607, +STORE, 3993796608, 3993800703, +STORE, 3993804800, 3994214399, +STORE, 3994214400, 3994218495, +STORE, 3994218496, 3994222591, +STORE, 3994222592, 3994226687, +STORE, 3994230784, 3994243071, +STORE, 3994243072, 3994255359, +STORE, 3994255360, 3994304511, +STORE, 3994304512, 3994386431, +STORE, 3994386432, 3994509311, +STORE, 3994509312, 3994521599, +STORE, 3994521600, 3994525695, +STORE, 3994529792, 3994542079, +STORE, 3994542080, 3994660863, +STORE, 3994660864, 3994705919, +STORE, 3994705920, 3994796031, +STORE, 3994796032, 3994800127, +STORE, 3994800128, 3994804223, +STORE, 3994804224, 3994812415, +STORE, 3994812416, 3994845183, +STORE, 3994845184, 3994898431, +STORE, 3994898432, 3994902527, +STORE, 3994902528, 3994906623, +STORE, 3994910720, 3994931199, +STORE, 3994931200, 3995181055, +STORE, 3995181056, 3995222015, +STORE, 3995222016, 3995275263, +STORE, 3995275264, 3995279359, +STORE, 3995279360, 3995283455, +STORE, 3995283456, 3995291647, +STORE, 3995291648, 3995324415, +STORE, 3995324416, 3995451391, +STORE, 3995451392, 3995697151, +STORE, 3995697152, 3996078079, +STORE, 3996078080, 3996086271, +STORE, 3996086272, 3996090367, +STORE, 3996094464, 3996119039, +STORE, 3996119040, 3996200959, +STORE, 3996200960, 3996229631, +STORE, 3996229632, 3996233727, +STORE, 3996233728, 3996282879, +STORE, 3996282880, 3996291071, +STORE, 3996291072, 3996295167, +STORE, 3996299264, 3996311551, +STORE, 3996311552, 3996430335, +STORE, 3996430336, 3996467199, +STORE, 3996467200, 3996504063, +STORE, 3996504064, 3996512255, +STORE, 3996512256, 3996516351, +STORE, 3996516352, 3996540927, +STORE, 3996540928, 3996671999, +STORE, 3996672000, 3996676095, +STORE, 3996676096, 3996684287, +STORE, 3996684288, 3996688383, +STORE, 3996688384, 3996692479, +STORE, 3996692480, 3996717055, +STORE, 3996717056, 3997048831, +STORE, 3997048832, 3997057023, +STORE, 3997057024, 3997073407, +STORE, 3997073408, 3997077503, +STORE, 3997077504, 3997081599, +STORE, 3997081600, 3997097983, +STORE, 3997097984, 3997179903, +STORE, 3997179904, 3997356031, +STORE, 3997356032, 3997650943, +STORE, 3997650944, 3997675519, +STORE, 3997675520, 3997679615, +STORE, 3997683712, 3997700095, +STORE, 3997700096, 3997745151, +STORE, 3997745152, 3997802495, +STORE, 3997802496, 3997810687, +STORE, 3997810688, 3997814783, +STORE, 3997814784, 3998064639, +STORE, 3998064640, 3998081023, +STORE, 3998081024, 3998085119, +STORE, 3998085120, 3998130175, +STORE, 3998130176, 3998134271, +STORE, 3998134272, 3998142463, +STORE, 3998142464, 3998179327, +STORE, 3998179328, 3998212095, +STORE, 3998212096, 3998326783, +STORE, 3998326784, 3998351359, +STORE, 3998351360, 3998392319, +STORE, 3998392320, 3998396415, +STORE, 3998396416, 3998400511, +STORE, 3998400512, 3998433279, +STORE, 3998433280, 3998466047, +STORE, 3998466048, 3998613503, +STORE, 3998613504, 3998666751, +STORE, 3998666752, 3998724095, +STORE, 3998724096, 3998732287, +STORE, 3998732288, 3998736383, +STORE, 3998736384, 3998760959, +STORE, 3998760960, 3998777343, +STORE, 3998777344, 3998822399, +STORE, 3998822400, 3998826495, +STORE, 3998826496, 3998830591, +STORE, 3998830592, 3998863359, +STORE, 3998863360, 3998900223, +STORE, 3998900224, 3999043583, +STORE, 3999043584, 3999121407, +STORE, 3999121408, 3999215615, +STORE, 3999215616, 3999223807, +STORE, 3999223808, 3999227903, +STORE, 3999227904, 3999236095, +STORE, 3999236096, 3999268863, +STORE, 3999268864, 3999301631, +STORE, 3999301632, 3999354879, +STORE, 3999354880, 3999428607, +STORE, 3999428608, 3999436799, +STORE, 3999436800, 3999440895, +STORE, 3999444992, 3999461375, +STORE, 3999461376, 3999584255, +STORE, 3999584256, 3999760383, +STORE, 3999760384, 4000219135, +STORE, 4000219136, 4000235519, +STORE, 4000235520, 4000251903, +STORE, 4000251904, 4000501759, +STORE, 4000501760, 4000505855, +STORE, 4000505856, 4000509951, +STORE, 4000509952, 4000518143, +STORE, 4000518144, 4000522239, +STORE, 4000522240, 4000587775, +STORE, 4000587776, 4000645119, +STORE, 4000645120, 4000813055, +STORE, 4000813056, 4000817151, +STORE, 4000821248, 4000837631, +STORE, 4000837632, 4000870399, +STORE, 4000870400, 4000874495, +STORE, 4000874496, 4000878591, +STORE, 4000878592, 4000882687, +STORE, 4000882688, 4000886783, +STORE, 4000886784, 4000890879, +STORE, 4000890880, 4000907263, +STORE, 4000907264, 4001214463, +STORE, 4001214464, 4001558527, +STORE, 4001558528, 4002484223, +STORE, 4002484224, 4002525183, +STORE, 4002525184, 4002529279, +STORE, 4002529280, 4002533375, +STORE, 4002533376, 4002537471, +STORE, 4002537472, 4002660351, +STORE, 4002660352, 4002779135, +STORE, 4002779136, 4002791423, +STORE, 4002791424, 4002799615, +STORE, 4002799616, 4002807807, +STORE, 4002807808, 4002811903, +STORE, 4002811904, 4002828287, +STORE, 4002828288, 4002910207, +STORE, 4002910208, 4003028991, +STORE, 4003028992, 4003037183, +STORE, 4003037184, 4003045375, +STORE, 4003045376, 4003049471, +STORE, 4003049472, 4003053567, +STORE, 4003053568, 4003057663, +STORE, 4003057664, 4003065855, +STORE, 4003065856, 4003135487, +STORE, 4003135488, 4003446783, +STORE, 4003446784, 4003450879, +STORE, 4003450880, 4003454975, +STORE, 4003454976, 4003459071, +STORE, 4003459072, 4003463167, +STORE, 4003463168, 4003495935, +STORE, 4003495936, 4003569663, +STORE, 4003569664, 4003573759, +STORE, 4003573760, 4003704831, +STORE, 4003704832, 4003708927, +STORE, 4003708928, 4003713023, +STORE, 4003713024, 4003737599, +STORE, 4003737600, 4003770367, +STORE, 4003770368, 4003876863, +STORE, 4003876864, 4003880959, +STORE, 4003880960, 4003885055, +STORE, 4003885056, 4003889151, +STORE, 4003889152, 4003893247, +STORE, 4003893248, 4003897343, +STORE, 4003897344, 4003962879, +STORE, 4003962880, 4004069375, +STORE, 4004069376, 4004093951, +STORE, 4004093952, 4004118527, +STORE, 4004118528, 4004122623, +STORE, 4004122624, 4004126719, +STORE, 4004126720, 4004155391, +STORE, 4004155392, 4004286463, +STORE, 4004286464, 4004384767, +STORE, 4004384768, 4004388863, +STORE, 4004388864, 4004646911, +STORE, 4004646912, 4004655103, +STORE, 4004655104, 4004659199, +STORE, 4004659200, 4004667391, +STORE, 4004667392, 4004683775, +STORE, 4004683776, 4004814847, +STORE, 4004814848, 4004818943, +STORE, 4004818944, 4004823039, +STORE, 4004823040, 4004827135, +STORE, 4004827136, 4004835327, +STORE, 4004835328, 4004954111, +STORE, 4004954112, 4005085183, +STORE, 4005085184, 4005306367, +STORE, 4005306368, 4005765119, +STORE, 4005765120, 4005789695, +STORE, 4005789696, 4005793791, +STORE, 4005793792, 4005801983, +STORE, 4005801984, 4005920767, +STORE, 4005920768, 4005945343, +STORE, 4005945344, 4005949439, +STORE, 4005949440, 4005986303, +STORE, 4005986304, 4005990399, +STORE, 4005990400, 4005994495, +STORE, 4005994496, 4006002687, +STORE, 4006002688, 4006109183, +STORE, 4006109184, 4006117375, +STORE, 4006117376, 4006121471, +STORE, 4006121472, 4006133759, +STORE, 4006133760, 4006137855, +STORE, 4006137856, 4006141951, +STORE, 4006141952, 4006150143, +STORE, 4006150144, 4006391807, +STORE, 4006391808, 4006445055, +STORE, 4006445056, 4006563839, +STORE, 4006563840, 4006572031, +STORE, 4006572032, 4006576127, +STORE, 4006576128, 4006584319, +STORE, 4006584320, 4006694911, +STORE, 4006694912, 4006739967, +STORE, 4006739968, 4006776831, +STORE, 4006776832, 4006785023, +STORE, 4006785024, 4006789119, +STORE, 4006789120, 4006797311, +STORE, 4006797312, 4006813695, +STORE, 4006813696, 4006846463, +STORE, 4006846464, 4006977535, +STORE, 4006977536, 4007006207, +STORE, 4007006208, 4007010303, +STORE, 4007010304, 4007067647, +STORE, 4007067648, 4007075839, +STORE, 4007075840, 4007084031, +STORE, 4007084032, 4007100415, +STORE, 4007100416, 4007116799, +STORE, 4007116800, 4007133183, +STORE, 4007133184, 4007153663, +STORE, 4007153664, 4007178239, +STORE, 4007178240, 4007202815, +STORE, 4007202816, 4007206911, +STORE, 4007206912, 4007272447, +STORE, 4007272448, 4007276543, +STORE, 4007276544, 4007280639, +STORE, 4007280640, 4007284735, +STORE, 4007284736, 4007292927, +STORE, 4007292928, 4007423999, +STORE, 4007424000, 4007448575, +STORE, 4007448576, 4007452671, +STORE, 4007452672, 4007505919, +STORE, 4007505920, 4007510015, +STORE, 4007510016, 4007514111, +STORE, 4007514112, 4007645183, +STORE, 4007645184, 4007776255, +STORE, 4007776256, 4007780351, +STORE, 4007780352, 4007784447, +STORE, 4007784448, 4007788543, +STORE, 4007788544, 4007809023, +STORE, 4007809024, 4007829503, +STORE, 4007829504, 4007960575, +STORE, 4007960576, 4008091647, +STORE, 4008091648, 4008296447, +STORE, 4008296448, 4008890367, +STORE, 4008890368, 4008898559, +STORE, 4008898560, 4008902655, +STORE, 4008902656, 4008996863, +STORE, 4008996864, 4009041919, +STORE, 4009041920, 4009082879, +STORE, 4009082880, 4009091071, +STORE, 4009091072, 4009107455, +STORE, 4009107456, 4009349119, +STORE, 4009349120, 4009373695, +STORE, 4009373696, 4009414655, +STORE, 4009414656, 4009422847, +STORE, 4009422848, 4009426943, +STORE, 4009426944, 4009447423, +STORE, 4009447424, 4009471999, +STORE, 4009472000, 4009512959, +STORE, 4009512960, 4009594879, +STORE, 4009594880, 4009598975, +STORE, 4009598976, 4009697279, +STORE, 4009697280, 4009713663, +STORE, 4009713664, 4009717759, +STORE, 4009717760, 4009721855, +STORE, 4009721856, 4009730047, +STORE, 4009730048, 4009861119, +STORE, 4009861120, 4009951231, +STORE, 4009951232, 4010131455, +STORE, 4010131456, 4010135551, +STORE, 4010135552, 4010139647, +STORE, 4010139648, 4010143743, +STORE, 4010143744, 4010164223, +STORE, 4010164224, 4010295295, +STORE, 4010295296, 4010299391, +STORE, 4010299392, 4010491903, +STORE, 4010491904, 4010495999, +STORE, 4010496000, 4010668031, +STORE, 4010668032, 4011028479, +STORE, 4011028480, 4011053055, +STORE, 4011053056, 4011057151, +STORE, 4011057152, 4011118591, +STORE, 4011118592, 4011126783, +STORE, 4011126784, 4011130879, +STORE, 4011130880, 4011143167, +STORE, 4011143168, 4011147263, +STORE, 4011147264, 4011167743, +STORE, 4011167744, 4011171839, +STORE, 4011171840, 4011360255, +STORE, 4011360256, 4011364351, +STORE, 4011364352, 4011626495, +STORE, 4011626496, 4012216319, +STORE, 4012216320, 4012228607, +STORE, 4012228608, 4012232703, +STORE, 4012232704, 4012236799, +STORE, 4012236800, 4012240895, +STORE, 4012240896, 4012261375, +STORE, 4012261376, 4012392447, +STORE, 4012392448, 4012466175, +STORE, 4012466176, 4012597247, +STORE, 4012597248, 4012601343, +STORE, 4012601344, 4012605439, +STORE, 4012605440, 4012609535, +STORE, 4012609536, 4012679167, +STORE, 4012679168, 4013563903, +STORE, 4013563904, 4015366143, +STORE, 4015366144, 4015411199, +STORE, 4015411200, 4015415295, +STORE, 4015415296, 4015419391, +STORE, 4015419392, 4015542271, +STORE, 4015542272, 4015550463, +STORE, 4015550464, 4015558655, +STORE, 4015558656, 4015562751, +STORE, 4015562752, 4015583231, +STORE, 4015583232, 4015587327, +STORE, 4015587328, 4015603711, +STORE, 4015665152, 4015669247, +STORE, 4015669248, 4015812607, +STORE, 4015812608, 4015816703, +STORE, 4015816704, 4016111615, +STORE, 4016111616, 4016467967, +STORE, 4016467968, 4016508927, +STORE, 4016508928, 4016517119, +STORE, 4016517120, 4016525311, +STORE, 4016525312, 4016586751, +STORE, 4016586752, 4016664575, +STORE, 4016664576, 4016697343, +STORE, 4016697344, 4016742399, +STORE, 4016742400, 4016746495, +STORE, 4016746496, 4016750591, +STORE, 4016750592, 4016758783, +STORE, 4016799744, 4016844799, +STORE, 4016844800, 4016902143, +STORE, 4016902144, 4016992255, +STORE, 4016992256, 4017000447, +STORE, 4017000448, 4017004543, +STORE, 4017004544, 4017008639, +STORE, 4017008640, 4017016831, +STORE, 4017016832, 4017020927, +STORE, 4017020928, 4017127423, +STORE, 4017127424, 4017131519, +STORE, 4017131520, 4017229823, +STORE, 4017229824, 4017422335, +STORE, 4017422336, 4017438719, +STORE, 4017438720, 4017442815, +STORE, 4017442816, 4017446911, +STORE, 4017446912, 4017455103, +STORE, 4017455104, 4017766399, +STORE, 4017766400, 4017909759, +STORE, 4017909760, 4018081791, +STORE, 4018081792, 4018089983, +STORE, 4018089984, 4018094079, +STORE, 4018094080, 4018098175, +STORE, 4018098176, 4018327551, +STORE, 4018327552, 4018331647, +STORE, 4018331648, 4018339839, +STORE, 4018339840, 4018348031, +STORE, 4018348032, 4018610175, +STORE, 4018610176, 4018626559, +STORE, 4018626560, 4018647039, +STORE, 4018647040, 4018651135, +STORE, 4018651136, 4018749439, +STORE, 4018749440, 4018761727, +STORE, 4018761728, 4018802687, +STORE, 4018802688, 4018806783, +STORE, 4018806784, 4018810879, +STORE, 4018810880, 4018814975, +STORE, 4018814976, 4018823167, +STORE, 4018823168, 4018954239, +STORE, 4018954240, 4019007487, +STORE, 4019007488, 4019068927, +STORE, 4019068928, 4019077119, +STORE, 4019077120, 4019081215, +STORE, 4019081216, 4019093503, +STORE, 4019093504, 4019208191, +STORE, 4019208192, 4019232767, +STORE, 4019232768, 4019265535, +STORE, 4019265536, 4019269631, +STORE, 4019269632, 4019277823, +STORE, 4019277824, 4019458047, +STORE, 4019458048, 4019519487, +STORE, 4019519488, 4019613695, +STORE, 4019613696, 4019621887, +STORE, 4019621888, 4019625983, +STORE, 4019625984, 4019630079, +STORE, 4019630080, 4019744767, +STORE, 4019744768, 4019822591, +STORE, 4019822592, 4019929087, +STORE, 4019929088, 4019941375, +STORE, 4019941376, 4019945471, +STORE, 4019945472, 4019961855, +STORE, 4019961856, 4019994623, +STORE, 4019994624, 4019998719, +STORE, 4019998720, 4020002815, +STORE, 4020002816, 4020006911, +STORE, 4020006912, 4020011007, +STORE, 4020011008, 4020256767, +STORE, 4020256768, 4020326399, +STORE, 4020326400, 4020457471, +STORE, 4020457472, 4020469759, +STORE, 4020469760, 4020473855, +STORE, 4020473856, 4020482047, +STORE, 4020482048, 4020711423, +STORE, 4020711424, 4020715519, +STORE, 4020715520, 4020719615, +STORE, 4020719616, 4020723711, +STORE, 4020723712, 4020805631, +STORE, 4020805632, 4021051391, +STORE, 4021051392, 4021460991, +STORE, 4021460992, 4021469183, +STORE, 4021469184, 4021473279, +STORE, 4021473280, 4021571583, +STORE, 4021571584, 4021633023, +STORE, 4021633024, 4021727231, +STORE, 4021727232, 4021735423, +STORE, 4021735424, 4021739519, +STORE, 4021739520, 4021747711, +STORE, 4021747712, 4021829631, +STORE, 4021829632, 4021866495, +STORE, 4021866496, 4021919743, +STORE, 4021919744, 4021927935, +STORE, 4021927936, 4021932031, +STORE, 4021932032, 4021944319, +STORE, 4021944320, 4022157311, +STORE, 4022157312, 4022161407, +STORE, 4022161408, 4022173695, +STORE, 4022173696, 4022177791, +STORE, 4022177792, 4022472703, +STORE, 4022472704, 4022509567, +STORE, 4022509568, 4022583295, +STORE, 4022583296, 4022587391, +STORE, 4022587392, 4022591487, +STORE, 4022591488, 4022607871, +STORE, 4022607872, 4022657023, +STORE, 4022657024, 4022722559, +STORE, 4022722560, 4022730751, +STORE, 4022730752, 4022734847, +STORE, 4022734848, 4022865919, +STORE, 4022865920, 4022943743, +STORE, 4022943744, 4023062527, +STORE, 4023062528, 4023074815, +STORE, 4023074816, 4023078911, +STORE, 4023078912, 4023128063, +STORE, 4023128064, 4023218175, +STORE, 4023218176, 4023361535, +STORE, 4023361536, 4023373823, +STORE, 4023373824, 4023377919, +STORE, 4023377920, 4023558143, +STORE, 4023558144, 4023631871, +STORE, 4023631872, 4023816191, +STORE, 4023816192, 4023820287, +STORE, 4023820288, 4023824383, +STORE, 4023824384, 4023832575, +STORE, 4023832576, 4024078335, +STORE, 4024078336, 4024197119, +STORE, 4024197120, 4024389631, +STORE, 4024389632, 4024406015, +STORE, 4024406016, 4024410111, +STORE, 4024410112, 4024422399, +STORE, 4024422400, 4024619007, +STORE, 4024619008, 4024639487, +STORE, 4024639488, 4024655871, +STORE, 4024655872, 4024664063, +STORE, 4024664064, 4024668159, +STORE, 4024668160, 4024676351, +STORE, 4024676352, 4024905727, +STORE, 4024905728, 4024909823, +STORE, 4024909824, 4024918015, +STORE, 4024918016, 4024922111, +STORE, 4024922112, 4024930303, +STORE, 4024930304, 4025110527, +STORE, 4025110528, 4025176063, +STORE, 4025176064, 4025208831, +STORE, 4025208832, 4025212927, +STORE, 4025212928, 4025217023, +STORE, 4025217024, 4025348095, +STORE, 4025348096, 4025372671, +STORE, 4025372672, 4025458687, +STORE, 4025458688, 4025466879, +STORE, 4025466880, 4025565183, +STORE, 4025565184, 4025757695, +STORE, 4025757696, 4026249215, +STORE, 4026249216, 4026261503, +STORE, 4026261504, 4026265599, +STORE, 4026265600, 4026269695, +STORE, 4026269696, 4026302463, +STORE, 4026302464, 4026306559, +STORE, 4026306560, 4026314751, +STORE, 4026314752, 4026318847, +STORE, 4026318848, 4026322943, +STORE, 4026322944, 4026327039, +STORE, 4026327040, 4026654719, +STORE, 4026654720, 4026671103, +STORE, 4026671104, 4026720255, +STORE, 4026720256, 4026724351, +STORE, 4026724352, 4026728447, +STORE, 4026728448, 4026732543, +STORE, 4026732544, 4026863615, +STORE, 4026863616, 4027027455, +STORE, 4027027456, 4027031551, +STORE, 4027031552, 4027514879, +STORE, 4027514880, 4027531263, +STORE, 4027531264, 4027535359, +STORE, 4027535360, 4027539455, +STORE, 4027539456, 4027785215, +STORE, 4027785216, 4027789311, +STORE, 4027789312, 4027793407, +STORE, 4027793408, 4027797503, +STORE, 4027797504, 4027863039, +STORE, 4027863040, 4027899903, +STORE, 4027899904, 4027949055, +STORE, 4027949056, 4027957247, +STORE, 4027957248, 4027961343, +STORE, 4027961344, 4027965439, +STORE, 4027965440, 4028194815, +STORE, 4028194816, 4028252159, +STORE, 4028252160, 4028338175, +STORE, 4028338176, 4028350463, +STORE, 4028350464, 4028354559, +STORE, 4028354560, 4028452863, +STORE, 4028452864, 4028489727, +STORE, 4028489728, 4028530687, +STORE, 4028530688, 4028538879, +STORE, 4028538880, 4028542975, +STORE, 4028542976, 4028551167, +STORE, 4028551168, 4028665855, +STORE, 4028665856, 4029349887, +STORE, 4029349888, 4030468095, +STORE, 4030468096, 4030513151, +STORE, 4030513152, 4030517247, +STORE, 4030517248, 4030525439, +STORE, 4030525440, 4030529535, +STORE, 4030529536, 4030758911, +STORE, 4030758912, 4030828543, +STORE, 4030828544, 4030943231, +STORE, 4030943232, 4030951423, +STORE, 4030951424, 4030955519, +STORE, 4030955520, 4030967807, +STORE, 4030967808, 4031131647, +STORE, 4031131648, 4031135743, +STORE, 4031135744, 4031139839, +STORE, 4031139840, 4031148031, +STORE, 4031148032, 4031152127, +STORE, 4031152128, 4031160319, +STORE, 4031160320, 4031504383, +STORE, 4031504384, 4031598591, +STORE, 4031598592, 4031754239, +STORE, 4031754240, 4031766527, +STORE, 4031766528, 4031770623, +STORE, 4031770624, 4031774719, +STORE, 4031774720, 4031782911, +STORE, 4031782912, 4031799295, +STORE, 4031799296, 4031856639, +STORE, 4031856640, 4031983615, +STORE, 4031983616, 4031987711, +STORE, 4031987712, 4031991807, +STORE, 4031991808, 4032270335, +STORE, 4032270336, 4032274431, +STORE, 4032274432, 4032282623, +STORE, 4032282624, 4032286719, +STORE, 4032286720, 4032290815, +STORE, 4032290816, 4032389119, +STORE, 4032389120, 4032397311, +STORE, 4032397312, 4032405503, +STORE, 4032405504, 4032413695, +STORE, 4032413696, 4032417791, +STORE, 4032417792, 4032565247, +STORE, 4032565248, 4032593919, +STORE, 4032593920, 4032737279, +STORE, 4032737280, 4032741375, +STORE, 4032741376, 4032745471, +STORE, 4032745472, 4032770047, +STORE, 4032770048, 4032933887, +STORE, 4032933888, 4032999423, +STORE, 4032999424, 4033032191, +STORE, 4033032192, 4033036287, +STORE, 4033036288, 4033040383, +STORE, 4033040384, 4033105919, +STORE, 4033105920, 4033396735, +STORE, 4033396736, 4033822719, +STORE, 4033822720, 4033839103, +STORE, 4033839104, 4033843199, +STORE, 4033843200, 4033851391, +STORE, 4033851392, 4033863679, +STORE, 4033863680, 4033880063, +STORE, 4033880064, 4033933311, +STORE, 4033933312, 4034023423, +STORE, 4034023424, 4034031615, +STORE, 4034031616, 4034035711, +STORE, 4034035712, 4034043903, +STORE, 4034043904, 4034142207, +STORE, 4034142208, 4034191359, +STORE, 4034191360, 4034260991, +STORE, 4034260992, 4034269183, +STORE, 4034269184, 4034273279, +STORE, 4034273280, 4034281471, +STORE, 4034281472, 4034412543, +STORE, 4034412544, 4034445311, +STORE, 4034445312, 4034490367, +STORE, 4034490368, 4034494463, +STORE, 4034494464, 4034498559, +STORE, 4034498560, 4034662399, +STORE, 4034662400, 4034666495, +STORE, 4034666496, 4034670591, +STORE, 4034670592, 4034674687, +STORE, 4034674688, 4034678783, +STORE, 4034678784, 4034682879, +STORE, 4034682880, 4034781183, +STORE, 4034781184, 4035043327, +STORE, 4035043328, 4035047423, +STORE, 4035047424, 4035055615, +STORE, 4035055616, 4035059711, +STORE, 4035059712, 4035063807, +STORE, 4035063808, 4035067903, +STORE, 4035067904, 4035100671, +STORE, 4035100672, 4035375103, +STORE, 4035375104, 4035383295, +STORE, 4035383296, 4035395583, +STORE, 4035395584, 4035399679, +STORE, 4035399680, 4035403775, +STORE, 4035403776, 4035407871, +STORE, 4035407872, 4035411967, +STORE, 4035411968, 4035477503, +STORE, 4035477504, 4035608575, +STORE, 4035608576, 4035641343, +STORE, 4035641344, 4035682303, +STORE, 4035682304, 4035686399, +STORE, 4035686400, 4035690495, +STORE, 4035690496, 4035694591, +STORE, 4035694592, 4035743743, +STORE, 4035743744, 4035784703, +STORE, 4035784704, 4035829759, +STORE, 4035829760, 4035837951, +STORE, 4035837952, 4035842047, +STORE, 4035842048, 4035846143, +STORE, 4035846144, 4035850239, +STORE, 4035850240, 4036001791, +STORE, 4036001792, 4036005887, +STORE, 4036005888, 4036214783, +STORE, 4036214784, 4036218879, +STORE, 4036218880, 4036603903, +STORE, 4036603904, 4036648959, +STORE, 4036648960, 4036653055, +STORE, 4036653056, 4036657151, +STORE, 4036657152, 4036665343, +STORE, 4036665344, 4036780031, +STORE, 4036780032, 4036829183, +STORE, 4036829184, 4036984831, +STORE, 4036984832, 4036993023, +STORE, 4036993024, 4036997119, +STORE, 4036997120, 4037001215, +STORE, 4037001216, 4037009407, +STORE, 4037009408, 4037025791, +STORE, 4037025792, 4037095423, +STORE, 4037095424, 4037181439, +STORE, 4037181440, 4037193727, +STORE, 4037193728, 4037197823, +STORE, 4037197824, 4037206015, +STORE, 4037206016, 4037320703, +STORE, 4037320704, 4037337087, +STORE, 4037337088, 4037349375, +STORE, 4037349376, 4037357567, +STORE, 4037357568, 4037361663, +STORE, 4037369856, 4037386239, +STORE, 4037386240, 4037672959, +STORE, 4037672960, 4037689343, +STORE, 4037689344, 4037730303, +STORE, 4037730304, 4037734399, +STORE, 4037734400, 4037738495, +STORE, 4037738496, 4037742591, +STORE, 4037742592, 4037758975, +STORE, 4037758976, 4037890047, +STORE, 4037890048, 4037931007, +STORE, 4037931008, 4037976063, +STORE, 4037976064, 4037984255, +STORE, 4037984256, 4037988351, +STORE, 4037988352, 4038053887, +STORE, 4038053888, 4038184959, +STORE, 4038184960, 4038189055, +STORE, 4038189056, 4038197247, +STORE, 4038197248, 4038201343, +STORE, 4038201344, 4038205439, +STORE, 4038205440, 4038209535, +STORE, 4038217728, 4038250495, +STORE, 4038250496, 4038512639, +STORE, 4038512640, 4038516735, +STORE, 4038516736, 4038520831, +STORE, 4038520832, 4038524927, +STORE, 4038524928, 4038529023, +STORE, 4038529024, 4038533119, +STORE, 4038541312, 4038623231, +STORE, 4038623232, 4038754303, +STORE, 4038754304, 4038885375, +STORE, 4038885376, 4038889471, +STORE, 4038897664, 4038963199, +STORE, 4038963200, 4038967295, +STORE, 4038967296, 4038983679, +STORE, 4038983680, 4039114751, +STORE, 4039114752, 4039245823, +STORE, 4039245824, 4039376895, +STORE, 4039376896, 4040687615, +STORE, 4040687616, 4040691711, +STORE, 4040691712, 4040806399, +STORE, 4040806400, 4040937471, +STORE, 4040937472, 4040941567, +STORE, 4040945664, 4040949759, +STORE, 4040949760, 4041080831, +STORE, 4041080832, 4041211903, +STORE, 4041211904, 4043046911, +STORE, 4043046912, 4043051007, +STORE, 4043051008, 4043055103, +STORE, 4043055104, 4043137023, +STORE, 4043137024, 4043141119, +STORE, 4043141120, 4043145215, +STORE, 4043145216, 4043153407, +STORE, 4043153408, 4043186175, +STORE, 4043186176, 4043317247, +STORE, 4043317248, 4043448319, +STORE, 4043448320, 4043579391, +STORE, 4043579392, 4043583487, +STORE, 4043583488, 4043599871, +STORE, 4043599872, 4043661311, +STORE, 4043661312, 4043792383, +STORE, 4043792384, 4043796479, +STORE, 4043796480, 4043800575, +STORE, 4043800576, 4043816959, +STORE, 4043816960, 4043821055, +STORE, 4043821056, 4043825151, +STORE, 4043825152, 4043829247, +STORE, 4043829248, 4043833343, +STORE, 4043833344, 4047241215, +STORE, 4047241216, 4047249407, +STORE, 4047249408, 4047253503, +STORE, 4047253504, 4047323135, +STORE, 4047323136, 4047327231, +STORE, 4047327232, 4047458303, +STORE, 4047458304, 4047589375, +STORE, 4047589376, 4047720447, +STORE, 4047720448, 4047773695, +STORE, 4047773696, 4047790079, +STORE, 4047790080, 4047921151, +STORE, 4047921152, 4048052223, +STORE, 4048052224, 4048183295, +STORE, 4048183296, 4049002495, +STORE, 4049002496, 4049133567, +STORE, 4049133568, 4049154047, +STORE, 4049154048, 4049158143, +STORE, 4049158144, 4049162239, +STORE, 4049162240, 4049166335, +STORE, 4049166336, 4049174527, +STORE, 4049174528, 4049182719, +STORE, 4049182720, 4049186815, +STORE, 4049186816, 4049190911, +STORE, 4049190912, 4049195007, +STORE, 4049195008, 4049203199, +STORE, 4049203200, 4049207295, +STORE, 4049207296, 4049211391, +STORE, 4049211392, 4049215487, +STORE, 4049215488, 4049219583, +STORE, 4049219584, 4049227775, +STORE, 4049227776, 4049231871, +STORE, 4049231872, 4049235967, +STORE, 4049235968, 4049244159, +STORE, 4049244160, 4049248255, +STORE, 4049248256, 4049252351, +STORE, 4049252352, 4049256447, +STORE, 4049256448, 4049268735, +STORE, 4049268736, 4049272831, +STORE, 4049272832, 4049313791, +STORE, 4049313792, 4049723391, +STORE, 4049723392, 4049727487, +STORE, 4049727488, 4049858559, +STORE, 4049858560, 4049989631, +STORE, 4049989632, 4049993727, +STORE, 4049993728, 4050026495, +STORE, 4050026496, 4050030591, +STORE, 4050030592, 4050161663, +STORE, 4050161664, 4050169855, +STORE, 4050169856, 4050223103, +STORE, 4050223104, 4050632703, +STORE, 4050632704, 4050636799, +STORE, 4050636800, 4050640895, +STORE, 4050640896, 4050644991, +STORE, 4050644992, 4050661375, +STORE, 4050661376, 4050665471, +STORE, 4050665472, 4050673663, +STORE, 4050673664, 4050677759, +STORE, 4050677760, 4050694143, +STORE, 4050694144, 4050702335, +STORE, 4050702336, 4050956287, +STORE, 4050956288, 4051963903, +STORE, 4051963904, 4051980287, +STORE, 4051980288, 4051988479, +STORE, 4051988480, 4052000767, +STORE, 4052000768, 4052004863, +STORE, 4052004864, 4052029439, +STORE, 4284014592, 4284018687, +STORE, 4284018688, 4292403199, +SNULL, 4041080832, 4041211903, +SNULL, 3795763200, 3795894271, +STORE, 3629522944, 3696631807, +SNULL, 3663077375, 3696631807, +STORE, 3629522944, 3663077375, +STORE, 3663077376, 3696631807, +SNULL, 3663077376, 3696631807, +STORE, 3663077376, 3696631807, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3626471424, 3627524095, +SNULL, 3626471424, 3626475519, +STORE, 3626475520, 3627524095, +STORE, 3626471424, 3626475519, +SNULL, 3627519999, 3627524095, +STORE, 3626475520, 3627519999, +STORE, 3627520000, 3627524095, +STORE, 3625418752, 3626475519, +SNULL, 3625418752, 3625422847, +STORE, 3625422848, 3626475519, +STORE, 3625418752, 3625422847, +SNULL, 3626467327, 3626475519, +STORE, 3625422848, 3626467327, +STORE, 3626467328, 3626475519, +STORE, 3624366080, 3625422847, +SNULL, 3624366080, 3624370175, +STORE, 3624370176, 3625422847, +STORE, 3624366080, 3624370175, +SNULL, 3625414655, 3625422847, +STORE, 3624370176, 3625414655, +STORE, 3625414656, 3625422847, +STORE, 4041191424, 4041211903, +SNULL, 4041195519, 4041211903, +STORE, 4041191424, 4041195519, +STORE, 4041195520, 4041211903, +STORE, 4041170944, 4041191423, +SNULL, 4041175039, 4041191423, +STORE, 4041170944, 4041175039, +STORE, 4041175040, 4041191423, +SNULL, 3625426943, 3626467327, +STORE, 3625422848, 3625426943, +STORE, 3625426944, 3626467327, +STORE, 4041162752, 4041170943, +SNULL, 3626479615, 3627519999, +STORE, 3626475520, 3626479615, +STORE, 3626479616, 3627519999, +STORE, 4041154560, 4041162751, +STORE, 4041154560, 4041170943, +STORE, 4041134080, 4041154559, +SNULL, 4041138175, 4041154559, +STORE, 4041134080, 4041138175, +STORE, 4041138176, 4041154559, +SNULL, 3624374271, 3625414655, +STORE, 3624370176, 3624374271, +STORE, 3624374272, 3625414655, +STORE, 4041125888, 4041134079, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +STORE, 3487174656, 3487584255, +STORE, 4041121792, 4041125887, +SNULL, 4041121792, 4041125887, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 3487174656, 3487584255, +STORE, 3222274048, 3223326719, +SNULL, 3222274048, 3222278143, +STORE, 3222278144, 3223326719, +STORE, 3222274048, 3222278143, +SNULL, 3223322623, 3223326719, +STORE, 3222278144, 3223322623, +STORE, 3223322624, 3223326719, +STORE, 3221221376, 3222278143, +SNULL, 3221221376, 3221225471, +STORE, 3221225472, 3222278143, +STORE, 3221221376, 3221225471, +SNULL, 3222269951, 3222278143, +STORE, 3221225472, 3222269951, +STORE, 3222269952, 3222278143, +STORE, 3220168704, 3221225471, +SNULL, 3220168704, 3220172799, +STORE, 3220172800, 3221225471, +STORE, 3220168704, 3220172799, +SNULL, 3221217279, 3221225471, +STORE, 3220172800, 3221217279, +STORE, 3221217280, 3221225471, +STORE, 4041117696, 4041125887, +STORE, 4041117696, 4041134079, +STORE, 3219083264, 3220172799, +SNULL, 3219083264, 3219087359, +STORE, 3219087360, 3220172799, +STORE, 3219083264, 3219087359, +SNULL, 3220164607, 3220172799, +STORE, 3219087360, 3220164607, +STORE, 3220164608, 3220172799, +STORE, 4041109504, 4041117695, +STORE, 4041109504, 4041134079, +STORE, 3217997824, 3219087359, +SNULL, 3217997824, 3218001919, +STORE, 3218001920, 3219087359, +STORE, 3217997824, 3218001919, +SNULL, 3219079167, 3219087359, +STORE, 3218001920, 3219079167, +STORE, 3219079168, 3219087359, +STORE, 4041101312, 4041109503, +STORE, 4041101312, 4041134079, +STORE, 3216912384, 3218001919, +SNULL, 3216912384, 3216916479, +STORE, 3216916480, 3218001919, +STORE, 3216912384, 3216916479, +SNULL, 3217993727, 3218001919, +STORE, 3216916480, 3217993727, +STORE, 3217993728, 3218001919, +STORE, 4041093120, 4041101311, +STORE, 4041093120, 4041134079, +STORE, 3215826944, 3216916479, +SNULL, 3215826944, 3215831039, +STORE, 3215831040, 3216916479, +STORE, 3215826944, 3215831039, +SNULL, 3216908287, 3216916479, +STORE, 3215831040, 3216908287, +STORE, 3216908288, 3216916479, +STORE, 4016779264, 4016799743, +SNULL, 4016783359, 4016799743, +STORE, 4016779264, 4016783359, +STORE, 4016783360, 4016799743, +STORE, 4016758784, 4016779263, +SNULL, 4016762879, 4016779263, +STORE, 4016758784, 4016762879, +STORE, 4016762880, 4016779263, +SNULL, 3222282239, 3223322623, +STORE, 3222278144, 3222282239, +STORE, 3222282240, 3223322623, +STORE, 4041084928, 4041093119, +STORE, 4041084928, 4041134079, +SNULL, 3221229567, 3222269951, +STORE, 3221225472, 3221229567, +STORE, 3221229568, 3222269951, +STORE, 4015644672, 4015665151, +STORE, 4038889472, 4038897663, +SNULL, 4015648767, 4015665151, +STORE, 4015644672, 4015648767, +STORE, 4015648768, 4015665151, +STORE, 4015624192, 4015644671, +SNULL, 4015628287, 4015644671, +STORE, 4015624192, 4015628287, +STORE, 4015628288, 4015644671, +SNULL, 3219091455, 3220164607, +STORE, 3219087360, 3219091455, +STORE, 3219091456, 3220164607, +STORE, 4015603712, 4015624191, +SNULL, 4015607807, 4015624191, +STORE, 4015603712, 4015607807, +STORE, 4015607808, 4015624191, +SNULL, 3218006015, 3219079167, +STORE, 3218001920, 3218006015, +STORE, 3218006016, 3219079167, +STORE, 3949674496, 3949694975, +SNULL, 3949678591, 3949694975, +STORE, 3949674496, 3949678591, +STORE, 3949678592, 3949694975, +SNULL, 3216920575, 3217993727, +STORE, 3216916480, 3216920575, +STORE, 3216920576, 3217993727, +STORE, 3948924928, 3948945407, +SNULL, 3948929023, 3948945407, +STORE, 3948924928, 3948929023, +STORE, 3948929024, 3948945407, +SNULL, 3215835135, 3216908287, +STORE, 3215831040, 3215835135, +STORE, 3215835136, 3216908287, +SNULL, 3220176895, 3221217279, +STORE, 3220172800, 3220176895, +STORE, 3220176896, 3221217279, +STORE, 3214786560, 3215826943, +STORE, 3213733888, 3214786559, +SNULL, 3213733888, 3213737983, +STORE, 3213737984, 3214786559, +STORE, 3213733888, 3213737983, +SNULL, 3214782463, 3214786559, +STORE, 3213737984, 3214782463, +STORE, 3214782464, 3214786559, +STORE, 4038533120, 4038541311, +STORE, 3948421120, 3948441599, +SNULL, 3948425215, 3948441599, +STORE, 3948421120, 3948425215, +STORE, 3948425216, 3948441599, +SNULL, 3213742079, 3214782463, +STORE, 3213737984, 3213742079, +STORE, 3213742080, 3214782463, +STORE, 4038209536, 4038217727, +STORE, 3212681216, 3213737983, +SNULL, 3212681216, 3212685311, +STORE, 3212685312, 3213737983, +STORE, 3212681216, 3212685311, +SNULL, 3213729791, 3213737983, +STORE, 3212685312, 3213729791, +STORE, 3213729792, 3213737983, +STORE, 3795763200, 3795894271, +STORE, 3946872832, 3946893311, +SNULL, 3946876927, 3946893311, +STORE, 3946872832, 3946876927, +STORE, 3946876928, 3946893311, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +STORE, 3487174656, 3487584255, +SNULL, 3212689407, 3213729791, +STORE, 3212685312, 3212689407, +STORE, 3212689408, 3213729791, +STORE, 4041080832, 4041084927, +STORE, 4040941568, 4040945663, +STORE, 4037361664, 4037369855, +STORE, 4000817152, 4000821247, +STORE, 3999440896, 3999444991, +STORE, 3212161024, 3212681215, +SNULL, 3212161024, 3212439551, +STORE, 3212439552, 3212681215, +STORE, 3212161024, 3212439551, +SNULL, 3212161024, 3212439551, +SNULL, 3212464127, 3212681215, +STORE, 3212439552, 3212464127, +STORE, 3212464128, 3212681215, +SNULL, 3212464128, 3212681215, +SNULL, 3212439552, 3212451839, +STORE, 3212451840, 3212464127, +STORE, 3212439552, 3212451839, +SNULL, 3212439552, 3212451839, +STORE, 3212439552, 3212451839, +SNULL, 3212451840, 3212455935, +STORE, 3212455936, 3212464127, +STORE, 3212451840, 3212455935, +SNULL, 3212451840, 3212455935, +STORE, 3212451840, 3212455935, +SNULL, 3212455936, 3212460031, +STORE, 3212460032, 3212464127, +STORE, 3212455936, 3212460031, +SNULL, 3212455936, 3212460031, +STORE, 3212455936, 3212460031, +SNULL, 3212460032, 3212464127, +STORE, 3212460032, 3212464127, +STORE, 3997679616, 3997683711, +SNULL, 4049235968, 4049240063, +STORE, 4049240064, 4049244159, +STORE, 4049235968, 4049240063, +SNULL, 4049240064, 4049244159, +STORE, 4049240064, 4049244159, +SNULL, 3997679616, 3997683711, +SNULL, 3999440896, 3999444991, +SNULL, 4000817152, 4000821247, +SNULL, 4040941568, 4040945663, +SNULL, 4041080832, 4041084927, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 3487174656, 3487584255, +SNULL, 3212451840, 3212455935, +STORE, 3212451840, 3212455935, +STORE, 4041080832, 4041084927, +STORE, 3623890944, 3624169471, +SNULL, 4041080832, 4041084927, +STORE, 4041080832, 4041084927, +SNULL, 4041080832, 4041084927, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +STORE, 4041080832, 4041084927, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +STORE, 3211386880, 3212439551, +SNULL, 3211386880, 3211390975, +STORE, 3211390976, 3212439551, +STORE, 3211386880, 3211390975, +SNULL, 3212435455, 3212439551, +STORE, 3211390976, 3212435455, +STORE, 3212435456, 3212439551, +STORE, 4040941568, 4040945663, +STORE, 3937169408, 3937189887, +STORE, 3623485440, 3623616511, +SNULL, 717225983, 1388314623, +STORE, 314572800, 717225983, +STORE, 717225984, 1388314623, +SNULL, 717225984, 1388314623, +STORE, 3937112064, 3937132543, +SNULL, 3937116159, 3937132543, +STORE, 3937112064, 3937116159, +STORE, 3937116160, 3937132543, +SNULL, 3211395071, 3212435455, +STORE, 3211390976, 3211395071, +STORE, 3211395072, 3212435455, +STORE, 4000817152, 4000821247, +STORE, 3974823936, 3974832127, +STORE, 3595284480, 3595431935, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +STORE, 3487174656, 3487584255, +STORE, 3999440896, 3999444991, +STORE, 3997679616, 3997683711, +STORE, 3996295168, 3996299263, +STORE, 3996090368, 3996094463, +STORE, 3210866688, 3211386879, +SNULL, 3210866688, 3211001855, +STORE, 3211001856, 3211386879, +STORE, 3210866688, 3211001855, +SNULL, 3210866688, 3211001855, +SNULL, 3211038719, 3211386879, +STORE, 3211001856, 3211038719, +STORE, 3211038720, 3211386879, +SNULL, 3211038720, 3211386879, +SNULL, 3211001856, 3211022335, +STORE, 3211022336, 3211038719, +STORE, 3211001856, 3211022335, +SNULL, 3211001856, 3211022335, +STORE, 3211001856, 3211022335, +SNULL, 3211022336, 3211030527, +STORE, 3211030528, 3211038719, +STORE, 3211022336, 3211030527, +SNULL, 3211022336, 3211030527, +STORE, 3211022336, 3211030527, +SNULL, 3211030528, 3211034623, +STORE, 3211034624, 3211038719, +STORE, 3211030528, 3211034623, +SNULL, 3211030528, 3211034623, +STORE, 3211030528, 3211034623, +SNULL, 3211034624, 3211038719, +STORE, 3211034624, 3211038719, +STORE, 3994906624, 3994910719, +SNULL, 4049240064, 4049244159, +STORE, 4049240064, 4049244159, +SNULL, 3994906624, 3994910719, +SNULL, 3996090368, 3996094463, +SNULL, 3996295168, 3996299263, +SNULL, 3997679616, 3997683711, +SNULL, 3999440896, 3999444991, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 3487174656, 3487584255, +SNULL, 3211022336, 3211030527, +STORE, 3211022336, 3211030527, +STORE, 3999440896, 3999444991, +STORE, 3210199040, 3211001855, +SNULL, 3999440896, 3999444991, +STORE, 3999440896, 3999444991, +SNULL, 3999440896, 3999444991, +STORE, 3594821632, 3594952703, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 4048183296, 4048592895, +STORE, 4048592896, 4049002495, +STORE, 4048183296, 4048592895, +STORE, 4048183296, 4049002495, +SNULL, 1914101759, 1969434623, +STORE, 1914097664, 1914101759, +STORE, 1914101760, 1969434623, +STORE, 3567108096, 3567239167, +STORE, 3973832704, 3973840895, +STORE, 3209113600, 3210199039, +SNULL, 3209113600, 3209117695, +STORE, 3209117696, 3210199039, +STORE, 3209113600, 3209117695, +SNULL, 3210194943, 3210199039, +STORE, 3209117696, 3210194943, +STORE, 3210194944, 3210199039, +STORE, 3935858688, 3935879167, +SNULL, 3935862783, 3935879167, +STORE, 3935858688, 3935862783, +STORE, 3935862784, 3935879167, +SNULL, 3209121791, 3210194943, +STORE, 3209117696, 3209121791, +STORE, 3209121792, 3210194943, +STORE, 3528749056, 3528880127, +STORE, 3968200704, 3968208895, +STORE, 3208028160, 3209117695, +SNULL, 3208028160, 3208032255, +STORE, 3208032256, 3209117695, +STORE, 3208028160, 3208032255, +SNULL, 3209109503, 3209117695, +STORE, 3208032256, 3209109503, +STORE, 3209109504, 3209117695, +STORE, 3888123904, 3888144383, +SNULL, 3888127999, 3888144383, +STORE, 3888123904, 3888127999, +STORE, 3888128000, 3888144383, +SNULL, 3208036351, 3209109503, +STORE, 3208032256, 3208036351, +STORE, 3208036352, 3209109503, +SNULL, 3968200704, 3968208895, +SNULL, 3888123904, 3888144383, +SNULL, 3209109504, 3209113599, +STORE, 3209113600, 3209117695, +STORE, 3209109504, 3209113599, +SNULL, 3208028160, 3209113599, +STORE, 3208060928, 3209117695, +SNULL, 3208060928, 3208065023, +STORE, 3208065024, 3209117695, +STORE, 3208060928, 3208065023, +SNULL, 3209109503, 3209117695, +STORE, 3208065024, 3209109503, +STORE, 3209109504, 3209117695, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3888123904, 3888144383, +SNULL, 3888127999, 3888144383, +STORE, 3888123904, 3888127999, +STORE, 3888128000, 3888144383, +SNULL, 3208069119, 3209109503, +STORE, 3208065024, 3208069119, +STORE, 3208069120, 3209109503, +STORE, 3968200704, 3968208895, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3527778304, 3527909375, +STORE, 3999440896, 3999444991, +STORE, 3997679616, 3997683711, +STORE, 1914097664, 1914105855, +STORE, 1914105856, 1969434623, +STORE, 3957583872, 3957592063, +STORE, 3206975488, 3208065023, +SNULL, 3206975488, 3206979583, +STORE, 3206979584, 3208065023, +STORE, 3206975488, 3206979583, +SNULL, 3208056831, 3208065023, +STORE, 3206979584, 3208056831, +STORE, 3208056832, 3208065023, +STORE, 3956736000, 3956744191, +STORE, 3205890048, 3206979583, +SNULL, 3205890048, 3205894143, +STORE, 3205894144, 3206979583, +STORE, 3205890048, 3205894143, +SNULL, 3206971391, 3206979583, +STORE, 3205894144, 3206971391, +STORE, 3206971392, 3206979583, +STORE, 3806101504, 3806121983, +SNULL, 3806105599, 3806121983, +STORE, 3806101504, 3806105599, +STORE, 3806105600, 3806121983, +SNULL, 3206983679, 3208056831, +STORE, 3206979584, 3206983679, +STORE, 3206983680, 3208056831, +STORE, 3806081024, 3806101503, +SNULL, 3806085119, 3806101503, +STORE, 3806081024, 3806085119, +STORE, 3806085120, 3806101503, +SNULL, 3205898239, 3206971391, +STORE, 3205894144, 3205898239, +STORE, 3205898240, 3206971391, +STORE, 3956015104, 3956023295, +STORE, 3204804608, 3205894143, +SNULL, 3204804608, 3204808703, +STORE, 3204808704, 3205894143, +STORE, 3204804608, 3204808703, +SNULL, 3205885951, 3205894143, +STORE, 3204808704, 3205885951, +STORE, 3205885952, 3205894143, +STORE, 3803471872, 3803492351, +STORE, 3803451392, 3803471871, +STORE, 3803451392, 3803492351, +SNULL, 3957583872, 3957592063, +SNULL, 3806101504, 3806121983, +SNULL, 3206975487, 3206979583, +STORE, 3206971392, 3206975487, +STORE, 3206975488, 3206979583, +SNULL, 3208056832, 3208060927, +STORE, 3208060928, 3208065023, +STORE, 3208056832, 3208060927, +SNULL, 3206975488, 3208060927, +STORE, 3801845760, 3801878527, +STORE, 3806101504, 3806121983, +SNULL, 3806105599, 3806121983, +STORE, 3806101504, 3806105599, +STORE, 3806105600, 3806121983, +SNULL, 3204812799, 3205885951, +STORE, 3204808704, 3204812799, +STORE, 3204812800, 3205885951, +STORE, 1914097664, 1914109951, +STORE, 1914109952, 1969434623, +STORE, 3957583872, 3957592063, +STORE, 3206971392, 3208065023, +SNULL, 3206971392, 3206979583, +STORE, 3206979584, 3208065023, +STORE, 3206971392, 3206979583, +SNULL, 3208056831, 3208065023, +STORE, 3206979584, 3208056831, +STORE, 3208056832, 3208065023, +STORE, 3801825280, 3801845759, +SNULL, 3801829375, 3801845759, +STORE, 3801825280, 3801829375, +STORE, 3801829376, 3801845759, +SNULL, 3206983679, 3208056831, +STORE, 3206979584, 3206983679, +STORE, 3206983680, 3208056831, +STORE, 3202707456, 3204804607, +SNULL, 3202707456, 3204804607, +STORE, 3202707456, 3204804607, +STORE, 3200610304, 3202707455, +SNULL, 3202707456, 3204804607, +SNULL, 3200610304, 3202707455, +STORE, 3202707456, 3204804607, +SNULL, 3202707456, 3204804607, +STORE, 3202707456, 3204804607, +SNULL, 3202707456, 3204804607, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3527647232, 3527778303, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +STORE, 3487059968, 3487584255, +SNULL, 3487059968, 3487301631, +STORE, 3487301632, 3487584255, +STORE, 3487059968, 3487301631, +SNULL, 3487059968, 3487301631, +SNULL, 3487563775, 3487584255, +STORE, 3487301632, 3487563775, +STORE, 3487563776, 3487584255, +SNULL, 3487563776, 3487584255, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3524046848, 3524177919, +STORE, 3487170560, 3487301631, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3487039488, 3487170559, +STORE, 3487039488, 3487301631, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3204280320, 3204804607, +SNULL, 3204280320, 3204448255, +STORE, 3204448256, 3204804607, +STORE, 3204280320, 3204448255, +SNULL, 3204280320, 3204448255, +SNULL, 3204710399, 3204804607, +STORE, 3204448256, 3204710399, +STORE, 3204710400, 3204804607, +SNULL, 3204710400, 3204804607, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3996295168, 3996299263, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +SNULL, 3996295168, 3996299263, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3486908416, 3487039487, +STORE, 3486908416, 3487301631, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3223326720, 3290435583, +SNULL, 3223326720, 3256881151, +STORE, 3256881152, 3290435583, +STORE, 3223326720, 3256881151, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +STORE, 3201826816, 3202351103, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +STORE, 3202351104, 3204448255, +SNULL, 3202351104, 3204448255, +SNULL, 3803471871, 3803492351, +STORE, 3803451392, 3803471871, +STORE, 3803471872, 3803492351, +SNULL, 3803471872, 3803492351, +SNULL, 3803451392, 3803471871, +STORE, 3798999040, 3799101439, +SNULL, 3798999040, 3799101439, +STORE, 3952644096, 3952652287, +STORE, 3203362816, 3204448255, +SNULL, 3203362816, 3203366911, +STORE, 3203366912, 3204448255, +STORE, 3203362816, 3203366911, +SNULL, 3204444159, 3204448255, +STORE, 3203366912, 3204444159, +STORE, 3204444160, 3204448255, +STORE, 3803471872, 3803492351, +SNULL, 3803475967, 3803492351, +STORE, 3803471872, 3803475967, +STORE, 3803475968, 3803492351, +SNULL, 3203371007, 3204444159, +STORE, 3203366912, 3203371007, +STORE, 3203371008, 3204444159, +STORE, 3199729664, 3201826815, +SNULL, 3199729664, 3201826815, +STORE, 3199729664, 3201826815, +SNULL, 3199729664, 3201826815, +STORE, 3199729664, 3201826815, +SNULL, 3199729664, 3201826815, +STORE, 3199729664, 3201826815, +SNULL, 3199729664, 3201826815, +STORE, 3199729664, 3201826815, +SNULL, 3199729664, 3201826815, +STORE, 3200774144, 3201826815, +SNULL, 3200774144, 3200778239, +STORE, 3200778240, 3201826815, +STORE, 3200774144, 3200778239, +SNULL, 3201822719, 3201826815, +STORE, 3200778240, 3201822719, +STORE, 3201822720, 3201826815, +STORE, 3803451392, 3803471871, +SNULL, 3803455487, 3803471871, +STORE, 3803451392, 3803455487, +STORE, 3803455488, 3803471871, +SNULL, 3200782335, 3201822719, +STORE, 3200778240, 3200782335, +STORE, 3200782336, 3201822719, +STORE, 3949666304, 3949674495, +STORE, 3949408256, 3949416447, +STORE, 3199688704, 3200778239, +SNULL, 3199688704, 3199692799, +STORE, 3199692800, 3200778239, +STORE, 3199688704, 3199692799, +SNULL, 3200770047, 3200778239, +STORE, 3199692800, 3200770047, +STORE, 3200770048, 3200778239, +STORE, 3799306240, 3799326719, +SNULL, 3799310335, 3799326719, +STORE, 3799306240, 3799310335, +STORE, 3799310336, 3799326719, +SNULL, 3199696895, 3200770047, +STORE, 3199692800, 3199696895, +STORE, 3199696896, 3200770047, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +STORE, 3799277568, 3799306239, +SNULL, 3799277568, 3799306239, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +SNULL, 4041162751, 4041170943, +STORE, 4041154560, 4041162751, +STORE, 4041162752, 4041170943, +SNULL, 4041162752, 4041170943, +SNULL, 4041154560, 4041162751, +SNULL, 4041191424, 4041211903, +SNULL, 4041170944, 4041191423, +SNULL, 3626471423, 3626475519, +STORE, 3626467328, 3626471423, +STORE, 3626471424, 3626475519, +SNULL, 3626471424, 3627524095, +SNULL, 3625418751, 3625422847, +STORE, 3625414656, 3625418751, +STORE, 3625418752, 3625422847, +SNULL, 3625418752, 3626471423, +STORE, 3627393024, 3627524095, +STORE, 3627261952, 3627393023, +STORE, 3627261952, 3627524095, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +STORE, 3195494400, 3197591551, +SNULL, 3197591552, 3199688703, +SNULL, 3195494400, 3197591551, +STORE, 3197591552, 3199688703, +SNULL, 3197591552, 3199688703, +STORE, 3197591552, 3199688703, +STORE, 3195494400, 3197591551, +SNULL, 3197591552, 3199688703, +SNULL, 3195494400, 3197591551, +STORE, 3798999040, 3799101439, +SNULL, 3798999040, 3799101439, +/* + * mmap: unmapped_area_topdown: ffff9a9f14ddaa80 + * Gap was found: mt 4041162752 gap_end 4041183232 + * mmap: window was 4052029440 - 4096 size 28672 + * mmap: mas.min 4041154560 max 4041191423 mas.last 4041191423 + * mmap: mas.index 4041162752 align mask 0 offset 0 + * mmap: rb_find_vma find on 4041162752 => ffff9a9f03d19678 (ffff9a9f03d19678) + */ + }; + + unsigned long set43[] = { +STORE, 140737488347136, 140737488351231, +STORE, 140734187720704, 140737488351231, +SNULL, 140734187724800, 140737488351231, +STORE, 140734187589632, 140734187724799, +STORE, 4194304, 6443007, +STORE, 4337664, 6443007, +STORE, 4194304, 4337663, +SNULL, 4337664, 6443007, +STORE, 6430720, 6443007, +STORE, 206158430208, 206160674815, +STORE, 206158569472, 206160674815, +STORE, 206158430208, 206158569471, +SNULL, 206158569472, 206160674815, +STORE, 206160662528, 206160670719, +STORE, 206160670720, 206160674815, +STORE, 140734188756992, 140734188765183, +STORE, 140734188740608, 140734188756991, +STORE, 140501948112896, 140501948116991, + }; + + int count = 0; + void *ptr = NULL; + + MA_STATE(mas, mt, 0, 0); + + mt_set_non_kernel(3); + check_erase2_testset(mt, set, ARRAY_SIZE(set)); + mt_set_non_kernel(0); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set2, ARRAY_SIZE(set2)); + start = 140735933894656; + MT_BUG_ON(mt, !!mt_find(mt, &start, 140735933906943UL)); + mtree_destroy(mt); + + mt_set_non_kernel(2); + mt_init_flags(mt, 0); + check_erase2_testset(mt, set3, ARRAY_SIZE(set3)); + mt_set_non_kernel(0); + mtree_destroy(mt); + + mt_init_flags(mt, 0); + check_erase2_testset(mt, set4, ARRAY_SIZE(set4)); + rcu_read_lock(); + mas_for_each(&mas, entry, ULONG_MAX) { + if (xa_is_zero(entry)) + continue; + } + rcu_read_unlock(); + rcu_barrier(); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + mt_set_non_kernel(100); + check_erase2_testset(mt, set5, ARRAY_SIZE(set5)); + rcu_barrier(); + mt_set_non_kernel(0); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set6, ARRAY_SIZE(set6)); + rcu_barrier(); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set7, ARRAY_SIZE(set7)); + rcu_barrier(); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set8, ARRAY_SIZE(set8)); + rcu_barrier(); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set9, ARRAY_SIZE(set9)); + rcu_barrier(); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set10, ARRAY_SIZE(set10)); + rcu_barrier(); + mtree_destroy(mt); + + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set11, ARRAY_SIZE(set11)); + rcu_barrier(); + mas_empty_area_rev(&mas, 12288, 140014592737280, 0x2000); + MT_BUG_ON(mt, mas.last != 140014592573439); + mtree_destroy(mt); + + mas_reset(&mas); + mas.tree = mt; + count = 0; + mas.index = 0; + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set12, ARRAY_SIZE(set12)); + rcu_barrier(); + mas_for_each(&mas, entry, ULONG_MAX) { + if (xa_is_zero(entry)) + continue; + BUG_ON(count > 12); + count++; + } + mtree_destroy(mt); + + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set13, ARRAY_SIZE(set13)); + mtree_erase(mt, 140373516443648); + rcu_read_lock(); + mas_empty_area_rev(&mas, 0, 140373518663680, 4096); + rcu_read_unlock(); + mtree_destroy(mt); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set14, ARRAY_SIZE(set14)); + rcu_barrier(); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set15, ARRAY_SIZE(set15)); + rcu_barrier(); + mtree_destroy(mt); + + /* set16 was to find a bug on limit updating at slot 0. */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set16, ARRAY_SIZE(set16)); + rcu_barrier(); + mas_empty_area_rev(&mas, 4096, 139921865637888, 0x6000); + MT_BUG_ON(mt, mas.last != 139921865547775); + mt_set_non_kernel(0); + mtree_destroy(mt); + + /* + * set17 found a bug in walking backwards and not counting nulls at + * the end. This could cause a gap to be missed if the null had any + * size. + */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set17, ARRAY_SIZE(set17)); + rcu_barrier(); + mas_empty_area_rev(&mas, 4096, 139953197334528, 0x1000); + MT_BUG_ON(mt, mas.last != 139953197322239); +/* MT_BUG_ON(mt, mas.index != 139953197318144); */ + mt_set_non_kernel(0); + mtree_destroy(mt); + + /* + * set18 found a bug in walking backwards and not setting the max from + * the node, but using the parent node. This was only an issue if the + * next slot in the parent had what we needed. + */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set18, ARRAY_SIZE(set18)); + rcu_barrier(); + mas_empty_area_rev(&mas, 4096, 140222972858368, 2215936); + MT_BUG_ON(mt, mas.last != 140222968475647); + /*MT_BUG_ON(mt, mas.index != 140222966259712); */ + mt_set_non_kernel(0); + mtree_destroy(mt); + + /* + * set19 found 2 bugs in prev. + * 1. If we hit root without finding anything, then there was an + * infinite loop. + * 2. The first ascending wasn't using the correct slot which may have + * caused missed entries. + */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set19, ARRAY_SIZE(set19)); + rcu_barrier(); + mas.index = 140656779083776; + entry = mas_find(&mas, ULONG_MAX); + MT_BUG_ON(mt, entry != xa_mk_value(140656779083776)); + entry = mas_prev(&mas, 0); + MT_BUG_ON(mt, entry != xa_mk_value(140656766251008)); + mt_set_non_kernel(0); + mtree_destroy(mt); + + /* + * set20 found a bug in mas_may_move_gap due to the slot being + * overwritten during the __mas_add operation and setting it to zero. + */ + mt_set_non_kernel(99); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set20, ARRAY_SIZE(set20)); + rcu_barrier(); + check_load(mt, 94849009414144, NULL); + mt_set_non_kernel(0); + mtree_destroy(mt); + + mt_set_non_kernel(99); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set21, ARRAY_SIZE(set21)); + rcu_barrier(); + mt_validate(mt); + mt_set_non_kernel(0); + mtree_destroy(mt); + + mt_set_non_kernel(999); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set22, ARRAY_SIZE(set22)); + rcu_barrier(); + mt_validate(mt); + ptr = mtree_load(mt, 140551363362816); + MT_BUG_ON(mt, ptr == mtree_load(mt, 140551363420159)); + mt_set_non_kernel(0); + mtree_destroy(mt); + + mt_set_non_kernel(99); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set23, ARRAY_SIZE(set23)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + + mt_set_non_kernel(99); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set24, ARRAY_SIZE(set24)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + mt_set_non_kernel(99); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set25, ARRAY_SIZE(set25)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* Split on NULL followed by delete - causes gap issues. */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set26, ARRAY_SIZE(set26)); + rcu_barrier(); + mas_empty_area_rev(&mas, 4096, 140109042671616, 409600); + MT_BUG_ON(mt, mas.last != 140109040959487); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* Split on NULL followed by delete - causes gap issues. */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set27, ARRAY_SIZE(set27)); + rcu_barrier(); + MT_BUG_ON(mt, 0 != mtree_load(mt, 140415537422336)); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set28, ARRAY_SIZE(set28)); + rcu_barrier(); + mas_empty_area_rev(&mas, 4096, 139918413357056, 2097152); + /* Search for the size of gap then align it (offset 0) */ + mas.index = (mas.last + 1 - 2097152 - 0) & (~2093056); + MT_BUG_ON(mt, mas.index != 139918401601536); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* This test found issues with retry moving rebalanced nodes so the + * incorrect parent pivot was updated. + */ + mt_set_non_kernel(999); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set29, ARRAY_SIZE(set29)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* This test found issues with deleting all entries in a node when + * surrounded by entries in the next nodes, then deleting the entries + * surrounding the node filled with deleted entries. + */ + mt_set_non_kernel(999); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set30, ARRAY_SIZE(set30)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* This test found an issue with deleting all entries in a node that was + * the end node and mas_gap incorrectly set next = curr, and curr = prev + * then moved next to the left, losing data. + */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set31, ARRAY_SIZE(set31)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set32, ARRAY_SIZE(set32)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + +/* + * mmap: empty_area_topdown: ffff88821c9cb600 Gap was found: + * mt 140582827569152 gap_end 140582869532672 + * mmap: window was 140583656296448 - 4096 size 134217728 + * mmap: mas.min 94133881868288 max 140582961786879 mas.last 140582961786879 + * mmap: mas.index 140582827569152 align mask 0 offset 0 + * mmap: rb_find_vma find on + * 140582827569152 => ffff88821c5bad00 (ffff88821c5bad00) + */ + + /* move gap failed due to an entirely empty node */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set33, ARRAY_SIZE(set33)); + rcu_barrier(); + mas_empty_area_rev(&mas, 4096, 140583656296448, 134217728); + MT_BUG_ON(mt, mas.last != 140583003750399); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* + * Incorrect gap in tree caused by mas_prev not setting the limits + * correctly while walking down. + */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set34, ARRAY_SIZE(set34)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* Empty leaf at the end of a parent caused incorrect gap. */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set35, ARRAY_SIZE(set35)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + mt_set_non_kernel(99); + /* Empty leaf at the end of a parent caused incorrect gap. */ + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set36, ARRAY_SIZE(set36)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set37, ARRAY_SIZE(set37)); + rcu_barrier(); + MT_BUG_ON(mt, 0 != mtree_load(mt, 94637033459712)); + mt_validate(mt); + mtree_destroy(mt); + + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set38, ARRAY_SIZE(set38)); + rcu_barrier(); + MT_BUG_ON(mt, 0 != mtree_load(mt, 94637033459712)); + mt_validate(mt); + mtree_destroy(mt); + + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set39, ARRAY_SIZE(set39)); + rcu_barrier(); + mt_validate(mt); + mtree_destroy(mt); + + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set40, ARRAY_SIZE(set40)); + rcu_barrier(); + mt_validate(mt); + mtree_destroy(mt); + + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set41, ARRAY_SIZE(set41)); + rcu_barrier(); + mt_validate(mt); + mtree_destroy(mt); + + /* move gap failed due to an entirely empty node. */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set42, ARRAY_SIZE(set42)); + rcu_barrier(); + mas_empty_area_rev(&mas, 4096, 4052029440, 28672); + MT_BUG_ON(mt, mas.last != 4041211903); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); + + /* gap calc off by one */ + mt_set_non_kernel(99); + mas_reset(&mas); + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + check_erase2_testset(mt, set43, ARRAY_SIZE(set43)); + rcu_barrier(); + mt_set_non_kernel(0); + mt_validate(mt); + mtree_destroy(mt); +} +#endif + +/* End of VM testcases */ + +/* RCU stress testing */ + +/* RCU reader helper function */ +static void rcu_reader_register(struct rcu_test_struct2 *test) +{ + rcu_register_thread(); + uatomic_inc(&test->thread_count); + + while (!test->start) + usleep(test->pause * 100); +} + +static void rcu_reader_setup(struct rcu_reader_struct *reader, + unsigned int id, struct rcu_test_struct2 *test) +{ + reader->id = id; + reader->test = test; + reader->mod = reader->id % 10; + reader->del = (reader->mod + 1) % 10; + reader->flip = (reader->mod + 2) % 10; + reader->add = (reader->mod + 3) % 10; + reader->next = (reader->mod + 4) % 10; +} +/* RCU reader in increasing index */ +static void *rcu_reader_fwd(void *ptr) + +{ + struct rcu_reader_struct *reader = (struct rcu_reader_struct *)ptr; + struct rcu_test_struct2 *test = reader->test; + unsigned long index = reader->id; + bool toggled, modified, deleted, added; + int i; + void *entry, *prev = NULL; + MA_STATE(mas, test->mt, 0, 0); + + rcu_reader_register(test); + toggled = modified = deleted = added = false; + + while (!test->stop) { + i = 0; + /* mas_for_each ?*/ + rcu_read_lock(); + mas_set(&mas, test->index[index]); + mas_for_each(&mas, entry, test->last[index + 9]) { + unsigned long r_start, r_end, alt_start; + void *expected, *alt; + + r_start = test->index[index + i]; + r_end = test->last[index + i]; + expected = xa_mk_value(r_start); + + if (i == reader->del) { + if (!deleted) { + alt_start = test->index[index + reader->flip]; + /* delete occurred. */ + if (mas.index == alt_start) { + uatomic_inc(&test->seen_deleted); + deleted = true; + } + } + if (deleted) { + i = reader->flip; + r_start = test->index[index + i]; + r_end = test->last[index + i]; + expected = xa_mk_value(r_start); + } + } + + if (!added && (i == reader->add)) { + alt_start = test->index[index + reader->next]; + if (mas.index == r_start) { + uatomic_inc(&test->seen_added); + added = true; + } else if (mas.index == alt_start) { + i = reader->next; + r_start = test->index[index + i]; + r_end = test->last[index + i]; + expected = xa_mk_value(r_start); + } + } + + RCU_MT_BUG_ON(test, mas.index != r_start); + RCU_MT_BUG_ON(test, mas.last != r_end); + + if (i == reader->flip) { + alt = xa_mk_value(index + i + RCU_RANGE_COUNT); + if (prev) { + if (toggled && entry == expected) + uatomic_inc(&test->seen_toggle); + else if (!toggled && entry == alt) + uatomic_inc(&test->seen_toggle); + } + + if (entry == expected) + toggled = false; + else if (entry == alt) + toggled = true; + else { + printk("!!%lu-%lu -> %p not %p or %p\n", mas.index, mas.last, entry, expected, alt); + RCU_MT_BUG_ON(test, 1); + } + + prev = entry; + } else if (i == reader->mod) { + alt = xa_mk_value(index + i * 2 + 1 + + RCU_RANGE_COUNT); + if (entry != expected) { + if (!modified) + uatomic_inc(&test->seen_modified); + modified = true; + } else { + if (modified) + uatomic_inc(&test->seen_modified); + modified = false; + } + + if (modified) + RCU_MT_BUG_ON(test, entry != alt); + + } else { + if (entry != expected) + printk("!!%lu-%lu -> %p not %p\n", mas.index, mas.last, entry, expected); + RCU_MT_BUG_ON(test, entry != expected); + } + + i++; + } + rcu_read_unlock(); + usleep(test->pause); + } + + rcu_unregister_thread(); + return NULL; +} +/* RCU reader in decreasing index */ +static void *rcu_reader_rev(void *ptr) +{ + struct rcu_reader_struct *reader = (struct rcu_reader_struct *)ptr; + struct rcu_test_struct2 *test = reader->test; + unsigned long index = reader->id; + bool toggled, modified, deleted, added; + int i; + void *prev = NULL; + MA_STATE(mas, test->mt, 0, 0); + + rcu_reader_register(test); + toggled = modified = deleted = added = false; + + + while (!test->stop) { + void *entry; + + i = 9; + mas_set(&mas, test->index[index + i]); + + rcu_read_lock(); + while (i--) { + unsigned long r_start, r_end, alt_start; + void *expected, *alt; + int line = __LINE__; + + entry = mas_prev(&mas, test->index[index]); + r_start = test->index[index + i]; + r_end = test->last[index + i]; + expected = xa_mk_value(r_start); + + if (i == reader->del) { + alt_start = test->index[index + reader->mod]; + if (mas.index == alt_start) { + line = __LINE__; + if (!deleted) + uatomic_inc(&test->seen_deleted); + deleted = true; + } + if (deleted) { + line = __LINE__; + i = reader->mod; + r_start = test->index[index + i]; + r_end = test->last[index + i]; + expected = xa_mk_value(r_start); + } + } + if (!added && (i == reader->add)) { + alt_start = test->index[index + reader->flip]; + if (mas.index == r_start) { + line = __LINE__; + uatomic_inc(&test->seen_added); + added = true; + } else if (mas.index == alt_start) { + line = __LINE__; + i = reader->flip; + r_start = test->index[index + i]; + r_end = test->last[index + i]; + expected = xa_mk_value(r_start); + } + } + + if (i == reader->mod) + line = __LINE__; + else if (i == reader->flip) + line = __LINE__; + + if (mas.index != r_start) { + alt = xa_mk_value(index + i * 2 + 1 + + RCU_RANGE_COUNT); + mt_dump(test->mt); + printk("Error: %lu-%lu %p != %lu-%lu %p %p line %d i %d\n", + mas.index, mas.last, entry, + r_start, r_end, expected, alt, + line, i); + } + RCU_MT_BUG_ON(test, mas.index != r_start); + RCU_MT_BUG_ON(test, mas.last != r_end); + + if (i == reader->mod) { + alt = xa_mk_value(index + i * 2 + 1 + + RCU_RANGE_COUNT); + + if (entry != expected) { + if (!modified) + uatomic_inc(&test->seen_modified); + modified = true; + } else { + if (modified) + uatomic_inc(&test->seen_modified); + modified = false; + } + if (modified) + RCU_MT_BUG_ON(test, entry != alt); + + + } else if (i == reader->flip) { + alt = xa_mk_value(index + i + + RCU_RANGE_COUNT); + if (prev) { + if (toggled && entry == expected) + uatomic_inc(&test->seen_toggle); + else if (!toggled && entry == alt) + uatomic_inc(&test->seen_toggle); + } + + if (entry == expected) + toggled = false; + else if (entry == alt) + toggled = true; + else { + printk("%lu-%lu %p != %p or %p\n", + mas.index, mas.last, entry, + expected, alt); + RCU_MT_BUG_ON(test, 1); + } + + prev = entry; + } else { + if (entry != expected) + printk("%lu-%lu %p != %p\n", mas.index, + mas.last, entry, expected); + RCU_MT_BUG_ON(test, entry != expected); + } + } + rcu_read_unlock(); + usleep(test->pause); + } + + rcu_unregister_thread(); + return NULL; +} + +static void rcu_stress_rev(struct maple_tree *mt, struct rcu_test_struct2 *test, + int count, struct rcu_reader_struct *test_reader) +{ + int i, j = 10000; + bool toggle = true; + + test->start = true; /* Release the hounds! */ + usleep(5); + + while (j--) { + toggle = !toggle; + i = count; + while (i--) { + unsigned long start, end; + struct rcu_reader_struct *this = &test_reader[i]; + + /* Mod offset */ + if (j == 600) { + start = test->index[this->id + this->mod]; + end = test->last[this->id + this->mod]; + mtree_store_range(mt, start, end, + xa_mk_value(this->id + this->mod * 2 + + 1 + RCU_RANGE_COUNT), + GFP_KERNEL); + } + + /* Toggle */ + if (!(j % 5)) { + start = test->index[this->id + this->flip]; + end = test->last[this->id + this->flip]; + mtree_store_range(mt, start, end, + xa_mk_value((toggle ? start : + this->id + this->flip + + RCU_RANGE_COUNT)), + GFP_KERNEL); + } + + /* delete */ + if (j == 400) { + start = test->index[this->id + this->del]; + end = test->last[this->id + this->del]; + mtree_store_range(mt, start, end, NULL, GFP_KERNEL); + } + + /* add */ + if (j == 500) { + start = test->index[this->id + this->add]; + end = test->last[this->id + this->add]; + mtree_store_range(mt, start, end, + xa_mk_value(start), GFP_KERNEL); + } + } + usleep(test->pause); + /* If a test fails, don't flood the console */ + if (test->stop) + break; + } +} + +static void rcu_stress_fwd(struct maple_tree *mt, struct rcu_test_struct2 *test, + int count, struct rcu_reader_struct *test_reader) +{ + int j, i; + bool toggle = true; + + test->start = true; /* Release the hounds! */ + usleep(5); + for (j = 0; j < 10000; j++) { + toggle = !toggle; + for (i = 0; i < count; i++) { + unsigned long start, end; + struct rcu_reader_struct *this = &test_reader[i]; + + /* Mod offset */ + if (j == 600) { + start = test->index[this->id + this->mod]; + end = test->last[this->id + this->mod]; + mtree_store_range(mt, start, end, + xa_mk_value(this->id + this->mod * 2 + + 1 + RCU_RANGE_COUNT), + GFP_KERNEL); + } + + /* Toggle */ + if (!(j % 5)) { + start = test->index[this->id + this->flip]; + end = test->last[this->id + this->flip]; + mtree_store_range(mt, start, end, + xa_mk_value((toggle ? start : + this->id + this->flip + + RCU_RANGE_COUNT)), + GFP_KERNEL); + } + + /* delete */ + if (j == 400) { + start = test->index[this->id + this->del]; + end = test->last[this->id + this->del]; + mtree_store_range(mt, start, end, NULL, GFP_KERNEL); + } + + /* add */ + if (j == 500) { + start = test->index[this->id + this->add]; + end = test->last[this->id + this->add]; + mtree_store_range(mt, start, end, + xa_mk_value(start), GFP_KERNEL); + } + } + usleep(test->pause); + /* If a test fails, don't flood the console */ + if (test->stop) + break; + } +} + +/* + * This is to check: + * 1. Range that is not ever present + * 2. Range that is always present + * 3. Things being added but not removed. + * 4. Things being removed but not added. + * 5. Things are being added and removed, searches my succeed or fail + * + * This sets up two readers for every 10 entries; one forward and one reverse + * reading. + */ +static void rcu_stress(struct maple_tree *mt, bool forward) +{ + unsigned int count, i; + unsigned long r, seed; + pthread_t readers[RCU_RANGE_COUNT / 5]; + struct rcu_test_struct2 test; + struct rcu_reader_struct test_reader[RCU_RANGE_COUNT / 5]; + void *(*function)(void *); + + /* Test setup */ + test.mt = mt; + test.pause = 5; + test.seen_toggle = 0; + test.seen_deleted = 0; + test.seen_added = 0; + test.seen_modified = 0; + test.thread_count = 0; + test.start = test.stop = false; + seed = time(NULL); + srand(seed); + for (i = 0; i < RCU_RANGE_COUNT; i++) { + r = seed + rand(); + mtree_store_range(mt, seed, r, + xa_mk_value(seed), GFP_KERNEL); + + /* Record start and end of entry */ + test.index[i] = seed; + test.last[i] = r; + seed = 1 + r + rand() % 10; + } + + i = count = ARRAY_SIZE(readers); + while (i--) { + unsigned long id; + + id = i / 2 * 10; + if (i % 2) + function = rcu_reader_fwd; + else + function = rcu_reader_rev; + + rcu_reader_setup(&test_reader[i], id, &test); + if (pthread_create(&readers[i], NULL, *function, + &test_reader[i])) { + perror("creating reader thread"); + exit(1); + } + } + + for (i = 0; i < ARRAY_SIZE(readers); i++) { + struct rcu_reader_struct *this = &test_reader[i]; + int add = this->id + this->add; + + /* Remove add entries from the tree for later addition */ + mtree_store_range(mt, test.index[add], test.last[add], + NULL, GFP_KERNEL); + } + + mt_set_in_rcu(mt); + do { + usleep(5); + } while (test.thread_count > ARRAY_SIZE(readers)); + + if (forward) + rcu_stress_fwd(mt, &test, count, test_reader); + else + rcu_stress_rev(mt, &test, count, test_reader); + + test.stop = true; + while (count--) + pthread_join(readers[count], NULL); + + mt_validate(mt); +} + + +struct rcu_test_struct { + struct maple_tree *mt; /* the maple tree */ + int count; /* Number of times to check value(s) */ + unsigned long index; /* The first index to check */ + void *entry1; /* The first entry value */ + void *entry2; /* The second entry value */ + void *entry3; /* The third entry value */ + + bool update_2; + bool update_3; + unsigned long range_start; + unsigned long range_end; + unsigned int loop_sleep; + unsigned int val_sleep; + + unsigned int failed; /* failed detection for other threads */ + unsigned int seen_entry2; /* Number of threads that have seen the new value */ + unsigned int seen_entry3; /* Number of threads that have seen the new value */ + unsigned int seen_both; /* Number of threads that have seen both new values */ + unsigned int seen_toggle; + unsigned int seen_added; + unsigned int seen_removed; + unsigned long last; /* The end of the range to write. */ + + unsigned long removed; /* The index of the removed entry */ + unsigned long added; /* The index of the removed entry */ + unsigned long toggle; /* The index of the removed entry */ +}; + +static inline +int eval_rcu_entry(struct rcu_test_struct *test, void *entry, bool *update_2, + bool *update_3) +{ + if (entry == test->entry1) + return 0; + + if (entry == test->entry2) { + if (!(*update_2)) { + uatomic_inc(&test->seen_entry2); + *update_2 = true; + if (update_3) + uatomic_inc(&test->seen_both); + } + return 0; + } + + if (entry == test->entry3) { + if (!(*update_3)) { + uatomic_inc(&test->seen_entry3); + *update_3 = true; + if (update_2) + uatomic_inc(&test->seen_both); + } + return 0; + } + + return 1; +} + +/* + * rcu_val() - Read a given value in the tree test->count times using the + * regular API + * + * @ptr: The pointer to the rcu_test_struct + */ +static void *rcu_val(void *ptr) +{ + struct rcu_test_struct *test = (struct rcu_test_struct *)ptr; + unsigned long count = test->count; + bool update_2 = false; + bool update_3 = false; + void *entry; + + rcu_register_thread(); + while (count--) { + usleep(test->val_sleep); + /* + * No locking required, regular API locking is handled in the + * maple tree code + */ + entry = mtree_load(test->mt, test->index); + MT_BUG_ON(test->mt, eval_rcu_entry(test, entry, &update_2, + &update_3)); + } + rcu_unregister_thread(); + return NULL; +} + +/* + * rcu_loop() - Loop over a section of the maple tree, checking for an expected + * value using the advanced API + * + * @ptr - The pointer to the rcu_test_struct + */ +static void *rcu_loop(void *ptr) +{ + struct rcu_test_struct *test = (struct rcu_test_struct *)ptr; + unsigned long count = test->count; + void *entry, *expected; + bool update_2 = false; + bool update_3 = false; + MA_STATE(mas, test->mt, test->range_start, test->range_start); + + rcu_register_thread(); + + /* + * Loop through the test->range_start - test->range_end test->count + * times + */ + while (count--) { + usleep(test->loop_sleep); + rcu_read_lock(); + mas_for_each(&mas, entry, test->range_end) { + /* The expected value is based on the start range. */ + expected = xa_mk_value(mas.index ? mas.index / 10 : 0); + + /* Out of the interesting range */ + if (mas.index < test->index || mas.index > test->last) { + if (entry != expected) { + printk("%lx - %lx = %p not %p\n", + mas.index, mas.last, entry, expected); + } + MT_BUG_ON(test->mt, entry != expected); + continue; + } + + if (entry == expected) + continue; /* Not seen. */ + + /* In the interesting range */ + MT_BUG_ON(test->mt, eval_rcu_entry(test, entry, + &update_2, + &update_3)); + } + rcu_read_unlock(); + mas_set(&mas, test->range_start); + } + + rcu_unregister_thread(); + return NULL; +} + +static noinline +void run_check_rcu(struct maple_tree *mt, struct rcu_test_struct *vals) +{ + + int i; + void *(*function)(void *); + pthread_t readers[20]; + + mt_set_in_rcu(mt); + MT_BUG_ON(mt, !mt_in_rcu(mt)); + + for (i = 0; i < ARRAY_SIZE(readers); i++) { + if (i % 2) + function = rcu_loop; + else + function = rcu_val; + + if (pthread_create(&readers[i], NULL, *function, vals)) { + perror("creating reader thread"); + exit(1); + } + } + + usleep(5); /* small yield to ensure all threads are at least started. */ + mtree_store_range(mt, vals->index, vals->last, vals->entry2, + GFP_KERNEL); + while (i--) + pthread_join(readers[i], NULL); + + /* Make sure the test caught at least one update. */ + MT_BUG_ON(mt, !vals->seen_entry2); +} + +static noinline +void run_check_rcu_slowread(struct maple_tree *mt, struct rcu_test_struct *vals) +{ + + int i; + void *(*function)(void *); + pthread_t readers[20]; + unsigned int index = vals->index; + + mt_set_in_rcu(mt); + MT_BUG_ON(mt, !mt_in_rcu(mt)); + + for (i = 0; i < ARRAY_SIZE(readers); i++) { + if (i % 2) + function = rcu_loop; + else + function = rcu_val; + + if (pthread_create(&readers[i], NULL, *function, vals)) { + perror("creating reader thread"); + exit(1); + } + } + + usleep(5); /* small yield to ensure all threads are at least started. */ + + while (index <= vals->last) { + mtree_store(mt, index, + (index % 2 ? vals->entry2 : vals->entry3), + GFP_KERNEL); + index++; + usleep(5); + } + + while (i--) + pthread_join(readers[i], NULL); + + /* Make sure the test caught at least one update. */ + MT_BUG_ON(mt, !vals->seen_entry2); + MT_BUG_ON(mt, !vals->seen_entry3); + MT_BUG_ON(mt, !vals->seen_both); +} +static noinline void check_rcu_simulated(struct maple_tree *mt) +{ + unsigned long i, nr_entries = 1000; + unsigned long target = 4320; + unsigned long val = 0xDEAD; + + MA_STATE(mas_writer, mt, 0, 0); + MA_STATE(mas_reader, mt, target, target); + + rcu_register_thread(); + + mt_set_in_rcu(mt); + mas_lock(&mas_writer); + for (i = 0; i <= nr_entries; i++) { + mas_writer.index = i * 10; + mas_writer.last = i * 10 + 5; + mas_store_gfp(&mas_writer, xa_mk_value(i), GFP_KERNEL); + } + mas_unlock(&mas_writer); + + /* Overwrite one entry with a new value. */ + mas_set_range(&mas_writer, target, target + 5); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); + rcu_read_unlock(); + + /* Restore value. */ + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); + mas_unlock(&mas_writer); + mas_reset(&mas_reader); + + + /* Overwrite 1/2 the entry */ + mas_set_range(&mas_writer, target, target + 2); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); + rcu_read_unlock(); + + + /* Restore value. */ + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); + mas_unlock(&mas_writer); + mas_reset(&mas_reader); + + /* Overwrite last 1/2 the entry */ + mas_set_range(&mas_writer, target + 2, target + 5); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + rcu_read_unlock(); + + + /* Restore value. */ + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); + mas_unlock(&mas_writer); + mas_reset(&mas_reader); + + /* Overwrite more than the entry */ + mas_set_range(&mas_writer, target - 5, target + 15); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); + rcu_read_unlock(); + + /* Restore value. */ + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); + mas_unlock(&mas_writer); + mas_reset(&mas_reader); + + /* Overwrite more than the node. */ + mas_set_range(&mas_writer, target - 400, target + 400); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); + rcu_read_unlock(); + + /* Restore value. */ + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); + mas_unlock(&mas_writer); + mas_reset(&mas_reader); + + /* Overwrite the tree */ + mas_set_range(&mas_writer, 0, ULONG_MAX); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(val)); + rcu_read_unlock(); + + /* Clear out tree & recreate it */ + mas_lock(&mas_writer); + mas_set_range(&mas_writer, 0, ULONG_MAX); + mas_store_gfp(&mas_writer, NULL, GFP_KERNEL); + mas_set_range(&mas_writer, 0, 0); + for (i = 0; i <= nr_entries; i++) { + mas_writer.index = i * 10; + mas_writer.last = i * 10 + 5; + mas_store_gfp(&mas_writer, xa_mk_value(i), GFP_KERNEL); + } + mas_unlock(&mas_writer); + + /* next check */ + /* Overwrite one entry with a new value. */ + mas_reset(&mas_reader); + mas_set_range(&mas_writer, target, target + 5); + mas_set_range(&mas_reader, target, target); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_prev(&mas_reader, 0); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_next(&mas_reader, ULONG_MAX) != xa_mk_value(val)); + rcu_read_unlock(); + + /* Restore value. */ + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(target/10), GFP_KERNEL); + mas_unlock(&mas_writer); + + /* prev check */ + /* Overwrite one entry with a new value. */ + mas_reset(&mas_reader); + mas_set_range(&mas_writer, target, target + 5); + mas_set_range(&mas_reader, target, target); + rcu_read_lock(); + MT_BUG_ON(mt, mas_walk(&mas_reader) != xa_mk_value(target/10)); + mas_next(&mas_reader, ULONG_MAX); + mas_lock(&mas_writer); + mas_store_gfp(&mas_writer, xa_mk_value(val), GFP_KERNEL); + mas_unlock(&mas_writer); + MT_BUG_ON(mt, mas_prev(&mas_reader, 0) != xa_mk_value(val)); + rcu_read_unlock(); + + rcu_unregister_thread(); +} + +static noinline void check_rcu_threaded(struct maple_tree *mt) +{ + unsigned long i, nr_entries = 1000; + struct rcu_test_struct vals; + + vals.val_sleep = 200; + vals.loop_sleep = 110; + + rcu_register_thread(); + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i*10, i*10 + 5, + xa_mk_value(i), GFP_KERNEL); + /* Store across several slots. */ + vals.count = 1000; + vals.mt = mt; + vals.index = 8650; + vals.last = 8666; + vals.entry1 = xa_mk_value(865); + vals.entry2 = xa_mk_value(8650); + vals.entry3 = xa_mk_value(8650); + vals.range_start = 0; + vals.range_end = ULONG_MAX; + vals.seen_entry2 = 0; + vals.seen_entry3 = 0; + + run_check_rcu(mt, &vals); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i*10, i*10 + 5, + xa_mk_value(i), GFP_KERNEL); + + /* 4390-4395: value 439 (0x1b7) [0x36f] */ + /* Store across several slots. */ + /* Spanning store. */ + vals.count = 10000; + vals.mt = mt; + vals.index = 4390; + vals.last = 4398; + vals.entry1 = xa_mk_value(4390); + vals.entry2 = xa_mk_value(439); + vals.entry3 = xa_mk_value(439); + vals.seen_entry2 = 0; + vals.range_start = 4316; + vals.range_end = 5035; + run_check_rcu(mt, &vals); + mtree_destroy(mt); + + + /* Forward writer for rcu stress */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + rcu_stress(mt, true); + mtree_destroy(mt); + + /* Reverse writer for rcu stress */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + rcu_stress(mt, false); + mtree_destroy(mt); + + /* Slow reader test with spanning store. */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= nr_entries; i++) + mtree_store_range(mt, i*10, i*10 + 5, + xa_mk_value(i), GFP_KERNEL); + + /* 4390-4395: value 439 (0x1b7) [0x36f] */ + /* Store across several slots. */ + /* Spanning store. */ + vals.count = 15000; + vals.mt = mt; + vals.index = 4390; + vals.last = 4398; + vals.entry1 = xa_mk_value(4390); + vals.entry2 = xa_mk_value(439); + vals.entry3 = xa_mk_value(4391); + vals.seen_toggle = 0; + vals.seen_added = 0; + vals.seen_removed = 0; + vals.range_start = 4316; + vals.range_end = 5035; + vals.removed = 4360; + vals.added = 4396; + vals.toggle = 4347; + vals.val_sleep = 400; + vals.loop_sleep = 200; + vals.seen_entry2 = 0; + vals.seen_entry3 = 0; + vals.seen_both = 0; + vals.entry3 = xa_mk_value(438); + + run_check_rcu_slowread(mt, &vals); + rcu_unregister_thread(); +} +/* End of RCU stress testing */ + +/* Check tree structure by depth first searching */ +static void mas_dfs_preorder(struct ma_state *mas) +{ + + struct maple_enode *prev; + unsigned char end, slot = 0; + + if (mas->node == MAS_START) { + mas_start(mas); + return; + } + + if (mte_is_leaf(mas->node) && mte_is_root(mas->node)) + goto done; + +walk_up: + end = mas_data_end(mas); + if (mte_is_leaf(mas->node) || + (slot > end)) { + if (mte_is_root(mas->node)) + goto done; + + slot = mte_parent_slot(mas->node) + 1; + mas_ascend(mas); + goto walk_up; + } + + prev = mas->node; + mas->node = mas_get_slot(mas, slot); + if (!mas->node || slot > end) { + if (mte_is_root(prev)) + goto done; + + mas->node = prev; + slot = mte_parent_slot(mas->node) + 1; + mas_ascend(mas); + goto walk_up; + } + + return; +done: + mas->node = MAS_NONE; +} + + +static void check_dfs_preorder(struct maple_tree *mt) +{ + unsigned long e, count = 0, max = 1000; + + MA_STATE(mas, mt, 0, 0); + + if (MAPLE_32BIT) + e = 37; + else + e = 74; + + check_seq(mt, max, false); + do { + count++; + mas_dfs_preorder(&mas); + } while (!mas_is_none(&mas)); + MT_BUG_ON(mt, count != e); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + mas_reset(&mas); + count = 0; + if (!MAPLE_32BIT) + e = 77; + + check_seq(mt, max, false); + do { + count++; + mas_dfs_preorder(&mas); + } while (!mas_is_none(&mas)); + /*printk("count %lu\n", count); */ + MT_BUG_ON(mt, count != e); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + mas_reset(&mas); + count = 0; + check_rev_seq(mt, max, false); + do { + count++; + mas_dfs_preorder(&mas); + } while (!mas_is_none(&mas)); + /*printk("count %lu\n", count); */ + MT_BUG_ON(mt, count != e); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + mas_reset(&mas); + mt_zero_nr_tallocated(); + mt_set_non_kernel(200); + mas_expected_entries(&mas, max); + for (count = 0; count <= max; count++) { + mas.index = mas.last = count; + mas_store(&mas, xa_mk_value(count)); + MT_BUG_ON(mt, mas_is_err(&mas)); + } + mas_destroy(&mas); + rcu_barrier(); + /* + * pr_info(" ->seq test of 0-%lu %luK in %d active (%d total)\n", + * max, mt_get_alloc_size()/1024, mt_nr_allocated(), + * mt_nr_tallocated()); + */ + +} +/* End of depth first search tests */ + +/* Preallocation testing */ +static noinline void check_prealloc(struct maple_tree *mt) +{ + unsigned long i, max = 100; + unsigned long allocated; + unsigned char height; + struct maple_node *mn; + void *ptr = check_prealloc; + MA_STATE(mas, mt, 10, 20); + + mt_set_non_kernel(1000); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mas_destroy(&mas); + allocated = mas_allocated(&mas); + MT_BUG_ON(mt, allocated != 0); + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + mas_destroy(&mas); + allocated = mas_allocated(&mas); + MT_BUG_ON(mt, allocated != 0); + + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); + ma_free_rcu(mn); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + mas_destroy(&mas); + allocated = mas_allocated(&mas); + MT_BUG_ON(mt, allocated != 0); + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + mas_destroy(&mas); + allocated = mas_allocated(&mas); + MT_BUG_ON(mt, allocated != 0); + ma_free_rcu(mn); + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mn = mas_pop_node(&mas); + MT_BUG_ON(mt, mas_allocated(&mas) != allocated - 1); + mas_push_node(&mas, mn); + MT_BUG_ON(mt, mas_allocated(&mas) != allocated); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + mas_destroy(&mas); + allocated = mas_allocated(&mas); + MT_BUG_ON(mt, allocated != 0); + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mas_store_prealloc(&mas, ptr); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mas_store_prealloc(&mas, ptr); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mas_store_prealloc(&mas, ptr); + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mas_store_prealloc(&mas, ptr); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + mt_set_non_kernel(1); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated != 0); + mas_destroy(&mas); + + + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL) != 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated == 0); + MT_BUG_ON(mt, allocated != 1 + height * 3); + mas_store_prealloc(&mas, ptr); + MT_BUG_ON(mt, mas_allocated(&mas) != 0); + mt_set_non_kernel(1); + MT_BUG_ON(mt, mas_preallocate(&mas, ptr, GFP_KERNEL & GFP_NOWAIT) == 0); + allocated = mas_allocated(&mas); + height = mas_mt_height(&mas); + MT_BUG_ON(mt, allocated != 0); +} +/* End of preallocation testing */ + +/* Spanning writes, writes that span nodes and layers of the tree */ +static noinline void check_spanning_write(struct maple_tree *mt) +{ + unsigned long i, max = 5000; + MA_STATE(mas, mt, 1200, 2380); + + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 1205); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + for (i = 1; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mtree_lock(mt); + mas_set_range(&mas, 9, 50006); /* Will expand to 0 - ULONG_MAX */ + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 1205); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mt_validate(mt); + mtree_destroy(mt); + + /* Test spanning store that requires a right cousin rebalance */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mas_set_range(&mas, 0, 12900); /* Spans more than 2 levels */ + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 1205); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* Test non-alloc tree spanning store */ + mt_init_flags(mt, 0); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mas_set_range(&mas, 0, 300); + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 15); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* Test spanning store that requires a right sibling rebalance */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mas_set_range(&mas, 0, 12865); + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 15); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* Test spanning store that requires a left sibling rebalance */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mas_set_range(&mas, 90, 13665); + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 95); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* Test spanning store that requires a left cousin rebalance */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mas_set_range(&mas, 46805, 49995); + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 46815); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* + * Test spanning store that requires a left cousin rebalance all the way + * to root + */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mas_set_range(&mas, 32395, 49995); + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 46815); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* + * Test spanning store that requires a right cousin rebalance all the + * way to root + */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + mas_set_range(&mas, 38875, 43190); + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 38900); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* Test spanning store ending at full node (depth 2)*/ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + mtree_lock(mt); + mas_set(&mas, 47606); + mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); + mas_set(&mas, 47607); + mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); + mas_set(&mas, 47608); + mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); + mas_set(&mas, 47609); + mas_store_gfp(&mas, check_spanning_write, GFP_KERNEL); + /* Ensure the parent node is full */ + mas_ascend(&mas); + MT_BUG_ON(mt, (mas_data_end(&mas)) != mt_slot_count(mas.node) - 1); + mas_set_range(&mas, 11516, 48940); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mtree_unlock(mt); + mtree_destroy(mt); + + /* Test spanning write with many levels of no siblings */ + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + mas_set_range(&mas, 43200, 49999); + mtree_lock(mt); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mas_set(&mas, 43200); + MT_BUG_ON(mt, mas_walk(&mas) != NULL); + mtree_unlock(mt); + mtree_destroy(mt); + + mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE); + for (i = 0; i <= 100; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + + mtree_lock(mt); + mas_set_range(&mas, 76, 875); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + mtree_unlock(mt); +} +/* End of spanning write testing */ + +/* Writes to a NULL area that are adjacent to other NULLs */ +static noinline void check_null_expand(struct maple_tree *mt) +{ + unsigned long i, max = 100; + unsigned char data_end; + MA_STATE(mas, mt, 959, 959); + + for (i = 0; i <= max; i++) + mtree_test_store_range(mt, i * 10, i * 10 + 5, &i); + /* Test expanding null at start. */ + mas_lock(&mas); + mas_walk(&mas); + data_end = mas_data_end(&mas); + mas_set_range(&mas, 959, 963); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + MT_BUG_ON(mt, mtree_load(mt, 963) != NULL); + MT_BUG_ON(mt, data_end != mas_data_end(&mas)); + + /* Test expanding null at end. */ + mas_set(&mas, 880); + mas_walk(&mas); + data_end = mas_data_end(&mas); + mas_set_range(&mas, 884, 887); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + MT_BUG_ON(mt, mtree_load(mt, 884) != NULL); + MT_BUG_ON(mt, mtree_load(mt, 889) != NULL); +#if CONFIG_64BIT + MT_BUG_ON(mt, data_end != mas_data_end(&mas)); +#endif + + /* Test expanding null at start and end. */ + mas_set(&mas, 890); + mas_walk(&mas); + data_end = mas_data_end(&mas); + mas_set_range(&mas, 900, 905); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + MT_BUG_ON(mt, mtree_load(mt, 899) != NULL); + MT_BUG_ON(mt, mtree_load(mt, 900) != NULL); + MT_BUG_ON(mt, mtree_load(mt, 905) != NULL); + MT_BUG_ON(mt, mtree_load(mt, 906) != NULL); +#if CONFIG_64BIT + MT_BUG_ON(mt, data_end - 2 != mas_data_end(&mas)); +#endif + + /* Test expanding null across multiple slots. */ + mas_set(&mas, 800); + mas_walk(&mas); + data_end = mas_data_end(&mas); + mas_set_range(&mas, 810, 825); + mas_store_gfp(&mas, NULL, GFP_KERNEL); + MT_BUG_ON(mt, mtree_load(mt, 809) != NULL); + MT_BUG_ON(mt, mtree_load(mt, 810) != NULL); + MT_BUG_ON(mt, mtree_load(mt, 825) != NULL); + MT_BUG_ON(mt, mtree_load(mt, 826) != NULL); +#if CONFIG_64BIT + MT_BUG_ON(mt, data_end - 4 != mas_data_end(&mas)); +#endif + mas_unlock(&mas); +} +/* End of NULL area expansions */ + +/* Checking for no memory is best done outside the kernel */ +static noinline void check_nomem(struct maple_tree *mt) +{ + MA_STATE(ms, mt, 1, 1); + + MT_BUG_ON(mt, !mtree_empty(mt)); + /* Ensure no bypassing of allocation failures */ + mt_set_non_kernel(0); + + /* Storing something at 1 requires memory allocation */ + MT_BUG_ON(mt, mtree_insert(mt, 1, &ms, GFP_ATOMIC) != -ENOMEM); + /* Storing something at 0 does not */ + MT_BUG_ON(mt, mtree_insert(mt, 0, &ms, GFP_ATOMIC) != 0); + + /* + * Simulate two threads racing; the first one fails to allocate + * memory to insert an entry at 1, then the second one succeeds + * in allocating memory to insert an entry at 2. The first one + * then needs to free the node it allocated. LeakSanitizer will + * notice this, as will the 'nr_allocated' debugging aid in the + * userspace test suite. + */ + mtree_lock(mt); + mas_store(&ms, &ms); /* insert 1 -> &ms, fails. */ + MT_BUG_ON(mt, ms.node != MA_ERROR(-ENOMEM)); + mas_nomem(&ms, GFP_KERNEL); /* Node allocated in here. */ + MT_BUG_ON(mt, ms.node != MAS_START); + mtree_unlock(mt); + MT_BUG_ON(mt, mtree_insert(mt, 2, mt, GFP_KERNEL) != 0); + mtree_lock(mt); + mas_store(&ms, &ms); /* insert 1 -> &ms */ + mas_nomem(&ms, GFP_KERNEL); /* Node allocated in here. */ + mtree_unlock(mt); + mtree_destroy(mt); +} + +static noinline void check_locky(struct maple_tree *mt) +{ + MA_STATE(ms, mt, 2, 2); + MA_STATE(reader, mt, 2, 2); + + mt_set_non_kernel(2); + mt_set_in_rcu(mt); + mas_lock(&ms); + mas_store(&ms, &ms); + mas_set_range(&ms, 1, 3); + mas_store(&ms, &reader); + mas_unlock(&ms); + mt_clear_in_rcu(mt); +} + +extern void test_kmem_cache_bulk(void); + void farmer_tests(void) { struct maple_node *node; @@ -39,6 +35756,59 @@ void farmer_tests(void) mt_dump(&tree); ma_free_rcu(node); + + /* Check things that will make lockdep angry */ + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_locky(&tree); + mtree_destroy(&tree); + test_kmem_cache_bulk(); + + mt_init_flags(&tree, 0); + check_dfs_preorder(&tree); + mtree_destroy(&tree); + + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_prealloc(&tree); + mtree_destroy(&tree); + + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_spanning_write(&tree); + mtree_destroy(&tree); + + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_null_expand(&tree); + mtree_destroy(&tree); + + /* RCU testing */ + mt_init_flags(&tree, 0); + check_erase_testset(&tree); + mtree_destroy(&tree); + + mt_init_flags(&tree, 0); + check_new_node(&tree); + mtree_destroy(&tree); + + if (!MAPLE_32BIT) { + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_rcu_simulated(&tree); + mtree_destroy(&tree); + + mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); + check_rcu_threaded(&tree); + mtree_destroy(&tree); + } + + +#if defined(CONFIG_64BIT) + /* Captures from VMs that found previous errors */ + mt_init_flags(&tree, 0); + check_erase2_sets(&tree); + mtree_destroy(&tree); +#endif + + + /* No memory handling */ + check_nomem(&tree); } void maple_tree_tests(void) -- cgit v1.2.3-59-g8ed1b From 8625147cafaa9ba74713d682f5185eb62cb2aedb Mon Sep 17 00:00:00 2001 From: James Houghton Date: Tue, 18 Oct 2022 20:01:25 +0000 Subject: hugetlbfs: don't delete error page from pagecache This change is very similar to the change that was made for shmem [1], and it solves the same problem but for HugeTLBFS instead. Currently, when poison is found in a HugeTLB page, the page is removed from the page cache. That means that attempting to map or read that hugepage in the future will result in a new hugepage being allocated instead of notifying the user that the page was poisoned. As [1] states, this is effectively memory corruption. The fix is to leave the page in the page cache. If the user attempts to use a poisoned HugeTLB page with a syscall, the syscall will fail with EIO, the same error code that shmem uses. For attempts to map the page, the thread will get a BUS_MCEERR_AR SIGBUS. [1]: commit a76054266661 ("mm: shmem: don't truncate page if memory failure happens") Link: https://lkml.kernel.org/r/20221018200125.848471-1-jthoughton@google.com Signed-off-by: James Houghton Reviewed-by: Mike Kravetz Reviewed-by: Naoya Horiguchi Tested-by: Naoya Horiguchi Reviewed-by: Yang Shi Cc: Axel Rasmussen Cc: James Houghton Cc: Miaohe Lin Cc: Muchun Song Cc: Signed-off-by: Andrew Morton --- fs/hugetlbfs/inode.c | 13 ++++++------- mm/hugetlb.c | 4 ++++ mm/memory-failure.c | 5 ++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index dd54f67e47fd..df7772335dc0 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -328,6 +328,12 @@ static ssize_t hugetlbfs_read_iter(struct kiocb *iocb, struct iov_iter *to) } else { unlock_page(page); + if (PageHWPoison(page)) { + put_page(page); + retval = -EIO; + break; + } + /* * We have the page, copy it to user space buffer. */ @@ -1111,13 +1117,6 @@ static int hugetlbfs_migrate_folio(struct address_space *mapping, static int hugetlbfs_error_remove_page(struct address_space *mapping, struct page *page) { - struct inode *inode = mapping->host; - pgoff_t index = page->index; - - hugetlb_delete_from_page_cache(page); - if (unlikely(hugetlb_unreserve_pages(inode, index, index + 1, 1))) - hugetlb_fix_reserve_counts(inode); - return 0; } diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 546df97c31e4..e48f8ef45b17 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -6111,6 +6111,10 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, ptl = huge_pte_lock(h, dst_mm, dst_pte); + ret = -EIO; + if (PageHWPoison(page)) + goto out_release_unlock; + /* * We allow to overwrite a pte marker: consider when both MISSING|WP * registered, we firstly wr-protect a none pte which has no page cache diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 145bb561ddb3..bead6bccc7f2 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1080,6 +1080,7 @@ static int me_huge_page(struct page_state *ps, struct page *p) int res; struct page *hpage = compound_head(p); struct address_space *mapping; + bool extra_pins = false; if (!PageHuge(hpage)) return MF_DELAYED; @@ -1087,6 +1088,8 @@ static int me_huge_page(struct page_state *ps, struct page *p) mapping = page_mapping(hpage); if (mapping) { res = truncate_error_page(hpage, page_to_pfn(p), mapping); + /* The page is kept in page cache. */ + extra_pins = true; unlock_page(hpage); } else { unlock_page(hpage); @@ -1104,7 +1107,7 @@ static int me_huge_page(struct page_state *ps, struct page *p) } } - if (has_extra_refcount(ps, p, false)) + if (has_extra_refcount(ps, p, extra_pins)) res = MF_FAILED; return res; -- cgit v1.2.3-59-g8ed1b From cc674ab3c0188002917c8a2c28e4424131f1fd7e Mon Sep 17 00:00:00 2001 From: Li Zetao Date: Fri, 28 Oct 2022 15:37:17 +0800 Subject: mm/mmap: fix memory leak in mmap_region() There is a memory leak reported by kmemleak: unreferenced object 0xffff88817231ce40 (size 224): comm "mount.cifs", pid 19308, jiffies 4295917571 (age 405.880s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60 c0 b2 00 81 88 ff ff 98 83 01 42 81 88 ff ff `..........B.... backtrace: [] __alloc_file+0x21/0x250 [] alloc_empty_file+0x41/0xf0 [] alloc_file+0x59/0x710 [] alloc_file_pseudo+0x154/0x210 [] __shmem_file_setup+0xff/0x2a0 [] shmem_zero_setup+0x8d/0x160 [] mmap_region+0x1075/0x19d0 [] do_mmap+0x727/0x1110 [] vm_mmap_pgoff+0x112/0x1e0 [] do_syscall_64+0x35/0x80 [] entry_SYSCALL_64_after_hwframe+0x46/0xb0 The root cause was traced to an error handing path in mmap_region() when arch_validate_flags() or mas_preallocate() fails. In the shared anonymous mapping sence, vma will be setuped and mapped with a new shared anonymous file via shmem_zero_setup(). So in this case, the file resource needs to be released. Fix it by calling fput(vma->vm_file) and unmap_region() when arch_validate_flags() or mas_preallocate() returns an error in the shared anonymous mapping sence. Link: https://lkml.kernel.org/r/20221028073717.1179380-1-lizetao1@huawei.com Fixes: d4af56c5c7c6 ("mm: start tracking VMAs with maple tree") Fixes: c462ac288f2c ("mm: Introduce arch_validate_flags()") Signed-off-by: Li Zetao Reviewed-by: Liam R. Howlett Signed-off-by: Andrew Morton --- mm/mmap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index 2def55555e05..c3c5c1d6103d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2674,6 +2674,8 @@ cannot_expand: error = -EINVAL; if (file) goto close_and_free_vma; + else if (vma->vm_file) + goto unmap_and_free_vma; else goto free_vma; } @@ -2682,6 +2684,8 @@ cannot_expand: error = -ENOMEM; if (file) goto close_and_free_vma; + else if (vma->vm_file) + goto unmap_and_free_vma; else goto free_vma; } @@ -2751,7 +2755,7 @@ unmap_and_free_vma: /* Undo any partial mapping done by a device driver. */ unmap_region(mm, mas.tree, vma, prev, next, vma->vm_start, vma->vm_end); - if (vm_flags & VM_SHARED) + if (file && (vm_flags & VM_SHARED)) mapping_unmap_writable(file->f_mapping); free_vma: vm_area_free(vma); -- cgit v1.2.3-59-g8ed1b From 8ac932a4921a96ca52f61935dbba64ea87bbd5dc Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Sat, 29 Oct 2022 13:49:12 +0900 Subject: nilfs2: fix deadlock in nilfs_count_free_blocks() A semaphore deadlock can occur if nilfs_get_block() detects metadata corruption while locating data blocks and a superblock writeback occurs at the same time: task 1 task 2 ------ ------ * A file operation * nilfs_truncate() nilfs_get_block() down_read(rwsem A) <-- nilfs_bmap_lookup_contig() ... generic_shutdown_super() nilfs_put_super() * Prepare to write superblock * down_write(rwsem B) <-- nilfs_cleanup_super() * Detect b-tree corruption * nilfs_set_log_cursor() nilfs_bmap_convert_error() nilfs_count_free_blocks() __nilfs_error() down_read(rwsem A) <-- nilfs_set_error() down_write(rwsem B) <-- *** DEADLOCK *** Here, nilfs_get_block() readlocks rwsem A (= NILFS_MDT(dat_inode)->mi_sem) and then calls nilfs_bmap_lookup_contig(), but if it fails due to metadata corruption, __nilfs_error() is called from nilfs_bmap_convert_error() inside the lock section. Since __nilfs_error() calls nilfs_set_error() unless the filesystem is read-only and nilfs_set_error() attempts to writelock rwsem B (= nilfs->ns_sem) to write back superblock exclusively, hierarchical lock acquisition occurs in the order rwsem A -> rwsem B. Now, if another task starts updating the superblock, it may writelock rwsem B during the lock sequence above, and can deadlock trying to readlock rwsem A in nilfs_count_free_blocks(). However, there is actually no need to take rwsem A in nilfs_count_free_blocks() because it, within the lock section, only reads a single integer data on a shared struct with nilfs_sufile_get_ncleansegs(). This has been the case after commit aa474a220180 ("nilfs2: add local variable to cache the number of clean segments"), that is, even before this bug was introduced. So, this resolves the deadlock problem by just not taking the semaphore in nilfs_count_free_blocks(). Link: https://lkml.kernel.org/r/20221029044912.9139-1-konishi.ryusuke@gmail.com Fixes: e828949e5b42 ("nilfs2: call nilfs_error inside bmap routines") Signed-off-by: Ryusuke Konishi Reported-by: syzbot+45d6ce7b7ad7ef455d03@syzkaller.appspotmail.com Tested-by: Ryusuke Konishi Cc: [2.6.38+ Signed-off-by: Andrew Morton --- fs/nilfs2/the_nilfs.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fs/nilfs2/the_nilfs.c b/fs/nilfs2/the_nilfs.c index 3b4a079c9617..c8b89b4f94e0 100644 --- a/fs/nilfs2/the_nilfs.c +++ b/fs/nilfs2/the_nilfs.c @@ -690,9 +690,7 @@ int nilfs_count_free_blocks(struct the_nilfs *nilfs, sector_t *nblocks) { unsigned long ncleansegs; - down_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); ncleansegs = nilfs_sufile_get_ncleansegs(nilfs->ns_sufile); - up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); *nblocks = (sector_t)ncleansegs * nilfs->ns_blocks_per_segment; return 0; } -- cgit v1.2.3-59-g8ed1b From 624a2c94f5b7a08120aaf26b3275a17463789273 Mon Sep 17 00:00:00 2001 From: Peter Xu Date: Tue, 8 Nov 2022 15:57:23 -0800 Subject: Partly revert "mm/thp: carry over dirty bit when thp splits on pmd" Anatoly Pugachev reported sparc64 breakage on the patch: https://lore.kernel.org/r/20221021160603.GA23307@u164.east.ru The sparc64 impl of pte_mkdirty() is definitely slightly special in that it leverages a code patching mechanism for sun4u/sun4v on relevant pgtable entry operations. Before having a clue of why the sparc64 is special and caused the patch to SIGSEGV the processes, revert the patch for now. The swap path of dirty bit inheritage is kept because that's using the swap shared code so we assume it'll not be affected. Link: https://lkml.kernel.org/r/Y1Wbi4yyVvDtg4zN@x1n Fixes: 0ccf7f168e17 ("mm/thp: carry over dirty bit when thp splits on pmd") Signed-off-by: Peter Xu Reported-by: Anatoly Pugachev Tested-by: Anatoly Pugachev Cc: Alistair Popple Cc: Andi Kleen Cc: Andrea Arcangeli Cc: David Hildenbrand Cc: David S. Miller Cc: "Huang, Ying" Cc: Hugh Dickins Cc: "Kirill A . Shutemov" Cc: Minchan Kim Cc: Nadav Amit Cc: Vlastimil Babka Signed-off-by: Andrew Morton --- mm/huge_memory.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 561a42567477..811d19b5c4f6 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2206,9 +2206,12 @@ static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd, entry = pte_wrprotect(entry); if (!young) entry = pte_mkold(entry); - /* NOTE: this may set soft-dirty too on some archs */ - if (dirty) - entry = pte_mkdirty(entry); + /* + * NOTE: we don't do pte_mkdirty when dirty==true + * because it breaks sparc64 which can sigsegv + * random process. Need to revisit when we figure + * out what is special with sparc64. + */ if (soft_dirty) entry = pte_mksoft_dirty(entry); if (uffd_wp) -- cgit v1.2.3-59-g8ed1b From 867400af90f1f953ff9e10b1b87ecaf9369a7eb8 Mon Sep 17 00:00:00 2001 From: Pankaj Gupta Date: Wed, 2 Nov 2022 11:07:28 -0500 Subject: mm/memremap.c: map FS_DAX device memory as decrypted virtio_pmem use devm_memremap_pages() to map the device memory. By default this memory is mapped as encrypted with SEV. Guest reboot changes the current encryption key and guest no longer properly decrypts the FSDAX device meta data. Mark the corresponding device memory region for FSDAX devices (mapped with memremap_pages) as decrypted to retain the persistent memory property. Link: https://lkml.kernel.org/r/20221102160728.3184016-1-pankaj.gupta@amd.com Fixes: b7b3c01b19159 ("mm/memremap_pages: support multiple ranges per invocation") Signed-off-by: Pankaj Gupta Cc: Dan Williams Cc: Tom Lendacky Cc: Signed-off-by: Andrew Morton --- mm/memremap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/memremap.c b/mm/memremap.c index 421bec3a29ee..08cbf54fe037 100644 --- a/mm/memremap.c +++ b/mm/memremap.c @@ -335,6 +335,7 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid) WARN(1, "File system DAX not supported\n"); return ERR_PTR(-EINVAL); } + params.pgprot = pgprot_decrypted(params.pgprot); break; case MEMORY_DEVICE_GENERIC: break; -- cgit v1.2.3-59-g8ed1b From 93b0d9178743a68723babe8448981f658aebc58e Mon Sep 17 00:00:00 2001 From: Peter Xu Date: Wed, 2 Nov 2022 14:41:52 -0400 Subject: mm/shmem: use page_mapping() to detect page cache for uffd continue mfill_atomic_install_pte() checks page->mapping to detect whether one page is used in the page cache. However as pointed out by Matthew, the page can logically be a tail page rather than always the head in the case of uffd minor mode with UFFDIO_CONTINUE. It means we could wrongly install one pte with shmem thp tail page assuming it's an anonymous page. It's not that clear even for anonymous page, since normally anonymous pages also have page->mapping being setup with the anon vma. It's safe here only because the only such caller to mfill_atomic_install_pte() is always passing in a newly allocated page (mcopy_atomic_pte()), whose page->mapping is not yet setup. However that's not extremely obvious either. For either of above, use page_mapping() instead. Link: https://lkml.kernel.org/r/Y2K+y7wnhC4vbnP2@x1n Fixes: 153132571f02 ("userfaultfd/shmem: support UFFDIO_CONTINUE for shmem") Signed-off-by: Peter Xu Reported-by: Matthew Wilcox Cc: Andrea Arcangeli Cc: Hugh Dickins Cc: Axel Rasmussen Cc: Signed-off-by: Andrew Morton --- mm/userfaultfd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c index 3d0fef3980b3..650ab6cfd5f4 100644 --- a/mm/userfaultfd.c +++ b/mm/userfaultfd.c @@ -64,7 +64,7 @@ int mfill_atomic_install_pte(struct mm_struct *dst_mm, pmd_t *dst_pmd, pte_t _dst_pte, *dst_pte; bool writable = dst_vma->vm_flags & VM_WRITE; bool vm_shared = dst_vma->vm_flags & VM_SHARED; - bool page_in_cache = page->mapping; + bool page_in_cache = page_mapping(page); spinlock_t *ptl; struct inode *inode; pgoff_t offset, max_off; -- cgit v1.2.3-59-g8ed1b From db5e8d84319bcdb51e1d3cfa42b410291d6d1cfa Mon Sep 17 00:00:00 2001 From: Vasily Gorbik Date: Wed, 2 Nov 2022 19:09:17 +0100 Subject: mm: hugetlb_vmemmap: include missing linux/moduleparam.h The kernel test robot reported build failures with a 'randconfig' on s390: >> mm/hugetlb_vmemmap.c:421:11: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] core_param(hugetlb_free_vmemmap, vmemmap_optimize_enabled, bool, 0); ^ Link: https://lore.kernel.org/linux-mm/202210300751.rG3UDsuc-lkp@intel.com/ Link: https://lkml.kernel.org/r/patch.git-296b83ca939b.your-ad-here.call-01667411912-ext-5073@work.hours Fixes: 30152245c63b ("mm: hugetlb_vmemmap: replace early_param() with core_param()") Signed-off-by: Vasily Gorbik Reported-by: kernel test robot Reviewed-by: Muchun Song Cc: Gerald Schaefer Cc: Mike Kravetz Cc: Signed-off-by: Andrew Morton --- mm/hugetlb_vmemmap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c index ba2a2596fb4e..4962dd1ba4a6 100644 --- a/mm/hugetlb_vmemmap.c +++ b/mm/hugetlb_vmemmap.c @@ -11,6 +11,7 @@ #define pr_fmt(fmt) "HugeTLB: " fmt #include +#include #include #include #include -- cgit v1.2.3-59-g8ed1b From cbadaf71f7cf9e67c073eec673c6c050cecd0ec8 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Wed, 2 Nov 2022 12:06:07 +0100 Subject: kmsan: core: kmsan_in_runtime() should return true in NMI context Without that, every call to __msan_poison_alloca() in NMI may end up allocating memory, which is NMI-unsafe. Link: https://lkml.kernel.org/r/20221102110611.1085175-1-glider@google.com Link: https://lore.kernel.org/lkml/20221025221755.3810809-1-glider@google.com/ Signed-off-by: Alexander Potapenko Acked-by: Peter Zijlstra (Intel) Cc: Dmitry Vyukov Cc: Marco Elver Cc: Borislav Petkov Cc: Dave Hansen Cc: Ingo Molnar Cc: Kees Cook Cc: Masahiro Yamada Cc: Nick Desaulniers Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- mm/kmsan/kmsan.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/kmsan/kmsan.h b/mm/kmsan/kmsan.h index 7019c46d33a7..a14744205435 100644 --- a/mm/kmsan/kmsan.h +++ b/mm/kmsan/kmsan.h @@ -124,6 +124,8 @@ static __always_inline bool kmsan_in_runtime(void) { if ((hardirq_count() >> HARDIRQ_SHIFT) > 1) return true; + if (in_nmi()) + return true; return kmsan_get_context()->kmsan_in_runtime; } -- cgit v1.2.3-59-g8ed1b From 11385b2612004298ac2fbc9877e73f1410cfd3c0 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Wed, 2 Nov 2022 12:06:08 +0100 Subject: x86/uaccess: instrument copy_from_user_nmi() Make sure usercopy hooks from linux/instrumented.h are invoked for copy_from_user_nmi(). This fixes KMSAN false positives reported when dumping opcodes for a stack trace. Link: https://lkml.kernel.org/r/20221102110611.1085175-2-glider@google.com Signed-off-by: Alexander Potapenko Acked-by: Peter Zijlstra (Intel) Cc: Dave Hansen Cc: Kees Cook Cc: Borislav Petkov Cc: Dmitry Vyukov Cc: Ingo Molnar Cc: Marco Elver Cc: Masahiro Yamada Cc: Nick Desaulniers Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- arch/x86/lib/usercopy.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/lib/usercopy.c b/arch/x86/lib/usercopy.c index f1bb18617156..24b48af27417 100644 --- a/arch/x86/lib/usercopy.c +++ b/arch/x86/lib/usercopy.c @@ -6,6 +6,7 @@ #include #include +#include #include @@ -44,7 +45,9 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n) * called from other contexts. */ pagefault_disable(); + instrument_copy_from_user_before(to, from, n); ret = raw_copy_from_user(to, from, n); + instrument_copy_from_user_after(to, from, n, ret); pagefault_enable(); return ret; -- cgit v1.2.3-59-g8ed1b From ac66998df30a3c2888c077879786a3589ed5170b Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Wed, 2 Nov 2022 12:06:09 +0100 Subject: Kconfig.debug: ensure early check for KMSAN in CONFIG_KMSAN_WARN As pointed out by Masahiro Yamada, Kconfig picks up the first default entry which has true 'if' condition. Hence, the previously added check for KMSAN was never used, because it followed the checks for 64BIT and !64BIT. Put KMSAN check before others to ensure it is always applied. Link: https://lkml.kernel.org/r/20221102110611.1085175-3-glider@google.com Link: https://github.com/google/kmsan/issues/89 Link: https://lore.kernel.org/linux-mm/20221024212144.2852069-3-glider@google.com/ Fixes: 921757bc9b61 ("Kconfig.debug: disable CONFIG_FRAME_WARN for KMSAN by default") Signed-off-by: Alexander Potapenko Cc: Kees Cook Cc: Masahiro Yamada Cc: Nick Desaulniers Cc: Borislav Petkov Cc: Dave Hansen Cc: Dmitry Vyukov Cc: Ingo Molnar Cc: Marco Elver Cc: Peter Zijlstra (Intel) Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- lib/Kconfig.debug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index be69844e40e6..c3c0b077ade3 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -395,12 +395,12 @@ endif # DEBUG_INFO config FRAME_WARN int "Warn for stack frames larger than" range 0 8192 + default 0 if KMSAN default 2048 if GCC_PLUGIN_LATENT_ENTROPY default 2048 if PARISC default 1536 if (!64BIT && XTENSA) default 1024 if !64BIT default 2048 if 64BIT - default 0 if KMSAN help Tell the compiler to warn at build time for stack frames larger than this. Setting this too low will cause a lot of warnings. -- cgit v1.2.3-59-g8ed1b From 83d0edfa04eeca46b3eff554fb42b2fefe97bdf1 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Wed, 2 Nov 2022 12:06:10 +0100 Subject: kmsan: make sure PREEMPT_RT is off As pointed out by Peter Zijlstra, __msan_poison_alloca() does not play well with IRQ code when PREEMPT_RT is on, because in that mode even GFP_ATOMIC allocations cannot be performed. Fixing this would require making stackdepot completely lockless, which is quite challenging and may be excessive for the time being. Instead, make sure KMSAN is incompatible with PREEMPT_RT, like other debug configs are. Link: https://lkml.kernel.org/r/20221102110611.1085175-4-glider@google.com Link: https://lore.kernel.org/lkml/20221025221755.3810809-1-glider@google.com/ Signed-off-by: Alexander Potapenko Acked-by: Peter Zijlstra (Intel) Cc: Dmitry Vyukov Cc: Marco Elver Cc: Borislav Petkov Cc: Dave Hansen Cc: Ingo Molnar Cc: Kees Cook Cc: Masahiro Yamada Cc: Nick Desaulniers Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- lib/Kconfig.kmsan | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Kconfig.kmsan b/lib/Kconfig.kmsan index b2489dd6503f..ef2c8f256c57 100644 --- a/lib/Kconfig.kmsan +++ b/lib/Kconfig.kmsan @@ -12,6 +12,7 @@ config KMSAN bool "KMSAN: detector of uninitialized values use" depends on HAVE_ARCH_KMSAN && HAVE_KMSAN_COMPILER depends on SLUB && DEBUG_KERNEL && !KASAN && !KCSAN + depends on !PREEMPT_RT select STACKDEPOT select STACKDEPOT_ALWAYS_INIT help -- cgit v1.2.3-59-g8ed1b From ba54d194f8daad8943802d6dfe06e205f882c391 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Wed, 2 Nov 2022 12:06:11 +0100 Subject: x86/traps: avoid KMSAN bugs originating from handle_bug() There is a case in exc_invalid_op handler that is executed outside the irqentry_enter()/irqentry_exit() region when an UD2 instruction is used to encode a call to __warn(). In that case the `struct pt_regs` passed to the interrupt handler is never unpoisoned by KMSAN (this is normally done in irqentry_enter()), which leads to false positives inside handle_bug(). Use kmsan_unpoison_entry_regs() to explicitly unpoison those registers before using them. Link: https://lkml.kernel.org/r/20221102110611.1085175-5-glider@google.com Signed-off-by: Alexander Potapenko Cc: Borislav Petkov Cc: Dave Hansen Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Dmitry Vyukov Cc: Kees Cook Cc: Marco Elver Cc: Masahiro Yamada Cc: Nick Desaulniers Cc: Peter Zijlstra (Intel) Signed-off-by: Andrew Morton --- arch/x86/kernel/traps.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 178015a820f0..d3fdec706f1d 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -301,6 +302,12 @@ static noinstr bool handle_bug(struct pt_regs *regs) { bool handled = false; + /* + * Normally @regs are unpoisoned by irqentry_enter(), but handle_bug() + * is a rare case that uses @regs without passing them to + * irqentry_enter(). + */ + kmsan_unpoison_entry_regs(regs); if (!is_valid_bugaddr(regs->ip)) return handled; -- cgit v1.2.3-59-g8ed1b From 8cccf05fe857a18ee26e20d11a8455a73ffd4efd Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Fri, 4 Nov 2022 23:29:59 +0900 Subject: nilfs2: fix use-after-free bug of ns_writer on remount If a nilfs2 filesystem is downgraded to read-only due to metadata corruption on disk and is remounted read/write, or if emergency read-only remount is performed, detaching a log writer and synchronizing the filesystem can be done at the same time. In these cases, use-after-free of the log writer (hereinafter nilfs->ns_writer) can happen as shown in the scenario below: Task1 Task2 -------------------------------- ------------------------------ nilfs_construct_segment nilfs_segctor_sync init_wait init_waitqueue_entry add_wait_queue schedule nilfs_remount (R/W remount case) nilfs_attach_log_writer nilfs_detach_log_writer nilfs_segctor_destroy kfree finish_wait _raw_spin_lock_irqsave __raw_spin_lock_irqsave do_raw_spin_lock debug_spin_lock_before <-- use-after-free While Task1 is sleeping, nilfs->ns_writer is freed by Task2. After Task1 waked up, Task1 accesses nilfs->ns_writer which is already freed. This scenario diagram is based on the Shigeru Yoshida's post [1]. This patch fixes the issue by not detaching nilfs->ns_writer on remount so that this UAF race doesn't happen. Along with this change, this patch also inserts a few necessary read-only checks with superblock instance where only the ns_writer pointer was used to check if the filesystem is read-only. Link: https://syzkaller.appspot.com/bug?id=79a4c002e960419ca173d55e863bd09e8112df8b Link: https://lkml.kernel.org/r/20221103141759.1836312-1-syoshida@redhat.com [1] Link: https://lkml.kernel.org/r/20221104142959.28296-1-konishi.ryusuke@gmail.com Signed-off-by: Ryusuke Konishi Reported-by: syzbot+f816fa82f8783f7a02bb@syzkaller.appspotmail.com Reported-by: Shigeru Yoshida Tested-by: Ryusuke Konishi Cc: Signed-off-by: Andrew Morton --- fs/nilfs2/segment.c | 15 ++++++++------- fs/nilfs2/super.c | 2 -- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index b4cebad21b48..3335ef352915 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -317,7 +317,7 @@ void nilfs_relax_pressure_in_lock(struct super_block *sb) struct the_nilfs *nilfs = sb->s_fs_info; struct nilfs_sc_info *sci = nilfs->ns_writer; - if (!sci || !sci->sc_flush_request) + if (sb_rdonly(sb) || unlikely(!sci) || !sci->sc_flush_request) return; set_bit(NILFS_SC_PRIOR_FLUSH, &sci->sc_flags); @@ -2242,7 +2242,7 @@ int nilfs_construct_segment(struct super_block *sb) struct nilfs_sc_info *sci = nilfs->ns_writer; struct nilfs_transaction_info *ti; - if (!sci) + if (sb_rdonly(sb) || unlikely(!sci)) return -EROFS; /* A call inside transactions causes a deadlock. */ @@ -2280,7 +2280,7 @@ int nilfs_construct_dsync_segment(struct super_block *sb, struct inode *inode, struct nilfs_transaction_info ti; int err = 0; - if (!sci) + if (sb_rdonly(sb) || unlikely(!sci)) return -EROFS; nilfs_transaction_lock(sb, &ti, 0); @@ -2776,11 +2776,12 @@ int nilfs_attach_log_writer(struct super_block *sb, struct nilfs_root *root) if (nilfs->ns_writer) { /* - * This happens if the filesystem was remounted - * read/write after nilfs_error degenerated it into a - * read-only mount. + * This happens if the filesystem is made read-only by + * __nilfs_error or nilfs_remount and then remounted + * read/write. In these cases, reuse the existing + * writer. */ - nilfs_detach_log_writer(sb); + return 0; } nilfs->ns_writer = nilfs_segctor_new(sb, root); diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c index ba108f915391..6edb6e0dd61f 100644 --- a/fs/nilfs2/super.c +++ b/fs/nilfs2/super.c @@ -1133,8 +1133,6 @@ static int nilfs_remount(struct super_block *sb, int *flags, char *data) if ((bool)(*flags & SB_RDONLY) == sb_rdonly(sb)) goto out; if (*flags & SB_RDONLY) { - /* Shutting down log writer */ - nilfs_detach_log_writer(sb); sb->s_flags |= SB_RDONLY; /* -- cgit v1.2.3-59-g8ed1b From 82e60d00b753bb5cfecce22b8e952436b14d02a3 Mon Sep 17 00:00:00 2001 From: Johannes Weiner Date: Thu, 3 Nov 2022 17:34:31 -0400 Subject: fs: fix leaked psi pressure state When psi annotations were added to to btrfs compression reads, the psi state tracking over add_ra_bio_pages and btrfs_submit_compressed_read was faulty. A pressure state, once entered, is never left. This results in incorrectly elevated pressure, which triggers OOM kills. pflags record the *previous* memstall state when we enter a new one. The code tried to initialize pflags to 1, and then optimize the leave call when we either didn't enter a memstall, or were already inside a nested stall. However, there can be multiple PageWorkingset pages in the bio, at which point it's that path itself that enters repeatedly and overwrites pflags. This causes us to miss the exit. Enter the stall only once if needed, then unwind correctly. erofs has the same problem, fix that up too. And move the memstall exit past submit_bio() to restore submit accounting originally added by b8e24a9300b0 ("block: annotate refault stalls from IO submission"). Link: https://lkml.kernel.org/r/Y2UHRqthNUwuIQGS@cmpxchg.org Fixes: 4088a47e78f9 ("btrfs: add manual PSI accounting for compressed reads") Fixes: 99486c511f68 ("erofs: add manual PSI accounting for the compressed address space") Fixes: 118f3663fbc6 ("block: remove PSI accounting from the bio layer") Link: https://lore.kernel.org/r/d20a0a85-e415-cf78-27f9-77dd7a94bc8d@leemhuis.info/ Signed-off-by: Johannes Weiner Reported-by: Thorsten Leemhuis Tested-by: Thorsten Leemhuis Cc: Chao Yu Cc: Chris Mason Cc: Christoph Hellwig Cc: David Sterba Cc: Gao Xiang Cc: Jens Axboe Cc: Josef Bacik Cc: Suren Baghdasaryan Signed-off-by: Andrew Morton --- fs/btrfs/compression.c | 14 ++++++++------ fs/erofs/zdata.c | 18 +++++++++++------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index f1f051ad3147..e6635fe70067 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -512,7 +512,7 @@ static u64 bio_end_offset(struct bio *bio) static noinline int add_ra_bio_pages(struct inode *inode, u64 compressed_end, struct compressed_bio *cb, - unsigned long *pflags) + int *memstall, unsigned long *pflags) { struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); unsigned long end_index; @@ -581,8 +581,10 @@ static noinline int add_ra_bio_pages(struct inode *inode, continue; } - if (PageWorkingset(page)) + if (!*memstall && PageWorkingset(page)) { psi_memstall_enter(pflags); + *memstall = 1; + } ret = set_page_extent_mapped(page); if (ret < 0) { @@ -670,8 +672,8 @@ void btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, u64 em_len; u64 em_start; struct extent_map *em; - /* Initialize to 1 to make skip psi_memstall_leave unless needed */ - unsigned long pflags = 1; + unsigned long pflags; + int memstall = 0; blk_status_t ret; int ret2; int i; @@ -727,7 +729,7 @@ void btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, goto fail; } - add_ra_bio_pages(inode, em_start + em_len, cb, &pflags); + add_ra_bio_pages(inode, em_start + em_len, cb, &memstall, &pflags); /* include any pages we added in add_ra-bio_pages */ cb->len = bio->bi_iter.bi_size; @@ -807,7 +809,7 @@ void btrfs_submit_compressed_read(struct inode *inode, struct bio *bio, } } - if (!pflags) + if (memstall) psi_memstall_leave(&pflags); if (refcount_dec_and_test(&cb->pending_ios)) diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c index c7f24fc7efd5..064a166324a7 100644 --- a/fs/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -1412,8 +1412,8 @@ static void z_erofs_submit_queue(struct z_erofs_decompress_frontend *f, struct block_device *last_bdev; unsigned int nr_bios = 0; struct bio *bio = NULL; - /* initialize to 1 to make skip psi_memstall_leave unless needed */ - unsigned long pflags = 1; + unsigned long pflags; + int memstall = 0; bi_private = jobqueueset_init(sb, q, fgq, force_fg); qtail[JQ_BYPASS] = &q[JQ_BYPASS]->head; @@ -1463,14 +1463,18 @@ static void z_erofs_submit_queue(struct z_erofs_decompress_frontend *f, if (bio && (cur != last_index + 1 || last_bdev != mdev.m_bdev)) { submit_bio_retry: - if (!pflags) - psi_memstall_leave(&pflags); submit_bio(bio); + if (memstall) { + psi_memstall_leave(&pflags); + memstall = 0; + } bio = NULL; } - if (unlikely(PageWorkingset(page))) + if (unlikely(PageWorkingset(page)) && !memstall) { psi_memstall_enter(&pflags); + memstall = 1; + } if (!bio) { bio = bio_alloc(mdev.m_bdev, BIO_MAX_VECS, @@ -1500,9 +1504,9 @@ submit_bio_retry: } while (owned_head != Z_EROFS_PCLUSTER_TAIL); if (bio) { - if (!pflags) - psi_memstall_leave(&pflags); submit_bio(bio); + if (memstall) + psi_memstall_leave(&pflags); } /* -- cgit v1.2.3-59-g8ed1b From 1fdbed657a4726639c4f17841fd2a0fb646c746e Mon Sep 17 00:00:00 2001 From: Naoya Horiguchi Date: Mon, 7 Nov 2022 11:10:10 +0900 Subject: arch/x86/mm/hugetlbpage.c: pud_huge() returns 0 when using 2-level paging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The following bug is reported to be triggered when starting X on x86-32 system with i915: [ 225.777375] kernel BUG at mm/memory.c:2664! [ 225.777391] invalid opcode: 0000 [#1] PREEMPT SMP [ 225.777405] CPU: 0 PID: 2402 Comm: Xorg Not tainted 6.1.0-rc3-bdg+ #86 [ 225.777415] Hardware name: /8I865G775-G, BIOS F1 08/29/2006 [ 225.777421] EIP: __apply_to_page_range+0x24d/0x31c [ 225.777437] Code: ff ff 8b 55 e8 8b 45 cc e8 0a 11 ec ff 89 d8 83 c4 28 5b 5e 5f 5d c3 81 7d e0 a0 ef 96 c1 74 ad 8b 45 d0 e8 2d 83 49 00 eb a3 <0f> 0b 25 00 f0 ff ff 81 eb 00 00 00 40 01 c3 8b 45 ec 8b 00 e8 76 [ 225.777446] EAX: 00000001 EBX: c53a3b58 ECX: b5c00000 EDX: c258aa00 [ 225.777454] ESI: b5c00000 EDI: b5900000 EBP: c4b0fdb4 ESP: c4b0fd80 [ 225.777462] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 EFLAGS: 00010202 [ 225.777470] CR0: 80050033 CR2: b5900000 CR3: 053a3000 CR4: 000006d0 [ 225.777479] Call Trace: [ 225.777486] ? i915_memcpy_init_early+0x63/0x63 [i915] [ 225.777684] apply_to_page_range+0x21/0x27 [ 225.777694] ? i915_memcpy_init_early+0x63/0x63 [i915] [ 225.777870] remap_io_mapping+0x49/0x75 [i915] [ 225.778046] ? i915_memcpy_init_early+0x63/0x63 [i915] [ 225.778220] ? mutex_unlock+0xb/0xd [ 225.778231] ? i915_vma_pin_fence+0x6d/0xf7 [i915] [ 225.778420] vm_fault_gtt+0x2a9/0x8f1 [i915] [ 225.778644] ? lock_is_held_type+0x56/0xe7 [ 225.778655] ? lock_is_held_type+0x7a/0xe7 [ 225.778663] ? 0xc1000000 [ 225.778670] __do_fault+0x21/0x6a [ 225.778679] handle_mm_fault+0x708/0xb21 [ 225.778686] ? mt_find+0x21e/0x5ae [ 225.778696] exc_page_fault+0x185/0x705 [ 225.778704] ? doublefault_shim+0x127/0x127 [ 225.778715] handle_exception+0x130/0x130 [ 225.778723] EIP: 0xb700468a Recently pud_huge() got aware of non-present entry by commit 3a194f3f8ad0 ("mm/hugetlb: make pud_huge() and follow_huge_pud() aware of non-present pud entry") to handle some special states of gigantic page. However, it's overlooked that pud_none() always returns false when running with 2-level paging, and as a result pud_huge() can return true pointlessly. Introduce "#if CONFIG_PGTABLE_LEVELS > 2" to pud_huge() to deal with this. Link: https://lkml.kernel.org/r/20221107021010.2449306-1-naoya.horiguchi@linux.dev Fixes: 3a194f3f8ad0 ("mm/hugetlb: make pud_huge() and follow_huge_pud() aware of non-present pud entry") Signed-off-by: Naoya Horiguchi Reported-by: Ville Syrjälä Tested-by: Ville Syrjälä Reviewed-by: Miaohe Lin Cc: David Hildenbrand Cc: Liu Shixin Cc: Mike Kravetz Cc: Muchun Song Cc: Oscar Salvador Cc: Yang Shi Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: Signed-off-by: Andrew Morton --- arch/x86/mm/hugetlbpage.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 6b3033845c6d..5804bbae4f01 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c @@ -37,8 +37,12 @@ int pmd_huge(pmd_t pmd) */ int pud_huge(pud_t pud) { +#if CONFIG_PGTABLE_LEVELS > 2 return !pud_none(pud) && (pud_val(pud) & (_PAGE_PRESENT|_PAGE_PSE)) != _PAGE_PRESENT; +#else + return 0; +#endif } #ifdef CONFIG_HUGETLB_PAGE -- cgit v1.2.3-59-g8ed1b From 9bbba5633488ee3e2903647c3484c4390ff39ea7 Mon Sep 17 00:00:00 2001 From: Liam Howlett Date: Mon, 7 Nov 2022 16:38:35 +0000 Subject: maple_tree: fix depth tracking in maple_state It is possible to confuse the depth tracking in the maple state by searching the same node for values. Fix the depth tracking by moving where the depth is incremented closer to where the node changes level. Also change the initial depth setting when using the root node. Link: https://lkml.kernel.org/r/20221107163814.866612-1-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett Signed-off-by: Andrew Morton --- lib/maple_tree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index f23f11da4113..59d0cebc774b 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1351,6 +1351,7 @@ static inline struct maple_enode *mas_start(struct ma_state *mas) root = mas_root(mas); /* Tree with nodes */ if (likely(xa_is_node(root))) { + mas->depth = 1; mas->node = mte_safe_root(root); return NULL; } @@ -3727,7 +3728,6 @@ static bool mas_is_span_wr(struct ma_wr_state *wr_mas) static inline void mas_wr_walk_descend(struct ma_wr_state *wr_mas) { - wr_mas->mas->depth++; wr_mas->type = mte_node_type(wr_mas->mas->node); mas_wr_node_walk(wr_mas); wr_mas->slots = ma_slots(wr_mas->node, wr_mas->type); @@ -3739,6 +3739,7 @@ static inline void mas_wr_walk_traverse(struct ma_wr_state *wr_mas) wr_mas->mas->min = wr_mas->r_min; wr_mas->mas->node = wr_mas->content; wr_mas->mas->offset = 0; + wr_mas->mas->depth++; } /* * mas_wr_walk() - Walk the tree for a write. -- cgit v1.2.3-59-g8ed1b From 7dc5ba6254bb242a9f45e43549171a2d84d25e6a Mon Sep 17 00:00:00 2001 From: Liam Howlett Date: Mon, 7 Nov 2022 16:39:02 +0000 Subject: maple_tree: don't set a new maximum on the node when not reusing nodes In RCU mode, the node limits were being updated to the last pivot which may not be correct and would cause the metadata to be set when it shouldn't. Fix this by not setting a new limit in this case. Link: https://lkml.kernel.org/r/20221107163857.867377-1-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett Signed-off-by: Andrew Morton --- lib/maple_tree.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 59d0cebc774b..df352f6ccc24 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3603,8 +3603,7 @@ static inline int mas_commit_b_node(struct ma_wr_state *wr_mas, node = mas_pop_node(wr_mas->mas); node->parent = mas_mn(wr_mas->mas)->parent; wr_mas->mas->node = mt_mk_node(node, b_type); - mab_mas_cp(b_node, 0, b_end, wr_mas->mas, true); - + mab_mas_cp(b_node, 0, b_end, wr_mas->mas, false); mas_replace(wr_mas->mas, false); reuse_node: mas_update_gap(wr_mas->mas); -- cgit v1.2.3-59-g8ed1b From 1de09a7281edecfdba19b3a07417f6d65243ab5f Mon Sep 17 00:00:00 2001 From: SeongJae Park Date: Mon, 7 Nov 2022 16:50:00 +0000 Subject: mm/damon/dbgfs: check if rm_contexts input is for a real context A user could write a name of a file under 'damon/' debugfs directory, which is not a user-created context, to 'rm_contexts' file. In the case, 'dbgfs_rm_context()' just assumes it's the valid DAMON context directory only if a file of the name exist. As a result, invalid memory access could happen as below. Fix the bug by checking if the given input is for a directory. This check can filter out non-context inputs because directories under 'damon/' debugfs directory can be created via only 'mk_contexts' file. This bug has found by syzbot[1]. [1] https://lore.kernel.org/damon/000000000000ede3ac05ec4abf8e@google.com/ Link: https://lkml.kernel.org/r/20221107165001.5717-2-sj@kernel.org Fixes: 75c1c2b53c78 ("mm/damon/dbgfs: support multiple contexts") Signed-off-by: SeongJae Park Reported-by: syzbot+6087eafb76a94c4ac9eb@syzkaller.appspotmail.com Cc: [5.15.x] Signed-off-by: Andrew Morton --- mm/damon/dbgfs.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mm/damon/dbgfs.c b/mm/damon/dbgfs.c index 6f0ae7d3ae39..b3f454a5c682 100644 --- a/mm/damon/dbgfs.c +++ b/mm/damon/dbgfs.c @@ -890,6 +890,7 @@ out: static int dbgfs_rm_context(char *name) { struct dentry *root, *dir, **new_dirs; + struct inode *inode; struct damon_ctx **new_ctxs; int i, j; int ret = 0; @@ -905,6 +906,12 @@ static int dbgfs_rm_context(char *name) if (!dir) return -ENOENT; + inode = d_inode(dir); + if (!S_ISDIR(inode->i_mode)) { + ret = -EINVAL; + goto out_dput; + } + new_dirs = kmalloc_array(dbgfs_nr_ctxs - 1, sizeof(*dbgfs_dirs), GFP_KERNEL); if (!new_dirs) { -- cgit v1.2.3-59-g8ed1b From 436fa4a699bcd1c368bea9199e22b0a1b9cf9e0f Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Mon, 7 Nov 2022 15:22:55 +0100 Subject: docs: kmsan: fix formatting of "Example report" Add a blank line to make the sentence before the list render as a separate paragraph, not a definition. Link: https://lkml.kernel.org/r/20221107142255.4038811-1-glider@google.com Fixes: 93858ae70cf4 ("kmsan: add ReST documentation") Signed-off-by: Alexander Potapenko Suggested-by: Bagas Sanjaya Cc: Jonathan Corbet Signed-off-by: Andrew Morton --- Documentation/dev-tools/kmsan.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/dev-tools/kmsan.rst b/Documentation/dev-tools/kmsan.rst index 2a53a801198c..55fa82212eb2 100644 --- a/Documentation/dev-tools/kmsan.rst +++ b/Documentation/dev-tools/kmsan.rst @@ -67,6 +67,7 @@ uninitialized in the local variable, as well as the stack where the value was copied to another memory location before use. A use of uninitialized value ``v`` is reported by KMSAN in the following cases: + - in a condition, e.g. ``if (v) { ... }``; - in an indexing or pointer dereferencing, e.g. ``array[v]`` or ``*v``; - when it is copied to userspace or hardware, e.g. ``copy_to_user(..., &v, ...)``; -- cgit v1.2.3-59-g8ed1b From 8cbd4725ffff3eface1f5f3397af02acad5b2831 Mon Sep 17 00:00:00 2001 From: Jussi Laako Date: Wed, 9 Nov 2022 00:12:41 +0200 Subject: ALSA: usb-audio: Add DSD support for Accuphase DAC-60 Accuphase DAC-60 option card supports native DSD up to DSD256, but doesn't have support for auto-detection. Explicitly enable DSD support for the correct altsetting. Signed-off-by: Jussi Laako Cc: Link: https://lore.kernel.org/r/20221108221241.1220878-1-jussi@sonarnerd.net Signed-off-by: Takashi Iwai --- sound/usb/quirks.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 2dd19a5c3026..aedc3987a4cf 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1875,6 +1875,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, /* XMOS based USB DACs */ switch (chip->usb_id) { case USB_ID(0x1511, 0x0037): /* AURALiC VEGA */ + case USB_ID(0x21ed, 0xd75a): /* Accuphase DAC-60 option card */ case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */ case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */ if (fp->altsetting == 2) -- cgit v1.2.3-59-g8ed1b From fed74d75277da865da9ba334d3f5d5e3e327971d Mon Sep 17 00:00:00 2001 From: AngeloGioacchino Del Regno Date: Fri, 4 Nov 2022 11:56:05 +0100 Subject: pinctrl: mediatek: common-v2: Fix bias-disable for PULL_PU_PD_RSEL_TYPE In pinctrl-paris we're calling the .bias_set_combo() callback when we are asked to set the pin bias to either pull up/down or pull disable. On newer platforms, this callback is mtk_pinconf_bias_set_combo(), located in pinctrl-mtk-common-v2.c: this will check the "pull type" assigned to the requested pin and in case said pin's pull type is MTK_PULL_PU_PD_RSEL_TYPE, this function will set RSEL first, PUPD last, which is fine. The issue comes when we're requesting PIN_CONFIG_BIAS_DISABLE, as this does *not* require setting RSEL but only PU_PD: in this case, the arg is MTK_DISABLE (zero), which is not a supported RSEL, due to which function mtk_pinconf_bias_set_rsel() returns a failure; because of that, mtk_pinconf_bias_set_pu_pd() is never called, hence the pin bias is never set to DISABLE. To fix this issue, add a check to mtk_pinconf_bias_set_rsel(): if we are entering that function with no pullup requested and at the same time the arg is MTK_DISABLE, this means that we're trying to disable pin bias, hence it's safe to return cleanly without ever setting any RSEL register. This makes mtk_pinconf_bias_set_combo() happy, going on with setting the PU_PD registers, which is the only action to actually take to disable bias on a pin/pingroup. Fixes: fb34a9ae383a ("pinctrl: mediatek: support rsel feature") Signed-off-by: AngeloGioacchino Del Regno Link: https://lore.kernel.org/r/20221104105605.33720-1-angelogioacchino.delregno@collabora.com Signed-off-by: Linus Walleij --- drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c index e1ae3beb9f72..b7921b59eb7b 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c @@ -709,6 +709,9 @@ static int mtk_pinconf_bias_set_rsel(struct mtk_pinctrl *hw, { int err, rsel_val; + if (!pullup && arg == MTK_DISABLE) + return 0; + if (hw->rsel_si_unit) { /* find pin rsel_index from pin_rsel array*/ err = mtk_hw_pin_rsel_lookup(hw, desc, pullup, arg, &rsel_val); -- cgit v1.2.3-59-g8ed1b From 8ec8490a1950efeccb00967698cf7cb2fcd25ca7 Mon Sep 17 00:00:00 2001 From: D Scott Phillips Date: Wed, 2 Nov 2022 09:01:06 -0700 Subject: arm64: Fix bit-shifting UB in the MIDR_CPU_MODEL() macro CONFIG_UBSAN_SHIFT with gcc-5 complains that the shifting of ARM_CPU_IMP_AMPERE (0xC0) into bits [31:24] by MIDR_CPU_MODEL() is undefined behavior. Well, sort of, it actually spells the error as: arch/arm64/kernel/proton-pack.c: In function 'spectre_bhb_loop_affected': arch/arm64/include/asm/cputype.h:44:2: error: initializer element is not constant (((imp) << MIDR_IMPLEMENTOR_SHIFT) | \ ^ This isn't an issue for other Implementor codes, as all the other codes have zero in the top bit and so are representable as a signed int. Cast the implementor code to unsigned in MIDR_CPU_MODEL to remove the undefined behavior. Fixes: 0e5d5ae837c8 ("arm64: Add AMPERE1 to the Spectre-BHB affected list") Reported-by: Geert Uytterhoeven Signed-off-by: D Scott Phillips Link: https://lore.kernel.org/r/20221102160106.1096948-1-scott@os.amperecomputing.com Signed-off-by: Catalin Marinas --- arch/arm64/include/asm/cputype.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h index abc418650fec..65e53ef5a396 100644 --- a/arch/arm64/include/asm/cputype.h +++ b/arch/arm64/include/asm/cputype.h @@ -41,7 +41,7 @@ (((midr) & MIDR_IMPLEMENTOR_MASK) >> MIDR_IMPLEMENTOR_SHIFT) #define MIDR_CPU_MODEL(imp, partnum) \ - (((imp) << MIDR_IMPLEMENTOR_SHIFT) | \ + ((_AT(u32, imp) << MIDR_IMPLEMENTOR_SHIFT) | \ (0xf << MIDR_ARCHITECTURE_SHIFT) | \ ((partnum) << MIDR_PARTNUM_SHIFT)) -- cgit v1.2.3-59-g8ed1b From acfc35cfcee5df419391671ef1a631f43feee4e3 Mon Sep 17 00:00:00 2001 From: Kuniyuki Iwashima Date: Mon, 31 Oct 2022 14:57:28 -0700 Subject: arm64/syscall: Include asm/ptrace.h in syscall_wrapper header. Add the same change for ARM64 as done in the commit 9440c4294160 ("x86/syscall: Include asm/ptrace.h in syscall_wrapper header") to make sure all syscalls see 'struct pt_regs' definition and resulted BTF for '__arm64_sys_*(struct pt_regs *regs)' functions point to actual struct. Without this patch, the BPF verifier refuses to load a tracing prog which accesses pt_regs. bpf(BPF_PROG_LOAD, {prog_type=0x1a, ...}, 128) = -1 EACCES With this patch, we can see the correct error, which saves us time in debugging the prog. bpf(BPF_PROG_LOAD, {prog_type=0x1a, ...}, 128) = 4 bpf(BPF_RAW_TRACEPOINT_OPEN, {raw_tracepoint={name=NULL, prog_fd=4}}, 128) = -1 ENOTSUPP Signed-off-by: Kuniyuki Iwashima Acked-by: Andrii Nakryiko Link: https://lore.kernel.org/r/20221031215728.50389-1-kuniyu@amazon.com Signed-off-by: Catalin Marinas --- arch/arm64/include/asm/syscall_wrapper.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/syscall_wrapper.h b/arch/arm64/include/asm/syscall_wrapper.h index b383b4802a7b..d30217c21eff 100644 --- a/arch/arm64/include/asm/syscall_wrapper.h +++ b/arch/arm64/include/asm/syscall_wrapper.h @@ -8,7 +8,7 @@ #ifndef __ASM_SYSCALL_WRAPPER_H #define __ASM_SYSCALL_WRAPPER_H -struct pt_regs; +#include #define SC_ARM64_REGS_TO_ARGS(x, ...) \ __MAP(x,__SC_ARGS \ -- cgit v1.2.3-59-g8ed1b From c8af247de385ce49afabc3bf1cf4fd455c94bfe8 Mon Sep 17 00:00:00 2001 From: ZhangPeng Date: Wed, 9 Nov 2022 01:35:42 +0000 Subject: udf: Fix a slab-out-of-bounds write bug in udf_find_entry() Syzbot reported a slab-out-of-bounds Write bug: loop0: detected capacity change from 0 to 2048 ================================================================== BUG: KASAN: slab-out-of-bounds in udf_find_entry+0x8a5/0x14f0 fs/udf/namei.c:253 Write of size 105 at addr ffff8880123ff896 by task syz-executor323/3610 CPU: 0 PID: 3610 Comm: syz-executor323 Not tainted 6.1.0-rc2-syzkaller-00105-gb229b6ca5abb #0 Hardware name: Google Compute Engine/Google Compute Engine, BIOS Google 10/11/2022 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1b1/0x28e lib/dump_stack.c:106 print_address_description+0x74/0x340 mm/kasan/report.c:284 print_report+0x107/0x1f0 mm/kasan/report.c:395 kasan_report+0xcd/0x100 mm/kasan/report.c:495 kasan_check_range+0x2a7/0x2e0 mm/kasan/generic.c:189 memcpy+0x3c/0x60 mm/kasan/shadow.c:66 udf_find_entry+0x8a5/0x14f0 fs/udf/namei.c:253 udf_lookup+0xef/0x340 fs/udf/namei.c:309 lookup_open fs/namei.c:3391 [inline] open_last_lookups fs/namei.c:3481 [inline] path_openat+0x10e6/0x2df0 fs/namei.c:3710 do_filp_open+0x264/0x4f0 fs/namei.c:3740 do_sys_openat2+0x124/0x4e0 fs/open.c:1310 do_sys_open fs/open.c:1326 [inline] __do_sys_creat fs/open.c:1402 [inline] __se_sys_creat fs/open.c:1396 [inline] __x64_sys_creat+0x11f/0x160 fs/open.c:1396 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7ffab0d164d9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffe1a7e6bb8 EFLAGS: 00000246 ORIG_RAX: 0000000000000055 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ffab0d164d9 RDX: 00007ffab0d164d9 RSI: 0000000000000000 RDI: 0000000020000180 RBP: 00007ffab0cd5a10 R08: 0000000000000000 R09: 0000000000000000 R10: 00005555573552c0 R11: 0000000000000246 R12: 00007ffab0cd5aa0 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 Allocated by task 3610: kasan_save_stack mm/kasan/common.c:45 [inline] kasan_set_track+0x3d/0x60 mm/kasan/common.c:52 ____kasan_kmalloc mm/kasan/common.c:371 [inline] __kasan_kmalloc+0x97/0xb0 mm/kasan/common.c:380 kmalloc include/linux/slab.h:576 [inline] udf_find_entry+0x7b6/0x14f0 fs/udf/namei.c:243 udf_lookup+0xef/0x340 fs/udf/namei.c:309 lookup_open fs/namei.c:3391 [inline] open_last_lookups fs/namei.c:3481 [inline] path_openat+0x10e6/0x2df0 fs/namei.c:3710 do_filp_open+0x264/0x4f0 fs/namei.c:3740 do_sys_openat2+0x124/0x4e0 fs/open.c:1310 do_sys_open fs/open.c:1326 [inline] __do_sys_creat fs/open.c:1402 [inline] __se_sys_creat fs/open.c:1396 [inline] __x64_sys_creat+0x11f/0x160 fs/open.c:1396 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd The buggy address belongs to the object at ffff8880123ff800 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 150 bytes inside of 256-byte region [ffff8880123ff800, ffff8880123ff900) The buggy address belongs to the physical page: page:ffffea000048ff80 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x123fe head:ffffea000048ff80 order:1 compound_mapcount:0 compound_pincount:0 flags: 0xfff00000010200(slab|head|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000010200 ffffea00004b8500 dead000000000003 ffff888012041b40 raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x0(), pid 1, tgid 1 (swapper/0), ts 1841222404, free_ts 0 create_dummy_stack mm/page_owner.c:67 [inline] register_early_stack+0x77/0xd0 mm/page_owner.c:83 init_page_owner+0x3a/0x731 mm/page_owner.c:93 kernel_init_freeable+0x41c/0x5d5 init/main.c:1629 kernel_init+0x19/0x2b0 init/main.c:1519 page_owner free stack trace missing Memory state around the buggy address: ffff8880123ff780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880123ff800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff8880123ff880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 ^ ffff8880123ff900: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880123ff980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== Fix this by changing the memory size allocated for copy_name from UDF_NAME_LEN(254) to UDF_NAME_LEN_CS0(255), because the total length (lfi) of subsequent memcpy can be up to 255. CC: stable@vger.kernel.org Reported-by: syzbot+69c9fdccc6dd08961d34@syzkaller.appspotmail.com Fixes: 066b9cded00b ("udf: Use separate buffer for copying split names") Signed-off-by: ZhangPeng Signed-off-by: Jan Kara Link: https://lore.kernel.org/r/20221109013542.442790-1-zhangpeng362@huawei.com --- fs/udf/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/udf/namei.c b/fs/udf/namei.c index fb4c30e05245..ae7bc13a5298 100644 --- a/fs/udf/namei.c +++ b/fs/udf/namei.c @@ -240,7 +240,7 @@ static struct fileIdentDesc *udf_find_entry(struct inode *dir, poffset - lfi); else { if (!copy_name) { - copy_name = kmalloc(UDF_NAME_LEN, + copy_name = kmalloc(UDF_NAME_LEN_CS0, GFP_NOFS); if (!copy_name) { fi = ERR_PTR(-ENOMEM); -- cgit v1.2.3-59-g8ed1b From f002f45a00ee14214d96b18b9a555fe2c56afb20 Mon Sep 17 00:00:00 2001 From: Haibo Chen Date: Tue, 8 Nov 2022 15:45:03 +0800 Subject: mmc: sdhci-esdhc-imx: use the correct host caps for MMC_CAP_8_BIT_DATA MMC_CAP_8_BIT_DATA belongs to struct mmc_host, not struct sdhci_host. So correct it here. Fixes: 1ed5c3b22fc7 ("mmc: sdhci-esdhc-imx: Propagate ESDHC_FLAG_HS400* only on 8bit bus") Signed-off-by: Haibo Chen Cc: stable@vger.kernel.org Acked-by: Adrian Hunter Link: https://lore.kernel.org/r/1667893503-20583-1-git-send-email-haibo.chen@nxp.com Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdhci-esdhc-imx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 89225faa242a..31ea0a2fce35 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -1672,14 +1672,14 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev) if (imx_data->socdata->flags & ESDHC_FLAG_ERR004536) host->quirks |= SDHCI_QUIRK_BROKEN_ADMA; - if (host->caps & MMC_CAP_8_BIT_DATA && + if (host->mmc->caps & MMC_CAP_8_BIT_DATA && imx_data->socdata->flags & ESDHC_FLAG_HS400) host->mmc->caps2 |= MMC_CAP2_HS400; if (imx_data->socdata->flags & ESDHC_FLAG_BROKEN_AUTO_CMD23) host->quirks2 |= SDHCI_QUIRK2_ACMD23_BROKEN; - if (host->caps & MMC_CAP_8_BIT_DATA && + if (host->mmc->caps & MMC_CAP_8_BIT_DATA && imx_data->socdata->flags & ESDHC_FLAG_HS400_ES) { host->mmc->caps2 |= MMC_CAP2_HS400_ES; host->mmc_host_ops.hs400_enhanced_strobe = -- cgit v1.2.3-59-g8ed1b From d7ac8dca938cd60cf7bd9a89a229a173c6bcba87 Mon Sep 17 00:00:00 2001 From: Keith Busch Date: Fri, 28 Oct 2022 13:14:15 -0700 Subject: nvme: quiet user passthrough command errors The driver is spamming the kernel logs for entirely harmless errors from user space submitting unsupported commands. Just silence the errors. The application has direct access to command status, so there's no need to log these. And since every passthrough command now uses the quiet flag, move the setting to the common initializer. Signed-off-by: Keith Busch Reviewed-by: Alan Adamson Reviewed-by: Jens Axboe Reviewed-by: Kanchan Joshi Reviewed-by: Chaitanya Kulkarni Reviewed-by: Daniel Wagner Tested-by: Alan Adamson Signed-off-by: Christoph Hellwig --- drivers/nvme/host/core.c | 3 +-- drivers/nvme/host/pci.c | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index dc4220600585..da55ce45ac70 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -675,6 +675,7 @@ void nvme_init_request(struct request *req, struct nvme_command *cmd) if (req->mq_hctx->type == HCTX_TYPE_POLL) req->cmd_flags |= REQ_POLLED; nvme_clear_nvme_request(req); + req->rq_flags |= RQF_QUIET; memcpy(nvme_req(req)->cmd, cmd, sizeof(*cmd)); } EXPORT_SYMBOL_GPL(nvme_init_request); @@ -1037,7 +1038,6 @@ int __nvme_submit_sync_cmd(struct request_queue *q, struct nvme_command *cmd, goto out; } - req->rq_flags |= RQF_QUIET; ret = nvme_execute_rq(req, at_head); if (result && ret >= 0) *result = nvme_req(req)->result; @@ -1227,7 +1227,6 @@ static void nvme_keep_alive_work(struct work_struct *work) rq->timeout = ctrl->kato * HZ; rq->end_io = nvme_keep_alive_end_io; rq->end_io_data = ctrl; - rq->rq_flags |= RQF_QUIET; blk_execute_rq_nowait(rq, false); } diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 31e577b01257..02b5578773a1 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -1436,7 +1436,6 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req) abort_req->end_io = abort_endio; abort_req->end_io_data = NULL; - abort_req->rq_flags |= RQF_QUIET; blk_execute_rq_nowait(abort_req, false); /* @@ -2490,7 +2489,6 @@ static int nvme_delete_queue(struct nvme_queue *nvmeq, u8 opcode) req->end_io_data = nvmeq; init_completion(&nvmeq->delete_done); - req->rq_flags |= RQF_QUIET; blk_execute_rq_nowait(req, false); return 0; } -- cgit v1.2.3-59-g8ed1b From becc4cac309dc867571f0080fde4426a6c2222e0 Mon Sep 17 00:00:00 2001 From: Aleksandr Miloserdov Date: Wed, 26 Oct 2022 12:31:33 +0400 Subject: nvmet: fix memory leak in nvmet_subsys_attr_model_store_locked Since model_number is allocated before it needs to be freed before kmemdump_nul. Reviewed-by: Konstantin Shelekhin Reviewed-by: Dmitriy Bogdanov Signed-off-by: Aleksandr Miloserdov Reviewed-by: Sagi Grimberg Signed-off-by: Christoph Hellwig --- drivers/nvme/target/configfs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/nvme/target/configfs.c b/drivers/nvme/target/configfs.c index 9443ee1d4ae3..d0b9eea15ff8 100644 --- a/drivers/nvme/target/configfs.c +++ b/drivers/nvme/target/configfs.c @@ -1215,6 +1215,7 @@ static ssize_t nvmet_subsys_attr_model_store_locked(struct nvmet_subsys *subsys, const char *page, size_t count) { int pos = 0, len; + char *val; if (subsys->subsys_discovered) { pr_err("Can't set model number. %s is already assigned\n", @@ -1237,9 +1238,11 @@ static ssize_t nvmet_subsys_attr_model_store_locked(struct nvmet_subsys *subsys, return -EINVAL; } - subsys->model_number = kmemdup_nul(page, len, GFP_KERNEL); - if (!subsys->model_number) + val = kmemdup_nul(page, len, GFP_KERNEL); + if (!val) return -ENOMEM; + kfree(subsys->model_number); + subsys->model_number = val; return count; } -- cgit v1.2.3-59-g8ed1b From e65fdf530f55c5e387db14470a59a399faa29613 Mon Sep 17 00:00:00 2001 From: Sagi Grimberg Date: Wed, 9 Nov 2022 05:29:57 +0200 Subject: nvmet: fix a memory leak We need to also free the dhchap_ctrl_secret when releasing nvmet_host. kmemleak complaint: -- unreferenced object 0xffff99b1cbca5140 (size 64): comm "check", pid 4864, jiffies 4305092436 (age 2913.583s) hex dump (first 32 bytes): 44 48 48 43 2d 31 3a 30 30 3a 65 36 2b 41 63 44 DHHC-1:00:e6+AcD 39 76 47 4d 52 57 59 78 67 54 47 44 51 59 47 78 9vGMRWYxgTGDQYGx backtrace: [<00000000c07d369d>] kstrdup+0x2e/0x60 [<000000001372171c>] 0xffffffffc0cceec6 [<0000000010dbf50b>] 0xffffffffc0cc6783 [<000000007465e93c>] configfs_write_iter+0xb1/0x120 [<0000000039c23f62>] vfs_write+0x2be/0x3c0 [<000000002da4351c>] ksys_write+0x5f/0xe0 [<00000000d5011e32>] do_syscall_64+0x38/0x90 [<00000000503870cf>] entry_SYSCALL_64_after_hwframe+0x63/0xcd Fixes: db1312dd9548 ("nvmet: implement basic In-Band Authentication") Signed-off-by: Sagi Grimberg Reviewed-by: Chaitanya Kulkarni Signed-off-by: Christoph Hellwig --- drivers/nvme/target/configfs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/nvme/target/configfs.c b/drivers/nvme/target/configfs.c index d0b9eea15ff8..6a2816f3b4e8 100644 --- a/drivers/nvme/target/configfs.c +++ b/drivers/nvme/target/configfs.c @@ -1839,6 +1839,7 @@ static void nvmet_host_release(struct config_item *item) #ifdef CONFIG_NVME_TARGET_AUTH kfree(host->dhchap_secret); + kfree(host->dhchap_ctrl_secret); #endif kfree(host); } -- cgit v1.2.3-59-g8ed1b From f352262f727215553879705bacbcb208979f3eff Mon Sep 17 00:00:00 2001 From: Robin Murphy Date: Tue, 8 Nov 2022 17:06:19 +0000 Subject: drm/panfrost: Split io-pgtable requests properly Although we don't use 1GB block mappings, we still need to split map/unmap requests at 1GB boundaries to match what io-pgtable expects. Fix that, and add some explanation to make sense of it all. Fixes: 3740b081795a ("drm/panfrost: Update io-pgtable API") Reported-by: Dmitry Osipenko Signed-off-by: Robin Murphy Tested-by: Dmitry Osipenko Reviewed-by: Steven Price Signed-off-by: Steven Price Link: https://patchwork.freedesktop.org/patch/msgid/49e54bb4019cd06e01549b106d7ac37c3d182cd3.1667927179.git.robin.murphy@arm.com --- drivers/gpu/drm/panfrost/panfrost_mmu.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c index e246d914e7f6..4e83a1891f3e 100644 --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c @@ -250,13 +250,22 @@ void panfrost_mmu_reset(struct panfrost_device *pfdev) static size_t get_pgsize(u64 addr, size_t size, size_t *count) { + /* + * io-pgtable only operates on multiple pages within a single table + * entry, so we need to split at boundaries of the table size, i.e. + * the next block size up. The distance from address A to the next + * boundary of block size B is logically B - A % B, but in unsigned + * two's complement where B is a power of two we get the equivalence + * B - A % B == (B - A) % B == (n * B - A) % B, and choose n = 0 :) + */ size_t blk_offset = -addr % SZ_2M; if (blk_offset || size < SZ_2M) { *count = min_not_zero(blk_offset, size) / SZ_4K; return SZ_4K; } - *count = size / SZ_2M; + blk_offset = -addr % SZ_1G ?: SZ_1G; + *count = min(blk_offset, size) / SZ_2M; return SZ_2M; } -- cgit v1.2.3-59-g8ed1b From a830a15678593948f3271a5a398c9b67d8beedb9 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 2 Oct 2022 00:33:27 +0300 Subject: drm: rcar-du: Fix Kconfig dependency between RCAR_DU and RCAR_MIPI_DSI When the R-Car MIPI DSI driver was added, it was a standalone encoder driver without any dependency to or from the R-Car DU driver. Commit 957fe62d7d15 ("drm: rcar-du: Fix DSI enable & disable sequence") then added a direct call from the DU driver to the MIPI DSI driver, without updating Kconfig to take the new dependency into account. Fix it the same way that the LVDS encoder is handled. Fixes: 957fe62d7d15 ("drm: rcar-du: Fix DSI enable & disable sequence") Reported-by: kernel test robot Reviewed-by: Tomi Valkeinen Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/rcar-du/Kconfig | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig index c959e8c6be7d..fd2c2eaee26b 100644 --- a/drivers/gpu/drm/rcar-du/Kconfig +++ b/drivers/gpu/drm/rcar-du/Kconfig @@ -44,13 +44,18 @@ config DRM_RCAR_LVDS select OF_FLATTREE select OF_OVERLAY -config DRM_RCAR_MIPI_DSI - tristate "R-Car DU MIPI DSI Encoder Support" - depends on DRM && DRM_BRIDGE && OF - select DRM_MIPI_DSI +config DRM_RCAR_USE_MIPI_DSI + bool "R-Car DU MIPI DSI Encoder Support" + depends on DRM_BRIDGE && OF + default DRM_RCAR_DU help Enable support for the R-Car Display Unit embedded MIPI DSI encoders. +config DRM_RCAR_MIPI_DSI + def_tristate DRM_RCAR_DU + depends on DRM_RCAR_USE_MIPI_DSI + select DRM_MIPI_DSI + config DRM_RCAR_VSP bool "R-Car DU VSP Compositor Support" if ARM default y if ARM64 -- cgit v1.2.3-59-g8ed1b From debc5a1ec0d195ffea70d11efeffb713de9fdbc7 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 8 Nov 2022 09:44:53 +0100 Subject: KVM: x86: use a separate asm-offsets.c file This already removes an ugly #include "" from asm-offsets.c, but especially it avoids a future error when trying to define asm-offsets for KVM's svm/svm.h header. This would not work for kernel/asm-offsets.c, because svm/svm.h includes kvm_cache_regs.h which is not in the include path when compiling asm-offsets.c. The problem is not there if the .c file is in arch/x86/kvm. Suggested-by: Sean Christopherson Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kernel/asm-offsets.c | 6 ------ arch/x86/kvm/.gitignore | 2 ++ arch/x86/kvm/Makefile | 9 +++++++++ arch/x86/kvm/kvm-asm-offsets.c | 18 ++++++++++++++++++ arch/x86/kvm/vmx/vmenter.S | 2 +- 5 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 arch/x86/kvm/.gitignore create mode 100644 arch/x86/kvm/kvm-asm-offsets.c diff --git a/arch/x86/kernel/asm-offsets.c b/arch/x86/kernel/asm-offsets.c index cb50589a7102..437308004ef2 100644 --- a/arch/x86/kernel/asm-offsets.c +++ b/arch/x86/kernel/asm-offsets.c @@ -19,7 +19,6 @@ #include #include #include -#include "../kvm/vmx/vmx.h" #ifdef CONFIG_XEN #include @@ -108,9 +107,4 @@ static void __used common(void) OFFSET(TSS_sp0, tss_struct, x86_tss.sp0); OFFSET(TSS_sp1, tss_struct, x86_tss.sp1); OFFSET(TSS_sp2, tss_struct, x86_tss.sp2); - - if (IS_ENABLED(CONFIG_KVM_INTEL)) { - BLANK(); - OFFSET(VMX_spec_ctrl, vcpu_vmx, spec_ctrl); - } } diff --git a/arch/x86/kvm/.gitignore b/arch/x86/kvm/.gitignore new file mode 100644 index 000000000000..615d6ff35c00 --- /dev/null +++ b/arch/x86/kvm/.gitignore @@ -0,0 +1,2 @@ +/kvm-asm-offsets.s +/kvm-asm-offsets.h diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile index 30f244b64523..a02cf9baacc8 100644 --- a/arch/x86/kvm/Makefile +++ b/arch/x86/kvm/Makefile @@ -34,3 +34,12 @@ endif obj-$(CONFIG_KVM) += kvm.o obj-$(CONFIG_KVM_INTEL) += kvm-intel.o obj-$(CONFIG_KVM_AMD) += kvm-amd.o + +AFLAGS_vmx/vmenter.o := -iquote $(obj) +$(obj)/vmx/vmenter.o: $(obj)/kvm-asm-offsets.h + +$(obj)/kvm-asm-offsets.h: $(obj)/kvm-asm-offsets.s FORCE + $(call filechk,offsets,__KVM_ASM_OFFSETS_H__) + +targets += kvm-asm-offsets.s +clean-files += kvm-asm-offsets.h diff --git a/arch/x86/kvm/kvm-asm-offsets.c b/arch/x86/kvm/kvm-asm-offsets.c new file mode 100644 index 000000000000..9d84f2b32d7f --- /dev/null +++ b/arch/x86/kvm/kvm-asm-offsets.c @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Generate definitions needed by assembly language modules. + * This code generates raw asm output which is post-processed to extract + * and format the required data. + */ +#define COMPILE_OFFSETS + +#include +#include "vmx/vmx.h" + +static void __used common(void) +{ + if (IS_ENABLED(CONFIG_KVM_INTEL)) { + BLANK(); + OFFSET(VMX_spec_ctrl, vcpu_vmx, spec_ctrl); + } +} diff --git a/arch/x86/kvm/vmx/vmenter.S b/arch/x86/kvm/vmx/vmenter.S index 8477d8bdd69c..0b5db4de4d09 100644 --- a/arch/x86/kvm/vmx/vmenter.S +++ b/arch/x86/kvm/vmx/vmenter.S @@ -1,12 +1,12 @@ /* SPDX-License-Identifier: GPL-2.0 */ #include #include -#include #include #include #include #include #include +#include "kvm-asm-offsets.h" #include "run_flags.h" #define WORD_SIZE (BITS_PER_LONG / 8) -- cgit v1.2.3-59-g8ed1b From 16fdc1de169ee0a4e59a8c02244414ec7acd55c3 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 30 Sep 2022 14:14:44 -0400 Subject: KVM: SVM: replace regs argument of __svm_vcpu_run() with vcpu_svm Since registers are reachable through vcpu_svm, and we will need to access more fields of that struct, pass it instead of the regs[] array. No functional change intended. Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/Makefile | 3 +++ arch/x86/kvm/kvm-asm-offsets.c | 6 ++++++ arch/x86/kvm/svm/svm.c | 2 +- arch/x86/kvm/svm/svm.h | 2 +- arch/x86/kvm/svm/vmenter.S | 37 +++++++++++++++++++------------------ 5 files changed, 30 insertions(+), 20 deletions(-) diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile index a02cf9baacc8..f453a0f96e24 100644 --- a/arch/x86/kvm/Makefile +++ b/arch/x86/kvm/Makefile @@ -35,6 +35,9 @@ obj-$(CONFIG_KVM) += kvm.o obj-$(CONFIG_KVM_INTEL) += kvm-intel.o obj-$(CONFIG_KVM_AMD) += kvm-amd.o +AFLAGS_svm/vmenter.o := -iquote $(obj) +$(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h + AFLAGS_vmx/vmenter.o := -iquote $(obj) $(obj)/vmx/vmenter.o: $(obj)/kvm-asm-offsets.h diff --git a/arch/x86/kvm/kvm-asm-offsets.c b/arch/x86/kvm/kvm-asm-offsets.c index 9d84f2b32d7f..30db96852e2d 100644 --- a/arch/x86/kvm/kvm-asm-offsets.c +++ b/arch/x86/kvm/kvm-asm-offsets.c @@ -8,9 +8,15 @@ #include #include "vmx/vmx.h" +#include "svm/svm.h" static void __used common(void) { + if (IS_ENABLED(CONFIG_KVM_AMD)) { + BLANK(); + OFFSET(SVM_vcpu_arch_regs, vcpu_svm, vcpu.arch.regs); + } + if (IS_ENABLED(CONFIG_KVM_INTEL)) { BLANK(); OFFSET(VMX_spec_ctrl, vcpu_vmx, spec_ctrl); diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 58f0077d9357..b412bc5773c5 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3930,7 +3930,7 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) * vmcb02 when switching vmcbs for nested virtualization. */ vmload(svm->vmcb01.pa); - __svm_vcpu_run(vmcb_pa, (unsigned long *)&vcpu->arch.regs); + __svm_vcpu_run(vmcb_pa, svm); vmsave(svm->vmcb01.pa); vmload(__sme_page_pa(sd->save_area)); diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index 6a7686bf6900..447e25c9101a 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -684,6 +684,6 @@ void sev_es_unmap_ghcb(struct vcpu_svm *svm); /* vmenter.S */ void __svm_sev_es_vcpu_run(unsigned long vmcb_pa); -void __svm_vcpu_run(unsigned long vmcb_pa, unsigned long *regs); +void __svm_vcpu_run(unsigned long vmcb_pa, struct vcpu_svm *svm); #endif diff --git a/arch/x86/kvm/svm/vmenter.S b/arch/x86/kvm/svm/vmenter.S index 723f8534986c..f0ff41103e4c 100644 --- a/arch/x86/kvm/svm/vmenter.S +++ b/arch/x86/kvm/svm/vmenter.S @@ -4,27 +4,28 @@ #include #include #include +#include "kvm-asm-offsets.h" #define WORD_SIZE (BITS_PER_LONG / 8) /* Intentionally omit RAX as it's context switched by hardware */ -#define VCPU_RCX __VCPU_REGS_RCX * WORD_SIZE -#define VCPU_RDX __VCPU_REGS_RDX * WORD_SIZE -#define VCPU_RBX __VCPU_REGS_RBX * WORD_SIZE +#define VCPU_RCX (SVM_vcpu_arch_regs + __VCPU_REGS_RCX * WORD_SIZE) +#define VCPU_RDX (SVM_vcpu_arch_regs + __VCPU_REGS_RDX * WORD_SIZE) +#define VCPU_RBX (SVM_vcpu_arch_regs + __VCPU_REGS_RBX * WORD_SIZE) /* Intentionally omit RSP as it's context switched by hardware */ -#define VCPU_RBP __VCPU_REGS_RBP * WORD_SIZE -#define VCPU_RSI __VCPU_REGS_RSI * WORD_SIZE -#define VCPU_RDI __VCPU_REGS_RDI * WORD_SIZE +#define VCPU_RBP (SVM_vcpu_arch_regs + __VCPU_REGS_RBP * WORD_SIZE) +#define VCPU_RSI (SVM_vcpu_arch_regs + __VCPU_REGS_RSI * WORD_SIZE) +#define VCPU_RDI (SVM_vcpu_arch_regs + __VCPU_REGS_RDI * WORD_SIZE) #ifdef CONFIG_X86_64 -#define VCPU_R8 __VCPU_REGS_R8 * WORD_SIZE -#define VCPU_R9 __VCPU_REGS_R9 * WORD_SIZE -#define VCPU_R10 __VCPU_REGS_R10 * WORD_SIZE -#define VCPU_R11 __VCPU_REGS_R11 * WORD_SIZE -#define VCPU_R12 __VCPU_REGS_R12 * WORD_SIZE -#define VCPU_R13 __VCPU_REGS_R13 * WORD_SIZE -#define VCPU_R14 __VCPU_REGS_R14 * WORD_SIZE -#define VCPU_R15 __VCPU_REGS_R15 * WORD_SIZE +#define VCPU_R8 (SVM_vcpu_arch_regs + __VCPU_REGS_R8 * WORD_SIZE) +#define VCPU_R9 (SVM_vcpu_arch_regs + __VCPU_REGS_R9 * WORD_SIZE) +#define VCPU_R10 (SVM_vcpu_arch_regs + __VCPU_REGS_R10 * WORD_SIZE) +#define VCPU_R11 (SVM_vcpu_arch_regs + __VCPU_REGS_R11 * WORD_SIZE) +#define VCPU_R12 (SVM_vcpu_arch_regs + __VCPU_REGS_R12 * WORD_SIZE) +#define VCPU_R13 (SVM_vcpu_arch_regs + __VCPU_REGS_R13 * WORD_SIZE) +#define VCPU_R14 (SVM_vcpu_arch_regs + __VCPU_REGS_R14 * WORD_SIZE) +#define VCPU_R15 (SVM_vcpu_arch_regs + __VCPU_REGS_R15 * WORD_SIZE) #endif .section .noinstr.text, "ax" @@ -32,7 +33,7 @@ /** * __svm_vcpu_run - Run a vCPU via a transition to SVM guest mode * @vmcb_pa: unsigned long - * @regs: unsigned long * (to guest registers) + * @svm: struct vcpu_svm * */ SYM_FUNC_START(__svm_vcpu_run) push %_ASM_BP @@ -47,13 +48,13 @@ SYM_FUNC_START(__svm_vcpu_run) #endif push %_ASM_BX - /* Save @regs. */ + /* Save @svm. */ push %_ASM_ARG2 /* Save @vmcb. */ push %_ASM_ARG1 - /* Move @regs to RAX. */ + /* Move @svm to RAX. */ mov %_ASM_ARG2, %_ASM_AX /* Load guest registers. */ @@ -89,7 +90,7 @@ SYM_FUNC_START(__svm_vcpu_run) FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE #endif - /* "POP" @regs to RAX. */ + /* "POP" @svm to RAX. */ pop %_ASM_AX /* Save all guest registers. */ -- cgit v1.2.3-59-g8ed1b From f7ef280132f9bf6f82acf5aa5c3c837206eef501 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 28 Oct 2022 17:30:07 -0400 Subject: KVM: SVM: adjust register allocation for __svm_vcpu_run() 32-bit ABI uses RAX/RCX/RDX as its argument registers, so they are in the way of instructions that hardcode their operands such as RDMSR/WRMSR or VMLOAD/VMRUN/VMSAVE. In preparation for moving vmload/vmsave to __svm_vcpu_run(), keep the pointer to the struct vcpu_svm in %rdi. In particular, it is now possible to load svm->vmcb01.pa in %rax without clobbering the struct vcpu_svm pointer. No functional change intended. Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm/vmenter.S | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/x86/kvm/svm/vmenter.S b/arch/x86/kvm/svm/vmenter.S index f0ff41103e4c..531510ab6072 100644 --- a/arch/x86/kvm/svm/vmenter.S +++ b/arch/x86/kvm/svm/vmenter.S @@ -54,29 +54,29 @@ SYM_FUNC_START(__svm_vcpu_run) /* Save @vmcb. */ push %_ASM_ARG1 - /* Move @svm to RAX. */ - mov %_ASM_ARG2, %_ASM_AX + /* Move @svm to RDI. */ + mov %_ASM_ARG2, %_ASM_DI + + /* "POP" @vmcb to RAX. */ + pop %_ASM_AX /* Load guest registers. */ - mov VCPU_RCX(%_ASM_AX), %_ASM_CX - mov VCPU_RDX(%_ASM_AX), %_ASM_DX - mov VCPU_RBX(%_ASM_AX), %_ASM_BX - mov VCPU_RBP(%_ASM_AX), %_ASM_BP - mov VCPU_RSI(%_ASM_AX), %_ASM_SI - mov VCPU_RDI(%_ASM_AX), %_ASM_DI + mov VCPU_RCX(%_ASM_DI), %_ASM_CX + mov VCPU_RDX(%_ASM_DI), %_ASM_DX + mov VCPU_RBX(%_ASM_DI), %_ASM_BX + mov VCPU_RBP(%_ASM_DI), %_ASM_BP + mov VCPU_RSI(%_ASM_DI), %_ASM_SI #ifdef CONFIG_X86_64 - mov VCPU_R8 (%_ASM_AX), %r8 - mov VCPU_R9 (%_ASM_AX), %r9 - mov VCPU_R10(%_ASM_AX), %r10 - mov VCPU_R11(%_ASM_AX), %r11 - mov VCPU_R12(%_ASM_AX), %r12 - mov VCPU_R13(%_ASM_AX), %r13 - mov VCPU_R14(%_ASM_AX), %r14 - mov VCPU_R15(%_ASM_AX), %r15 + mov VCPU_R8 (%_ASM_DI), %r8 + mov VCPU_R9 (%_ASM_DI), %r9 + mov VCPU_R10(%_ASM_DI), %r10 + mov VCPU_R11(%_ASM_DI), %r11 + mov VCPU_R12(%_ASM_DI), %r12 + mov VCPU_R13(%_ASM_DI), %r13 + mov VCPU_R14(%_ASM_DI), %r14 + mov VCPU_R15(%_ASM_DI), %r15 #endif - - /* "POP" @vmcb to RAX. */ - pop %_ASM_AX + mov VCPU_RDI(%_ASM_DI), %_ASM_DI /* Enter guest mode */ sti -- cgit v1.2.3-59-g8ed1b From f6d58266d731fd7e63163790aad21e0dbb1d5264 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 7 Nov 2022 04:17:29 -0500 Subject: KVM: SVM: retrieve VMCB from assembly Continue moving accesses to struct vcpu_svm to vmenter.S. Reducing the number of arguments limits the chance of mistakes due to different registers used for argument passing in 32- and 64-bit ABIs; pushing the VMCB argument and almost immediately popping it into a different register looks pretty weird. 32-bit ABI is not a concern for __svm_sev_es_vcpu_run() which is 64-bit only; however, it will soon need @svm to save/restore SPEC_CTRL so stay consistent with __svm_vcpu_run() and let them share the same prototype. No functional change intended. Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/kvm-asm-offsets.c | 2 ++ arch/x86/kvm/svm/svm.c | 5 ++--- arch/x86/kvm/svm/svm.h | 4 ++-- arch/x86/kvm/svm/vmenter.S | 20 ++++++++++---------- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/arch/x86/kvm/kvm-asm-offsets.c b/arch/x86/kvm/kvm-asm-offsets.c index 30db96852e2d..f1b694e431ae 100644 --- a/arch/x86/kvm/kvm-asm-offsets.c +++ b/arch/x86/kvm/kvm-asm-offsets.c @@ -15,6 +15,8 @@ static void __used common(void) if (IS_ENABLED(CONFIG_KVM_AMD)) { BLANK(); OFFSET(SVM_vcpu_arch_regs, vcpu_svm, vcpu.arch.regs); + OFFSET(SVM_current_vmcb, vcpu_svm, current_vmcb); + OFFSET(KVM_VMCB_pa, kvm_vmcb_info, pa); } if (IS_ENABLED(CONFIG_KVM_INTEL)) { diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index b412bc5773c5..0c86c435c51f 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3914,12 +3914,11 @@ static fastpath_t svm_exit_handlers_fastpath(struct kvm_vcpu *vcpu) static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); - unsigned long vmcb_pa = svm->current_vmcb->pa; guest_state_enter_irqoff(); if (sev_es_guest(vcpu->kvm)) { - __svm_sev_es_vcpu_run(vmcb_pa); + __svm_sev_es_vcpu_run(svm); } else { struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); @@ -3930,7 +3929,7 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) * vmcb02 when switching vmcbs for nested virtualization. */ vmload(svm->vmcb01.pa); - __svm_vcpu_run(vmcb_pa, svm); + __svm_vcpu_run(svm); vmsave(svm->vmcb01.pa); vmload(__sme_page_pa(sd->save_area)); diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index 447e25c9101a..7ff1879e73c5 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -683,7 +683,7 @@ void sev_es_unmap_ghcb(struct vcpu_svm *svm); /* vmenter.S */ -void __svm_sev_es_vcpu_run(unsigned long vmcb_pa); -void __svm_vcpu_run(unsigned long vmcb_pa, struct vcpu_svm *svm); +void __svm_sev_es_vcpu_run(struct vcpu_svm *svm); +void __svm_vcpu_run(struct vcpu_svm *svm); #endif diff --git a/arch/x86/kvm/svm/vmenter.S b/arch/x86/kvm/svm/vmenter.S index 531510ab6072..d07bac1952c5 100644 --- a/arch/x86/kvm/svm/vmenter.S +++ b/arch/x86/kvm/svm/vmenter.S @@ -32,7 +32,6 @@ /** * __svm_vcpu_run - Run a vCPU via a transition to SVM guest mode - * @vmcb_pa: unsigned long * @svm: struct vcpu_svm * */ SYM_FUNC_START(__svm_vcpu_run) @@ -49,16 +48,16 @@ SYM_FUNC_START(__svm_vcpu_run) push %_ASM_BX /* Save @svm. */ - push %_ASM_ARG2 - - /* Save @vmcb. */ push %_ASM_ARG1 +.ifnc _ASM_ARG1, _ASM_DI /* Move @svm to RDI. */ - mov %_ASM_ARG2, %_ASM_DI + mov %_ASM_ARG1, %_ASM_DI +.endif - /* "POP" @vmcb to RAX. */ - pop %_ASM_AX + /* Get svm->current_vmcb->pa into RAX. */ + mov SVM_current_vmcb(%_ASM_DI), %_ASM_AX + mov KVM_VMCB_pa(%_ASM_AX), %_ASM_AX /* Load guest registers. */ mov VCPU_RCX(%_ASM_DI), %_ASM_CX @@ -170,7 +169,7 @@ SYM_FUNC_END(__svm_vcpu_run) /** * __svm_sev_es_vcpu_run - Run a SEV-ES vCPU via a transition to SVM guest mode - * @vmcb_pa: unsigned long + * @svm: struct vcpu_svm * */ SYM_FUNC_START(__svm_sev_es_vcpu_run) push %_ASM_BP @@ -185,8 +184,9 @@ SYM_FUNC_START(__svm_sev_es_vcpu_run) #endif push %_ASM_BX - /* Move @vmcb to RAX. */ - mov %_ASM_ARG1, %_ASM_AX + /* Get svm->current_vmcb->pa into RAX. */ + mov SVM_current_vmcb(%_ASM_ARG1), %_ASM_AX + mov KVM_VMCB_pa(%_ASM_AX), %_ASM_AX /* Enter guest mode */ sti -- cgit v1.2.3-59-g8ed1b From 001459787158280d84fce1bc94cec49f34f48b9f Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 9 Nov 2022 04:54:40 -0500 Subject: KVM: SVM: remove unused field from struct vcpu_svm The pointer to svm_cpu_data in struct vcpu_svm looks interesting from the point of view of accessing it after vmexit, when the GSBASE is still containing the guest value. However, despite existing since the very first commit of drivers/kvm/svm.c (commit 6aa8b732ca01, "[PATCH] kvm: userspace interface", 2006-12-10), it was never set to anything. Ignore the opportunity to fix a 16 year old "bug" and delete it; doing things the "harder" way makes it possible to remove more old cruft. Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm/svm.h | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index 7ff1879e73c5..626240707ba9 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -209,7 +209,6 @@ struct vcpu_svm { struct vmcb *vmcb; struct kvm_vmcb_info vmcb01; struct kvm_vmcb_info *current_vmcb; - struct svm_cpu_data *svm_data; u32 asid; u32 sysenter_esp_hi; u32 sysenter_eip_hi; -- cgit v1.2.3-59-g8ed1b From 181d0fb0bb023e8996b1cf7970e3708d72442b0b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 9 Nov 2022 08:54:20 -0500 Subject: KVM: SVM: remove dead field from struct svm_cpu_data The "cpu" field of struct svm_cpu_data has been write-only since commit 4b656b120249 ("KVM: SVM: force new asid on vcpu migration", 2009-08-05). Remove it. Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm/svm.c | 1 - arch/x86/kvm/svm/svm.h | 2 -- 2 files changed, 3 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 0c86c435c51f..0f873b298931 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -665,7 +665,6 @@ static int svm_cpu_init(int cpu) sd = kzalloc(sizeof(struct svm_cpu_data), GFP_KERNEL); if (!sd) return ret; - sd->cpu = cpu; sd->save_area = alloc_page(GFP_KERNEL | __GFP_ZERO); if (!sd->save_area) goto free_cpu_data; diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index 626240707ba9..7540db9902a6 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -280,8 +280,6 @@ struct vcpu_svm { }; struct svm_cpu_data { - int cpu; - u64 asid_generation; u32 max_asid; u32 next_asid; -- cgit v1.2.3-59-g8ed1b From 73412dfeea724e6bd775ba64d21157ff322eac9a Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 9 Nov 2022 09:07:55 -0500 Subject: KVM: SVM: do not allocate struct svm_cpu_data dynamically The svm_data percpu variable is a pointer, but it is allocated via svm_hardware_setup() when KVM is loaded. Unlike hardware_enable() this means that it is never NULL for the whole lifetime of KVM, and static allocation does not waste any memory compared to the status quo. It is also more efficient and more easily handled from assembly code, so do it and don't look back. Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm/sev.c | 4 ++-- arch/x86/kvm/svm/svm.c | 41 +++++++++++++++-------------------------- arch/x86/kvm/svm/svm.h | 2 +- 3 files changed, 18 insertions(+), 29 deletions(-) diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index 28064060413a..9b66ee34e264 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -196,7 +196,7 @@ static void sev_asid_free(struct kvm_sev_info *sev) __set_bit(sev->asid, sev_reclaim_asid_bitmap); for_each_possible_cpu(cpu) { - sd = per_cpu(svm_data, cpu); + sd = per_cpu_ptr(&svm_data, cpu); sd->sev_vmcbs[sev->asid] = NULL; } @@ -2600,7 +2600,7 @@ void sev_es_unmap_ghcb(struct vcpu_svm *svm) void pre_sev_run(struct vcpu_svm *svm, int cpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); int asid = sev_get_asid(svm->vcpu.kvm); /* Assign the asid allocated with this SEV guest */ diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 0f873b298931..48274c93d78b 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -245,7 +245,7 @@ struct kvm_ldttss_desc { u32 zero1; } __attribute__((packed)); -DEFINE_PER_CPU(struct svm_cpu_data *, svm_data); +DEFINE_PER_CPU(struct svm_cpu_data, svm_data); /* * Only MSR_TSC_AUX is switched via the user return hook. EFER is switched via @@ -581,12 +581,7 @@ static int svm_hardware_enable(void) pr_err("%s: err EOPNOTSUPP on %d\n", __func__, me); return -EINVAL; } - sd = per_cpu(svm_data, me); - if (!sd) { - pr_err("%s: svm_data is NULL on %d\n", __func__, me); - return -EINVAL; - } - + sd = per_cpu_ptr(&svm_data, me); sd->asid_generation = 1; sd->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1; sd->next_asid = sd->max_asid + 1; @@ -646,41 +641,35 @@ static int svm_hardware_enable(void) static void svm_cpu_uninit(int cpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); - if (!sd) + if (!sd->save_area) return; - per_cpu(svm_data, cpu) = NULL; kfree(sd->sev_vmcbs); __free_page(sd->save_area); - kfree(sd); + sd->save_area = NULL; } static int svm_cpu_init(int cpu) { - struct svm_cpu_data *sd; + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); int ret = -ENOMEM; - sd = kzalloc(sizeof(struct svm_cpu_data), GFP_KERNEL); - if (!sd) - return ret; + memset(sd, 0, sizeof(struct svm_cpu_data)); sd->save_area = alloc_page(GFP_KERNEL | __GFP_ZERO); if (!sd->save_area) - goto free_cpu_data; + return ret; ret = sev_cpu_init(sd); if (ret) goto free_save_area; - per_cpu(svm_data, cpu) = sd; - return 0; free_save_area: __free_page(sd->save_area); -free_cpu_data: - kfree(sd); + sd->save_area = NULL; return ret; } @@ -1424,7 +1413,7 @@ static void svm_clear_current_vmcb(struct vmcb *vmcb) int i; for_each_online_cpu(i) - cmpxchg(&per_cpu(svm_data, i)->current_vmcb, vmcb, NULL); + cmpxchg(per_cpu_ptr(&svm_data.current_vmcb, i), vmcb, NULL); } static void svm_vcpu_free(struct kvm_vcpu *vcpu) @@ -1449,7 +1438,7 @@ static void svm_vcpu_free(struct kvm_vcpu *vcpu) static void svm_prepare_switch_to_guest(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); if (sev_es_guest(vcpu->kvm)) sev_es_unmap_ghcb(svm); @@ -1486,7 +1475,7 @@ static void svm_prepare_host_switch(struct kvm_vcpu *vcpu) static void svm_vcpu_load(struct kvm_vcpu *vcpu, int cpu) { struct vcpu_svm *svm = to_svm(vcpu); - struct svm_cpu_data *sd = per_cpu(svm_data, cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); if (sd->current_vmcb != svm->vmcb) { sd->current_vmcb = svm->vmcb; @@ -3442,7 +3431,7 @@ static int svm_handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath) static void reload_tss(struct kvm_vcpu *vcpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); sd->tss_desc->type = 9; /* available 32/64-bit TSS */ load_TR_desc(); @@ -3450,7 +3439,7 @@ static void reload_tss(struct kvm_vcpu *vcpu) static void pre_svm_run(struct kvm_vcpu *vcpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); struct vcpu_svm *svm = to_svm(vcpu); /* @@ -3919,7 +3908,7 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) if (sev_es_guest(vcpu->kvm)) { __svm_sev_es_vcpu_run(svm); } else { - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); /* * Use a single vmcb (vmcb01 because it's always valid) for diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index 7540db9902a6..2af6a71126c1 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -293,7 +293,7 @@ struct svm_cpu_data { struct vmcb **sev_vmcbs; }; -DECLARE_PER_CPU(struct svm_cpu_data *, svm_data); +DECLARE_PER_CPU(struct svm_cpu_data, svm_data); void recalc_intercepts(struct vcpu_svm *svm); -- cgit v1.2.3-59-g8ed1b From e61ab42de874c5af8c5d98b327c77a374d9e7da1 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 7 Nov 2022 05:14:27 -0500 Subject: KVM: SVM: move guest vmsave/vmload back to assembly It is error-prone that code after vmexit cannot access percpu data because GSBASE has not been restored yet. It forces MSR_IA32_SPEC_CTRL save/restore to happen very late, after the predictor untraining sequence, and it gets in the way of return stack depth tracking (a retbleed mitigation that is in linux-next as of 2022-11-09). As a first step towards fixing that, move the VMCB VMSAVE/VMLOAD to assembly, essentially undoing commit fb0c4a4fee5a ("KVM: SVM: move VMLOAD/VMSAVE to C code", 2021-03-15). The reason for that commit was that it made it simpler to use a different VMCB for VMLOAD/VMSAVE versus VMRUN; but that is not a big hassle anymore thanks to the kvm-asm-offsets machinery and other related cleanups. The idea on how to number the exception tables is stolen from a prototype patch by Peter Zijlstra. Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Link: Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/kvm-asm-offsets.c | 1 + arch/x86/kvm/svm/svm.c | 9 -------- arch/x86/kvm/svm/vmenter.S | 49 ++++++++++++++++++++++++++++++++---------- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/arch/x86/kvm/kvm-asm-offsets.c b/arch/x86/kvm/kvm-asm-offsets.c index f1b694e431ae..f83e88b85bf2 100644 --- a/arch/x86/kvm/kvm-asm-offsets.c +++ b/arch/x86/kvm/kvm-asm-offsets.c @@ -16,6 +16,7 @@ static void __used common(void) BLANK(); OFFSET(SVM_vcpu_arch_regs, vcpu_svm, vcpu.arch.regs); OFFSET(SVM_current_vmcb, vcpu_svm, current_vmcb); + OFFSET(SVM_vmcb01, vcpu_svm, vmcb01); OFFSET(KVM_VMCB_pa, kvm_vmcb_info, pa); } diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 48274c93d78b..4e3a47eb5002 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3910,16 +3910,7 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) } else { struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); - /* - * Use a single vmcb (vmcb01 because it's always valid) for - * context switching guest state via VMLOAD/VMSAVE, that way - * the state doesn't need to be copied between vmcb01 and - * vmcb02 when switching vmcbs for nested virtualization. - */ - vmload(svm->vmcb01.pa); __svm_vcpu_run(svm); - vmsave(svm->vmcb01.pa); - vmload(__sme_page_pa(sd->save_area)); } diff --git a/arch/x86/kvm/svm/vmenter.S b/arch/x86/kvm/svm/vmenter.S index d07bac1952c5..5bc2ed7d79c0 100644 --- a/arch/x86/kvm/svm/vmenter.S +++ b/arch/x86/kvm/svm/vmenter.S @@ -28,6 +28,8 @@ #define VCPU_R15 (SVM_vcpu_arch_regs + __VCPU_REGS_R15 * WORD_SIZE) #endif +#define SVM_vmcb01_pa (SVM_vmcb01 + KVM_VMCB_pa) + .section .noinstr.text, "ax" /** @@ -55,6 +57,16 @@ SYM_FUNC_START(__svm_vcpu_run) mov %_ASM_ARG1, %_ASM_DI .endif + /* + * Use a single vmcb (vmcb01 because it's always valid) for + * context switching guest state via VMLOAD/VMSAVE, that way + * the state doesn't need to be copied between vmcb01 and + * vmcb02 when switching vmcbs for nested virtualization. + */ + mov SVM_vmcb01_pa(%_ASM_DI), %_ASM_AX +1: vmload %_ASM_AX +2: + /* Get svm->current_vmcb->pa into RAX. */ mov SVM_current_vmcb(%_ASM_DI), %_ASM_AX mov KVM_VMCB_pa(%_ASM_AX), %_ASM_AX @@ -80,16 +92,11 @@ SYM_FUNC_START(__svm_vcpu_run) /* Enter guest mode */ sti -1: vmrun %_ASM_AX - -2: cli - -#ifdef CONFIG_RETPOLINE - /* IMPORTANT: Stuff the RSB immediately after VM-Exit, before RET! */ - FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE -#endif +3: vmrun %_ASM_AX +4: + cli - /* "POP" @svm to RAX. */ + /* Pop @svm to RAX while it's the only available register. */ pop %_ASM_AX /* Save all guest registers. */ @@ -110,6 +117,18 @@ SYM_FUNC_START(__svm_vcpu_run) mov %r15, VCPU_R15(%_ASM_AX) #endif + /* @svm can stay in RDI from now on. */ + mov %_ASM_AX, %_ASM_DI + + mov SVM_vmcb01_pa(%_ASM_DI), %_ASM_AX +5: vmsave %_ASM_AX +6: + +#ifdef CONFIG_RETPOLINE + /* IMPORTANT: Stuff the RSB immediately after VM-Exit, before RET! */ + FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE +#endif + /* * Mitigate RETBleed for AMD/Hygon Zen uarch. RET should be * untrained as soon as we exit the VM and are back to the @@ -159,11 +178,19 @@ SYM_FUNC_START(__svm_vcpu_run) pop %_ASM_BP RET -3: cmpb $0, kvm_rebooting +10: cmpb $0, kvm_rebooting jne 2b ud2 +30: cmpb $0, kvm_rebooting + jne 4b + ud2 +50: cmpb $0, kvm_rebooting + jne 6b + ud2 - _ASM_EXTABLE(1b, 3b) + _ASM_EXTABLE(1b, 10b) + _ASM_EXTABLE(3b, 30b) + _ASM_EXTABLE(5b, 50b) SYM_FUNC_END(__svm_vcpu_run) -- cgit v1.2.3-59-g8ed1b From e287bd005ad9d85dd6271dd795d3ecfb6bca46ad Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 7 Nov 2022 03:49:59 -0500 Subject: KVM: SVM: restore host save area from assembly Allow access to the percpu area via the GS segment base, which is needed in order to access the saved host spec_ctrl value. In linux-next FILL_RETURN_BUFFER also needs to access percpu data. For simplicity, the physical address of the save area is added to struct svm_cpu_data. Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Reported-by: Nathan Chancellor Analyzed-by: Andrew Cooper Tested-by: Nathan Chancellor Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kvm/kvm-asm-offsets.c | 1 + arch/x86/kvm/svm/svm.c | 14 ++++++-------- arch/x86/kvm/svm/svm.h | 2 ++ arch/x86/kvm/svm/svm_ops.h | 5 ----- arch/x86/kvm/svm/vmenter.S | 17 +++++++++++++++++ 5 files changed, 26 insertions(+), 13 deletions(-) diff --git a/arch/x86/kvm/kvm-asm-offsets.c b/arch/x86/kvm/kvm-asm-offsets.c index f83e88b85bf2..1b805cd24d66 100644 --- a/arch/x86/kvm/kvm-asm-offsets.c +++ b/arch/x86/kvm/kvm-asm-offsets.c @@ -18,6 +18,7 @@ static void __used common(void) OFFSET(SVM_current_vmcb, vcpu_svm, current_vmcb); OFFSET(SVM_vmcb01, vcpu_svm, vmcb01); OFFSET(KVM_VMCB_pa, kvm_vmcb_info, pa); + OFFSET(SD_save_area_pa, svm_cpu_data, save_area_pa); } if (IS_ENABLED(CONFIG_KVM_INTEL)) { diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 4e3a47eb5002..469c1b5617af 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -592,7 +592,7 @@ static int svm_hardware_enable(void) wrmsrl(MSR_EFER, efer | EFER_SVME); - wrmsrl(MSR_VM_HSAVE_PA, __sme_page_pa(sd->save_area)); + wrmsrl(MSR_VM_HSAVE_PA, sd->save_area_pa); if (static_cpu_has(X86_FEATURE_TSCRATEMSR)) { /* @@ -648,6 +648,7 @@ static void svm_cpu_uninit(int cpu) kfree(sd->sev_vmcbs); __free_page(sd->save_area); + sd->save_area_pa = 0; sd->save_area = NULL; } @@ -665,6 +666,7 @@ static int svm_cpu_init(int cpu) if (ret) goto free_save_area; + sd->save_area_pa = __sme_page_pa(sd->save_area); return 0; free_save_area: @@ -1450,7 +1452,7 @@ static void svm_prepare_switch_to_guest(struct kvm_vcpu *vcpu) * Save additional host state that will be restored on VMEXIT (sev-es) * or subsequent vmload of host save area. */ - vmsave(__sme_page_pa(sd->save_area)); + vmsave(sd->save_area_pa); if (sev_es_guest(vcpu->kvm)) { struct sev_es_save_area *hostsa; hostsa = (struct sev_es_save_area *)(page_address(sd->save_area) + 0x400); @@ -3905,14 +3907,10 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) guest_state_enter_irqoff(); - if (sev_es_guest(vcpu->kvm)) { + if (sev_es_guest(vcpu->kvm)) __svm_sev_es_vcpu_run(svm); - } else { - struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); - + else __svm_vcpu_run(svm); - vmload(__sme_page_pa(sd->save_area)); - } guest_state_exit_irqoff(); } diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index 2af6a71126c1..83955a4e520e 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -287,6 +287,8 @@ struct svm_cpu_data { struct kvm_ldttss_desc *tss_desc; struct page *save_area; + unsigned long save_area_pa; + struct vmcb *current_vmcb; /* index = sev_asid, value = vmcb pointer */ diff --git a/arch/x86/kvm/svm/svm_ops.h b/arch/x86/kvm/svm/svm_ops.h index 9430d6437c9f..36c8af87a707 100644 --- a/arch/x86/kvm/svm/svm_ops.h +++ b/arch/x86/kvm/svm/svm_ops.h @@ -61,9 +61,4 @@ static __always_inline void vmsave(unsigned long pa) svm_asm1(vmsave, "a" (pa), "memory"); } -static __always_inline void vmload(unsigned long pa) -{ - svm_asm1(vmload, "a" (pa), "memory"); -} - #endif /* __KVM_X86_SVM_OPS_H */ diff --git a/arch/x86/kvm/svm/vmenter.S b/arch/x86/kvm/svm/vmenter.S index 5bc2ed7d79c0..57440acfc73e 100644 --- a/arch/x86/kvm/svm/vmenter.S +++ b/arch/x86/kvm/svm/vmenter.S @@ -49,6 +49,14 @@ SYM_FUNC_START(__svm_vcpu_run) #endif push %_ASM_BX + /* + * Save variables needed after vmexit on the stack, in inverse + * order compared to when they are needed. + */ + + /* Needed to restore access to percpu variables. */ + __ASM_SIZE(push) PER_CPU_VAR(svm_data + SD_save_area_pa) + /* Save @svm. */ push %_ASM_ARG1 @@ -124,6 +132,11 @@ SYM_FUNC_START(__svm_vcpu_run) 5: vmsave %_ASM_AX 6: + /* Restores GSBASE among other things, allowing access to percpu data. */ + pop %_ASM_AX +7: vmload %_ASM_AX +8: + #ifdef CONFIG_RETPOLINE /* IMPORTANT: Stuff the RSB immediately after VM-Exit, before RET! */ FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE @@ -187,10 +200,14 @@ SYM_FUNC_START(__svm_vcpu_run) 50: cmpb $0, kvm_rebooting jne 6b ud2 +70: cmpb $0, kvm_rebooting + jne 8b + ud2 _ASM_EXTABLE(1b, 10b) _ASM_EXTABLE(3b, 30b) _ASM_EXTABLE(5b, 50b) + _ASM_EXTABLE(7b, 70b) SYM_FUNC_END(__svm_vcpu_run) -- cgit v1.2.3-59-g8ed1b From 9f2febf3f04daebdaaa5a43cfa20e3844905c0f9 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 30 Sep 2022 14:24:40 -0400 Subject: KVM: SVM: move MSR_IA32_SPEC_CTRL save/restore to assembly Restoration of the host IA32_SPEC_CTRL value is probably too late with respect to the return thunk training sequence. With respect to the user/kernel boundary, AMD says, "If software chooses to toggle STIBP (e.g., set STIBP on kernel entry, and clear it on kernel exit), software should set STIBP to 1 before executing the return thunk training sequence." I assume the same requirements apply to the guest/host boundary. The return thunk training sequence is in vmenter.S, quite close to the VM-exit. On hosts without V_SPEC_CTRL, however, the host's IA32_SPEC_CTRL value is not restored until much later. To avoid this, move the restoration of host SPEC_CTRL to assembly and, for consistency, move the restoration of the guest SPEC_CTRL as well. This is not particularly difficult, apart from some care to cover both 32- and 64-bit, and to share code between SEV-ES and normal vmentry. Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Suggested-by: Jim Mattson Reviewed-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- arch/x86/kernel/cpu/bugs.c | 13 ++--- arch/x86/kvm/kvm-asm-offsets.c | 1 + arch/x86/kvm/svm/svm.c | 37 +++++-------- arch/x86/kvm/svm/svm.h | 4 +- arch/x86/kvm/svm/vmenter.S | 119 +++++++++++++++++++++++++++++++++++++++-- 5 files changed, 136 insertions(+), 38 deletions(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index da7c361f47e0..6ec0b7ce7453 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -196,22 +196,15 @@ void __init check_bugs(void) } /* - * NOTE: This function is *only* called for SVM. VMX spec_ctrl handling is - * done in vmenter.S. + * NOTE: This function is *only* called for SVM, since Intel uses + * MSR_IA32_SPEC_CTRL for SSBD. */ void x86_virt_spec_ctrl(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl, bool setguest) { - u64 msrval, guestval = guest_spec_ctrl, hostval = spec_ctrl_current(); + u64 guestval, hostval; struct thread_info *ti = current_thread_info(); - if (static_cpu_has(X86_FEATURE_MSR_SPEC_CTRL)) { - if (hostval != guestval) { - msrval = setguest ? guestval : hostval; - wrmsrl(MSR_IA32_SPEC_CTRL, msrval); - } - } - /* * If SSBD is not handled in MSR_SPEC_CTRL on AMD, update * MSR_AMD64_L2_CFG or MSR_VIRT_SPEC_CTRL if supported. diff --git a/arch/x86/kvm/kvm-asm-offsets.c b/arch/x86/kvm/kvm-asm-offsets.c index 1b805cd24d66..24a710d37323 100644 --- a/arch/x86/kvm/kvm-asm-offsets.c +++ b/arch/x86/kvm/kvm-asm-offsets.c @@ -16,6 +16,7 @@ static void __used common(void) BLANK(); OFFSET(SVM_vcpu_arch_regs, vcpu_svm, vcpu.arch.regs); OFFSET(SVM_current_vmcb, vcpu_svm, current_vmcb); + OFFSET(SVM_spec_ctrl, vcpu_svm, spec_ctrl); OFFSET(SVM_vmcb01, vcpu_svm, vmcb01); OFFSET(KVM_VMCB_pa, kvm_vmcb_info, pa); OFFSET(SD_save_area_pa, svm_cpu_data, save_area_pa); diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 469c1b5617af..cf1aed25f4ab 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -720,6 +720,15 @@ static bool msr_write_intercepted(struct kvm_vcpu *vcpu, u32 msr) u32 offset; u32 *msrpm; + /* + * For non-nested case: + * If the L01 MSR bitmap does not intercept the MSR, then we need to + * save it. + * + * For nested case: + * If the L02 MSR bitmap does not intercept the MSR, then we need to + * save it. + */ msrpm = is_guest_mode(vcpu) ? to_svm(vcpu)->nested.msrpm: to_svm(vcpu)->msrpm; @@ -3901,16 +3910,16 @@ static fastpath_t svm_exit_handlers_fastpath(struct kvm_vcpu *vcpu) return EXIT_FASTPATH_NONE; } -static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) +static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu, bool spec_ctrl_intercepted) { struct vcpu_svm *svm = to_svm(vcpu); guest_state_enter_irqoff(); if (sev_es_guest(vcpu->kvm)) - __svm_sev_es_vcpu_run(svm); + __svm_sev_es_vcpu_run(svm, spec_ctrl_intercepted); else - __svm_vcpu_run(svm); + __svm_vcpu_run(svm, spec_ctrl_intercepted); guest_state_exit_irqoff(); } @@ -3918,6 +3927,7 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); + bool spec_ctrl_intercepted = msr_write_intercepted(vcpu, MSR_IA32_SPEC_CTRL); trace_kvm_entry(vcpu); @@ -3976,26 +3986,7 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) if (!static_cpu_has(X86_FEATURE_V_SPEC_CTRL)) x86_spec_ctrl_set_guest(svm->spec_ctrl, svm->virt_spec_ctrl); - svm_vcpu_enter_exit(vcpu); - - /* - * We do not use IBRS in the kernel. If this vCPU has used the - * SPEC_CTRL MSR it may have left it on; save the value and - * turn it off. This is much more efficient than blindly adding - * it to the atomic save/restore list. Especially as the former - * (Saving guest MSRs on vmexit) doesn't even exist in KVM. - * - * For non-nested case: - * If the L01 MSR bitmap does not intercept the MSR, then we need to - * save it. - * - * For nested case: - * If the L02 MSR bitmap does not intercept the MSR, then we need to - * save it. - */ - if (!static_cpu_has(X86_FEATURE_V_SPEC_CTRL) && - unlikely(!msr_write_intercepted(vcpu, MSR_IA32_SPEC_CTRL))) - svm->spec_ctrl = native_read_msr(MSR_IA32_SPEC_CTRL); + svm_vcpu_enter_exit(vcpu, spec_ctrl_intercepted); if (!sev_es_guest(vcpu->kvm)) reload_tss(vcpu); diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h index 83955a4e520e..199a2ecef1ce 100644 --- a/arch/x86/kvm/svm/svm.h +++ b/arch/x86/kvm/svm/svm.h @@ -682,7 +682,7 @@ void sev_es_unmap_ghcb(struct vcpu_svm *svm); /* vmenter.S */ -void __svm_sev_es_vcpu_run(struct vcpu_svm *svm); -void __svm_vcpu_run(struct vcpu_svm *svm); +void __svm_sev_es_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted); +void __svm_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted); #endif diff --git a/arch/x86/kvm/svm/vmenter.S b/arch/x86/kvm/svm/vmenter.S index 57440acfc73e..34367dc203f2 100644 --- a/arch/x86/kvm/svm/vmenter.S +++ b/arch/x86/kvm/svm/vmenter.S @@ -32,9 +32,69 @@ .section .noinstr.text, "ax" +.macro RESTORE_GUEST_SPEC_CTRL + /* No need to do anything if SPEC_CTRL is unset or V_SPEC_CTRL is set */ + ALTERNATIVE_2 "", \ + "jmp 800f", X86_FEATURE_MSR_SPEC_CTRL, \ + "", X86_FEATURE_V_SPEC_CTRL +801: +.endm +.macro RESTORE_GUEST_SPEC_CTRL_BODY +800: + /* + * SPEC_CTRL handling: if the guest's SPEC_CTRL value differs from the + * host's, write the MSR. This is kept out-of-line so that the common + * case does not have to jump. + * + * IMPORTANT: To avoid RSB underflow attacks and any other nastiness, + * there must not be any returns or indirect branches between this code + * and vmentry. + */ + movl SVM_spec_ctrl(%_ASM_DI), %eax + cmp PER_CPU_VAR(x86_spec_ctrl_current), %eax + je 801b + mov $MSR_IA32_SPEC_CTRL, %ecx + xor %edx, %edx + wrmsr + jmp 801b +.endm + +.macro RESTORE_HOST_SPEC_CTRL + /* No need to do anything if SPEC_CTRL is unset or V_SPEC_CTRL is set */ + ALTERNATIVE_2 "", \ + "jmp 900f", X86_FEATURE_MSR_SPEC_CTRL, \ + "", X86_FEATURE_V_SPEC_CTRL +901: +.endm +.macro RESTORE_HOST_SPEC_CTRL_BODY +900: + /* Same for after vmexit. */ + mov $MSR_IA32_SPEC_CTRL, %ecx + + /* + * Load the value that the guest had written into MSR_IA32_SPEC_CTRL, + * if it was not intercepted during guest execution. + */ + cmpb $0, (%_ASM_SP) + jnz 998f + rdmsr + movl %eax, SVM_spec_ctrl(%_ASM_DI) +998: + + /* Now restore the host value of the MSR if different from the guest's. */ + movl PER_CPU_VAR(x86_spec_ctrl_current), %eax + cmp SVM_spec_ctrl(%_ASM_DI), %eax + je 901b + xor %edx, %edx + wrmsr + jmp 901b +.endm + + /** * __svm_vcpu_run - Run a vCPU via a transition to SVM guest mode * @svm: struct vcpu_svm * + * @spec_ctrl_intercepted: bool */ SYM_FUNC_START(__svm_vcpu_run) push %_ASM_BP @@ -54,17 +114,26 @@ SYM_FUNC_START(__svm_vcpu_run) * order compared to when they are needed. */ + /* Accessed directly from the stack in RESTORE_HOST_SPEC_CTRL. */ + push %_ASM_ARG2 + /* Needed to restore access to percpu variables. */ __ASM_SIZE(push) PER_CPU_VAR(svm_data + SD_save_area_pa) - /* Save @svm. */ + /* Finally save @svm. */ push %_ASM_ARG1 .ifnc _ASM_ARG1, _ASM_DI - /* Move @svm to RDI. */ + /* + * Stash @svm in RDI early. On 32-bit, arguments are in RAX, RCX + * and RDX which are clobbered by RESTORE_GUEST_SPEC_CTRL. + */ mov %_ASM_ARG1, %_ASM_DI .endif + /* Clobbers RAX, RCX, RDX. */ + RESTORE_GUEST_SPEC_CTRL + /* * Use a single vmcb (vmcb01 because it's always valid) for * context switching guest state via VMLOAD/VMSAVE, that way @@ -142,6 +211,9 @@ SYM_FUNC_START(__svm_vcpu_run) FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE #endif + /* Clobbers RAX, RCX, RDX. */ + RESTORE_HOST_SPEC_CTRL + /* * Mitigate RETBleed for AMD/Hygon Zen uarch. RET should be * untrained as soon as we exit the VM and are back to the @@ -177,6 +249,9 @@ SYM_FUNC_START(__svm_vcpu_run) xor %r15d, %r15d #endif + /* "Pop" @spec_ctrl_intercepted. */ + pop %_ASM_BX + pop %_ASM_BX #ifdef CONFIG_X86_64 @@ -191,6 +266,9 @@ SYM_FUNC_START(__svm_vcpu_run) pop %_ASM_BP RET + RESTORE_GUEST_SPEC_CTRL_BODY + RESTORE_HOST_SPEC_CTRL_BODY + 10: cmpb $0, kvm_rebooting jne 2b ud2 @@ -214,6 +292,7 @@ SYM_FUNC_END(__svm_vcpu_run) /** * __svm_sev_es_vcpu_run - Run a SEV-ES vCPU via a transition to SVM guest mode * @svm: struct vcpu_svm * + * @spec_ctrl_intercepted: bool */ SYM_FUNC_START(__svm_sev_es_vcpu_run) push %_ASM_BP @@ -228,8 +307,30 @@ SYM_FUNC_START(__svm_sev_es_vcpu_run) #endif push %_ASM_BX + /* + * Save variables needed after vmexit on the stack, in inverse + * order compared to when they are needed. + */ + + /* Accessed directly from the stack in RESTORE_HOST_SPEC_CTRL. */ + push %_ASM_ARG2 + + /* Save @svm. */ + push %_ASM_ARG1 + +.ifnc _ASM_ARG1, _ASM_DI + /* + * Stash @svm in RDI early. On 32-bit, arguments are in RAX, RCX + * and RDX which are clobbered by RESTORE_GUEST_SPEC_CTRL. + */ + mov %_ASM_ARG1, %_ASM_DI +.endif + + /* Clobbers RAX, RCX, RDX. */ + RESTORE_GUEST_SPEC_CTRL + /* Get svm->current_vmcb->pa into RAX. */ - mov SVM_current_vmcb(%_ASM_ARG1), %_ASM_AX + mov SVM_current_vmcb(%_ASM_DI), %_ASM_AX mov KVM_VMCB_pa(%_ASM_AX), %_ASM_AX /* Enter guest mode */ @@ -239,11 +340,17 @@ SYM_FUNC_START(__svm_sev_es_vcpu_run) 2: cli + /* Pop @svm to RDI, guest registers have been saved already. */ + pop %_ASM_DI + #ifdef CONFIG_RETPOLINE /* IMPORTANT: Stuff the RSB immediately after VM-Exit, before RET! */ FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE #endif + /* Clobbers RAX, RCX, RDX. */ + RESTORE_HOST_SPEC_CTRL + /* * Mitigate RETBleed for AMD/Hygon Zen uarch. RET should be * untrained as soon as we exit the VM and are back to the @@ -253,6 +360,9 @@ SYM_FUNC_START(__svm_sev_es_vcpu_run) */ UNTRAIN_RET + /* "Pop" @spec_ctrl_intercepted. */ + pop %_ASM_BX + pop %_ASM_BX #ifdef CONFIG_X86_64 @@ -267,6 +377,9 @@ SYM_FUNC_START(__svm_sev_es_vcpu_run) pop %_ASM_BP RET + RESTORE_GUEST_SPEC_CTRL_BODY + RESTORE_HOST_SPEC_CTRL_BODY + 3: cmpb $0, kvm_rebooting jne 2b ud2 -- cgit v1.2.3-59-g8ed1b From bd3d394e367e66e773a6cb25a82c29b04464230b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 30 Sep 2022 14:48:24 -0400 Subject: x86, KVM: remove unnecessary argument to x86_virt_spec_ctrl and callers x86_virt_spec_ctrl only deals with the paravirtualized MSR_IA32_VIRT_SPEC_CTRL now and does not handle MSR_IA32_SPEC_CTRL anymore; remove the corresponding, unused argument. Signed-off-by: Paolo Bonzini --- arch/x86/include/asm/spec-ctrl.h | 10 +++++----- arch/x86/kernel/cpu/bugs.c | 2 +- arch/x86/kvm/svm/svm.c | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/spec-ctrl.h b/arch/x86/include/asm/spec-ctrl.h index 5393babc0598..cb0386fc4dc3 100644 --- a/arch/x86/include/asm/spec-ctrl.h +++ b/arch/x86/include/asm/spec-ctrl.h @@ -13,7 +13,7 @@ * Takes the guest view of SPEC_CTRL MSR as a parameter and also * the guest's version of VIRT_SPEC_CTRL, if emulated. */ -extern void x86_virt_spec_ctrl(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl, bool guest); +extern void x86_virt_spec_ctrl(u64 guest_virt_spec_ctrl, bool guest); /** * x86_spec_ctrl_set_guest - Set speculation control registers for the guest @@ -24,9 +24,9 @@ extern void x86_virt_spec_ctrl(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl, bo * Avoids writing to the MSR if the content/bits are the same */ static inline -void x86_spec_ctrl_set_guest(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl) +void x86_spec_ctrl_set_guest(u64 guest_virt_spec_ctrl) { - x86_virt_spec_ctrl(guest_spec_ctrl, guest_virt_spec_ctrl, true); + x86_virt_spec_ctrl(guest_virt_spec_ctrl, true); } /** @@ -38,9 +38,9 @@ void x86_spec_ctrl_set_guest(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl) * Avoids writing to the MSR if the content/bits are the same */ static inline -void x86_spec_ctrl_restore_host(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl) +void x86_spec_ctrl_restore_host(u64 guest_virt_spec_ctrl) { - x86_virt_spec_ctrl(guest_spec_ctrl, guest_virt_spec_ctrl, false); + x86_virt_spec_ctrl(guest_virt_spec_ctrl, false); } /* AMD specific Speculative Store Bypass MSR data */ diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 6ec0b7ce7453..3e3230cccaa7 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -200,7 +200,7 @@ void __init check_bugs(void) * MSR_IA32_SPEC_CTRL for SSBD. */ void -x86_virt_spec_ctrl(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl, bool setguest) +x86_virt_spec_ctrl(u64 guest_virt_spec_ctrl, bool setguest) { u64 guestval, hostval; struct thread_info *ti = current_thread_info(); diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index cf1aed25f4ab..9f88c8e6766e 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3984,7 +3984,7 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) * being speculatively taken. */ if (!static_cpu_has(X86_FEATURE_V_SPEC_CTRL)) - x86_spec_ctrl_set_guest(svm->spec_ctrl, svm->virt_spec_ctrl); + x86_spec_ctrl_set_guest(svm->virt_spec_ctrl); svm_vcpu_enter_exit(vcpu, spec_ctrl_intercepted); @@ -3992,7 +3992,7 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) reload_tss(vcpu); if (!static_cpu_has(X86_FEATURE_V_SPEC_CTRL)) - x86_spec_ctrl_restore_host(svm->spec_ctrl, svm->virt_spec_ctrl); + x86_spec_ctrl_restore_host(svm->virt_spec_ctrl); if (!sev_es_guest(vcpu->kvm)) { vcpu->arch.cr2 = svm->vmcb->save.cr2; -- cgit v1.2.3-59-g8ed1b From 8e1071d0ad300fcce2e2b4e46cb15e41d0166bdc Mon Sep 17 00:00:00 2001 From: Matthias Gerstner Date: Thu, 3 Nov 2022 14:59:27 +0100 Subject: tools/kvm_stat: fix incorrect detection of debugfs The first field in /proc/mounts can be influenced by unprivileged users through the widespread `fusermount` setuid-root program. Example: ``` user$ mkdir ~/mydebugfs user$ export _FUSE_COMMFD=0 user$ fusermount ~/mydebugfs -ononempty,fsname=debugfs user$ grep debugfs /proc/mounts debugfs /home/user/mydebugfs fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=100 0 0 ``` If there is no debugfs already mounted in the system then this can be used by unprivileged users to trick kvm_stat into using a user controlled file system location for obtaining KVM statistics. Even though the root user is not allowed to access non-root FUSE mounts for security reasons, the unprivileged user can unmount the FUSE mount before kvm_stat uses the mounted path. If it wins the race, kvm_stat will read from the location where the FUSE mount resided. Note that the files in debugfs are only opened for reading, so the attacker can cause very large data to be read in by kvm_stat, or fake data to be processed, but there should be no viable way to turn this into a privilege escalation. The fix is simply to use the file system type field instead. Whitespace in the mount path is escaped in /proc/mounts thus no further safety measures in the parsing should be necessary to make this correct. Message-Id: <20221103135927.13656-1-matthias.gerstner@suse.de> Signed-off-by: Matthias Gerstner Signed-off-by: Paolo Bonzini --- tools/kvm/kvm_stat/kvm_stat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat index 9c366b3a676d..88a73999aa58 100755 --- a/tools/kvm/kvm_stat/kvm_stat +++ b/tools/kvm/kvm_stat/kvm_stat @@ -1756,7 +1756,7 @@ def assign_globals(): debugfs = '' for line in open('/proc/mounts'): - if line.split(' ')[0] == 'debugfs': + if line.split(' ')[2] == 'debugfs': debugfs = line.split(' ')[1] break if debugfs == '': -- cgit v1.2.3-59-g8ed1b From 2c1b54348a63096d4d4677743fba7a6d5fda9476 Mon Sep 17 00:00:00 2001 From: Rong Tao Date: Mon, 7 Nov 2022 22:52:49 +0800 Subject: tools/kvm_stat: update exit reasons for vmx/svm/aarch64/userspace Update EXIT_REASONS from source, including VMX_EXIT_REASONS, SVM_EXIT_REASONS, AARCH64_EXIT_REASONS, USERSPACE_EXIT_REASONS. Signed-off-by: Rong Tao Message-Id: Signed-off-by: Paolo Bonzini --- tools/kvm/kvm_stat/kvm_stat | 96 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 82 insertions(+), 14 deletions(-) diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat index 88a73999aa58..6f28180ffeea 100755 --- a/tools/kvm/kvm_stat/kvm_stat +++ b/tools/kvm/kvm_stat/kvm_stat @@ -41,11 +41,14 @@ VMX_EXIT_REASONS = { 'EXCEPTION_NMI': 0, 'EXTERNAL_INTERRUPT': 1, 'TRIPLE_FAULT': 2, - 'PENDING_INTERRUPT': 7, + 'INIT_SIGNAL': 3, + 'SIPI_SIGNAL': 4, + 'INTERRUPT_WINDOW': 7, 'NMI_WINDOW': 8, 'TASK_SWITCH': 9, 'CPUID': 10, 'HLT': 12, + 'INVD': 13, 'INVLPG': 14, 'RDPMC': 15, 'RDTSC': 16, @@ -65,26 +68,48 @@ VMX_EXIT_REASONS = { 'MSR_READ': 31, 'MSR_WRITE': 32, 'INVALID_STATE': 33, + 'MSR_LOAD_FAIL': 34, 'MWAIT_INSTRUCTION': 36, + 'MONITOR_TRAP_FLAG': 37, 'MONITOR_INSTRUCTION': 39, 'PAUSE_INSTRUCTION': 40, 'MCE_DURING_VMENTRY': 41, 'TPR_BELOW_THRESHOLD': 43, 'APIC_ACCESS': 44, + 'EOI_INDUCED': 45, + 'GDTR_IDTR': 46, + 'LDTR_TR': 47, 'EPT_VIOLATION': 48, 'EPT_MISCONFIG': 49, + 'INVEPT': 50, + 'RDTSCP': 51, + 'PREEMPTION_TIMER': 52, + 'INVVPID': 53, 'WBINVD': 54, 'XSETBV': 55, 'APIC_WRITE': 56, + 'RDRAND': 57, 'INVPCID': 58, + 'VMFUNC': 59, + 'ENCLS': 60, + 'RDSEED': 61, + 'PML_FULL': 62, + 'XSAVES': 63, + 'XRSTORS': 64, + 'UMWAIT': 67, + 'TPAUSE': 68, + 'BUS_LOCK': 74, + 'NOTIFY': 75, } SVM_EXIT_REASONS = { 'READ_CR0': 0x000, + 'READ_CR2': 0x002, 'READ_CR3': 0x003, 'READ_CR4': 0x004, 'READ_CR8': 0x008, 'WRITE_CR0': 0x010, + 'WRITE_CR2': 0x012, 'WRITE_CR3': 0x013, 'WRITE_CR4': 0x014, 'WRITE_CR8': 0x018, @@ -105,6 +130,7 @@ SVM_EXIT_REASONS = { 'WRITE_DR6': 0x036, 'WRITE_DR7': 0x037, 'EXCP_BASE': 0x040, + 'LAST_EXCP': 0x05f, 'INTR': 0x060, 'NMI': 0x061, 'SMI': 0x062, @@ -151,21 +177,45 @@ SVM_EXIT_REASONS = { 'MWAIT': 0x08b, 'MWAIT_COND': 0x08c, 'XSETBV': 0x08d, + 'RDPRU': 0x08e, + 'EFER_WRITE_TRAP': 0x08f, + 'CR0_WRITE_TRAP': 0x090, + 'CR1_WRITE_TRAP': 0x091, + 'CR2_WRITE_TRAP': 0x092, + 'CR3_WRITE_TRAP': 0x093, + 'CR4_WRITE_TRAP': 0x094, + 'CR5_WRITE_TRAP': 0x095, + 'CR6_WRITE_TRAP': 0x096, + 'CR7_WRITE_TRAP': 0x097, + 'CR8_WRITE_TRAP': 0x098, + 'CR9_WRITE_TRAP': 0x099, + 'CR10_WRITE_TRAP': 0x09a, + 'CR11_WRITE_TRAP': 0x09b, + 'CR12_WRITE_TRAP': 0x09c, + 'CR13_WRITE_TRAP': 0x09d, + 'CR14_WRITE_TRAP': 0x09e, + 'CR15_WRITE_TRAP': 0x09f, + 'INVPCID': 0x0a2, 'NPF': 0x400, + 'AVIC_INCOMPLETE_IPI': 0x401, + 'AVIC_UNACCELERATED_ACCESS': 0x402, + 'VMGEXIT': 0x403, } -# EC definition of HSR (from arch/arm64/include/asm/kvm_arm.h) +# EC definition of HSR (from arch/arm64/include/asm/esr.h) AARCH64_EXIT_REASONS = { 'UNKNOWN': 0x00, - 'WFI': 0x01, + 'WFx': 0x01, 'CP15_32': 0x03, 'CP15_64': 0x04, 'CP14_MR': 0x05, 'CP14_LS': 0x06, 'FP_ASIMD': 0x07, 'CP10_ID': 0x08, + 'PAC': 0x09, 'CP14_64': 0x0C, - 'ILL_ISS': 0x0E, + 'BTI': 0x0D, + 'ILL': 0x0E, 'SVC32': 0x11, 'HVC32': 0x12, 'SMC32': 0x13, @@ -173,21 +223,26 @@ AARCH64_EXIT_REASONS = { 'HVC64': 0x16, 'SMC64': 0x17, 'SYS64': 0x18, - 'IABT': 0x20, - 'IABT_HYP': 0x21, + 'SVE': 0x19, + 'ERET': 0x1A, + 'FPAC': 0x1C, + 'SME': 0x1D, + 'IMP_DEF': 0x1F, + 'IABT_LOW': 0x20, + 'IABT_CUR': 0x21, 'PC_ALIGN': 0x22, - 'DABT': 0x24, - 'DABT_HYP': 0x25, + 'DABT_LOW': 0x24, + 'DABT_CUR': 0x25, 'SP_ALIGN': 0x26, 'FP_EXC32': 0x28, 'FP_EXC64': 0x2C, 'SERROR': 0x2F, - 'BREAKPT': 0x30, - 'BREAKPT_HYP': 0x31, - 'SOFTSTP': 0x32, - 'SOFTSTP_HYP': 0x33, - 'WATCHPT': 0x34, - 'WATCHPT_HYP': 0x35, + 'BREAKPT_LOW': 0x30, + 'BREAKPT_CUR': 0x31, + 'SOFTSTP_LOW': 0x32, + 'SOFTSTP_CUR': 0x33, + 'WATCHPT_LOW': 0x34, + 'WATCHPT_CUR': 0x35, 'BKPT32': 0x38, 'VECTOR32': 0x3A, 'BRK64': 0x3C, @@ -220,6 +275,19 @@ USERSPACE_EXIT_REASONS = { 'S390_TSCH': 22, 'EPR': 23, 'SYSTEM_EVENT': 24, + 'S390_STSI': 25, + 'IOAPIC_EOI': 26, + 'HYPERV': 27, + 'ARM_NISV': 28, + 'X86_RDMSR': 29, + 'X86_WRMSR': 30, + 'DIRTY_RING_FULL': 31, + 'AP_RESET_HOLD': 32, + 'X86_BUS_LOCK': 33, + 'XEN': 34, + 'RISCV_SBI': 35, + 'RISCV_CSR': 36, + 'NOTIFY': 37, } IOCTL_NUMBERS = { -- cgit v1.2.3-59-g8ed1b From 0bd8bd2f7a789fe1dcb21ad148199d2f62d79873 Mon Sep 17 00:00:00 2001 From: Peter Gonda Date: Fri, 4 Nov 2022 07:22:20 -0700 Subject: KVM: SVM: Only dump VMSA to klog at KERN_DEBUG level Explicitly print the VMSA dump at KERN_DEBUG log level, KERN_CONT uses KERNEL_DEFAULT if the previous log line has a newline, i.e. if there's nothing to continuing, and as a result the VMSA gets dumped when it shouldn't. The KERN_CONT documentation says it defaults back to KERNL_DEFAULT if the previous log line has a newline. So switch from KERN_CONT to print_hex_dump_debug(). Jarkko pointed this out in reference to the original patch. See: https://lore.kernel.org/all/YuPMeWX4uuR1Tz3M@kernel.org/ print_hex_dump(KERN_DEBUG, ...) was pointed out there, but print_hex_dump_debug() should similar. Fixes: 6fac42f127b8 ("KVM: SVM: Dump Virtual Machine Save Area (VMSA) to klog") Signed-off-by: Peter Gonda Reviewed-by: Sean Christopherson Cc: Jarkko Sakkinen Cc: Harald Hoyer Cc: Paolo Bonzini Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: x86@kernel.org Cc: "H. Peter Anvin" Cc: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org Message-Id: <20221104142220.469452-1-pgonda@google.com> Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm/sev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index 9b66ee34e264..efaaef2b7ae1 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -605,7 +605,7 @@ static int sev_es_sync_vmsa(struct vcpu_svm *svm) save->dr6 = svm->vcpu.arch.dr6; pr_debug("Virtual Machine Save Area (VMSA):\n"); - print_hex_dump(KERN_CONT, "", DUMP_PREFIX_NONE, 16, 1, save, sizeof(*save), false); + print_hex_dump_debug("", DUMP_PREFIX_NONE, 16, 1, save, sizeof(*save), false); return 0; } -- cgit v1.2.3-59-g8ed1b From 8631ef59b62290c7d88e7209e35dfb47f33f4902 Mon Sep 17 00:00:00 2001 From: Like Xu Date: Mon, 19 Sep 2022 17:10:06 +0800 Subject: KVM: x86/pmu: Do not speculatively query Intel GP PMCs that don't exist yet The SDM lists an architectural MSR IA32_CORE_CAPABILITIES (0xCF) that limits the theoretical maximum value of the Intel GP PMC MSRs allocated at 0xC1 to 14; likewise the Intel April 2022 SDM adds IA32_OVERCLOCKING_STATUS at 0x195 which limits the number of event selection MSRs to 15 (0x186-0x194). Limiting the maximum number of counters to 14 or 18 based on the currently allocated MSRs is clearly fragile, and it seems likely that Intel will even place PMCs 8-15 at a completely different range of MSR indices. So stop at the maximum number of GP PMCs supported today on Intel processors. There are some machines, like Intel P4 with non Architectural PMU, that may indeed have 18 counters, but those counters are in a completely different MSR address range and are not supported by KVM. Cc: Vitaly Kuznetsov Cc: stable@vger.kernel.org Fixes: cf05a67b68b8 ("KVM: x86: omit "impossible" pmu MSRs from MSR list") Suggested-by: Jim Mattson Signed-off-by: Like Xu Reviewed-by: Jim Mattson Message-Id: <20220919091008.60695-1-likexu@tencent.com> Signed-off-by: Paolo Bonzini --- arch/x86/kvm/x86.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 5f5eb577d583..73716fab120f 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1442,20 +1442,10 @@ static const u32 msrs_to_save_all[] = { MSR_ARCH_PERFMON_PERFCTR0 + 2, MSR_ARCH_PERFMON_PERFCTR0 + 3, MSR_ARCH_PERFMON_PERFCTR0 + 4, MSR_ARCH_PERFMON_PERFCTR0 + 5, MSR_ARCH_PERFMON_PERFCTR0 + 6, MSR_ARCH_PERFMON_PERFCTR0 + 7, - MSR_ARCH_PERFMON_PERFCTR0 + 8, MSR_ARCH_PERFMON_PERFCTR0 + 9, - MSR_ARCH_PERFMON_PERFCTR0 + 10, MSR_ARCH_PERFMON_PERFCTR0 + 11, - MSR_ARCH_PERFMON_PERFCTR0 + 12, MSR_ARCH_PERFMON_PERFCTR0 + 13, - MSR_ARCH_PERFMON_PERFCTR0 + 14, MSR_ARCH_PERFMON_PERFCTR0 + 15, - MSR_ARCH_PERFMON_PERFCTR0 + 16, MSR_ARCH_PERFMON_PERFCTR0 + 17, MSR_ARCH_PERFMON_EVENTSEL0, MSR_ARCH_PERFMON_EVENTSEL1, MSR_ARCH_PERFMON_EVENTSEL0 + 2, MSR_ARCH_PERFMON_EVENTSEL0 + 3, MSR_ARCH_PERFMON_EVENTSEL0 + 4, MSR_ARCH_PERFMON_EVENTSEL0 + 5, MSR_ARCH_PERFMON_EVENTSEL0 + 6, MSR_ARCH_PERFMON_EVENTSEL0 + 7, - MSR_ARCH_PERFMON_EVENTSEL0 + 8, MSR_ARCH_PERFMON_EVENTSEL0 + 9, - MSR_ARCH_PERFMON_EVENTSEL0 + 10, MSR_ARCH_PERFMON_EVENTSEL0 + 11, - MSR_ARCH_PERFMON_EVENTSEL0 + 12, MSR_ARCH_PERFMON_EVENTSEL0 + 13, - MSR_ARCH_PERFMON_EVENTSEL0 + 14, MSR_ARCH_PERFMON_EVENTSEL0 + 15, - MSR_ARCH_PERFMON_EVENTSEL0 + 16, MSR_ARCH_PERFMON_EVENTSEL0 + 17, MSR_IA32_PEBS_ENABLE, MSR_IA32_DS_AREA, MSR_PEBS_DATA_CFG, MSR_K7_EVNTSEL0, MSR_K7_EVNTSEL1, MSR_K7_EVNTSEL2, MSR_K7_EVNTSEL3, @@ -7041,12 +7031,12 @@ static void kvm_init_msr_list(void) intel_pt_validate_hw_cap(PT_CAP_num_address_ranges) * 2) continue; break; - case MSR_ARCH_PERFMON_PERFCTR0 ... MSR_ARCH_PERFMON_PERFCTR0 + 17: + case MSR_ARCH_PERFMON_PERFCTR0 ... MSR_ARCH_PERFMON_PERFCTR0 + 7: if (msrs_to_save_all[i] - MSR_ARCH_PERFMON_PERFCTR0 >= min(INTEL_PMC_MAX_GENERIC, kvm_pmu_cap.num_counters_gp)) continue; break; - case MSR_ARCH_PERFMON_EVENTSEL0 ... MSR_ARCH_PERFMON_EVENTSEL0 + 17: + case MSR_ARCH_PERFMON_EVENTSEL0 ... MSR_ARCH_PERFMON_EVENTSEL0 + 7: if (msrs_to_save_all[i] - MSR_ARCH_PERFMON_EVENTSEL0 >= min(INTEL_PMC_MAX_GENERIC, kvm_pmu_cap.num_counters_gp)) continue; -- cgit v1.2.3-59-g8ed1b From 4f1fa2a1bbeb2feca436d2c86bf6f78dc4e5e4c4 Mon Sep 17 00:00:00 2001 From: Like Xu Date: Mon, 19 Sep 2022 17:10:07 +0800 Subject: KVM: x86/pmu: Limit the maximum number of supported Intel GP counters The Intel Architectural IA32_PMCx MSRs addresses range allows for a maximum of 8 GP counters, and KVM cannot address any more. Introduce a local macro (named KVM_INTEL_PMC_MAX_GENERIC) and use it consistently to refer to the number of counters supported by KVM, thus avoiding possible out-of-bound accesses. Suggested-by: Jim Mattson Signed-off-by: Like Xu Reviewed-by: Jim Mattson Message-Id: <20220919091008.60695-2-likexu@tencent.com> Signed-off-by: Paolo Bonzini --- arch/x86/include/asm/kvm_host.h | 6 +++++- arch/x86/kvm/pmu.c | 2 +- arch/x86/kvm/vmx/pmu_intel.c | 4 ++-- arch/x86/kvm/x86.c | 12 +++++++----- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 7551b6f9c31c..286f6130dcb4 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -501,6 +501,10 @@ struct kvm_pmc { bool intr; }; +/* More counters may conflict with other existing Architectural MSRs */ +#define KVM_INTEL_PMC_MAX_GENERIC 8 +#define MSR_ARCH_PERFMON_PERFCTR_MAX (MSR_ARCH_PERFMON_PERFCTR0 + KVM_INTEL_PMC_MAX_GENERIC - 1) +#define MSR_ARCH_PERFMON_EVENTSEL_MAX (MSR_ARCH_PERFMON_EVENTSEL0 + KVM_INTEL_PMC_MAX_GENERIC - 1) #define KVM_PMC_MAX_FIXED 3 struct kvm_pmu { unsigned nr_arch_gp_counters; @@ -516,7 +520,7 @@ struct kvm_pmu { u64 reserved_bits; u64 raw_event_mask; u8 version; - struct kvm_pmc gp_counters[INTEL_PMC_MAX_GENERIC]; + struct kvm_pmc gp_counters[KVM_INTEL_PMC_MAX_GENERIC]; struct kvm_pmc fixed_counters[KVM_PMC_MAX_FIXED]; struct irq_work irq_work; DECLARE_BITMAP(reprogram_pmi, X86_PMC_IDX_MAX); diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c index d9b9a0f0db17..de1fd7369736 100644 --- a/arch/x86/kvm/pmu.c +++ b/arch/x86/kvm/pmu.c @@ -56,7 +56,7 @@ static const struct x86_cpu_id vmx_icl_pebs_cpu[] = { * code. Each pmc, stored in kvm_pmc.idx field, is unique across * all perf counters (both gp and fixed). The mapping relationship * between pmc and perf counters is as the following: - * * Intel: [0 .. INTEL_PMC_MAX_GENERIC-1] <=> gp counters + * * Intel: [0 .. KVM_INTEL_PMC_MAX_GENERIC-1] <=> gp counters * [INTEL_PMC_IDX_FIXED .. INTEL_PMC_IDX_FIXED + 2] <=> fixed * * AMD: [0 .. AMD64_NUM_COUNTERS-1] and, for families 15H * and later, [0 .. AMD64_NUM_COUNTERS_CORE-1] <=> gp counters diff --git a/arch/x86/kvm/vmx/pmu_intel.c b/arch/x86/kvm/vmx/pmu_intel.c index 25b70a85bef5..10b33da9bd05 100644 --- a/arch/x86/kvm/vmx/pmu_intel.c +++ b/arch/x86/kvm/vmx/pmu_intel.c @@ -617,7 +617,7 @@ static void intel_pmu_init(struct kvm_vcpu *vcpu) struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); struct lbr_desc *lbr_desc = vcpu_to_lbr_desc(vcpu); - for (i = 0; i < INTEL_PMC_MAX_GENERIC; i++) { + for (i = 0; i < KVM_INTEL_PMC_MAX_GENERIC; i++) { pmu->gp_counters[i].type = KVM_PMC_GP; pmu->gp_counters[i].vcpu = vcpu; pmu->gp_counters[i].idx = i; @@ -643,7 +643,7 @@ static void intel_pmu_reset(struct kvm_vcpu *vcpu) struct kvm_pmc *pmc = NULL; int i; - for (i = 0; i < INTEL_PMC_MAX_GENERIC; i++) { + for (i = 0; i < KVM_INTEL_PMC_MAX_GENERIC; i++) { pmc = &pmu->gp_counters[i]; pmc_stop_counter(pmc); diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 73716fab120f..1e25f410d1fe 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1438,6 +1438,9 @@ static const u32 msrs_to_save_all[] = { MSR_ARCH_PERFMON_FIXED_CTR0 + 2, MSR_CORE_PERF_FIXED_CTR_CTRL, MSR_CORE_PERF_GLOBAL_STATUS, MSR_CORE_PERF_GLOBAL_CTRL, MSR_CORE_PERF_GLOBAL_OVF_CTRL, + MSR_IA32_PEBS_ENABLE, MSR_IA32_DS_AREA, MSR_PEBS_DATA_CFG, + + /* This part of MSRs should match KVM_INTEL_PMC_MAX_GENERIC. */ MSR_ARCH_PERFMON_PERFCTR0, MSR_ARCH_PERFMON_PERFCTR1, MSR_ARCH_PERFMON_PERFCTR0 + 2, MSR_ARCH_PERFMON_PERFCTR0 + 3, MSR_ARCH_PERFMON_PERFCTR0 + 4, MSR_ARCH_PERFMON_PERFCTR0 + 5, @@ -1446,7 +1449,6 @@ static const u32 msrs_to_save_all[] = { MSR_ARCH_PERFMON_EVENTSEL0 + 2, MSR_ARCH_PERFMON_EVENTSEL0 + 3, MSR_ARCH_PERFMON_EVENTSEL0 + 4, MSR_ARCH_PERFMON_EVENTSEL0 + 5, MSR_ARCH_PERFMON_EVENTSEL0 + 6, MSR_ARCH_PERFMON_EVENTSEL0 + 7, - MSR_IA32_PEBS_ENABLE, MSR_IA32_DS_AREA, MSR_PEBS_DATA_CFG, MSR_K7_EVNTSEL0, MSR_K7_EVNTSEL1, MSR_K7_EVNTSEL2, MSR_K7_EVNTSEL3, MSR_K7_PERFCTR0, MSR_K7_PERFCTR1, MSR_K7_PERFCTR2, MSR_K7_PERFCTR3, @@ -7031,14 +7033,14 @@ static void kvm_init_msr_list(void) intel_pt_validate_hw_cap(PT_CAP_num_address_ranges) * 2) continue; break; - case MSR_ARCH_PERFMON_PERFCTR0 ... MSR_ARCH_PERFMON_PERFCTR0 + 7: + case MSR_ARCH_PERFMON_PERFCTR0 ... MSR_ARCH_PERFMON_PERFCTR_MAX: if (msrs_to_save_all[i] - MSR_ARCH_PERFMON_PERFCTR0 >= - min(INTEL_PMC_MAX_GENERIC, kvm_pmu_cap.num_counters_gp)) + min(KVM_INTEL_PMC_MAX_GENERIC, kvm_pmu_cap.num_counters_gp)) continue; break; - case MSR_ARCH_PERFMON_EVENTSEL0 ... MSR_ARCH_PERFMON_EVENTSEL0 + 7: + case MSR_ARCH_PERFMON_EVENTSEL0 ... MSR_ARCH_PERFMON_EVENTSEL_MAX: if (msrs_to_save_all[i] - MSR_ARCH_PERFMON_EVENTSEL0 >= - min(INTEL_PMC_MAX_GENERIC, kvm_pmu_cap.num_counters_gp)) + min(KVM_INTEL_PMC_MAX_GENERIC, kvm_pmu_cap.num_counters_gp)) continue; break; case MSR_IA32_XFD: -- cgit v1.2.3-59-g8ed1b From 556f3c9ad7c101aa16a43ef4539f3aabc1d7b32e Mon Sep 17 00:00:00 2001 From: Like Xu Date: Mon, 19 Sep 2022 17:10:08 +0800 Subject: KVM: x86/pmu: Limit the maximum number of supported AMD GP counters The AMD PerfMonV2 specification allows for a maximum of 16 GP counters, but currently only 6 pairs of MSRs are accepted by KVM. While AMD64_NUM_COUNTERS_CORE is already equal to 6, increasing without adjusting msrs_to_save_all[] could result in out-of-bounds accesses. Therefore introduce a macro (named KVM_AMD_PMC_MAX_GENERIC) to refer to the number of counters supported by KVM. Signed-off-by: Like Xu Reviewed-by: Jim Mattson Message-Id: <20220919091008.60695-3-likexu@tencent.com> Signed-off-by: Paolo Bonzini --- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/svm/pmu.c | 7 ++++--- arch/x86/kvm/x86.c | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 286f6130dcb4..f05ebaa26f0f 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -506,6 +506,7 @@ struct kvm_pmc { #define MSR_ARCH_PERFMON_PERFCTR_MAX (MSR_ARCH_PERFMON_PERFCTR0 + KVM_INTEL_PMC_MAX_GENERIC - 1) #define MSR_ARCH_PERFMON_EVENTSEL_MAX (MSR_ARCH_PERFMON_EVENTSEL0 + KVM_INTEL_PMC_MAX_GENERIC - 1) #define KVM_PMC_MAX_FIXED 3 +#define KVM_AMD_PMC_MAX_GENERIC 6 struct kvm_pmu { unsigned nr_arch_gp_counters; unsigned nr_arch_fixed_counters; diff --git a/arch/x86/kvm/svm/pmu.c b/arch/x86/kvm/svm/pmu.c index b68956299fa8..9d65cd095691 100644 --- a/arch/x86/kvm/svm/pmu.c +++ b/arch/x86/kvm/svm/pmu.c @@ -192,9 +192,10 @@ static void amd_pmu_init(struct kvm_vcpu *vcpu) struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); int i; - BUILD_BUG_ON(AMD64_NUM_COUNTERS_CORE > INTEL_PMC_MAX_GENERIC); + BUILD_BUG_ON(KVM_AMD_PMC_MAX_GENERIC > AMD64_NUM_COUNTERS_CORE); + BUILD_BUG_ON(KVM_AMD_PMC_MAX_GENERIC > INTEL_PMC_MAX_GENERIC); - for (i = 0; i < AMD64_NUM_COUNTERS_CORE ; i++) { + for (i = 0; i < KVM_AMD_PMC_MAX_GENERIC ; i++) { pmu->gp_counters[i].type = KVM_PMC_GP; pmu->gp_counters[i].vcpu = vcpu; pmu->gp_counters[i].idx = i; @@ -207,7 +208,7 @@ static void amd_pmu_reset(struct kvm_vcpu *vcpu) struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); int i; - for (i = 0; i < AMD64_NUM_COUNTERS_CORE; i++) { + for (i = 0; i < KVM_AMD_PMC_MAX_GENERIC; i++) { struct kvm_pmc *pmc = &pmu->gp_counters[i]; pmc_stop_counter(pmc); diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 1e25f410d1fe..ecea83f0da49 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1452,10 +1452,13 @@ static const u32 msrs_to_save_all[] = { MSR_K7_EVNTSEL0, MSR_K7_EVNTSEL1, MSR_K7_EVNTSEL2, MSR_K7_EVNTSEL3, MSR_K7_PERFCTR0, MSR_K7_PERFCTR1, MSR_K7_PERFCTR2, MSR_K7_PERFCTR3, + + /* This part of MSRs should match KVM_AMD_PMC_MAX_GENERIC. */ MSR_F15H_PERF_CTL0, MSR_F15H_PERF_CTL1, MSR_F15H_PERF_CTL2, MSR_F15H_PERF_CTL3, MSR_F15H_PERF_CTL4, MSR_F15H_PERF_CTL5, MSR_F15H_PERF_CTR0, MSR_F15H_PERF_CTR1, MSR_F15H_PERF_CTR2, MSR_F15H_PERF_CTR3, MSR_F15H_PERF_CTR4, MSR_F15H_PERF_CTR5, + MSR_IA32_XFD, MSR_IA32_XFD_ERR, }; -- cgit v1.2.3-59-g8ed1b From 30d17fac6aaedb40d111bb159f4b35525637ea78 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Mon, 31 Oct 2022 13:34:56 +0100 Subject: scripts/min-tool-version.sh: raise minimum clang version to 15.0.0 for s390 Before version 15.0.0 llvm's integrated assembler may silently generate corrupted code on s390. See e.g. commit e9953b729b78 ("s390/boot: workaround llvm IAS bug") for further details. While there have been workarounds applied for all known existing locations, there is nothing that prevents that new code with problematic patterns will be added. Therefore raise the minimum clang version to 15.0.0. Note that llvm commit e547b04d5b2c ("[SystemZ] Bugfix for symbolic displacements."), which is included in 15.0.0, fixes the broken code generation. Signed-off-by: Heiko Carstens Acked-by: Nathan Chancellor Link: https://lore.kernel.org/r/20221031123456.3872220-1-hca@linux.ibm.com Signed-off-by: Alexander Gordeev --- scripts/min-tool-version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/min-tool-version.sh b/scripts/min-tool-version.sh index b6593eac5003..201bccfbc678 100755 --- a/scripts/min-tool-version.sh +++ b/scripts/min-tool-version.sh @@ -25,7 +25,7 @@ icc) ;; llvm) if [ "$SRCARCH" = s390 ]; then - echo 14.0.0 + echo 15.0.0 else echo 11.0.0 fi -- cgit v1.2.3-59-g8ed1b From 0811664da064c6d7ca64c02f5579f758a007e52d Mon Sep 17 00:00:00 2001 From: Pu Lehui Date: Tue, 8 Nov 2022 20:19:45 +0800 Subject: selftests/bpf: Fix casting error when cross-compiling test_verifier for 32-bit platforms When cross-compiling test_verifier for 32-bit platforms, the casting error is shown below: test_verifier.c:1263:27: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] 1263 | info.xlated_prog_insns = (__u64)*buf; | ^ cc1: all warnings being treated as errors Fix it by adding zero-extension for it. Fixes: 933ff53191eb ("selftests/bpf: specify expected instructions in test_verifier tests") Signed-off-by: Pu Lehui Acked-by: Yonghong Song Link: https://lore.kernel.org/r/20221108121945.4104644-1-pulehui@huaweicloud.com Signed-off-by: Martin KaFai Lau --- tools/testing/selftests/bpf/test_verifier.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c index 2dbcbf363c18..b605a70d4f6b 100644 --- a/tools/testing/selftests/bpf/test_verifier.c +++ b/tools/testing/selftests/bpf/test_verifier.c @@ -1260,7 +1260,7 @@ static int get_xlated_program(int fd_prog, struct bpf_insn **buf, int *cnt) bzero(&info, sizeof(info)); info.xlated_prog_len = xlated_prog_len; - info.xlated_prog_insns = (__u64)*buf; + info.xlated_prog_insns = (__u64)(unsigned long)*buf; if (bpf_obj_get_info_by_fd(fd_prog, &info, &info_len)) { perror("second bpf_obj_get_info_by_fd failed"); goto out_free_buf; -- cgit v1.2.3-59-g8ed1b From 5704bc7e8991164b14efb748b5afa0715c25fac3 Mon Sep 17 00:00:00 2001 From: Yang Jihong Date: Tue, 8 Nov 2022 09:58:57 +0800 Subject: selftests/bpf: Fix test_progs compilation failure in 32-bit arch test_progs fails to be compiled in the 32-bit arch, log is as follows: test_progs.c:1013:52: error: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Werror=format=] 1013 | sprintf(buf, "MSG_TEST_LOG (cnt: %ld, last: %d)", | ~~^ | | | long int | %d 1014 | strlen(msg->test_log.log_buf), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | size_t {aka unsigned int} Fix it. Fixes: 91b2c0afd00c ("selftests/bpf: Add parallelism to test_progs") Signed-off-by: Yang Jihong Acked-by: Yonghong Song Link: https://lore.kernel.org/r/20221108015857.132457-1-yangjihong1@huawei.com Signed-off-by: Martin KaFai Lau --- tools/testing/selftests/bpf/test_progs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c index 0e9a47f97890..3fef451d8831 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -1010,7 +1010,7 @@ static inline const char *str_msg(const struct msg *msg, char *buf) msg->subtest_done.have_log); break; case MSG_TEST_LOG: - sprintf(buf, "MSG_TEST_LOG (cnt: %ld, last: %d)", + sprintf(buf, "MSG_TEST_LOG (cnt: %zu, last: %d)", strlen(msg->test_log.log_buf), msg->test_log.is_last); break; -- cgit v1.2.3-59-g8ed1b From bc66c9ab162d2a633ee3eb864d7bc2369e79c1e4 Mon Sep 17 00:00:00 2001 From: Tim Huang Date: Thu, 3 Nov 2022 11:05:19 +0800 Subject: drm/amd/pm: update SMU IP v13.0.4 msg interface header Some of the unused messages that were used earlier in development have been freed up as spare messages, no intended functional changes. Signed-off-by: Mario Limonciello Signed-off-by: Tim Huang Acked-by: Alex Deucher Reviewed-by: Yifan Zhang Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org # 6.0.x --- .../gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v13_0_4_ppsmc.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v13_0_4_ppsmc.h b/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v13_0_4_ppsmc.h index d9b0cd752200..f4d6c07b56ea 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v13_0_4_ppsmc.h +++ b/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v13_0_4_ppsmc.h @@ -54,14 +54,14 @@ #define PPSMC_MSG_TestMessage 0x01 ///< To check if PMFW is alive and responding. Requirement specified by PMFW team #define PPSMC_MSG_GetPmfwVersion 0x02 ///< Get PMFW version #define PPSMC_MSG_GetDriverIfVersion 0x03 ///< Get PMFW_DRIVER_IF version -#define PPSMC_MSG_EnableGfxOff 0x04 ///< Enable GFXOFF -#define PPSMC_MSG_DisableGfxOff 0x05 ///< Disable GFXOFF +#define PPSMC_MSG_SPARE0 0x04 ///< SPARE +#define PPSMC_MSG_SPARE1 0x05 ///< SPARE #define PPSMC_MSG_PowerDownVcn 0x06 ///< Power down VCN #define PPSMC_MSG_PowerUpVcn 0x07 ///< Power up VCN; VCN is power gated by default #define PPSMC_MSG_SetHardMinVcn 0x08 ///< For wireless display #define PPSMC_MSG_SetSoftMinGfxclk 0x09 ///< Set SoftMin for GFXCLK, argument is frequency in MHz -#define PPSMC_MSG_ActiveProcessNotify 0x0A ///< Needs update -#define PPSMC_MSG_ForcePowerDownGfx 0x0B ///< Force power down GFX, i.e. enter GFXOFF +#define PPSMC_MSG_SPARE2 0x0A ///< SPARE +#define PPSMC_MSG_SPARE3 0x0B ///< SPARE #define PPSMC_MSG_PrepareMp1ForUnload 0x0C ///< Prepare PMFW for GFX driver unload #define PPSMC_MSG_SetDriverDramAddrHigh 0x0D ///< Set high 32 bits of DRAM address for Driver table transfer #define PPSMC_MSG_SetDriverDramAddrLow 0x0E ///< Set low 32 bits of DRAM address for Driver table transfer @@ -73,8 +73,7 @@ #define PPSMC_MSG_SetSoftMinFclk 0x14 ///< Set hard min for FCLK #define PPSMC_MSG_SetSoftMinVcn 0x15 ///< Set soft min for VCN clocks (VCLK and DCLK) - -#define PPSMC_MSG_EnableGfxImu 0x16 ///< Needs update +#define PPSMC_MSG_EnableGfxImu 0x16 ///< Enable GFX IMU #define PPSMC_MSG_GetGfxclkFrequency 0x17 ///< Get GFX clock frequency #define PPSMC_MSG_GetFclkFrequency 0x18 ///< Get FCLK frequency @@ -102,8 +101,8 @@ #define PPSMC_MSG_SetHardMinIspxclkByFreq 0x2C ///< Set HardMin by frequency for ISPXCLK #define PPSMC_MSG_PowerDownUmsch 0x2D ///< Power down VCN.UMSCH (aka VSCH) scheduler #define PPSMC_MSG_PowerUpUmsch 0x2E ///< Power up VCN.UMSCH (aka VSCH) scheduler -#define PPSMC_Message_IspStutterOn_MmhubPgDis 0x2F ///< ISP StutterOn mmHub PgDis -#define PPSMC_Message_IspStutterOff_MmhubPgEn 0x30 ///< ISP StufferOff mmHub PgEn +#define PPSMC_MSG_IspStutterOn_MmhubPgDis 0x2F ///< ISP StutterOn mmHub PgDis +#define PPSMC_MSG_IspStutterOff_MmhubPgEn 0x30 ///< ISP StufferOff mmHub PgEn #define PPSMC_Message_Count 0x31 ///< Total number of PPSMC messages /** @}*/ -- cgit v1.2.3-59-g8ed1b From 66f7903779fbbc620bf1040017e4833ef6a0b541 Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Thu, 3 Nov 2022 17:01:46 -0400 Subject: drm/amdkfd: Fix error handling in kfd_criu_restore_events mutex_unlock before the exit label because all the error code paths that jump there didn't take that lock. This fixes unbalanced locking errors in case of restore errors. Fixes: 40e8a766a761 ("drm/amdkfd: CRIU checkpoint and restore events") Signed-off-by: Felix Kuehling Reviewed-by: Rajneesh Bhardwaj Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org --- drivers/gpu/drm/amd/amdkfd/kfd_events.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c index 83e3ce9f6049..729d26d648af 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c @@ -506,6 +506,7 @@ int kfd_criu_restore_event(struct file *devkfd, ret = create_other_event(p, ev, &ev_priv->event_id); break; } + mutex_unlock(&p->event_mutex); exit: if (ret) @@ -513,8 +514,6 @@ exit: kfree(ev_priv); - mutex_unlock(&p->event_mutex); - return ret; } -- cgit v1.2.3-59-g8ed1b From b91c23e099f0b65d62159da13458c5eefa76083f Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Tue, 1 Nov 2022 15:02:48 -0400 Subject: drm/amdkfd: Fix error handling in criu_checkpoint Checkpoint BOs last. That way we don't need to close dmabuf FDs if something else fails later. This avoids problematic access to user mode memory in the error handling code path. criu_checkpoint_bos has its own error handling and cleanup that does not depend on access to user memory. In the private data, keep BOs before the remaining objects. This is necessary to restore things in the correct order as restoring events depends on the events-page BO being restored first. Fixes: be072b06c739 ("drm/amdkfd: CRIU export BOs as prime dmabuf objects") Reported-by: Jann Horn CC: Rajneesh Bhardwaj Signed-off-by: Felix Kuehling Reviewed-and-tested-by: Rajneesh Bhardwaj Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org --- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 34 ++++++++++++++------------------ 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c index 5feaba6a77de..6d291aa6386b 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c @@ -1950,7 +1950,7 @@ static int criu_checkpoint(struct file *filep, { int ret; uint32_t num_devices, num_bos, num_objects; - uint64_t priv_size, priv_offset = 0; + uint64_t priv_size, priv_offset = 0, bo_priv_offset; if (!args->devices || !args->bos || !args->priv_data) return -EINVAL; @@ -1994,38 +1994,34 @@ static int criu_checkpoint(struct file *filep, if (ret) goto exit_unlock; - ret = criu_checkpoint_bos(p, num_bos, (uint8_t __user *)args->bos, - (uint8_t __user *)args->priv_data, &priv_offset); - if (ret) - goto exit_unlock; + /* Leave room for BOs in the private data. They need to be restored + * before events, but we checkpoint them last to simplify the error + * handling. + */ + bo_priv_offset = priv_offset; + priv_offset += num_bos * sizeof(struct kfd_criu_bo_priv_data); if (num_objects) { ret = kfd_criu_checkpoint_queues(p, (uint8_t __user *)args->priv_data, &priv_offset); if (ret) - goto close_bo_fds; + goto exit_unlock; ret = kfd_criu_checkpoint_events(p, (uint8_t __user *)args->priv_data, &priv_offset); if (ret) - goto close_bo_fds; + goto exit_unlock; ret = kfd_criu_checkpoint_svm(p, (uint8_t __user *)args->priv_data, &priv_offset); if (ret) - goto close_bo_fds; + goto exit_unlock; } -close_bo_fds: - if (ret) { - /* If IOCTL returns err, user assumes all FDs opened in criu_dump_bos are closed */ - uint32_t i; - struct kfd_criu_bo_bucket *bo_buckets = (struct kfd_criu_bo_bucket *) args->bos; - - for (i = 0; i < num_bos; i++) { - if (bo_buckets[i].alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM) - close_fd(bo_buckets[i].dmabuf_fd); - } - } + /* This must be the last thing in this function that can fail. + * Otherwise we leak dmabuf file descriptors. + */ + ret = criu_checkpoint_bos(p, num_bos, (uint8_t __user *)args->bos, + (uint8_t __user *)args->priv_data, &bo_priv_offset); exit_unlock: mutex_unlock(&p->mutex); -- cgit v1.2.3-59-g8ed1b From 77c092e054262b594614bad5e5f47e57c5d29639 Mon Sep 17 00:00:00 2001 From: Christian König Date: Wed, 2 Nov 2022 14:55:13 +0100 Subject: drm/amdgpu: workaround for TLB seq race MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It can happen that we query the sequence value before the callback had a chance to run. Workaround that by grabbing the fence lock and releasing it again. Should be replaced by hw handling soon. Signed-off-by: Christian König CC: stable@vger.kernel.org # 5.19+ Fixes: 5255e146c99a6 ("drm/amdgpu: rework TLB flushing") Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2113 Acked-by: Alex Deucher Acked-by: Philip Yang Tested-by: Stefan Springer Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h index 83acb7bd80fe..1d31771b4230 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h @@ -492,6 +492,21 @@ void amdgpu_debugfs_vm_bo_info(struct amdgpu_vm *vm, struct seq_file *m); */ static inline uint64_t amdgpu_vm_tlb_seq(struct amdgpu_vm *vm) { + unsigned long flags; + spinlock_t *lock; + + /* + * Workaround to stop racing between the fence signaling and handling + * the cb. The lock is static after initially setting it up, just make + * sure that the dma_fence structure isn't freed up. + */ + rcu_read_lock(); + lock = vm->last_tlb_flush->lock; + rcu_read_unlock(); + + spin_lock_irqsave(lock, flags); + spin_unlock_irqrestore(lock, flags); + return atomic64_read(&vm->tlb_seq); } -- cgit v1.2.3-59-g8ed1b From 632d06985235d988c9d7e6eec8fa655be0761fd0 Mon Sep 17 00:00:00 2001 From: Nicholas Kazlauskas Date: Tue, 25 Oct 2022 11:26:04 -0400 Subject: drm/amd/display: Update SR watermarks for DCN314 [Why & How] New values requested by hardware after fine-tuning. Update for all memory types. Reviewed-by: Jun Lei Acked-by: Alan Liu Signed-off-by: Nicholas Kazlauskas Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org # 6.0.x --- .../amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c | 32 +++++++++++----------- .../gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c | 4 +-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c index 1131c6d73f6c..20a06c04e4a1 100644 --- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c +++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c @@ -363,32 +363,32 @@ static struct wm_table ddr5_wm_table = { .wm_inst = WM_A, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.72, - .sr_exit_time_us = 9, - .sr_enter_plus_exit_time_us = 11, + .sr_exit_time_us = 12.5, + .sr_enter_plus_exit_time_us = 14.5, .valid = true, }, { .wm_inst = WM_B, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.72, - .sr_exit_time_us = 9, - .sr_enter_plus_exit_time_us = 11, + .sr_exit_time_us = 12.5, + .sr_enter_plus_exit_time_us = 14.5, .valid = true, }, { .wm_inst = WM_C, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.72, - .sr_exit_time_us = 9, - .sr_enter_plus_exit_time_us = 11, + .sr_exit_time_us = 12.5, + .sr_enter_plus_exit_time_us = 14.5, .valid = true, }, { .wm_inst = WM_D, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.72, - .sr_exit_time_us = 9, - .sr_enter_plus_exit_time_us = 11, + .sr_exit_time_us = 12.5, + .sr_enter_plus_exit_time_us = 14.5, .valid = true, }, } @@ -400,32 +400,32 @@ static struct wm_table lpddr5_wm_table = { .wm_inst = WM_A, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.65333, - .sr_exit_time_us = 11.5, - .sr_enter_plus_exit_time_us = 14.5, + .sr_exit_time_us = 16.5, + .sr_enter_plus_exit_time_us = 18.5, .valid = true, }, { .wm_inst = WM_B, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.65333, - .sr_exit_time_us = 11.5, - .sr_enter_plus_exit_time_us = 14.5, + .sr_exit_time_us = 16.5, + .sr_enter_plus_exit_time_us = 18.5, .valid = true, }, { .wm_inst = WM_C, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.65333, - .sr_exit_time_us = 11.5, - .sr_enter_plus_exit_time_us = 14.5, + .sr_exit_time_us = 16.5, + .sr_enter_plus_exit_time_us = 18.5, .valid = true, }, { .wm_inst = WM_D, .wm_type = WM_TYPE_PSTATE_CHG, .pstate_latency_us = 11.65333, - .sr_exit_time_us = 11.5, - .sr_enter_plus_exit_time_us = 14.5, + .sr_exit_time_us = 16.5, + .sr_enter_plus_exit_time_us = 18.5, .valid = true, }, } diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c b/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c index cf420ad2b8dc..34b6c763a455 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn314/dcn314_fpu.c @@ -146,8 +146,8 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_14_soc = { }, }, .num_states = 5, - .sr_exit_time_us = 9.0, - .sr_enter_plus_exit_time_us = 11.0, + .sr_exit_time_us = 16.5, + .sr_enter_plus_exit_time_us = 18.5, .sr_exit_z8_time_us = 442.0, .sr_enter_plus_exit_z8_time_us = 560.0, .writeback_latency_us = 12.0, -- cgit v1.2.3-59-g8ed1b From ab4b35008db9b7ae747679250e5c26d7c3a90cea Mon Sep 17 00:00:00 2001 From: Aurabindo Pillai Date: Thu, 20 Oct 2022 17:26:24 -0400 Subject: drm/amd/display: Zeromem mypipe heap struct before using it [Why&How] Bug was caused when moving variable from stack to heap because it was reusable and garbage was left over, so we need to zero mem. Reviewed-by: Martin Leung Acked-by: Alan Liu Signed-off-by: Aurabindo Pillai Signed-off-by: Martin Leung Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c index 3d184679f129..ae6e6abc620b 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c @@ -3192,6 +3192,7 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l mode_lib->vba.FCLKChangeLatency, mode_lib->vba.UrgLatency[i], mode_lib->vba.SREnterPlusExitTime); + memset(&v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull, 0, sizeof(DmlPipe)); v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull.myPipe.Dppclk = mode_lib->vba.RequiredDPPCLK[i][j][k]; v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull.myPipe.Dispclk = mode_lib->vba.RequiredDISPCLK[i][j]; v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull.myPipe.PixelClock = mode_lib->vba.PixelClock[k]; -- cgit v1.2.3-59-g8ed1b From 0d5c5c210a4d4e655feb93b379647f0b179cdafe Mon Sep 17 00:00:00 2001 From: Chaitanya Dhere Date: Thu, 27 Oct 2022 09:51:19 -0400 Subject: drm/amd/display: Fix FCLK deviation and tool compile issues [Why] Recent backports from open source do not have header inclusion pattern that is consistent with inclusion style in the rest of the file. This breaks the internal tool builds as well. A recent commit erronously modified the original DML formula for calculating ActiveClockChangeLatencyHidingY. This resulted in a FCLK deviation from the golden values. [How] Change the way in which display_mode_vba.h is included so that it is consistent with the inclusion style in rest of the file which also fixes the tool build. Restore the DML formula to its original state to fix the FCLK deviation. Reviewed-by: Aurabindo Pillai Reviewed-by: Jun Lei Acked-by: Alan Liu Signed-off-by: Chaitanya Dhere Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c | 2 +- drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c index 968924c491c1..ab9217732a17 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c @@ -4397,7 +4397,7 @@ void dml32_CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport( if (v->NumberOfActiveSurfaces > 1) { ActiveClockChangeLatencyHidingY = ActiveClockChangeLatencyHidingY - - (1 - 1 / v->NumberOfActiveSurfaces) * SwathHeightY[k] * v->HTotal[k] + - (1.0 - 1.0 / v->NumberOfActiveSurfaces) * SwathHeightY[k] * v->HTotal[k] / v->PixelClock[k] / v->VRatio[k]; } diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h index 2c3827546ac7..fdccaa93eb2e 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h @@ -30,7 +30,7 @@ #include "os_types.h" #include "../dc_features.h" #include "../display_mode_structs.h" -#include "dml/display_mode_vba.h" +#include "../display_mode_vba.h" unsigned int dml32_dscceComputeDelay( unsigned int bpc, -- cgit v1.2.3-59-g8ed1b From ce62198d8b62734a985d22652e75a649be052390 Mon Sep 17 00:00:00 2001 From: Nicholas Kazlauskas Date: Thu, 27 Oct 2022 15:34:33 -0400 Subject: drm/amd/display: Fix reg timeout in enc314_enable_fifo [Why] The link enablement sequence can end up resetting the encoder while the PHY symclk isn't yet on. This means that waiting for symclk on will timeout, along with the reset bit never asserting high. This causes unnecessary delay when enabling the link and produces a warning affecting multiple IGT tests. [How] Don't wait for the symclk to be on here because firmware already does. Don't wait for reset if we know the symclk isn't on. Split the reset into a helper function that checks the bit and decides whether or not a delay is sufficient. Reviewed-by: Roman Li Acked-by: Alan Liu Signed-off-by: Nicholas Kazlauskas Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org # 6.0.x --- .../display/dc/dcn314/dcn314_dio_stream_encoder.c | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_dio_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_dio_stream_encoder.c index 7e773bf7b895..38842f938bed 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_dio_stream_encoder.c +++ b/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_dio_stream_encoder.c @@ -49,18 +49,30 @@ #define CTX \ enc1->base.ctx +static void enc314_reset_fifo(struct stream_encoder *enc, bool reset) +{ + struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc); + uint32_t reset_val = reset ? 1 : 0; + uint32_t is_symclk_on; + + REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_RESET, reset_val); + REG_GET(DIG_FE_CNTL, DIG_SYMCLK_FE_ON, &is_symclk_on); + + if (is_symclk_on) + REG_WAIT(DIG_FIFO_CTRL0, DIG_FIFO_RESET_DONE, reset_val, 10, 5000); + else + udelay(10); +} static void enc314_enable_fifo(struct stream_encoder *enc) { struct dcn10_stream_encoder *enc1 = DCN10STRENC_FROM_STRENC(enc); - /* TODO: Confirm if we need to wait for DIG_SYMCLK_FE_ON */ - REG_WAIT(DIG_FE_CNTL, DIG_SYMCLK_FE_ON, 1, 10, 5000); REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_READ_START_LEVEL, 0x7); - REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_RESET, 1); - REG_WAIT(DIG_FIFO_CTRL0, DIG_FIFO_RESET_DONE, 1, 10, 5000); - REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_RESET, 0); - REG_WAIT(DIG_FIFO_CTRL0, DIG_FIFO_RESET_DONE, 0, 10, 5000); + + enc314_reset_fifo(enc, true); + enc314_reset_fifo(enc, false); + REG_UPDATE(DIG_FIFO_CTRL0, DIG_FIFO_ENABLE, 1); } -- cgit v1.2.3-59-g8ed1b From c0b2753f5db281b07013899c79b5f06a614055f9 Mon Sep 17 00:00:00 2001 From: Steve Su Date: Fri, 28 Oct 2022 05:52:32 +0800 Subject: drm/amd/display: Fix gpio port mapping issue [Why] 1. Port of gpio has different mapping. [How] 1. Add a dummy entry in mapping table. 2. Fix incorrect mask bit field access. Reviewed-by: Alvin Lee Acked-by: Alan Liu Signed-off-by: Steve Su Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- .../gpu/drm/amd/display/dc/gpio/dcn32/hw_factory_dcn32.c | 14 ++++++++++++++ drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c | 9 ++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/gpio/dcn32/hw_factory_dcn32.c b/drivers/gpu/drm/amd/display/dc/gpio/dcn32/hw_factory_dcn32.c index d635b73af46f..0ea52ba5ac82 100644 --- a/drivers/gpu/drm/amd/display/dc/gpio/dcn32/hw_factory_dcn32.c +++ b/drivers/gpu/drm/amd/display/dc/gpio/dcn32/hw_factory_dcn32.c @@ -107,6 +107,13 @@ static const struct ddc_registers ddc_data_regs_dcn[] = { ddc_data_regs_dcn2(3), ddc_data_regs_dcn2(4), ddc_data_regs_dcn2(5), + { + // add a dummy entry for cases no such port + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}, + .ddc_setup = 0, + .phy_aux_cntl = 0, + .dc_gpio_aux_ctrl_5 = 0 + }, { DDC_GPIO_VGA_REG_LIST(DATA), .ddc_setup = 0, @@ -121,6 +128,13 @@ static const struct ddc_registers ddc_clk_regs_dcn[] = { ddc_clk_regs_dcn2(3), ddc_clk_regs_dcn2(4), ddc_clk_regs_dcn2(5), + { + // add a dummy entry for cases no such port + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}, + .ddc_setup = 0, + .phy_aux_cntl = 0, + .dc_gpio_aux_ctrl_5 = 0 + }, { DDC_GPIO_VGA_REG_LIST(CLK), .ddc_setup = 0, diff --git a/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c b/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c index 6fd38cdd68c0..525bc8881950 100644 --- a/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c +++ b/drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c @@ -94,11 +94,14 @@ static enum gpio_result set_config( * is required for detection of AUX mode */ if (hw_gpio->base.en != GPIO_DDC_LINE_VIP_PAD) { if (!ddc_data_pd_en || !ddc_clk_pd_en) { - - REG_SET_2(gpio.MASK_reg, regval, + if (hw_gpio->base.en == GPIO_DDC_LINE_DDC_VGA) { + // bit 4 of mask has different usage in some cases + REG_SET(gpio.MASK_reg, regval, DC_GPIO_DDC1DATA_PD_EN, 1); + } else { + REG_SET_2(gpio.MASK_reg, regval, DC_GPIO_DDC1DATA_PD_EN, 1, DC_GPIO_DDC1CLK_PD_EN, 1); - + } if (config_data->type == GPIO_CONFIG_TYPE_I2C_AUX_DUAL_MODE) msleep(3); -- cgit v1.2.3-59-g8ed1b From ce902d987a8caa5c9a96080e280ecc992414a127 Mon Sep 17 00:00:00 2001 From: Dillon Varone Date: Thu, 27 Oct 2022 16:22:26 -0400 Subject: drm/amd/display: Enforce minimum prefetch time for low memclk on DCN32 [WHY?] Data return times when using lowest memclk can be <= 60us, which can cause underflow on high bandwidth displays with a workload. [HOW?] Enforce a minimum prefetch time during validation for low memclk modes. Reviewed-by: Jun Lei Acked-by: Alan Liu Signed-off-by: Dillon Varone Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/dc.h | 1 + drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c | 1 + drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c | 1 + drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 2 ++ .../gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c | 4 ++++ .../gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.h | 3 +++ .../drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c | 12 ++++++++++-- .../drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h | 1 + drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c | 2 ++ drivers/gpu/drm/amd/display/dc/dml/display_mode_structs.h | 1 + 10 files changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h index 737b221ca689..0598465fd1a1 100644 --- a/drivers/gpu/drm/amd/display/dc/dc.h +++ b/drivers/gpu/drm/amd/display/dc/dc.h @@ -853,6 +853,7 @@ struct dc_debug_options { bool enable_dp_dig_pixel_rate_div_policy; enum lttpr_mode lttpr_mode_override; unsigned int dsc_delay_factor_wa_x1000; + unsigned int min_prefetch_in_strobe_ns; }; struct gpu_info_soc_bounding_box_v1_0; diff --git a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c index a88dd7b3d1c1..d1598e3131f6 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c @@ -724,6 +724,7 @@ static const struct dc_debug_options debug_defaults_drv = { .enable_dp_dig_pixel_rate_div_policy = 1, .allow_sw_cursor_fallback = false, .alloc_extra_way_for_cursor = true, + .min_prefetch_in_strobe_ns = 60000, // 60us }; static const struct dc_debug_options debug_defaults_diags = { diff --git a/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c b/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c index 61087f2385a9..6292ac515d1a 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c @@ -722,6 +722,7 @@ static const struct dc_debug_options debug_defaults_drv = { .enable_dp_dig_pixel_rate_div_policy = 1, .allow_sw_cursor_fallback = false, .alloc_extra_way_for_cursor = true, + .min_prefetch_in_strobe_ns = 60000, // 60us }; static const struct dc_debug_options debug_defaults_diags = { diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c index f37c9a6b3b7e..659323ebd79d 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c @@ -2364,6 +2364,8 @@ void dcn32_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_pa /* DML DSC delay factor workaround */ dcn3_2_ip.dsc_delay_factor_wa = dc->debug.dsc_delay_factor_wa_x1000 / 1000.0; + dcn3_2_ip.min_prefetch_in_strobe_us = dc->debug.min_prefetch_in_strobe_ns / 1000.0; + /* Override dispclk_dppclk_vco_speed_mhz from Clk Mgr */ dcn3_2_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0; dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0; diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c index ae6e6abc620b..244fd15d24b4 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c @@ -786,6 +786,8 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman v->SwathHeightY[k], v->SwathHeightC[k], TWait, + v->DRAMSpeedPerState[mode_lib->vba.VoltageLevel] <= MEM_STROBE_FREQ_MHZ ? + mode_lib->vba.ip.min_prefetch_in_strobe_us : 0, /* Output */ &v->DSTXAfterScaler[k], &v->DSTYAfterScaler[k], @@ -3245,6 +3247,8 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l v->swath_width_chroma_ub_this_state[k], v->SwathHeightYThisState[k], v->SwathHeightCThisState[k], v->TWait, + v->DRAMSpeedPerState[i] <= MEM_STROBE_FREQ_MHZ ? + mode_lib->vba.ip.min_prefetch_in_strobe_us : 0, /* Output */ &v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull.DSTXAfterScaler[k], diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.h b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.h index c62e0991358b..f82e14cd9d8a 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.h +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.h @@ -49,6 +49,9 @@ #define BPP_INVALID 0 #define BPP_BLENDED_PIPE 0xffffffff +#define MEM_STROBE_FREQ_MHZ 1600 +#define MEM_STROBE_MAX_DELIVERY_TIME_US 60.0 + struct display_mode_lib; void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_lib); diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c index ab9217732a17..635fc54338fa 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c @@ -3417,6 +3417,7 @@ bool dml32_CalculatePrefetchSchedule( unsigned int SwathHeightY, unsigned int SwathHeightC, double TWait, + double TPreReq, /* Output */ double *DSTXAfterScaler, double *DSTYAfterScaler, @@ -3474,6 +3475,7 @@ bool dml32_CalculatePrefetchSchedule( double min_Lsw; double Tsw_est1 = 0; double Tsw_est3 = 0; + double TPreMargin = 0; if (v->GPUVMEnable == true && v->HostVMEnable == true) HostVMDynamicLevelsTrips = v->HostVMMaxNonCachedPageTableLevels; @@ -3699,6 +3701,8 @@ bool dml32_CalculatePrefetchSchedule( dst_y_prefetch_equ = dml_floor(4.0 * (dst_y_prefetch_equ + 0.125), 1) / 4.0; Tpre_rounded = dst_y_prefetch_equ * LineTime; + + TPreMargin = Tpre_rounded - TPreReq; #ifdef __DML_VBA_DEBUG__ dml_print("DML::%s: dst_y_prefetch_equ: %f (after round)\n", __func__, dst_y_prefetch_equ); dml_print("DML::%s: LineTime: %f\n", __func__, LineTime); @@ -3726,7 +3730,7 @@ bool dml32_CalculatePrefetchSchedule( *VRatioPrefetchY = 0; *VRatioPrefetchC = 0; *RequiredPrefetchPixDataBWLuma = 0; - if (dst_y_prefetch_equ > 1) { + if (dst_y_prefetch_equ > 1 && TPreMargin > 0.0) { double PrefetchBandwidth1; double PrefetchBandwidth2; double PrefetchBandwidth3; @@ -3872,7 +3876,11 @@ bool dml32_CalculatePrefetchSchedule( } if (dst_y_prefetch_oto < dst_y_prefetch_equ) { - *DestinationLinesForPrefetch = dst_y_prefetch_oto; + if (dst_y_prefetch_oto * LineTime < TPreReq) { + *DestinationLinesForPrefetch = dst_y_prefetch_equ; + } else { + *DestinationLinesForPrefetch = dst_y_prefetch_oto; + } TimeForFetchingMetaPTE = Tvm_oto; TimeForFetchingRowInVBlank = Tr0_oto; *PrefetchBandwidth = prefetch_bw_oto; diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h index fdccaa93eb2e..3989c2a28fae 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h @@ -743,6 +743,7 @@ bool dml32_CalculatePrefetchSchedule( unsigned int SwathHeightY, unsigned int SwathHeightC, double TWait, + double TPreReq, /* Output */ double *DSTXAfterScaler, double *DSTYAfterScaler, diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c b/drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c index ec0486efab14..432b4ecd01a7 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c @@ -544,6 +544,8 @@ void dcn321_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_p /* DML DSC delay factor workaround */ dcn3_21_ip.dsc_delay_factor_wa = dc->debug.dsc_delay_factor_wa_x1000 / 1000.0; + dcn3_21_ip.min_prefetch_in_strobe_us = dc->debug.min_prefetch_in_strobe_ns / 1000.0; + /* Override dispclk_dppclk_vco_speed_mhz from Clk Mgr */ dcn3_21_soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0; dc->dml.soc.dispclk_dppclk_vco_speed_mhz = dc->clk_mgr->dentist_vco_freq_khz / 1000.0; diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_structs.h b/drivers/gpu/drm/amd/display/dc/dml/display_mode_structs.h index d7be01ac0751..64d602e6412f 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_structs.h +++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_structs.h @@ -367,6 +367,7 @@ struct _vcs_dpi_ip_params_st { /* DM workarounds */ double dsc_delay_factor_wa; // TODO: Remove after implementing root cause fix + double min_prefetch_in_strobe_us; }; struct _vcs_dpi_display_xfc_params_st { -- cgit v1.2.3-59-g8ed1b From 30b8e7b8ee3be003e0df85c857c5cd0e0bd58b82 Mon Sep 17 00:00:00 2001 From: Asher Song Date: Thu, 3 Nov 2022 18:28:40 +0800 Subject: Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"" This reverts commit 4545ae2ed3f2f7c3f615a53399c9c8460ee5bca7. The origin patch "drm/amdgpu: getting fan speed pwm for vega10 properly" works fine. Test failure is caused by test case self. Signed-off-by: Asher Song Reviewed-by: Guchun Chen Signed-off-by: Alex Deucher --- .../drm/amd/pm/powerplay/hwmgr/vega10_thermal.c | 25 +++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c index dad3e3741a4e..190af79f3236 100644 --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c @@ -67,22 +67,21 @@ int vega10_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr, int vega10_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr, uint32_t *speed) { - uint32_t current_rpm; - uint32_t percent = 0; - - if (hwmgr->thermal_controller.fanInfo.bNoFan) - return 0; + struct amdgpu_device *adev = hwmgr->adev; + uint32_t duty100, duty; + uint64_t tmp64; - if (vega10_get_current_rpm(hwmgr, ¤t_rpm)) - return -1; + duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1), + CG_FDO_CTRL1, FMAX_DUTY100); + duty = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_THERMAL_STATUS), + CG_THERMAL_STATUS, FDO_PWM_DUTY); - if (hwmgr->thermal_controller. - advanceFanControlParameters.usMaxFanRPM != 0) - percent = current_rpm * 255 / - hwmgr->thermal_controller. - advanceFanControlParameters.usMaxFanRPM; + if (!duty100) + return -EINVAL; - *speed = MIN(percent, 255); + tmp64 = (uint64_t)duty * 255; + do_div(tmp64, duty100); + *speed = MIN((uint32_t)tmp64, 255); return 0; } -- cgit v1.2.3-59-g8ed1b From 64f65135c41a75f933d3bca236417ad8e9eb75de Mon Sep 17 00:00:00 2001 From: Philip Yang Date: Thu, 3 Nov 2022 10:24:52 -0400 Subject: drm/amdgpu: Unlock bo_list_mutex after error handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Get below kernel WARNING backtrace when pressing ctrl-C to kill kfdtest application. If amdgpu_cs_parser_bos returns error after taking bo_list_mutex, as caller amdgpu_cs_ioctl will not unlock bo_list_mutex, this generates the kernel WARNING. Add unlock bo_list_mutex after amdgpu_cs_parser_bos error handling to cleanup bo_list userptr bo. WARNING: kfdtest/2930 still has locks held! 1 lock held by kfdtest/2930: (&list->bo_list_mutex){+.+.}-{3:3}, at: amdgpu_cs_ioctl+0xce5/0x1f10 [amdgpu] stack backtrace: dump_stack_lvl+0x44/0x57 get_signal+0x79f/0xd00 arch_do_signal_or_restart+0x36/0x7b0 exit_to_user_mode_prepare+0xfd/0x1b0 syscall_exit_to_user_mode+0x19/0x40 do_syscall_64+0x40/0x80 Signed-off-by: Philip Yang Reviewed-by: Christian König Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 1bbd39b3b0fc..d371000a5727 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -992,6 +992,7 @@ out_free_user_pages: kvfree(e->user_pages); e->user_pages = NULL; } + mutex_unlock(&p->bo_list->bo_list_mutex); return r; } -- cgit v1.2.3-59-g8ed1b From e034a0d9aaee5c9129d5dfdfdfcab988a953412d Mon Sep 17 00:00:00 2001 From: Philip Yang Date: Wed, 2 Nov 2022 16:55:31 -0400 Subject: drm/amdgpu: Drop eviction lock when allocating PT BO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Re-take the eviction lock immediately again after the allocation is completed, to fix circular locking warning with drm_buddy allocator. Move amdgpu_vm_eviction_lock/unlock/trylock to amdgpu_vm.h as they are called from multiple files. Signed-off-by: Philip Yang Reviewed-by: Christian König Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 26 -------------------------- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 2 ++ 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 2291aa14d888..003aa9e47085 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -143,32 +143,6 @@ int amdgpu_vm_set_pasid(struct amdgpu_device *adev, struct amdgpu_vm *vm, return 0; } -/* - * vm eviction_lock can be taken in MMU notifiers. Make sure no reclaim-FS - * happens while holding this lock anywhere to prevent deadlocks when - * an MMU notifier runs in reclaim-FS context. - */ -static inline void amdgpu_vm_eviction_lock(struct amdgpu_vm *vm) -{ - mutex_lock(&vm->eviction_lock); - vm->saved_flags = memalloc_noreclaim_save(); -} - -static inline int amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm) -{ - if (mutex_trylock(&vm->eviction_lock)) { - vm->saved_flags = memalloc_noreclaim_save(); - return 1; - } - return 0; -} - -static inline void amdgpu_vm_eviction_unlock(struct amdgpu_vm *vm) -{ - memalloc_noreclaim_restore(vm->saved_flags); - mutex_unlock(&vm->eviction_lock); -} - /** * amdgpu_vm_bo_evicted - vm_bo is evicted * diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h index 1d31771b4230..6546e786bf00 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h @@ -510,4 +510,30 @@ static inline uint64_t amdgpu_vm_tlb_seq(struct amdgpu_vm *vm) return atomic64_read(&vm->tlb_seq); } +/* + * vm eviction_lock can be taken in MMU notifiers. Make sure no reclaim-FS + * happens while holding this lock anywhere to prevent deadlocks when + * an MMU notifier runs in reclaim-FS context. + */ +static inline void amdgpu_vm_eviction_lock(struct amdgpu_vm *vm) +{ + mutex_lock(&vm->eviction_lock); + vm->saved_flags = memalloc_noreclaim_save(); +} + +static inline bool amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm) +{ + if (mutex_trylock(&vm->eviction_lock)) { + vm->saved_flags = memalloc_noreclaim_save(); + return true; + } + return false; +} + +static inline void amdgpu_vm_eviction_unlock(struct amdgpu_vm *vm) +{ + memalloc_noreclaim_restore(vm->saved_flags); + mutex_unlock(&vm->eviction_lock); +} + #endif diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c index 358b91243e37..b5f3bba851db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c @@ -597,7 +597,9 @@ static int amdgpu_vm_pt_alloc(struct amdgpu_device *adev, if (entry->bo) return 0; + amdgpu_vm_eviction_unlock(vm); r = amdgpu_vm_pt_create(adev, vm, cursor->level, immediate, &pt); + amdgpu_vm_eviction_lock(vm); if (r) return r; -- cgit v1.2.3-59-g8ed1b From 0c85c067c9d9d7a1b2cc2e01a236d5d0d4a872b5 Mon Sep 17 00:00:00 2001 From: Guchun Chen Date: Mon, 7 Nov 2022 16:46:59 +0800 Subject: drm/amdgpu: disable BACO on special BEIGE_GOBY card Still avoid intermittent failure. Signed-off-by: Guchun Chen Reviewed-by: Lijo Lazar Acked-by: Evan Quan Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org --- drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c index 74996a8fb671..6212fd270857 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c @@ -377,7 +377,9 @@ static void sienna_cichlid_check_bxco_support(struct smu_context *smu) if (((adev->pdev->device == 0x73A1) && (adev->pdev->revision == 0x00)) || ((adev->pdev->device == 0x73BF) && - (adev->pdev->revision == 0xCF))) + (adev->pdev->revision == 0xCF)) || + ((adev->pdev->device == 0x7422) && + (adev->pdev->revision == 0x00))) smu_baco->platform_support = false; } -- cgit v1.2.3-59-g8ed1b From 675d84621a24490e1de3d59a4992a17fa9ff92b5 Mon Sep 17 00:00:00 2001 From: Hamza Mahfooz Date: Wed, 9 Nov 2022 12:06:27 -0500 Subject: drm/amd/display: only fill dirty rectangles when PSR is enabled Currently, we are calling fill_dc_dirty_rects() even if PSR isn't supported by the relevant link in amdgpu_dm_commit_planes(), this is undesirable especially because when drm.debug is enabled we are printing messages in fill_dc_dirty_rects() that are only useful for debugging PSR (and confusing otherwise). So, we can instead limit the filling of dirty rectangles to only when PSR is enabled. Reviewed-by: Leo Li Signed-off-by: Hamza Mahfooz Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 589bee9acf16..509739d83b5a 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -7622,9 +7622,10 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, bundle->surface_updates[planes_count].plane_info = &bundle->plane_infos[planes_count]; - fill_dc_dirty_rects(plane, old_plane_state, new_plane_state, - new_crtc_state, - &bundle->flip_addrs[planes_count]); + if (acrtc_state->stream->link->psr_settings.psr_feature_enabled) + fill_dc_dirty_rects(plane, old_plane_state, + new_plane_state, new_crtc_state, + &bundle->flip_addrs[planes_count]); /* * Only allow immediate flips for fast updates that don't -- cgit v1.2.3-59-g8ed1b From 39bfcb8138f6dc3375f23b1e62ccfc7c0d83295d Mon Sep 17 00:00:00 2001 From: Jingbo Xu Date: Fri, 21 Oct 2022 10:31:53 +0800 Subject: erofs: fix use-after-free of fsid and domain_id string When erofs instance is remounted with fsid or domain_id mount option specified, the original fsid and domain_id string pointer in sbi->opt is directly overridden with the fsid and domain_id string in the new fs_context, without freeing the original fsid and domain_id string. What's worse, when the new fsid and domain_id string is transferred to sbi, they are not reset to NULL in fs_context, and thus they are freed when remount finishes, while sbi is still referring to these strings. Reconfiguration for fsid and domain_id seems unusual. Thus clarify this restriction explicitly and dump a warning when users are attempting to do this. Besides, to fix the use-after-free issue, move fsid and domain_id from erofs_mount_opts to outside. Fixes: c6be2bd0a5dd ("erofs: register fscache volume") Fixes: 8b7adf1dff3d ("erofs: introduce fscache-based domain") Signed-off-by: Jingbo Xu Reviewed-by: Jia Zhu Reviewed-by: Chao Yu Link: https://lore.kernel.org/r/20221021023153.1330-1-jefflexu@linux.alibaba.com Signed-off-by: Gao Xiang --- fs/erofs/fscache.c | 14 +++++++------- fs/erofs/internal.h | 6 ++++-- fs/erofs/super.c | 39 ++++++++++++++++++++++----------------- fs/erofs/sysfs.c | 8 ++++---- 4 files changed, 37 insertions(+), 30 deletions(-) diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c index 260fa4737fc0..6eaf4a4ab95c 100644 --- a/fs/erofs/fscache.c +++ b/fs/erofs/fscache.c @@ -406,13 +406,13 @@ static void erofs_fscache_domain_put(struct erofs_domain *domain) static int erofs_fscache_register_volume(struct super_block *sb) { struct erofs_sb_info *sbi = EROFS_SB(sb); - char *domain_id = sbi->opt.domain_id; + char *domain_id = sbi->domain_id; struct fscache_volume *volume; char *name; int ret = 0; name = kasprintf(GFP_KERNEL, "erofs,%s", - domain_id ? domain_id : sbi->opt.fsid); + domain_id ? domain_id : sbi->fsid); if (!name) return -ENOMEM; @@ -438,7 +438,7 @@ static int erofs_fscache_init_domain(struct super_block *sb) if (!domain) return -ENOMEM; - domain->domain_id = kstrdup(sbi->opt.domain_id, GFP_KERNEL); + domain->domain_id = kstrdup(sbi->domain_id, GFP_KERNEL); if (!domain->domain_id) { kfree(domain); return -ENOMEM; @@ -475,7 +475,7 @@ static int erofs_fscache_register_domain(struct super_block *sb) mutex_lock(&erofs_domain_list_lock); list_for_each_entry(domain, &erofs_domain_list, list) { - if (!strcmp(domain->domain_id, sbi->opt.domain_id)) { + if (!strcmp(domain->domain_id, sbi->domain_id)) { sbi->domain = domain; sbi->volume = domain->volume; refcount_inc(&domain->ref); @@ -612,7 +612,7 @@ struct erofs_fscache *erofs_domain_register_cookie(struct super_block *sb, struct erofs_fscache *erofs_fscache_register_cookie(struct super_block *sb, char *name, bool need_inode) { - if (EROFS_SB(sb)->opt.domain_id) + if (EROFS_SB(sb)->domain_id) return erofs_domain_register_cookie(sb, name, need_inode); return erofs_fscache_acquire_cookie(sb, name, need_inode); } @@ -644,7 +644,7 @@ int erofs_fscache_register_fs(struct super_block *sb) struct erofs_sb_info *sbi = EROFS_SB(sb); struct erofs_fscache *fscache; - if (sbi->opt.domain_id) + if (sbi->domain_id) ret = erofs_fscache_register_domain(sb); else ret = erofs_fscache_register_volume(sb); @@ -652,7 +652,7 @@ int erofs_fscache_register_fs(struct super_block *sb) return ret; /* acquired domain/volume will be relinquished in kill_sb() on error */ - fscache = erofs_fscache_register_cookie(sb, sbi->opt.fsid, true); + fscache = erofs_fscache_register_cookie(sb, sbi->fsid, true); if (IS_ERR(fscache)) return PTR_ERR(fscache); diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h index 1701df48c446..05dc68627722 100644 --- a/fs/erofs/internal.h +++ b/fs/erofs/internal.h @@ -75,8 +75,6 @@ struct erofs_mount_opts { unsigned int max_sync_decompress_pages; #endif unsigned int mount_opt; - char *fsid; - char *domain_id; }; struct erofs_dev_context { @@ -89,6 +87,8 @@ struct erofs_dev_context { struct erofs_fs_context { struct erofs_mount_opts opt; struct erofs_dev_context *devs; + char *fsid; + char *domain_id; }; /* all filesystem-wide lz4 configurations */ @@ -170,6 +170,8 @@ struct erofs_sb_info { struct fscache_volume *volume; struct erofs_fscache *s_fscache; struct erofs_domain *domain; + char *fsid; + char *domain_id; }; #define EROFS_SB(sb) ((struct erofs_sb_info *)(sb)->s_fs_info) diff --git a/fs/erofs/super.c b/fs/erofs/super.c index 2cf96ce1c32e..1c7dcca702b3 100644 --- a/fs/erofs/super.c +++ b/fs/erofs/super.c @@ -579,9 +579,9 @@ static int erofs_fc_parse_param(struct fs_context *fc, break; case Opt_fsid: #ifdef CONFIG_EROFS_FS_ONDEMAND - kfree(ctx->opt.fsid); - ctx->opt.fsid = kstrdup(param->string, GFP_KERNEL); - if (!ctx->opt.fsid) + kfree(ctx->fsid); + ctx->fsid = kstrdup(param->string, GFP_KERNEL); + if (!ctx->fsid) return -ENOMEM; #else errorfc(fc, "fsid option not supported"); @@ -589,9 +589,9 @@ static int erofs_fc_parse_param(struct fs_context *fc, break; case Opt_domain_id: #ifdef CONFIG_EROFS_FS_ONDEMAND - kfree(ctx->opt.domain_id); - ctx->opt.domain_id = kstrdup(param->string, GFP_KERNEL); - if (!ctx->opt.domain_id) + kfree(ctx->domain_id); + ctx->domain_id = kstrdup(param->string, GFP_KERNEL); + if (!ctx->domain_id) return -ENOMEM; #else errorfc(fc, "domain_id option not supported"); @@ -728,10 +728,12 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc) sb->s_fs_info = sbi; sbi->opt = ctx->opt; - ctx->opt.fsid = NULL; - ctx->opt.domain_id = NULL; sbi->devs = ctx->devs; ctx->devs = NULL; + sbi->fsid = ctx->fsid; + ctx->fsid = NULL; + sbi->domain_id = ctx->domain_id; + ctx->domain_id = NULL; if (erofs_is_fscache_mode(sb)) { sb->s_blocksize = EROFS_BLKSIZ; @@ -820,7 +822,7 @@ static int erofs_fc_get_tree(struct fs_context *fc) { struct erofs_fs_context *ctx = fc->fs_private; - if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) && ctx->opt.fsid) + if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) && ctx->fsid) return get_tree_nodev(fc, erofs_fc_fill_super); return get_tree_bdev(fc, erofs_fc_fill_super); @@ -834,6 +836,9 @@ static int erofs_fc_reconfigure(struct fs_context *fc) DBG_BUGON(!sb_rdonly(sb)); + if (ctx->fsid || ctx->domain_id) + erofs_info(sb, "ignoring reconfiguration for fsid|domain_id."); + if (test_opt(&ctx->opt, POSIX_ACL)) fc->sb_flags |= SB_POSIXACL; else @@ -873,8 +878,8 @@ static void erofs_fc_free(struct fs_context *fc) struct erofs_fs_context *ctx = fc->fs_private; erofs_free_dev_context(ctx->devs); - kfree(ctx->opt.fsid); - kfree(ctx->opt.domain_id); + kfree(ctx->fsid); + kfree(ctx->domain_id); kfree(ctx); } @@ -944,8 +949,8 @@ static void erofs_kill_sb(struct super_block *sb) erofs_free_dev_context(sbi->devs); fs_put_dax(sbi->dax_dev, NULL); erofs_fscache_unregister_fs(sb); - kfree(sbi->opt.fsid); - kfree(sbi->opt.domain_id); + kfree(sbi->fsid); + kfree(sbi->domain_id); kfree(sbi); sb->s_fs_info = NULL; } @@ -1098,10 +1103,10 @@ static int erofs_show_options(struct seq_file *seq, struct dentry *root) if (test_opt(opt, DAX_NEVER)) seq_puts(seq, ",dax=never"); #ifdef CONFIG_EROFS_FS_ONDEMAND - if (opt->fsid) - seq_printf(seq, ",fsid=%s", opt->fsid); - if (opt->domain_id) - seq_printf(seq, ",domain_id=%s", opt->domain_id); + if (sbi->fsid) + seq_printf(seq, ",fsid=%s", sbi->fsid); + if (sbi->domain_id) + seq_printf(seq, ",domain_id=%s", sbi->domain_id); #endif return 0; } diff --git a/fs/erofs/sysfs.c b/fs/erofs/sysfs.c index 783bb7b21b51..fd476961f742 100644 --- a/fs/erofs/sysfs.c +++ b/fs/erofs/sysfs.c @@ -210,14 +210,14 @@ int erofs_register_sysfs(struct super_block *sb) int err; if (erofs_is_fscache_mode(sb)) { - if (sbi->opt.domain_id) { - str = kasprintf(GFP_KERNEL, "%s,%s", sbi->opt.domain_id, - sbi->opt.fsid); + if (sbi->domain_id) { + str = kasprintf(GFP_KERNEL, "%s,%s", sbi->domain_id, + sbi->fsid); if (!str) return -ENOMEM; name = str; } else { - name = sbi->opt.fsid; + name = sbi->fsid; } } else { name = sb->s_id; -- cgit v1.2.3-59-g8ed1b From 79e28f2ab3440e08f5fbf65648b008341c37b496 Mon Sep 17 00:00:00 2001 From: Edson Juliano Drosdeck Date: Wed, 9 Nov 2022 13:17:32 -0400 Subject: ALSA: hda/realtek: Add Positivo C6300 model quirk Positivo Master C6300 (1849:a233) require quirk for anabling headset-mic Signed-off-by: Edson Juliano Drosdeck Cc: Link: https://lore.kernel.org/r/20221109171732.5417-1-edson.drosdeck@gmail.com Signed-off-by: Takashi Iwai --- sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index b4f7ff8cfe41..e18499dd14f0 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -9609,6 +9609,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x17aa, 0x511f, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), SND_PCI_QUIRK(0x1849, 0x1233, "ASRock NUC Box 1100", ALC233_FIXUP_NO_AUDIO_JACK), + SND_PCI_QUIRK(0x1849, 0xa233, "Positivo Master C6300", ALC269_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS), SND_PCI_QUIRK(0x19e5, 0x320f, "Huawei WRT-WX9 ", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1b35, 0x1235, "CZC B20", ALC269_FIXUP_CZC_B20), -- cgit v1.2.3-59-g8ed1b From bf990c10231937c0f51e5da5558e08cf5adc6a78 Mon Sep 17 00:00:00 2001 From: Ai Chao Date: Thu, 10 Nov 2022 14:34:52 +0800 Subject: ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue For Hamedal C20, the current rate is different from the runtime rate, snd_usb_endpoint stop and close endpoint to resetting rate. if snd_usb_endpoint close the endpoint, sometimes usb will disconnect the device. Signed-off-by: Ai Chao Link: https://lore.kernel.org/r/20221110063452.295110-1-aichao@kylinos.cn Signed-off-by: Takashi Iwai --- sound/usb/endpoint.c | 3 ++- sound/usb/quirks.c | 2 ++ sound/usb/usbaudio.h | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index d0b8d61d1d22..310cd6fb0038 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c @@ -931,7 +931,8 @@ void snd_usb_endpoint_close(struct snd_usb_audio *chip, usb_audio_dbg(chip, "Closing EP 0x%x (count %d)\n", ep->ep_num, ep->opened); - if (!--ep->iface_ref->opened) + if (!--ep->iface_ref->opened && + !(chip->quirk_flags & QUIRK_FLAG_IFACE_SKIP_CLOSE)) endpoint_set_interface(chip, ep, false); if (!--ep->opened) { diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index aedc3987a4cf..0f4dd3503a6a 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -2148,6 +2148,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { QUIRK_FLAG_GENERIC_IMPLICIT_FB), DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */ QUIRK_FLAG_GENERIC_IMPLICIT_FB), + DEVICE_FLG(0x0525, 0xa4ad, /* Hamedal C20 usb camero */ + QUIRK_FLAG_IFACE_SKIP_CLOSE), /* Vendor matches */ VENDOR_FLG(0x045e, /* MS Lifecam */ diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h index 2c6575029b1c..e97141ef730a 100644 --- a/sound/usb/usbaudio.h +++ b/sound/usb/usbaudio.h @@ -170,6 +170,8 @@ extern bool snd_usb_skip_validation; * Apply the generic implicit feedback sync mode (same as implicit_fb=1 option) * QUIRK_FLAG_SKIP_IMPLICIT_FB * Don't apply implicit feedback sync mode + * QUIRK_FLAG_IFACE_SKIP_CLOSE + * Don't closed interface during setting sample rate */ #define QUIRK_FLAG_GET_SAMPLE_RATE (1U << 0) @@ -191,5 +193,6 @@ extern bool snd_usb_skip_validation; #define QUIRK_FLAG_SET_IFACE_FIRST (1U << 16) #define QUIRK_FLAG_GENERIC_IMPLICIT_FB (1U << 17) #define QUIRK_FLAG_SKIP_IMPLICIT_FB (1U << 18) +#define QUIRK_FLAG_IFACE_SKIP_CLOSE (1U << 19) #endif /* __USBAUDIO_H */ -- cgit v1.2.3-59-g8ed1b From 91d5c5060ee24fe8da88cd585bb43b843d2f0dce Mon Sep 17 00:00:00 2001 From: Zeng Heng Date: Thu, 10 Nov 2022 16:20:56 +0800 Subject: pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map Here is the BUG report by KASAN about null pointer dereference: BUG: KASAN: null-ptr-deref in strcmp+0x2e/0x50 Read of size 1 at addr 0000000000000000 by task python3/2640 Call Trace: strcmp __of_find_property of_find_property pinctrl_dt_to_map kasprintf() would return NULL pointer when kmalloc() fail to allocate. So directly return ENOMEM, if kasprintf() return NULL pointer. Fixes: 57291ce295c0 ("pinctrl: core device tree mapping table parsing support") Signed-off-by: Zeng Heng Link: https://lore.kernel.org/r/20221110082056.2014898-1-zengheng4@huawei.com Signed-off-by: Linus Walleij --- drivers/pinctrl/devicetree.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c index ef898ee8ca6b..6e0a40962f38 100644 --- a/drivers/pinctrl/devicetree.c +++ b/drivers/pinctrl/devicetree.c @@ -220,6 +220,8 @@ int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev) for (state = 0; ; state++) { /* Retrieve the pinctrl-* property */ propname = kasprintf(GFP_KERNEL, "pinctrl-%d", state); + if (!propname) + return -ENOMEM; prop = of_find_property(np, propname, &size); kfree(propname); if (!prop) { -- cgit v1.2.3-59-g8ed1b From 9736a325137b62499d2b4be3fc2d742b131f75da Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Thu, 10 Nov 2022 14:22:16 +0100 Subject: ALSA: memalloc: Don't fall back for SG-buffer with IOMMU When the non-contiguous page allocation for SG buffer allocation fails, the memalloc helper tries to fall back to the old page allocation methods. This would, however, result in the bogus page addresses when IOMMU is enabled. Usually in such a case, the fallback allocation should fail as well, but occasionally it succeeds and hitting a bad access. The fallback was thought for non-IOMMU case, and as the error from dma_alloc_noncontiguous() with IOMMU essentially implies a fatal memory allocation error, we should return the error straightforwardly without fallback. This avoids the corner case like the above. The patch also renames the local variable "dma_ops" with snd_ prefix for avoiding the name conflict. Fixes: a8d302a0b770 ("ALSA: memalloc: Revive x86-specific WC page allocations again") Reported-by: Kai Vehmanen Reviewed-by: Kai Vehmanen Link: https://lore.kernel.org/r/alpine.DEB.2.22.394.2211041541090.3532114@eliteleevi.tm.intel.com Link: https://lore.kernel.org/r/20221110132216.30605-1-tiwai@suse.de Signed-off-by: Takashi Iwai --- sound/core/memalloc.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c index 03cffe771366..6a81aaab25ab 100644 --- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -541,19 +542,20 @@ static void *snd_dma_noncontig_alloc(struct snd_dma_buffer *dmab, size_t size) struct sg_table *sgt; void *p; - sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir, - DEFAULT_GFP, 0); - if (!sgt) { #ifdef CONFIG_SND_DMA_SGBUF + if (!get_dma_ops(dmab->dev.dev)) { if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG) dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK; else dmab->dev.type = SNDRV_DMA_TYPE_DEV_SG_FALLBACK; return snd_dma_sg_fallback_alloc(dmab, size); -#else - return NULL; -#endif } +#endif + + sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir, + DEFAULT_GFP, 0); + if (!sgt) + return NULL; dmab->dev.need_sync = dma_need_sync(dmab->dev.dev, sg_dma_address(sgt->sgl)); @@ -857,7 +859,7 @@ static const struct snd_malloc_ops snd_dma_noncoherent_ops = { /* * Entry points */ -static const struct snd_malloc_ops *dma_ops[] = { +static const struct snd_malloc_ops *snd_dma_ops[] = { [SNDRV_DMA_TYPE_CONTINUOUS] = &snd_dma_continuous_ops, [SNDRV_DMA_TYPE_VMALLOC] = &snd_dma_vmalloc_ops, #ifdef CONFIG_HAS_DMA @@ -883,7 +885,7 @@ static const struct snd_malloc_ops *snd_dma_get_ops(struct snd_dma_buffer *dmab) if (WARN_ON_ONCE(!dmab)) return NULL; if (WARN_ON_ONCE(dmab->dev.type <= SNDRV_DMA_TYPE_UNKNOWN || - dmab->dev.type >= ARRAY_SIZE(dma_ops))) + dmab->dev.type >= ARRAY_SIZE(snd_dma_ops))) return NULL; - return dma_ops[dmab->dev.type]; + return snd_dma_ops[dmab->dev.type]; } -- cgit v1.2.3-59-g8ed1b From 9a5523f72bd2b0d66eef3d58810c6eb7b5ffc143 Mon Sep 17 00:00:00 2001 From: Ye Bin Date: Thu, 10 Nov 2022 22:45:39 +0800 Subject: ALSA: hda: fix potential memleak in 'add_widget_node' As 'kobject_add' may allocated memory for 'kobject->name' when return error. And in this function, if call 'kobject_add' failed didn't free kobject. So call 'kobject_put' to recycling resources. Signed-off-by: Ye Bin Cc: Link: https://lore.kernel.org/r/20221110144539.2989354-1-yebin@huaweicloud.com Signed-off-by: Takashi Iwai --- sound/hda/hdac_sysfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sound/hda/hdac_sysfs.c b/sound/hda/hdac_sysfs.c index e47de49a32e3..62a9615dcf52 100644 --- a/sound/hda/hdac_sysfs.c +++ b/sound/hda/hdac_sysfs.c @@ -346,8 +346,10 @@ static int add_widget_node(struct kobject *parent, hda_nid_t nid, return -ENOMEM; kobject_init(kobj, &widget_ktype); err = kobject_add(kobj, parent, "%02x", nid); - if (err < 0) + if (err < 0) { + kobject_put(kobj); return err; + } err = sysfs_create_group(kobj, group); if (err < 0) { kobject_put(kobj); -- cgit v1.2.3-59-g8ed1b From 3851d25c75ed03117268a8feb34adca5a843a126 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 10 Nov 2022 10:50:55 -0700 Subject: io_uring: check for rollover of buffer ID when providing buffers We already check if the chosen starting offset for the buffer IDs fit within an unsigned short, as 65535 is the maximum value for a provided buffer. But if the caller asks to add N buffers at offset M, and M + N would exceed the size of the unsigned short, we simply add buffers with wrapping around the ID. This is not necessarily a bug and could in fact be a valid use case, but it seems confusing and inconsistent with the initial check for starting offset. Let's check for wrap consistently, and error the addition if we do need to wrap. Reported-by: Olivier Langlois Link: https://github.com/axboe/liburing/issues/726 Cc: stable@vger.kernel.org Signed-off-by: Jens Axboe --- io_uring/kbuf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/io_uring/kbuf.c b/io_uring/kbuf.c index 25cd724ade18..e2c46889d5fa 100644 --- a/io_uring/kbuf.c +++ b/io_uring/kbuf.c @@ -346,6 +346,8 @@ int io_provide_buffers_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe tmp = READ_ONCE(sqe->off); if (tmp > USHRT_MAX) return -E2BIG; + if (tmp + p->nbufs >= USHRT_MAX) + return -EINVAL; p->bid = tmp; return 0; } -- cgit v1.2.3-59-g8ed1b From 7fdba0011157861892c470995ff586a1871e603f Mon Sep 17 00:00:00 2001 From: Anthony DeRossi Date: Wed, 9 Nov 2022 17:40:25 -0800 Subject: vfio: Fix container device registration life cycle In vfio_device_open(), vfio_device_container_register() is always called when open_count == 1. On error, vfio_device_container_unregister() is only called when open_count == 1 and close_device is set. This leaks a registration for devices without a close_device implementation. In vfio_device_fops_release(), vfio_device_container_unregister() is called unconditionally. This can cause a device to be unregistered multiple times. Treating container device registration/unregistration uniformly (always when open_count == 1) fixes both issues. Fixes: ce4b4657ff18 ("vfio: Replace the DMA unmapping notifier with a callback") Signed-off-by: Anthony DeRossi Reviewed-by: Jason Gunthorpe Reviewed-by: Kevin Tian Reviewed-by: Yi Liu Link: https://lore.kernel.org/r/20221110014027.28780-2-ajderossi@gmail.com Signed-off-by: Alex Williamson --- drivers/vfio/vfio_main.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c index 2d168793d4e1..9a4af880e941 100644 --- a/drivers/vfio/vfio_main.c +++ b/drivers/vfio/vfio_main.c @@ -801,8 +801,9 @@ static struct file *vfio_device_open(struct vfio_device *device) err_close_device: mutex_lock(&device->dev_set->lock); mutex_lock(&device->group->group_lock); - if (device->open_count == 1 && device->ops->close_device) { - device->ops->close_device(device); + if (device->open_count == 1) { + if (device->ops->close_device) + device->ops->close_device(device); vfio_device_container_unregister(device); } @@ -1017,10 +1018,12 @@ static int vfio_device_fops_release(struct inode *inode, struct file *filep) mutex_lock(&device->dev_set->lock); vfio_assert_device_open(device); mutex_lock(&device->group->group_lock); - if (device->open_count == 1 && device->ops->close_device) - device->ops->close_device(device); + if (device->open_count == 1) { + if (device->ops->close_device) + device->ops->close_device(device); - vfio_device_container_unregister(device); + vfio_device_container_unregister(device); + } mutex_unlock(&device->group->group_lock); device->open_count--; if (device->open_count == 0) -- cgit v1.2.3-59-g8ed1b From 5cd189e410debedda416fecfc12f4716b5829845 Mon Sep 17 00:00:00 2001 From: Anthony DeRossi Date: Wed, 9 Nov 2022 17:40:26 -0800 Subject: vfio: Export the device set open count The open count of a device set is the sum of the open counts of all devices in the set. Drivers can use this value to determine whether shared resources are in use without tracking them manually or accessing the private open_count in vfio_device. Signed-off-by: Anthony DeRossi Reviewed-by: Jason Gunthorpe Reviewed-by: Kevin Tian Reviewed-by: Yi Liu Link: https://lore.kernel.org/r/20221110014027.28780-3-ajderossi@gmail.com Signed-off-by: Alex Williamson --- drivers/vfio/vfio_main.c | 13 +++++++++++++ include/linux/vfio.h | 1 + 2 files changed, 14 insertions(+) diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c index 9a4af880e941..6e8804fe0095 100644 --- a/drivers/vfio/vfio_main.c +++ b/drivers/vfio/vfio_main.c @@ -125,6 +125,19 @@ static void vfio_release_device_set(struct vfio_device *device) xa_unlock(&vfio_device_set_xa); } +unsigned int vfio_device_set_open_count(struct vfio_device_set *dev_set) +{ + struct vfio_device *cur; + unsigned int open_count = 0; + + lockdep_assert_held(&dev_set->lock); + + list_for_each_entry(cur, &dev_set->device_list, dev_set_list) + open_count += cur->open_count; + return open_count; +} +EXPORT_SYMBOL_GPL(vfio_device_set_open_count); + /* * Group objects - create, release, get, put, search */ diff --git a/include/linux/vfio.h b/include/linux/vfio.h index e7cebeb875dd..fdd393f70b19 100644 --- a/include/linux/vfio.h +++ b/include/linux/vfio.h @@ -189,6 +189,7 @@ int vfio_register_emulated_iommu_dev(struct vfio_device *device); void vfio_unregister_group_dev(struct vfio_device *device); int vfio_assign_device_set(struct vfio_device *device, void *set_id); +unsigned int vfio_device_set_open_count(struct vfio_device_set *dev_set); int vfio_mig_get_next_state(struct vfio_device *device, enum vfio_device_mig_state cur_fsm, -- cgit v1.2.3-59-g8ed1b From e806e223621e4f5105170df69d7311dc3fb4bbb4 Mon Sep 17 00:00:00 2001 From: Anthony DeRossi Date: Wed, 9 Nov 2022 17:40:27 -0800 Subject: vfio/pci: Check the device set open count on reset vfio_pci_dev_set_needs_reset() inspects the open_count of every device in the set to determine whether a reset is allowed. The current device always has open_count == 1 within vfio_pci_core_disable(), effectively disabling the reset logic. This field is also documented as private in vfio_device, so it should not be used to determine whether other devices in the set are open. Checking for vfio_device_set_open_count() > 1 on the device set fixes both issues. After commit 2cd8b14aaa66 ("vfio/pci: Move to the device set infrastructure"), failure to create a new file for a device would cause the reset to be skipped due to open_count being decremented after calling close_device() in the error path. After commit eadd86f835c6 ("vfio: Remove calls to vfio_group_add_container_user()"), releasing a device would always skip the reset due to an ordering change in vfio_device_fops_release(). Failing to reset the device leaves it in an unknown state, potentially causing errors when it is accessed later or bound to a different driver. This issue was observed with a Radeon RX Vega 56 [1002:687f] (rev c3) assigned to a Windows guest. After shutting down the guest, unbinding the device from vfio-pci, and binding the device to amdgpu: [ 548.007102] [drm:psp_hw_start [amdgpu]] *ERROR* PSP create ring failed! [ 548.027174] [drm:psp_hw_init [amdgpu]] *ERROR* PSP firmware loading failed [ 548.027242] [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* hw_init of IP block failed -22 [ 548.027306] amdgpu 0000:0a:00.0: amdgpu: amdgpu_device_ip_init failed [ 548.027308] amdgpu 0000:0a:00.0: amdgpu: Fatal error during GPU init Fixes: 2cd8b14aaa66 ("vfio/pci: Move to the device set infrastructure") Fixes: eadd86f835c6 ("vfio: Remove calls to vfio_group_add_container_user()") Signed-off-by: Anthony DeRossi Reviewed-by: Jason Gunthorpe Reviewed-by: Kevin Tian Link: https://lore.kernel.org/r/20221110014027.28780-4-ajderossi@gmail.com Signed-off-by: Alex Williamson --- drivers/vfio/pci/vfio_pci_core.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c index badc9d828cac..e030c2120183 100644 --- a/drivers/vfio/pci/vfio_pci_core.c +++ b/drivers/vfio/pci/vfio_pci_core.c @@ -2488,12 +2488,12 @@ static bool vfio_pci_dev_set_needs_reset(struct vfio_device_set *dev_set) struct vfio_pci_core_device *cur; bool needs_reset = false; - list_for_each_entry(cur, &dev_set->device_list, vdev.dev_set_list) { - /* No VFIO device in the set can have an open device FD */ - if (cur->vdev.open_count) - return false; + /* No other VFIO device in the set can be open. */ + if (vfio_device_set_open_count(dev_set) > 1) + return false; + + list_for_each_entry(cur, &dev_set->device_list, vdev.dev_set_list) needs_reset |= cur->needs_reset; - } return needs_reset; } -- cgit v1.2.3-59-g8ed1b From 6510c78490c490a6636e48b61eeaa6fb65981f4b Mon Sep 17 00:00:00 2001 From: Jisheng Zhang Date: Sat, 29 Oct 2022 19:34:50 +0800 Subject: riscv: process: fix kernel info leakage thread_struct's s[12] may contain random kernel memory content, which may be finally leaked to userspace. This is a security hole. Fix it by clearing the s[12] array in thread_struct when fork. As for kthread case, it's better to clear the s[12] array as well. Fixes: 7db91e57a0ac ("RISC-V: Task implementation") Signed-off-by: Jisheng Zhang Tested-by: Guo Ren Link: https://lore.kernel.org/r/20221029113450.4027-1-jszhang@kernel.org Reviewed-by: Guo Ren Link: https://lore.kernel.org/r/CAJF2gTSdVyAaM12T%2B7kXAdRPGS4VyuO08X1c7paE-n4Fr8OtRA@mail.gmail.com/ Signed-off-by: Palmer Dabbelt --- arch/riscv/kernel/process.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c index b0c63e8e867e..8955f2432c2d 100644 --- a/arch/riscv/kernel/process.c +++ b/arch/riscv/kernel/process.c @@ -164,6 +164,8 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args) unsigned long tls = args->tls; struct pt_regs *childregs = task_pt_regs(p); + memset(&p->thread.s, 0, sizeof(p->thread.s)); + /* p->thread holds context to be restored by __switch_to() */ if (unlikely(args->fn)) { /* Kernel thread */ -- cgit v1.2.3-59-g8ed1b From 50f4dd657a0fcf90aa8da8dc2794a8100ff4c37c Mon Sep 17 00:00:00 2001 From: Jisheng Zhang Date: Tue, 1 Nov 2022 02:29:43 +0800 Subject: riscv: vdso: fix build with llvm Even after commit 89fd4a1df829 ("riscv: jump_label: mark arguments as const to satisfy asm constraints"), building with CC_OPTIMIZE_FOR_SIZE + LLVM=1 can reproduce below build error: CC arch/riscv/kernel/vdso/vgettimeofday.o In file included from :4: In file included from lib/vdso/gettimeofday.c:5: In file included from include/vdso/datapage.h:17: In file included from include/vdso/processor.h:10: In file included from arch/riscv/include/asm/vdso/processor.h:7: In file included from include/linux/jump_label.h:112: arch/riscv/include/asm/jump_label.h:42:3: error: invalid operand for inline asm constraint 'i' " .option push \n\t" ^ 1 error generated. I think the problem is when "-Os" is passed as CFLAGS, it's removed by "CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os" which is introduced in commit e05d57dcb8c7 ("riscv: Fixup __vdso_gettimeofday broke dynamic ftrace"), thus no optimization at all for vgettimeofday.c arm64 does remove "-Os" as well, but it forces "-O2" after removing "-Os". I compared the generated vgettimeofday.o with "-O2" and "-Os", I think no big performance difference. So let's tell the kbuild not to remove "-Os" rather than follow arm64 style. vdso related performance can be improved a lot when building kernel with CC_OPTIMIZE_FOR_SIZE after this commit, ("-Os" VS no optimization) Fixes: e05d57dcb8c7 ("riscv: Fixup __vdso_gettimeofday broke dynamic ftrace") Signed-off-by: Jisheng Zhang Tested-by: Conor Dooley Link: https://lore.kernel.org/r/20221031182943.2453-1-jszhang@kernel.org Signed-off-by: Palmer Dabbelt --- arch/riscv/kernel/vdso/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile index f2e065671e4d..84ac0fe612e7 100644 --- a/arch/riscv/kernel/vdso/Makefile +++ b/arch/riscv/kernel/vdso/Makefile @@ -30,7 +30,7 @@ obj-y += vdso.o CPPFLAGS_vdso.lds += -P -C -U$(ARCH) # Disable -pg to prevent insert call site -CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os +CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) # Disable profiling and instrumentation for VDSO code GCOV_PROFILE := n -- cgit v1.2.3-59-g8ed1b From 550b33cfd445296868a478e8413ffb2e963eed32 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Thu, 10 Nov 2022 10:36:20 +0100 Subject: arm64: efi: Force the use of SetVirtualAddressMap() on Altra machines Ampere Altra machines are reported to misbehave when the SetTime() EFI runtime service is called after ExitBootServices() but before calling SetVirtualAddressMap(). Given that the latter is horrid, pointless and explicitly documented as optional by the EFI spec, we no longer invoke it at boot if the configured size of the VA space guarantees that the EFI runtime memory regions can remain mapped 1:1 like they are at boot time. On Ampere Altra machines, this results in SetTime() calls issued by the rtc-efi driver triggering synchronous exceptions during boot. We can now recover from those without bringing down the system entirely, due to commit 23715a26c8d81291 ("arm64: efi: Recover from synchronous exceptions occurring in firmware"). However, it would be better to avoid the issue entirely, given that the firmware appears to remain in a funny state after this. So attempt to identify these machines based on the 'family' field in the type #1 SMBIOS record, and call SetVirtualAddressMap() unconditionally in that case. Tested-by: Alexandru Elisei Signed-off-by: Ard Biesheuvel --- drivers/firmware/efi/libstub/Makefile | 2 +- drivers/firmware/efi/libstub/arm64-stub.c | 17 ++++++++++- drivers/firmware/efi/libstub/efistub.h | 28 ++++++++++++++++++ drivers/firmware/efi/libstub/smbios.c | 48 +++++++++++++++++++++++++++++++ include/linux/efi.h | 1 + 5 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 drivers/firmware/efi/libstub/smbios.c diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile index b1601aad7e1a..ef5045a53ce0 100644 --- a/drivers/firmware/efi/libstub/Makefile +++ b/drivers/firmware/efi/libstub/Makefile @@ -82,7 +82,7 @@ $(obj)/lib-%.o: $(srctree)/lib/%.c FORCE lib-$(CONFIG_EFI_GENERIC_STUB) += efi-stub.o string.o intrinsics.o systable.o lib-$(CONFIG_ARM) += arm32-stub.o -lib-$(CONFIG_ARM64) += arm64-stub.o +lib-$(CONFIG_ARM64) += arm64-stub.o smbios.o lib-$(CONFIG_X86) += x86-stub.o lib-$(CONFIG_RISCV) += riscv-stub.o lib-$(CONFIG_LOONGARCH) += loongarch-stub.o diff --git a/drivers/firmware/efi/libstub/arm64-stub.c b/drivers/firmware/efi/libstub/arm64-stub.c index 259e4b852d63..f9de5217ea65 100644 --- a/drivers/firmware/efi/libstub/arm64-stub.c +++ b/drivers/firmware/efi/libstub/arm64-stub.c @@ -15,6 +15,21 @@ #include "efistub.h" +static bool system_needs_vamap(void) +{ + const u8 *type1_family = efi_get_smbios_string(1, family); + + /* + * Ampere Altra machines crash in SetTime() if SetVirtualAddressMap() + * has not been called prior. + */ + if (!type1_family || strcmp(type1_family, "Altra")) + return false; + + efi_warn("Working around broken SetVirtualAddressMap()\n"); + return true; +} + efi_status_t check_platform_features(void) { u64 tg; @@ -24,7 +39,7 @@ efi_status_t check_platform_features(void) * UEFI runtime regions 1:1 and so calling SetVirtualAddressMap() is * unnecessary. */ - if (VA_BITS_MIN >= 48) + if (VA_BITS_MIN >= 48 && !system_needs_vamap()) efi_novamap = true; /* UEFI mandates support for 4 KB granularity, no need to check */ diff --git a/drivers/firmware/efi/libstub/efistub.h b/drivers/firmware/efi/libstub/efistub.h index a30fb5d8ef05..eb03d5a9aac8 100644 --- a/drivers/firmware/efi/libstub/efistub.h +++ b/drivers/firmware/efi/libstub/efistub.h @@ -975,4 +975,32 @@ efi_enable_reset_attack_mitigation(void) { } void efi_retrieve_tpm2_eventlog(void); +struct efi_smbios_record { + u8 type; + u8 length; + u16 handle; +}; + +struct efi_smbios_type1_record { + struct efi_smbios_record header; + + u8 manufacturer; + u8 product_name; + u8 version; + u8 serial_number; + efi_guid_t uuid; + u8 wakeup_type; + u8 sku_number; + u8 family; +}; + +#define efi_get_smbios_string(__type, __name) ({ \ + int size = sizeof(struct efi_smbios_type ## __type ## _record); \ + int off = offsetof(struct efi_smbios_type ## __type ## _record, \ + __name); \ + __efi_get_smbios_string(__type, off, size); \ +}) + +const u8 *__efi_get_smbios_string(u8 type, int offset, int recsize); + #endif diff --git a/drivers/firmware/efi/libstub/smbios.c b/drivers/firmware/efi/libstub/smbios.c new file mode 100644 index 000000000000..460418b7f5f5 --- /dev/null +++ b/drivers/firmware/efi/libstub/smbios.c @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: GPL-2.0-only +// Copyright 2022 Google LLC +// Author: Ard Biesheuvel + +#include + +#include "efistub.h" + +typedef struct efi_smbios_protocol efi_smbios_protocol_t; + +struct efi_smbios_protocol { + efi_status_t (__efiapi *add)(efi_smbios_protocol_t *, efi_handle_t, + u16 *, struct efi_smbios_record *); + efi_status_t (__efiapi *update_string)(efi_smbios_protocol_t *, u16 *, + unsigned long *, u8 *); + efi_status_t (__efiapi *remove)(efi_smbios_protocol_t *, u16); + efi_status_t (__efiapi *get_next)(efi_smbios_protocol_t *, u16 *, u8 *, + struct efi_smbios_record **, + efi_handle_t *); + + u8 major_version; + u8 minor_version; +}; + +const u8 *__efi_get_smbios_string(u8 type, int offset, int recsize) +{ + struct efi_smbios_record *record; + efi_smbios_protocol_t *smbios; + efi_status_t status; + u16 handle = 0xfffe; + const u8 *strtable; + + status = efi_bs_call(locate_protocol, &EFI_SMBIOS_PROTOCOL_GUID, NULL, + (void **)&smbios) ?: + efi_call_proto(smbios, get_next, &handle, &type, &record, NULL); + if (status != EFI_SUCCESS) + return NULL; + + strtable = (u8 *)record + recsize; + for (int i = 1; i < ((u8 *)record)[offset]; i++) { + int len = strlen(strtable); + + if (!len) + return NULL; + strtable += len + 1; + } + return strtable; +} diff --git a/include/linux/efi.h b/include/linux/efi.h index 929d559ad41d..7603fc58c47c 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -389,6 +389,7 @@ void efi_native_runtime_setup(void); #define EFI_LOAD_FILE2_PROTOCOL_GUID EFI_GUID(0x4006c0c1, 0xfcb3, 0x403e, 0x99, 0x6d, 0x4a, 0x6c, 0x87, 0x24, 0xe0, 0x6d) #define EFI_RT_PROPERTIES_TABLE_GUID EFI_GUID(0xeb66918a, 0x7eef, 0x402a, 0x84, 0x2e, 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9) #define EFI_DXE_SERVICES_TABLE_GUID EFI_GUID(0x05ad34ba, 0x6f02, 0x4214, 0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9) +#define EFI_SMBIOS_PROTOCOL_GUID EFI_GUID(0x03583ff6, 0xcb36, 0x4940, 0x94, 0x7e, 0xb9, 0xb3, 0x9f, 0x4a, 0xfa, 0xf7) #define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f) #define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23) -- cgit v1.2.3-59-g8ed1b From 9b9eaee9828fe98b030cf43ac50065a54a2f5d52 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Sun, 6 Nov 2022 15:53:54 +0100 Subject: arm64: efi: Fix handling of misaligned runtime regions and drop warning Currently, when mapping the EFI runtime regions in the EFI page tables, we complain about misaligned regions in a rather noisy way, using WARN(). Not only does this produce a lot of irrelevant clutter in the log, it is factually incorrect, as misaligned runtime regions are actually allowed by the EFI spec as long as they don't require conflicting memory types within the same 64k page. So let's drop the warning, and tweak the code so that we - take both the start and end of the region into account when checking for misalignment - only revert to RWX mappings for non-code regions if misaligned code regions are also known to exist. Cc: Acked-by: Linus Torvalds Signed-off-by: Ard Biesheuvel --- arch/arm64/kernel/efi.c | 52 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c index 8d36e66a6e64..ee53f2a0aa03 100644 --- a/arch/arm64/kernel/efi.c +++ b/arch/arm64/kernel/efi.c @@ -13,6 +13,14 @@ #include +static bool region_is_misaligned(const efi_memory_desc_t *md) +{ + if (PAGE_SIZE == EFI_PAGE_SIZE) + return false; + return !PAGE_ALIGNED(md->phys_addr) || + !PAGE_ALIGNED(md->num_pages << EFI_PAGE_SHIFT); +} + /* * Only regions of type EFI_RUNTIME_SERVICES_CODE need to be * executable, everything else can be mapped with the XN bits @@ -26,14 +34,22 @@ static __init pteval_t create_mapping_protection(efi_memory_desc_t *md) if (type == EFI_MEMORY_MAPPED_IO) return PROT_DEVICE_nGnRE; - if (WARN_ONCE(!PAGE_ALIGNED(md->phys_addr), - "UEFI Runtime regions are not aligned to 64 KB -- buggy firmware?")) + if (region_is_misaligned(md)) { + static bool __initdata code_is_misaligned; + /* - * If the region is not aligned to the page size of the OS, we - * can not use strict permissions, since that would also affect - * the mapping attributes of the adjacent regions. + * Regions that are not aligned to the OS page size cannot be + * mapped with strict permissions, as those might interfere + * with the permissions that are needed by the adjacent + * region's mapping. However, if we haven't encountered any + * misaligned runtime code regions so far, we can safely use + * non-executable permissions for non-code regions. */ - return pgprot_val(PAGE_KERNEL_EXEC); + code_is_misaligned |= (type == EFI_RUNTIME_SERVICES_CODE); + + return code_is_misaligned ? pgprot_val(PAGE_KERNEL_EXEC) + : pgprot_val(PAGE_KERNEL); + } /* R-- */ if ((attr & (EFI_MEMORY_XP | EFI_MEMORY_RO)) == @@ -64,19 +80,16 @@ int __init efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md) bool page_mappings_only = (md->type == EFI_RUNTIME_SERVICES_CODE || md->type == EFI_RUNTIME_SERVICES_DATA); - if (!PAGE_ALIGNED(md->phys_addr) || - !PAGE_ALIGNED(md->num_pages << EFI_PAGE_SHIFT)) { - /* - * If the end address of this region is not aligned to page - * size, the mapping is rounded up, and may end up sharing a - * page frame with the next UEFI memory region. If we create - * a block entry now, we may need to split it again when mapping - * the next region, and support for that is going to be removed - * from the MMU routines. So avoid block mappings altogether in - * that case. - */ + /* + * If this region is not aligned to the page size used by the OS, the + * mapping will be rounded outwards, and may end up sharing a page + * frame with an adjacent runtime memory region. Given that the page + * table descriptor covering the shared page will be rewritten when the + * adjacent region gets mapped, we must avoid block mappings here so we + * don't have to worry about splitting them when that happens. + */ + if (region_is_misaligned(md)) page_mappings_only = true; - } create_pgd_mapping(mm, md->phys_addr, md->virt_addr, md->num_pages << EFI_PAGE_SHIFT, @@ -103,6 +116,9 @@ int __init efi_set_mapping_permissions(struct mm_struct *mm, BUG_ON(md->type != EFI_RUNTIME_SERVICES_CODE && md->type != EFI_RUNTIME_SERVICES_DATA); + if (region_is_misaligned(md)) + return 0; + /* * Calling apply_to_page_range() is only safe on regions that are * guaranteed to be mapped down to pages. Since we are only called -- cgit v1.2.3-59-g8ed1b From 50e63dd8ed92045eb70a72d7ec725488320fb68b Mon Sep 17 00:00:00 2001 From: Conor Dooley Date: Mon, 7 Nov 2022 15:15:25 +0000 Subject: riscv: fix reserved memory setup Currently, RISC-V sets up reserved memory using the "early" copy of the device tree. As a result, when trying to get a reserved memory region using of_reserved_mem_lookup(), the pointer to reserved memory regions is using the early, pre-virtual-memory address which causes a kernel panic when trying to use the buffer's name: Unable to handle kernel paging request at virtual address 00000000401c31ac Oops [#1] Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 6.0.0-rc1-00001-g0d9d6953d834 #1 Hardware name: Microchip PolarFire-SoC Icicle Kit (DT) epc : string+0x4a/0xea ra : vsnprintf+0x1e4/0x336 epc : ffffffff80335ea0 ra : ffffffff80338936 sp : ffffffff81203be0 gp : ffffffff812e0a98 tp : ffffffff8120de40 t0 : 0000000000000000 t1 : ffffffff81203e28 t2 : 7265736572203a46 s0 : ffffffff81203c20 s1 : ffffffff81203e28 a0 : ffffffff81203d22 a1 : 0000000000000000 a2 : ffffffff81203d08 a3 : 0000000081203d21 a4 : ffffffffffffffff a5 : 00000000401c31ac a6 : ffff0a00ffffff04 a7 : ffffffffffffffff s2 : ffffffff81203d08 s3 : ffffffff81203d00 s4 : 0000000000000008 s5 : ffffffff000000ff s6 : 0000000000ffffff s7 : 00000000ffffff00 s8 : ffffffff80d9821a s9 : ffffffff81203d22 s10: 0000000000000002 s11: ffffffff80d9821c t3 : ffffffff812f3617 t4 : ffffffff812f3617 t5 : ffffffff812f3618 t6 : ffffffff81203d08 status: 0000000200000100 badaddr: 00000000401c31ac cause: 000000000000000d [] vsnprintf+0x1e4/0x336 [] vprintk_store+0xf6/0x344 [] vprintk_emit+0x56/0x192 [] vprintk_default+0x16/0x1e [] vprintk+0x72/0x80 [] _printk+0x36/0x50 [] print_reserved_mem+0x1c/0x24 [] paging_init+0x528/0x5bc [] setup_arch+0xd0/0x592 [] start_kernel+0x82/0x73c early_init_fdt_scan_reserved_mem() takes no arguments as it operates on initial_boot_params, which is populated by early_init_dt_verify(). On RISC-V, early_init_dt_verify() is called twice. Once, directly, in setup_arch() if CONFIG_BUILTIN_DTB is not enabled and once indirectly, very early in the boot process, by parse_dtb() when it calls early_init_dt_scan_nodes(). This first call uses dtb_early_va to set initial_boot_params, which is not usable later in the boot process when early_init_fdt_scan_reserved_mem() is called. On arm64 for example, the corresponding call to early_init_dt_scan_nodes() uses fixmap addresses and doesn't suffer the same fate. Move early_init_fdt_scan_reserved_mem() further along the boot sequence, after the direct call to early_init_dt_verify() in setup_arch() so that the names use the correct virtual memory addresses. The above supposed that CONFIG_BUILTIN_DTB was not set, but should work equally in the case where it is - unflatted_and_copy_device_tree() also updates initial_boot_params. Reported-by: Valentina Fernandez Reported-by: Evgenii Shatokhin Link: https://lore.kernel.org/linux-riscv/f8e67f82-103d-156c-deb0-d6d6e2756f5e@microchip.com/ Fixes: 922b0375fc93 ("riscv: Fix memblock reservation for device tree blob") Signed-off-by: Conor Dooley Tested-by: Evgenii Shatokhin Link: https://lore.kernel.org/r/20221107151524.3941467-1-conor.dooley@microchip.com Signed-off-by: Palmer Dabbelt --- arch/riscv/kernel/setup.c | 1 + arch/riscv/mm/init.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c index ad76bb59b059..67ec1fadcfe2 100644 --- a/arch/riscv/kernel/setup.c +++ b/arch/riscv/kernel/setup.c @@ -283,6 +283,7 @@ void __init setup_arch(char **cmdline_p) else pr_err("No DTB found in kernel mappings\n"); #endif + early_init_fdt_scan_reserved_mem(); misc_mem_init(); init_resources(); diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index b56a0a75533f..50a1b6edd491 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -262,7 +262,6 @@ static void __init setup_bootmem(void) memblock_reserve(dtb_early_pa, fdt_totalsize(dtb_early_va)); } - early_init_fdt_scan_reserved_mem(); dma_contiguous_reserve(dma32_phys_limit); if (IS_ENABLED(CONFIG_64BIT)) hugetlb_cma_reserve(PUD_SHIFT - PAGE_SHIFT); -- cgit v1.2.3-59-g8ed1b From fcae44fd36d052e956e69a64642fc03820968d78 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Tue, 8 Nov 2022 10:13:23 -0700 Subject: RISC-V: vdso: Do not add missing symbols to version section in linker script Recently, ld.lld moved from '--undefined-version' to '--no-undefined-version' as the default, which breaks the compat vDSO build: ld.lld: error: version script assignment of 'LINUX_4.15' to symbol '__vdso_gettimeofday' failed: symbol not defined ld.lld: error: version script assignment of 'LINUX_4.15' to symbol '__vdso_clock_gettime' failed: symbol not defined ld.lld: error: version script assignment of 'LINUX_4.15' to symbol '__vdso_clock_getres' failed: symbol not defined These symbols are not present in the compat vDSO or the regular vDSO for 32-bit but they are unconditionally included in the version section of the linker script, which is prohibited with '--no-undefined-version'. Fix this issue by only including the symbols that are actually exported in the version section of the linker script. Link: https://github.com/ClangBuiltLinux/linux/issues/1756 Signed-off-by: Nathan Chancellor Tested-by: Conor Dooley Link: https://lore.kernel.org/r/20221108171324.3377226-1-nathan@kernel.org/ Signed-off-by: Palmer Dabbelt --- arch/riscv/kernel/vdso/Makefile | 3 +++ arch/riscv/kernel/vdso/vdso.lds.S | 2 ++ 2 files changed, 5 insertions(+) diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile index 84ac0fe612e7..db6548509bb3 100644 --- a/arch/riscv/kernel/vdso/Makefile +++ b/arch/riscv/kernel/vdso/Makefile @@ -28,6 +28,9 @@ obj-vdso := $(addprefix $(obj)/, $(obj-vdso)) obj-y += vdso.o CPPFLAGS_vdso.lds += -P -C -U$(ARCH) +ifneq ($(filter vgettimeofday, $(vdso-syms)),) +CPPFLAGS_vdso.lds += -DHAS_VGETTIMEOFDAY +endif # Disable -pg to prevent insert call site CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) diff --git a/arch/riscv/kernel/vdso/vdso.lds.S b/arch/riscv/kernel/vdso/vdso.lds.S index 01d94aae5bf5..150b1a572e61 100644 --- a/arch/riscv/kernel/vdso/vdso.lds.S +++ b/arch/riscv/kernel/vdso/vdso.lds.S @@ -68,9 +68,11 @@ VERSION LINUX_4.15 { global: __vdso_rt_sigreturn; +#ifdef HAS_VGETTIMEOFDAY __vdso_gettimeofday; __vdso_clock_gettime; __vdso_clock_getres; +#endif __vdso_getcpu; __vdso_flush_icache; local: *; -- cgit v1.2.3-59-g8ed1b From 8c76310740807ade5ecdab5888f70ecb6d35732e Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Tue, 8 Nov 2022 21:40:01 +0800 Subject: ata: libata-transport: fix double ata_host_put() in ata_tport_add() In the error path in ata_tport_add(), when calling put_device(), ata_tport_release() is called, it will put the refcount of 'ap->host'. And then ata_host_put() is called again, the refcount is decreased to 0, ata_host_release() is called, all ports are freed and set to null. When unbinding the device after failure, ata_host_stop() is called to release the resources, it leads a null-ptr-deref(), because all the ports all freed and null. Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 CPU: 7 PID: 18671 Comm: modprobe Kdump: loaded Tainted: G E 6.1.0-rc3+ #8 pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : ata_host_stop+0x3c/0x84 [libata] lr : release_nodes+0x64/0xd0 Call trace: ata_host_stop+0x3c/0x84 [libata] release_nodes+0x64/0xd0 devres_release_all+0xbc/0x1b0 device_unbind_cleanup+0x20/0x70 really_probe+0x158/0x320 __driver_probe_device+0x84/0x120 driver_probe_device+0x44/0x120 __driver_attach+0xb4/0x220 bus_for_each_dev+0x78/0xdc driver_attach+0x2c/0x40 bus_add_driver+0x184/0x240 driver_register+0x80/0x13c __pci_register_driver+0x4c/0x60 ahci_pci_driver_init+0x30/0x1000 [ahci] Fix this by removing redundant ata_host_put() in the error path. Fixes: 2623c7a5f279 ("libata: add refcounting to ata_host") Signed-off-by: Yang Yingliang Signed-off-by: Damien Le Moal --- drivers/ata/libata-transport.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c index a7e9a75410a3..105da3ec5eaa 100644 --- a/drivers/ata/libata-transport.c +++ b/drivers/ata/libata-transport.c @@ -317,7 +317,6 @@ int ata_tport_add(struct device *parent, tport_err: transport_destroy_device(dev); put_device(dev); - ata_host_put(ap->host); return error; } -- cgit v1.2.3-59-g8ed1b From 3613dbe3909dcc637fe6be00e4dc43b4aa0470ee Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Tue, 8 Nov 2022 21:40:02 +0800 Subject: ata: libata-transport: fix error handling in ata_tport_add() In ata_tport_add(), the return value of transport_add_device() is not checked. As a result, it causes null-ptr-deref while removing the module, because transport_remove_device() is called to remove the device that was not added. Unable to handle kernel NULL pointer dereference at virtual address 00000000000000d0 CPU: 12 PID: 13605 Comm: rmmod Kdump: loaded Tainted: G W 6.1.0-rc3+ #8 pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : device_del+0x48/0x39c lr : device_del+0x44/0x39c Call trace: device_del+0x48/0x39c attribute_container_class_device_del+0x28/0x40 transport_remove_classdev+0x60/0x7c attribute_container_device_trigger+0x118/0x120 transport_remove_device+0x20/0x30 ata_tport_delete+0x34/0x60 [libata] ata_port_detach+0x148/0x1b0 [libata] ata_pci_remove_one+0x50/0x80 [libata] ahci_remove_one+0x4c/0x8c [ahci] Fix this by checking and handling return value of transport_add_device() in ata_tport_add(). Fixes: d9027470b886 ("[libata] Add ATA transport class") Signed-off-by: Yang Yingliang Signed-off-by: Damien Le Moal --- drivers/ata/libata-transport.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c index 105da3ec5eaa..ef53bdfbcbb2 100644 --- a/drivers/ata/libata-transport.c +++ b/drivers/ata/libata-transport.c @@ -301,7 +301,9 @@ int ata_tport_add(struct device *parent, pm_runtime_enable(dev); pm_runtime_forbid(dev); - transport_add_device(dev); + error = transport_add_device(dev); + if (error) + goto tport_transport_add_err; transport_configure_device(dev); error = ata_tlink_add(&ap->link); @@ -312,6 +314,7 @@ int ata_tport_add(struct device *parent, tport_link_err: transport_remove_device(dev); + tport_transport_add_err: device_del(dev); tport_err: -- cgit v1.2.3-59-g8ed1b From cf0816f6322c5c37ee52655f928e91ecf32da103 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Tue, 8 Nov 2022 21:40:03 +0800 Subject: ata: libata-transport: fix error handling in ata_tlink_add() In ata_tlink_add(), the return value of transport_add_device() is not checked. As a result, it causes null-ptr-deref while removing the module, because transport_remove_device() is called to remove the device that was not added. Unable to handle kernel NULL pointer dereference at virtual address 00000000000000d0 CPU: 33 PID: 13850 Comm: rmmod Kdump: loaded Tainted: G W 6.1.0-rc3+ #12 pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : device_del+0x48/0x39c lr : device_del+0x44/0x39c Call trace: device_del+0x48/0x39c attribute_container_class_device_del+0x28/0x40 transport_remove_classdev+0x60/0x7c attribute_container_device_trigger+0x118/0x120 transport_remove_device+0x20/0x30 ata_tlink_delete+0x88/0xb0 [libata] ata_tport_delete+0x2c/0x60 [libata] ata_port_detach+0x148/0x1b0 [libata] ata_pci_remove_one+0x50/0x80 [libata] ahci_remove_one+0x4c/0x8c [ahci] Fix this by checking and handling return value of transport_add_device() in ata_tlink_add(). Fixes: d9027470b886 ("[libata] Add ATA transport class") Signed-off-by: Yang Yingliang Signed-off-by: Damien Le Moal --- drivers/ata/libata-transport.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c index ef53bdfbcbb2..aac9336e8153 100644 --- a/drivers/ata/libata-transport.c +++ b/drivers/ata/libata-transport.c @@ -458,7 +458,9 @@ int ata_tlink_add(struct ata_link *link) goto tlink_err; } - transport_add_device(dev); + error = transport_add_device(dev); + if (error) + goto tlink_transport_err; transport_configure_device(dev); ata_for_each_dev(ata_dev, link, ALL) { @@ -473,6 +475,7 @@ int ata_tlink_add(struct ata_link *link) ata_tdev_delete(ata_dev); } transport_remove_device(dev); + tlink_transport_err: device_del(dev); tlink_err: transport_destroy_device(dev); -- cgit v1.2.3-59-g8ed1b From 1ff36351309e3eadcff297480baf4785e726de9b Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Tue, 8 Nov 2022 21:40:04 +0800 Subject: ata: libata-transport: fix error handling in ata_tdev_add() In ata_tdev_add(), the return value of transport_add_device() is not checked. As a result, it causes null-ptr-deref while removing the module, because transport_remove_device() is called to remove the device that was not added. Unable to handle kernel NULL pointer dereference at virtual address 00000000000000d0 CPU: 13 PID: 13603 Comm: rmmod Kdump: loaded Tainted: G W 6.1.0-rc3+ #36 pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : device_del+0x48/0x3a0 lr : device_del+0x44/0x3a0 Call trace: device_del+0x48/0x3a0 attribute_container_class_device_del+0x28/0x40 transport_remove_classdev+0x60/0x7c attribute_container_device_trigger+0x118/0x120 transport_remove_device+0x20/0x30 ata_tdev_delete+0x24/0x50 [libata] ata_tlink_delete+0x40/0xa0 [libata] ata_tport_delete+0x2c/0x60 [libata] ata_port_detach+0x148/0x1b0 [libata] ata_pci_remove_one+0x50/0x80 [libata] ahci_remove_one+0x4c/0x8c [ahci] Fix this by checking and handling return value of transport_add_device() in ata_tdev_add(). In the error path, device_del() is called to delete the device which was added earlier in this function, and ata_tdev_free() is called to free ata_dev. Fixes: d9027470b886 ("[libata] Add ATA transport class") Signed-off-by: Yang Yingliang Signed-off-by: Damien Le Moal --- drivers/ata/libata-transport.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c index aac9336e8153..e4fb9d1b9b39 100644 --- a/drivers/ata/libata-transport.c +++ b/drivers/ata/libata-transport.c @@ -713,7 +713,13 @@ static int ata_tdev_add(struct ata_device *ata_dev) return error; } - transport_add_device(dev); + error = transport_add_device(dev); + if (error) { + device_del(dev); + ata_tdev_free(ata_dev); + return error; + } + transport_configure_device(dev); return 0; } -- cgit v1.2.3-59-g8ed1b From f3a72878a3de720661b7ed0d6b7f7c506ddb8a52 Mon Sep 17 00:00:00 2001 From: Jaco Coetzee Date: Wed, 9 Nov 2022 15:27:57 -0500 Subject: nfp: change eeprom length to max length enumerators Extend the size of QSFP EEPROM for types SSF8436 and SFF8636 from 256 to 640 bytes in order to expose all the EEPROM pages by ethtool. For SFF-8636 and SFF-8436 specifications, the driver exposes 256 bytes of EEPROM data for ethtool's get_module_eeprom() callback, resulting in "netlink error: Invalid argument" when an EEPROM read with an offset larger than 256 bytes is attempted. Changing the length enumerators to the _MAX_LEN variants exposes all 640 bytes of the EEPROM allowing upper pages 1, 2 and 3 to be read. Fixes: 96d971e307cc ("ethtool: Add fallback to get_module_eeprom from netlink command") Signed-off-by: Jaco Coetzee Reviewed-by: Louis Peens Signed-off-by: Simon Horman Signed-off-by: David S. Miller --- drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c index 22a5d2419084..1775997f9c69 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c @@ -1477,15 +1477,15 @@ nfp_port_get_module_info(struct net_device *netdev, if (data < 0x3) { modinfo->type = ETH_MODULE_SFF_8436; - modinfo->eeprom_len = ETH_MODULE_SFF_8436_LEN; + modinfo->eeprom_len = ETH_MODULE_SFF_8436_MAX_LEN; } else { modinfo->type = ETH_MODULE_SFF_8636; - modinfo->eeprom_len = ETH_MODULE_SFF_8636_LEN; + modinfo->eeprom_len = ETH_MODULE_SFF_8636_MAX_LEN; } break; case NFP_INTERFACE_QSFP28: modinfo->type = ETH_MODULE_SFF_8636; - modinfo->eeprom_len = ETH_MODULE_SFF_8636_LEN; + modinfo->eeprom_len = ETH_MODULE_SFF_8636_MAX_LEN; break; default: netdev_err(netdev, "Unsupported module 0x%x detected\n", -- cgit v1.2.3-59-g8ed1b From 6d3085e4d89ad7e6c7f1c6cf929d903393565861 Mon Sep 17 00:00:00 2001 From: Sean Christopherson Date: Fri, 11 Nov 2022 00:18:41 +0000 Subject: KVM: x86/mmu: Block all page faults during kvm_zap_gfn_range() When zapping a GFN range, pass 0 => ALL_ONES for the to-be-invalidated range to effectively block all page faults while the zap is in-progress. The invalidation helpers take a host virtual address, whereas zapping a GFN obviously provides a guest physical address and with the wrong unit of measurement (frame vs. byte). Alternatively, KVM could walk all memslots to get the associated HVAs, but thanks to SMM, that would require multiple lookups. And practically speaking, kvm_zap_gfn_range() usage is quite rare and not a hot path, e.g. MTRR and CR0.CD are almost guaranteed to be done only on vCPU0 during boot, and APICv inhibits are similarly infrequent operations. Fixes: edb298c663fc ("KVM: x86/mmu: bump mmu notifier count in kvm_zap_gfn_range") Reported-by: Chao Peng Cc: stable@vger.kernel.org Cc: Maxim Levitsky Signed-off-by: Sean Christopherson Message-Id: <20221111001841.2412598-1-seanjc@google.com> Signed-off-by: Paolo Bonzini --- arch/x86/kvm/mmu/mmu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 6f81539061d6..1ccb769f62af 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -6056,7 +6056,7 @@ void kvm_zap_gfn_range(struct kvm *kvm, gfn_t gfn_start, gfn_t gfn_end) write_lock(&kvm->mmu_lock); - kvm_mmu_invalidate_begin(kvm, gfn_start, gfn_end); + kvm_mmu_invalidate_begin(kvm, 0, -1ul); flush = kvm_rmap_zap_gfn_range(kvm, gfn_start, gfn_end); @@ -6070,7 +6070,7 @@ void kvm_zap_gfn_range(struct kvm *kvm, gfn_t gfn_start, gfn_t gfn_end) kvm_flush_remote_tlbs_with_address(kvm, gfn_start, gfn_end - gfn_start); - kvm_mmu_invalidate_end(kvm, gfn_start, gfn_end); + kvm_mmu_invalidate_end(kvm, 0, -1ul); write_unlock(&kvm->mmu_lock); } -- cgit v1.2.3-59-g8ed1b From 62776e4378ae9086115ffd6f8bd9b9c0fe6e6809 Mon Sep 17 00:00:00 2001 From: John Thomson Date: Tue, 1 Nov 2022 03:07:49 +1000 Subject: mips: boot/compressed: use __NO_FORTIFY In the mips CONFIG_SYS_SUPPORTS_ZBOOT kernel, fix the compile error when using CONFIG_FORTIFY_SOURCE=y LD vmlinuz mipsel-openwrt-linux-musl-ld: arch/mips/boot/compressed/decompress.o: in function `decompress_kernel': ./include/linux/decompress/mm.h:(.text.decompress_kernel+0x177c): undefined reference to `warn_slowpath_fmt' kernel test robot helped identify this as related to fortify. The error appeared with commit 54d9469bc515 ("fortify: Add run-time WARN for cross-field memcpy()") Link: https://lore.kernel.org/r/202209161144.x9xSqNQZ-lkp@intel.com/ Resolve this in the same style as commit cfecea6ead5f ("lib/string: Move helper functions out of string.c") Reported-by: kernel test robot Fixes: 54d9469bc515 ("fortify: Add run-time WARN for cross-field memcpy()") Reviewed-by: Kees Cook Signed-off-by: John Thomson Signed-off-by: Thomas Bogendoerfer --- arch/mips/boot/compressed/decompress.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c index 5b38a802e101..c5dd415254d3 100644 --- a/arch/mips/boot/compressed/decompress.c +++ b/arch/mips/boot/compressed/decompress.c @@ -9,6 +9,7 @@ #define DISABLE_BRANCH_PROFILING +#define __NO_FORTIFY #include #include #include -- cgit v1.2.3-59-g8ed1b From 612d80784fdc0c2e2ee2e2d901a55ef2f72ebf4b Mon Sep 17 00:00:00 2001 From: Rongwei Zhang Date: Wed, 2 Nov 2022 20:27:39 +0800 Subject: MIPS: fix duplicate definitions for exported symbols Building with clang-14 fails with: AS arch/mips/kernel/relocate_kernel.o :0: error: symbol 'kexec_args' is already defined :0: error: symbol 'secondary_kexec_args' is already defined :0: error: symbol 'kexec_start_address' is already defined :0: error: symbol 'kexec_indirection_page' is already defined :0: error: symbol 'relocate_new_kernel_size' is already defined It turns out EXPORT defined in asm/asm.h expands to a symbol definition, so there is no need to define these symbols again. Remove duplicated symbol definitions. Fixes: 7aa1c8f47e7e ("MIPS: kdump: Add support") Signed-off-by: Rongwei Zhang Reviewed-by: Nathan Chancellor Signed-off-by: Thomas Bogendoerfer --- arch/mips/kernel/relocate_kernel.S | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/arch/mips/kernel/relocate_kernel.S b/arch/mips/kernel/relocate_kernel.S index cfde14b48fd8..f5b2ef979b43 100644 --- a/arch/mips/kernel/relocate_kernel.S +++ b/arch/mips/kernel/relocate_kernel.S @@ -145,8 +145,7 @@ LEAF(kexec_smp_wait) * kexec_args[0..3] are used to prepare register values. */ -kexec_args: - EXPORT(kexec_args) +EXPORT(kexec_args) arg0: PTR_WD 0x0 arg1: PTR_WD 0x0 arg2: PTR_WD 0x0 @@ -159,8 +158,7 @@ arg3: PTR_WD 0x0 * their registers a0-a3. secondary_kexec_args[0..3] are used * to prepare register values. */ -secondary_kexec_args: - EXPORT(secondary_kexec_args) +EXPORT(secondary_kexec_args) s_arg0: PTR_WD 0x0 s_arg1: PTR_WD 0x0 s_arg2: PTR_WD 0x0 @@ -171,19 +169,16 @@ kexec_flag: #endif -kexec_start_address: - EXPORT(kexec_start_address) +EXPORT(kexec_start_address) PTR_WD 0x0 .size kexec_start_address, PTRSIZE -kexec_indirection_page: - EXPORT(kexec_indirection_page) +EXPORT(kexec_indirection_page) PTR_WD 0 .size kexec_indirection_page, PTRSIZE relocate_new_kernel_end: -relocate_new_kernel_size: - EXPORT(relocate_new_kernel_size) +EXPORT(relocate_new_kernel_size) PTR_WD relocate_new_kernel_end - relocate_new_kernel .size relocate_new_kernel_size, PTRSIZE -- cgit v1.2.3-59-g8ed1b From fa706927f4722a2df723b2a28d139b1904a3e7fa Mon Sep 17 00:00:00 2001 From: Liao Chang Date: Thu, 3 Nov 2022 09:18:15 +0800 Subject: MIPS: Loongson64: Add WARN_ON on kexec related kmalloc failed Add WARN_ON on kexec related kmalloc failed, avoid to pass NULL pointer to following memcpy and loongson_kexec_prepare. Fixes: 6ce48897ce47 ("MIPS: Loongson64: Add kexec/kdump support") Signed-off-by: Liao Chang Signed-off-by: Thomas Bogendoerfer --- arch/mips/loongson64/reset.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/mips/loongson64/reset.c b/arch/mips/loongson64/reset.c index 758d5d26aaaa..e420800043b0 100644 --- a/arch/mips/loongson64/reset.c +++ b/arch/mips/loongson64/reset.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -159,8 +160,17 @@ static int __init mips_reboot_setup(void) #ifdef CONFIG_KEXEC kexec_argv = kmalloc(KEXEC_ARGV_SIZE, GFP_KERNEL); + if (WARN_ON(!kexec_argv)) + return -ENOMEM; + kdump_argv = kmalloc(KEXEC_ARGV_SIZE, GFP_KERNEL); + if (WARN_ON(!kdump_argv)) + return -ENOMEM; + kexec_envp = kmalloc(KEXEC_ENVP_SIZE, GFP_KERNEL); + if (WARN_ON(!kexec_envp)) + return -ENOMEM; + fw_arg1 = KEXEC_ARGV_ADDR; memcpy(kexec_envp, (void *)fw_arg2, KEXEC_ENVP_SIZE); -- cgit v1.2.3-59-g8ed1b From 2a296157859287c3b639f7228354c13f7182ed71 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Thu, 3 Nov 2022 11:15:35 +0100 Subject: mips: alchemy: gpio: Include the right header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The local GPIO driver in the MIPS Alchemy is including the legacy header but what it wants is to implement a GPIO driver so include instead. Cc: Bartosz Golaszewski Cc: linux-gpio@vger.kernel.org Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Linus Walleij Signed-off-by: Thomas Bogendoerfer --- arch/mips/alchemy/common/gpiolib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/alchemy/common/gpiolib.c b/arch/mips/alchemy/common/gpiolib.c index a17d7a8909c4..1b16daaa86ae 100644 --- a/arch/mips/alchemy/common/gpiolib.c +++ b/arch/mips/alchemy/common/gpiolib.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #include #include -- cgit v1.2.3-59-g8ed1b From 64ac0befe75bdfaffc396c2b4a0ed5ae6920eeee Mon Sep 17 00:00:00 2001 From: Jiaxun Yang Date: Thu, 3 Nov 2022 15:10:53 +0000 Subject: MIPS: jump_label: Fix compat branch range check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cast upper bound of branch range to long to do signed compare, avoid negative offset trigger this warning. Fixes: 9b6584e35f40 ("MIPS: jump_label: Use compact branches for >= r6") Signed-off-by: Jiaxun Yang Cc: stable@vger.kernel.org Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Thomas Bogendoerfer --- arch/mips/kernel/jump_label.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/kernel/jump_label.c b/arch/mips/kernel/jump_label.c index 71a882c8c6eb..f7978d50a2ba 100644 --- a/arch/mips/kernel/jump_label.c +++ b/arch/mips/kernel/jump_label.c @@ -56,7 +56,7 @@ void arch_jump_label_transform(struct jump_entry *e, * The branch offset must fit in the instruction's 26 * bit field. */ - WARN_ON((offset >= BIT(25)) || + WARN_ON((offset >= (long)BIT(25)) || (offset < -(long)BIT(25))); insn.j_format.opcode = bc6_op; -- cgit v1.2.3-59-g8ed1b From 648060902aa302331b5d6e4f26d8ee0761d239ab Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 28 Oct 2022 15:23:44 +0200 Subject: MIPS: pic32: treat port as signed integer get_port_from_cmdline() returns an int, yet is assigned to a char, which is wrong in its own right, but also, with char becoming unsigned, this poses problems, because -1 is used as an error value. Further complicating things, fw_init_early_console() is only ever called with a -1 argument. Fix this up by removing the unused argument from fw_init_early_console() and treating port as a proper signed integer. Cc: Thomas Bogendoerfer Signed-off-by: Jason A. Donenfeld Signed-off-by: Thomas Bogendoerfer --- arch/mips/include/asm/fw/fw.h | 2 +- arch/mips/pic32/pic32mzda/early_console.c | 13 ++++++------- arch/mips/pic32/pic32mzda/init.c | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/arch/mips/include/asm/fw/fw.h b/arch/mips/include/asm/fw/fw.h index d0ef8b4892bb..d0494ce4b337 100644 --- a/arch/mips/include/asm/fw/fw.h +++ b/arch/mips/include/asm/fw/fw.h @@ -26,6 +26,6 @@ extern char *fw_getcmdline(void); extern void fw_meminit(void); extern char *fw_getenv(char *name); extern unsigned long fw_getenvl(char *name); -extern void fw_init_early_console(char port); +extern void fw_init_early_console(void); #endif /* __ASM_FW_H_ */ diff --git a/arch/mips/pic32/pic32mzda/early_console.c b/arch/mips/pic32/pic32mzda/early_console.c index 25372e62783b..3cd1b408fa1c 100644 --- a/arch/mips/pic32/pic32mzda/early_console.c +++ b/arch/mips/pic32/pic32mzda/early_console.c @@ -27,7 +27,7 @@ #define U_BRG(x) (UART_BASE(x) + 0x40) static void __iomem *uart_base; -static char console_port = -1; +static int console_port = -1; static int __init configure_uart_pins(int port) { @@ -47,7 +47,7 @@ static int __init configure_uart_pins(int port) return 0; } -static void __init configure_uart(char port, int baud) +static void __init configure_uart(int port, int baud) { u32 pbclk; @@ -60,7 +60,7 @@ static void __init configure_uart(char port, int baud) uart_base + PIC32_SET(U_STA(port))); } -static void __init setup_early_console(char port, int baud) +static void __init setup_early_console(int port, int baud) { if (configure_uart_pins(port)) return; @@ -130,16 +130,15 @@ _out: return baud; } -void __init fw_init_early_console(char port) +void __init fw_init_early_console(void) { char *arch_cmdline = pic32_getcmdline(); - int baud = -1; + int baud, port; uart_base = ioremap(PIC32_BASE_UART, 0xc00); baud = get_baud_from_cmdline(arch_cmdline); - if (port == -1) - port = get_port_from_cmdline(arch_cmdline); + port = get_port_from_cmdline(arch_cmdline); if (port == -1) port = EARLY_CONSOLE_PORT; diff --git a/arch/mips/pic32/pic32mzda/init.c b/arch/mips/pic32/pic32mzda/init.c index 08c46cf122d7..53b227a9074c 100644 --- a/arch/mips/pic32/pic32mzda/init.c +++ b/arch/mips/pic32/pic32mzda/init.c @@ -47,7 +47,7 @@ void __init plat_mem_setup(void) strscpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE); #ifdef CONFIG_EARLY_PRINTK - fw_init_early_console(-1); + fw_init_early_console(); #endif pic32_config_init(); } -- cgit v1.2.3-59-g8ed1b From 30a33669fa21cd3dc7d92a00ba736358059014b7 Mon Sep 17 00:00:00 2001 From: Pavel Begunkov Date: Fri, 11 Nov 2022 16:51:29 +0000 Subject: io_uring/poll: fix double poll req->flags races io_poll_double_prepare() | io_poll_wake() | poll->head = NULL smp_load(&poll->head); /* NULL */ | flags = req->flags; | | req->flags &= ~SINGLE_POLL; req->flags = flags | DOUBLE_POLL | The idea behind io_poll_double_prepare() is to serialise with the first poll entry by taking the wq lock. However, it's not safe to assume that io_poll_wake() is not running when we can't grab the lock and so we may race modifying req->flags. Skip double poll setup if that happens. It's ok because the first poll entry will only be removed when it's definitely completing, e.g. pollfree or oneshot with a valid mask. Fixes: 49f1c68e048f1 ("io_uring: optimise submission side poll_refs") Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/b7fab2d502f6121a7d7b199fe4d914a43ca9cdfd.1668184658.git.asml.silence@gmail.com Signed-off-by: Jens Axboe --- io_uring/poll.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/io_uring/poll.c b/io_uring/poll.c index 0d9f49c575e0..97c214aa688c 100644 --- a/io_uring/poll.c +++ b/io_uring/poll.c @@ -394,7 +394,8 @@ static int io_poll_wake(struct wait_queue_entry *wait, unsigned mode, int sync, return 1; } -static void io_poll_double_prepare(struct io_kiocb *req) +/* fails only when polling is already completing by the first entry */ +static bool io_poll_double_prepare(struct io_kiocb *req) { struct wait_queue_head *head; struct io_poll *poll = io_poll_get_single(req); @@ -403,20 +404,20 @@ static void io_poll_double_prepare(struct io_kiocb *req) rcu_read_lock(); head = smp_load_acquire(&poll->head); /* - * poll arm may not hold ownership and so race with - * io_poll_wake() by modifying req->flags. There is only one - * poll entry queued, serialise with it by taking its head lock. + * poll arm might not hold ownership and so race for req->flags with + * io_poll_wake(). There is only one poll entry queued, serialise with + * it by taking its head lock. As we're still arming the tw hanlder + * is not going to be run, so there are no races with it. */ - if (head) + if (head) { spin_lock_irq(&head->lock); - - req->flags |= REQ_F_DOUBLE_POLL; - if (req->opcode == IORING_OP_POLL_ADD) - req->flags |= REQ_F_ASYNC_DATA; - - if (head) + req->flags |= REQ_F_DOUBLE_POLL; + if (req->opcode == IORING_OP_POLL_ADD) + req->flags |= REQ_F_ASYNC_DATA; spin_unlock_irq(&head->lock); + } rcu_read_unlock(); + return !!head; } static void __io_queue_proc(struct io_poll *poll, struct io_poll_table *pt, @@ -454,7 +455,11 @@ static void __io_queue_proc(struct io_poll *poll, struct io_poll_table *pt, /* mark as double wq entry */ wqe_private |= IO_WQE_F_DOUBLE; io_init_poll_iocb(poll, first->events, first->wait.func); - io_poll_double_prepare(req); + if (!io_poll_double_prepare(req)) { + /* the request is completing, just back off */ + kfree(poll); + return; + } *poll_ptr = poll; } else { /* fine to modify, there is no poll queued to race with us */ -- cgit v1.2.3-59-g8ed1b From 5576035f15dfcc6cb1cec236db40c2c0733b0ba4 Mon Sep 17 00:00:00 2001 From: Pavel Begunkov Date: Fri, 11 Nov 2022 16:51:30 +0000 Subject: io_uring/poll: lockdep annote io_poll_req_insert_locked Add a lockdep annotation in io_poll_req_insert_locked(). Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/8115d8e702733754d0aea119e9b5bb63d1eb8b24.1668184658.git.asml.silence@gmail.com Signed-off-by: Jens Axboe --- io_uring/poll.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/io_uring/poll.c b/io_uring/poll.c index 97c214aa688c..f500506984ec 100644 --- a/io_uring/poll.c +++ b/io_uring/poll.c @@ -116,6 +116,8 @@ static void io_poll_req_insert_locked(struct io_kiocb *req) struct io_hash_table *table = &req->ctx->cancel_table_locked; u32 index = hash_long(req->cqe.user_data, table->hash_bits); + lockdep_assert_held(&req->ctx->uring_lock); + hlist_add_head(&req->hash_node, &table->hbs[index].list); } -- cgit v1.2.3-59-g8ed1b From 8678ea06852cd1f819b870c773d43df888d15d46 Mon Sep 17 00:00:00 2001 From: Alban Crequy Date: Thu, 10 Nov 2022 09:56:13 +0100 Subject: maccess: Fix writing offset in case of fault in strncpy_from_kernel_nofault() If a page fault occurs while copying the first byte, this function resets one byte before dst. As a consequence, an address could be modified and leaded to kernel crashes if case the modified address was accessed later. Fixes: b58294ead14c ("maccess: allow architectures to provide kernel probing directly") Signed-off-by: Alban Crequy Signed-off-by: Andrii Nakryiko Tested-by: Francis Laniel Reviewed-by: Andrew Morton Cc: [5.8] Link: https://lore.kernel.org/bpf/20221110085614.111213-2-albancrequy@linux.microsoft.com --- mm/maccess.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/maccess.c b/mm/maccess.c index 5f4d240f67ec..074f6b086671 100644 --- a/mm/maccess.c +++ b/mm/maccess.c @@ -97,7 +97,7 @@ long strncpy_from_kernel_nofault(char *dst, const void *unsafe_addr, long count) return src - unsafe_addr; Efault: pagefault_enable(); - dst[-1] = '\0'; + dst[0] = '\0'; return -EFAULT; } -- cgit v1.2.3-59-g8ed1b From 9cd094829dae949a755c18533479c20e74415ab2 Mon Sep 17 00:00:00 2001 From: Alban Crequy Date: Thu, 10 Nov 2022 09:56:14 +0100 Subject: selftests: bpf: Add a test when bpf_probe_read_kernel_str() returns EFAULT This commit tests previous fix of bpf_probe_read_kernel_str(). The BPF helper bpf_probe_read_kernel_str should return -EFAULT when given a bad source pointer and the target buffer should only be modified to make the string NULL terminated. bpf_probe_read_kernel_str() was previously inserting a NULL before the beginning of the dst buffer. This test should ensure that the implementation stays correct for now on. Without the fix, this test will fail as follows: $ cd tools/testing/selftests/bpf $ make $ sudo ./test_progs --name=varlen ... test_varlen:FAIL:check got 0 != exp 66 Signed-off-by: Alban Crequy Signed-off-by: Francis Laniel Signed-off-by: Andrii Nakryiko Acked-by: Yonghong Song Link: https://lore.kernel.org/bpf/20221110085614.111213-3-albancrequy@linux.microsoft.com Changes v1 to v2: - add ack tag - fix my email - rebase on bpf tree and tag for bpf tree --- tools/testing/selftests/bpf/prog_tests/varlen.c | 7 +++++++ tools/testing/selftests/bpf/progs/test_varlen.c | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/varlen.c b/tools/testing/selftests/bpf/prog_tests/varlen.c index dd324b4933db..4d7056f8f177 100644 --- a/tools/testing/selftests/bpf/prog_tests/varlen.c +++ b/tools/testing/selftests/bpf/prog_tests/varlen.c @@ -63,6 +63,13 @@ void test_varlen(void) CHECK_VAL(data->total4, size1 + size2); CHECK(memcmp(data->payload4, exp_str, size1 + size2), "content_check", "doesn't match!\n"); + + CHECK_VAL(bss->ret_bad_read, -EFAULT); + CHECK_VAL(data->payload_bad[0], 0x42); + CHECK_VAL(data->payload_bad[1], 0x42); + CHECK_VAL(data->payload_bad[2], 0); + CHECK_VAL(data->payload_bad[3], 0x42); + CHECK_VAL(data->payload_bad[4], 0x42); cleanup: test_varlen__destroy(skel); } diff --git a/tools/testing/selftests/bpf/progs/test_varlen.c b/tools/testing/selftests/bpf/progs/test_varlen.c index 3987ff174f1f..20eb7d422c41 100644 --- a/tools/testing/selftests/bpf/progs/test_varlen.c +++ b/tools/testing/selftests/bpf/progs/test_varlen.c @@ -19,6 +19,7 @@ __u64 payload1_len1 = 0; __u64 payload1_len2 = 0; __u64 total1 = 0; char payload1[MAX_LEN + MAX_LEN] = {}; +__u64 ret_bad_read = 0; /* .data */ int payload2_len1 = -1; @@ -36,6 +37,8 @@ int payload4_len2 = -1; int total4= -1; char payload4[MAX_LEN + MAX_LEN] = { 1 }; +char payload_bad[5] = { 0x42, 0x42, 0x42, 0x42, 0x42 }; + SEC("raw_tp/sys_enter") int handler64_unsigned(void *regs) { @@ -61,6 +64,8 @@ int handler64_unsigned(void *regs) total1 = payload - (void *)payload1; + ret_bad_read = bpf_probe_read_kernel_str(payload_bad + 2, 1, (void *) -1); + return 0; } -- cgit v1.2.3-59-g8ed1b From 4b45cd81f737d79d0fbfc0d320a1e518e7f0bbf0 Mon Sep 17 00:00:00 2001 From: Xu Kuohai Date: Thu, 10 Nov 2022 07:21:28 -0500 Subject: bpf: Initialize same number of free nodes for each pcpu_freelist pcpu_freelist_populate() initializes nr_elems / num_possible_cpus() + 1 free nodes for some CPUs, and then possibly one CPU with fewer nodes, followed by remaining cpus with 0 nodes. For example, when nr_elems == 256 and num_possible_cpus() == 32, CPU 0~27 each gets 9 free nodes, CPU 28 gets 4 free nodes, CPU 29~31 get 0 free nodes, while in fact each CPU should get 8 nodes equally. This patch initializes nr_elems / num_possible_cpus() free nodes for each CPU firstly, then allocates the remaining free nodes by one for each CPU until no free nodes left. Fixes: e19494edab82 ("bpf: introduce percpu_freelist") Signed-off-by: Xu Kuohai Signed-off-by: Andrii Nakryiko Acked-by: Yonghong Song Link: https://lore.kernel.org/bpf/20221110122128.105214-1-xukuohai@huawei.com --- kernel/bpf/percpu_freelist.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/kernel/bpf/percpu_freelist.c b/kernel/bpf/percpu_freelist.c index b6e7f5c5b9ab..034cf87b54e9 100644 --- a/kernel/bpf/percpu_freelist.c +++ b/kernel/bpf/percpu_freelist.c @@ -100,22 +100,21 @@ void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size, u32 nr_elems) { struct pcpu_freelist_head *head; - int i, cpu, pcpu_entries; + unsigned int cpu, cpu_idx, i, j, n, m; - pcpu_entries = nr_elems / num_possible_cpus() + 1; - i = 0; + n = nr_elems / num_possible_cpus(); + m = nr_elems % num_possible_cpus(); + cpu_idx = 0; for_each_possible_cpu(cpu) { -again: head = per_cpu_ptr(s->freelist, cpu); - /* No locking required as this is not visible yet. */ - pcpu_freelist_push_node(head, buf); - i++; - buf += elem_size; - if (i == nr_elems) - break; - if (i % pcpu_entries) - goto again; + j = n + (cpu_idx < m ? 1 : 0); + for (i = 0; i < j; i++) { + /* No locking required as this is not visible yet. */ + pcpu_freelist_push_node(head, buf); + buf += elem_size; + } + cpu_idx++; } } -- cgit v1.2.3-59-g8ed1b From 1f6e04a1c7b85da3b765ca9f46029e5d1826d839 Mon Sep 17 00:00:00 2001 From: Xu Kuohai Date: Fri, 11 Nov 2022 07:56:20 -0500 Subject: bpf: Fix offset calculation error in __copy_map_value and zero_map_value Function __copy_map_value and zero_map_value miscalculated copy offset, resulting in possible copy of unwanted data to user or kernel. Fix it. Fixes: cc48755808c6 ("bpf: Add zero_map_value to zero map value with special fields") Fixes: 4d7d7f69f4b1 ("bpf: Adapt copy_map_value for multiple offset case") Signed-off-by: Xu Kuohai Signed-off-by: Andrii Nakryiko Acked-by: Kumar Kartikeya Dwivedi Link: https://lore.kernel.org/bpf/20221111125620.754855-1-xukuohai@huaweicloud.com --- include/linux/bpf.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 74c6f449d81e..c1bd1bd10506 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -315,7 +315,7 @@ static inline void __copy_map_value(struct bpf_map *map, void *dst, void *src, b u32 next_off = map->off_arr->field_off[i]; memcpy(dst + curr_off, src + curr_off, next_off - curr_off); - curr_off += map->off_arr->field_sz[i]; + curr_off = next_off + map->off_arr->field_sz[i]; } memcpy(dst + curr_off, src + curr_off, map->value_size - curr_off); } @@ -344,7 +344,7 @@ static inline void zero_map_value(struct bpf_map *map, void *dst) u32 next_off = map->off_arr->field_off[i]; memset(dst + curr_off, 0, next_off - curr_off); - curr_off += map->off_arr->field_sz[i]; + curr_off = next_off + map->off_arr->field_sz[i]; } memset(dst + curr_off, 0, map->value_size - curr_off); } -- cgit v1.2.3-59-g8ed1b From e20e81a24a4d58744a29715aac2f795cd1651955 Mon Sep 17 00:00:00 2001 From: Niklas Cassel Date: Wed, 9 Nov 2022 00:15:34 +0100 Subject: ata: libata-core: do not issue non-internal commands once EH is pending While the ATA specification states that a device should return command aborted for all commands queued after the device has entered error state, since ATA only keeps the sense data for the latest command (in non-NCQ case), we really don't want to send block layer commands to the device after it has entered error state. (Only ATA EH commands should be sent, to read the sense data etc.) Currently, scsi_queue_rq() will check if scsi_host_in_recovery() (state is SHOST_RECOVERY), and if so, it will _not_ issue a command via: scsi_dispatch_cmd() -> host->hostt->queuecommand() (ata_scsi_queuecmd()) -> __ata_scsi_queuecmd() -> ata_scsi_translate() -> ata_qc_issue() Before commit e494f6a72839 ("[SCSI] improved eh timeout handler"), when receiving a TFES error IRQ, the call chain looked like this: ahci_error_intr() -> ata_port_abort() -> ata_do_link_abort() -> ata_qc_complete() -> ata_qc_schedule_eh() -> blk_abort_request() -> blk_rq_timed_out() -> q->rq_timed_out_fn() (scsi_times_out()) -> scsi_eh_scmd_add() -> scsi_host_set_state(shost, SHOST_RECOVERY) Which meant that as soon as an error IRQ was serviced, SHOST_RECOVERY would be set. However, after commit e494f6a72839 ("[SCSI] improved eh timeout handler"), scsi_times_out() will instead call scsi_abort_command() which will queue delayed work, and the worker function scmd_eh_abort_handler() will call scsi_eh_scmd_add(), which calls scsi_host_set_state(shost, SHOST_RECOVERY). So now, after the TFES error IRQ has been serviced, we need to wait for the SCSI workqueue to run its work before SHOST_RECOVERY gets set. It is worth noting that, even before commit e494f6a72839 ("[SCSI] improved eh timeout handler"), we could receive an error IRQ from the time when scsi_queue_rq() checks scsi_host_in_recovery(), to the time when ata_scsi_queuecmd() is actually called. In order to handle both the delayed setting of SHOST_RECOVERY and the window where we can receive an error IRQ, add a check against ATA_PFLAG_EH_PENDING (which gets set when servicing the error IRQ), inside ata_scsi_queuecmd() itself, while holding the ap->lock. (Since the ap->lock is held while servicing IRQs.) Fixes: e494f6a72839 ("[SCSI] improved eh timeout handler") Signed-off-by: Niklas Cassel Tested-by: John Garry Signed-off-by: Damien Le Moal --- drivers/ata/libata-scsi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 61cd4e90e4e7..06a3d95ed8f9 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -3964,9 +3964,19 @@ static inline ata_xlat_func_t ata_get_xlat_func(struct ata_device *dev, u8 cmd) int __ata_scsi_queuecmd(struct scsi_cmnd *scmd, struct ata_device *dev) { + struct ata_port *ap = dev->link->ap; u8 scsi_op = scmd->cmnd[0]; ata_xlat_func_t xlat_func; + /* + * scsi_queue_rq() will defer commands if scsi_host_in_recovery(). + * However, this check is done without holding the ap->lock (a libata + * specific lock), so we can have received an error irq since then, + * therefore we must check if EH is pending, while holding ap->lock. + */ + if (ap->pflags & (ATA_PFLAG_EH_PENDING | ATA_PFLAG_EH_IN_PROGRESS)) + return SCSI_MLQUEUE_DEVICE_BUSY; + if (unlikely(!scmd->cmd_len)) goto bad_cdb_len; -- cgit v1.2.3-59-g8ed1b From 6f928ab8ee9bfbcb0e631c47ea8a16c3d5116ff1 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Wed, 9 Nov 2022 15:01:36 +0000 Subject: net: bgmac: Drop free_netdev() from bgmac_enet_remove() netdev is allocated in bgmac_alloc() with devm_alloc_etherdev() and will be auto released in ->remove and ->probe failure path. Using free_netdev() in bgmac_enet_remove() leads to double free. Fixes: 34a5102c3235 ("net: bgmac: allocate struct bgmac just once & don't copy it") Signed-off-by: Wei Yongjun Link: https://lore.kernel.org/r/20221109150136.2991171-1-weiyongjun@huaweicloud.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/broadcom/bgmac.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c index 5fb3af5670ec..3038386a5afd 100644 --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c @@ -1568,7 +1568,6 @@ void bgmac_enet_remove(struct bgmac *bgmac) phy_disconnect(bgmac->net_dev->phydev); netif_napi_del(&bgmac->napi); bgmac_dma_free(bgmac); - free_netdev(bgmac->net_dev); } EXPORT_SYMBOL_GPL(bgmac_enet_remove); -- cgit v1.2.3-59-g8ed1b From 98a2ac1ca8fd6eca6867726fe238d06e75eb1acd Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Wed, 9 Nov 2022 21:28:32 +0800 Subject: mISDN: fix possible memory leak in mISDN_dsp_element_register() Afer commit 1fa5ae857bb1 ("driver core: get rid of struct device's bus_id string array"), the name of device is allocated dynamically, use put_device() to give up the reference, so that the name can be freed in kobject_cleanup() when the refcount is 0. The 'entry' is going to be freed in mISDN_dsp_dev_release(), so the kfree() is removed. list_del() is called in mISDN_dsp_dev_release(), so it need be initialized. Fixes: 1fa5ae857bb1 ("driver core: get rid of struct device's bus_id string array") Signed-off-by: Yang Yingliang Link: https://lore.kernel.org/r/20221109132832.3270119-1-yangyingliang@huawei.com Signed-off-by: Jakub Kicinski --- drivers/isdn/mISDN/dsp_pipeline.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/isdn/mISDN/dsp_pipeline.c b/drivers/isdn/mISDN/dsp_pipeline.c index c3b2c99b5cd5..cfbcd9e973c2 100644 --- a/drivers/isdn/mISDN/dsp_pipeline.c +++ b/drivers/isdn/mISDN/dsp_pipeline.c @@ -77,6 +77,7 @@ int mISDN_dsp_element_register(struct mISDN_dsp_element *elem) if (!entry) return -ENOMEM; + INIT_LIST_HEAD(&entry->list); entry->elem = elem; entry->dev.class = elements_class; @@ -107,7 +108,7 @@ err2: device_unregister(&entry->dev); return ret; err1: - kfree(entry); + put_device(&entry->dev); return ret; } EXPORT_SYMBOL(mISDN_dsp_element_register); -- cgit v1.2.3-59-g8ed1b From 8eab9be56cc6b702a445d2b6d0256aa0992316b3 Mon Sep 17 00:00:00 2001 From: Yuan Can Date: Thu, 10 Nov 2022 02:16:42 +0000 Subject: net: hinic: Fix error handling in hinic_module_init() A problem about hinic create debugfs failed is triggered with the following log given: [ 931.419023] debugfs: Directory 'hinic' with parent '/' already present! The reason is that hinic_module_init() returns pci_register_driver() directly without checking its return value, if pci_register_driver() failed, it returns without destroy the newly created debugfs, resulting the debugfs of hinic can never be created later. hinic_module_init() hinic_dbg_register_debugfs() # create debugfs directory pci_register_driver() driver_register() bus_add_driver() priv = kzalloc(...) # OOM happened # return without destroy debugfs directory Fix by removing debugfs when pci_register_driver() returns error. Fixes: 253ac3a97921 ("hinic: add support to query sq info") Signed-off-by: Yuan Can Reviewed-by: Leon Romanovsky Link: https://lore.kernel.org/r/20221110021642.80378-1-yuancan@huawei.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/huawei/hinic/hinic_main.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c index e1f54a2f28b2..2d6906aba2a2 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_main.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_main.c @@ -1474,8 +1474,15 @@ static struct pci_driver hinic_driver = { static int __init hinic_module_init(void) { + int ret; + hinic_dbg_register_debugfs(HINIC_DRV_NAME); - return pci_register_driver(&hinic_driver); + + ret = pci_register_driver(&hinic_driver); + if (ret) + hinic_dbg_unregister_debugfs(); + + return ret; } static void __exit hinic_module_exit(void) -- cgit v1.2.3-59-g8ed1b From e2a54350dc9642e7dfc07335ca355581caa9dbfe Mon Sep 17 00:00:00 2001 From: Michael Sit Wei Hong Date: Thu, 10 Nov 2022 13:49:38 +0800 Subject: net: phy: dp83867: Fix SGMII FIFO depth for non OF devices Current driver code will read device tree node information, and set default values if there is no info provided. This is not done in non-OF devices leading to SGMII fifo depths being set to the smallest size. This patch sets the value to the default value of the PHY as stated in the PHY datasheet. Fixes: 4dc08dcc9f6f ("net: phy: dp83867: introduce critical chip default init for non-of platform") Signed-off-by: Michael Sit Wei Hong Reviewed-by: Andrew Lunn Link: https://lore.kernel.org/r/20221110054938.925347-1-michael.wei.hong.sit@intel.com Signed-off-by: Jakub Kicinski --- drivers/net/phy/dp83867.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c index 417527f8bbf5..7446d5c6c714 100644 --- a/drivers/net/phy/dp83867.c +++ b/drivers/net/phy/dp83867.c @@ -682,6 +682,13 @@ static int dp83867_of_init(struct phy_device *phydev) */ dp83867->io_impedance = DP83867_IO_MUX_CFG_IO_IMPEDANCE_MIN / 2; + /* For non-OF device, the RX and TX FIFO depths are taken from + * default value. So, we init RX & TX FIFO depths here + * so that it is configured correctly later in dp83867_config_init(); + */ + dp83867->tx_fifo_depth = DP83867_PHYCR_FIFO_DEPTH_4_B_NIB; + dp83867->rx_fifo_depth = DP83867_PHYCR_FIFO_DEPTH_4_B_NIB; + return 0; } #endif /* CONFIG_OF_MDIO */ -- cgit v1.2.3-59-g8ed1b From 77711683a50477de39757d67ab1a3638220d6860 Mon Sep 17 00:00:00 2001 From: Mohd Faizal Abdul Rahim Date: Thu, 10 Nov 2022 14:45:52 +0800 Subject: net: stmmac: ensure tx function is not running in stmmac_xdp_release() When stmmac_xdp_release() is called, there is a possibility that tx function is still running on other queues which will lead to tx queue timed out and reset adapter. This commit ensure that tx function is not running xdp before release flow continue to run. Fixes: ac746c8520d9 ("net: stmmac: enhance XDP ZC driver level switching performance") Signed-off-by: Song Yoong Siang Signed-off-by: Mohd Faizal Abdul Rahim Signed-off-by: Noor Azura Ahmad Tarmizi Link: https://lore.kernel.org/r/20221110064552.22504-1-noor.azura.ahmad.tarmizi@linux.intel.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 8273e6a175c8..6b43da78cdf0 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -6548,6 +6548,9 @@ void stmmac_xdp_release(struct net_device *dev) struct stmmac_priv *priv = netdev_priv(dev); u32 chan; + /* Ensure tx function is not running */ + netif_tx_disable(dev); + /* Disable NAPI process */ stmmac_disable_all_queues(priv); -- cgit v1.2.3-59-g8ed1b From 0834ced65a6a1eaa10d0b319b685879a671b29aa Mon Sep 17 00:00:00 2001 From: Yu Liao Date: Thu, 10 Nov 2022 17:03:29 +0800 Subject: net/tls: Fix memory leak in tls_enc_skb() and tls_sw_fallback_init() 'aead_req' and 'aead_send' is allocated but not freed in default switch case. This commit fixes the potential memory leak by freeing them under the situation. Note that the default cases here should never be reached as they'd mean we allowed offloading an unsupported algorithm. Fixes: ea7a9d88ba21 ("net/tls: Use cipher sizes structs") Signed-off-by: Yu Liao Reviewed-by: Gal Pressman Link: https://lore.kernel.org/r/20221110090329.2036382-1-liaoyu15@huawei.com Signed-off-by: Jakub Kicinski --- net/tls/tls_device_fallback.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/tls/tls_device_fallback.c b/net/tls/tls_device_fallback.c index cdb391a8754b..7fbb1d0b69b3 100644 --- a/net/tls/tls_device_fallback.c +++ b/net/tls/tls_device_fallback.c @@ -346,7 +346,7 @@ static struct sk_buff *tls_enc_skb(struct tls_context *tls_ctx, salt = tls_ctx->crypto_send.aes_gcm_256.salt; break; default: - return NULL; + goto free_req; } cipher_sz = &tls_cipher_size_desc[tls_ctx->crypto_send.info.cipher_type]; buf_len = cipher_sz->salt + cipher_sz->iv + TLS_AAD_SPACE_SIZE + @@ -492,7 +492,8 @@ int tls_sw_fallback_init(struct sock *sk, key = ((struct tls12_crypto_info_aes_gcm_256 *)crypto_info)->key; break; default: - return -EINVAL; + rc = -EINVAL; + goto free_aead; } cipher_sz = &tls_cipher_size_desc[crypto_info->cipher_type]; -- cgit v1.2.3-59-g8ed1b From 9cbd48d5fa14e4c65f8580de16686077f7cea02b Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Thu, 10 Nov 2022 13:31:35 +0800 Subject: mctp i2c: don't count unused / invalid keys for flow release We're currently hitting the WARN_ON in mctp_i2c_flow_release: if (midev->release_count > midev->i2c_lock_count) { WARN_ONCE(1, "release count overflow"); This may be hit if we expire a flow before sending the first packet it contains - as we will not be pairing the increment of release_count (performed on flow release) with the i2c lock operation (only performed on actual TX). To fix this, only release a flow if we've encountered it previously (ie, dev_flow_state does not indicate NEW), as we will mark the flow as ACTIVE at the same time as accounting for the i2c lock operation. We also need to add an INVALID flow state, to indicate when we've done the release. Fixes: f5b8abf9fc3d ("mctp i2c: MCTP I2C binding driver") Reported-by: Jian Zhang Tested-by: Jian Zhang Signed-off-by: Jeremy Kerr Link: https://lore.kernel.org/r/20221110053135.329071-1-jk@codeconstruct.com.au Signed-off-by: Jakub Kicinski --- drivers/net/mctp/mctp-i2c.c | 47 ++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/drivers/net/mctp/mctp-i2c.c b/drivers/net/mctp/mctp-i2c.c index 0762c735dd8a..1d67a3ca1fd1 100644 --- a/drivers/net/mctp/mctp-i2c.c +++ b/drivers/net/mctp/mctp-i2c.c @@ -43,6 +43,7 @@ enum { MCTP_I2C_FLOW_STATE_NEW = 0, MCTP_I2C_FLOW_STATE_ACTIVE, + MCTP_I2C_FLOW_STATE_INVALID, }; /* List of all struct mctp_i2c_client @@ -374,12 +375,18 @@ mctp_i2c_get_tx_flow_state(struct mctp_i2c_dev *midev, struct sk_buff *skb) */ if (!key->valid) { state = MCTP_I2C_TX_FLOW_INVALID; - - } else if (key->dev_flow_state == MCTP_I2C_FLOW_STATE_NEW) { - key->dev_flow_state = MCTP_I2C_FLOW_STATE_ACTIVE; - state = MCTP_I2C_TX_FLOW_NEW; } else { - state = MCTP_I2C_TX_FLOW_EXISTING; + switch (key->dev_flow_state) { + case MCTP_I2C_FLOW_STATE_NEW: + key->dev_flow_state = MCTP_I2C_FLOW_STATE_ACTIVE; + state = MCTP_I2C_TX_FLOW_NEW; + break; + case MCTP_I2C_FLOW_STATE_ACTIVE: + state = MCTP_I2C_TX_FLOW_EXISTING; + break; + default: + state = MCTP_I2C_TX_FLOW_INVALID; + } } spin_unlock_irqrestore(&key->lock, flags); @@ -617,21 +624,31 @@ static void mctp_i2c_release_flow(struct mctp_dev *mdev, { struct mctp_i2c_dev *midev = netdev_priv(mdev->dev); + bool queue_release = false; unsigned long flags; spin_lock_irqsave(&midev->lock, flags); - midev->release_count++; - spin_unlock_irqrestore(&midev->lock, flags); - - /* Ensure we have a release operation queued, through the fake - * marker skb + /* if we have seen the flow/key previously, we need to pair the + * original lock with a release */ - spin_lock(&midev->tx_queue.lock); - if (!midev->unlock_marker.next) - __skb_queue_tail(&midev->tx_queue, &midev->unlock_marker); - spin_unlock(&midev->tx_queue.lock); + if (key->dev_flow_state == MCTP_I2C_FLOW_STATE_ACTIVE) { + midev->release_count++; + queue_release = true; + } + key->dev_flow_state = MCTP_I2C_FLOW_STATE_INVALID; + spin_unlock_irqrestore(&midev->lock, flags); - wake_up(&midev->tx_wq); + if (queue_release) { + /* Ensure we have a release operation queued, through the fake + * marker skb + */ + spin_lock(&midev->tx_queue.lock); + if (!midev->unlock_marker.next) + __skb_queue_tail(&midev->tx_queue, + &midev->unlock_marker); + spin_unlock(&midev->tx_queue.lock); + wake_up(&midev->tx_wq); + } } static const struct net_device_ops mctp_i2c_ops = { -- cgit v1.2.3-59-g8ed1b From 9d8e536d36e75e76614fe09ffab9a1df95b8b666 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Sat, 12 Nov 2022 09:47:18 +0100 Subject: ALSA: memalloc: Try dma_alloc_noncontiguous() at first The latest fix for the non-contiguous memalloc helper changed the allocation method for a non-IOMMU system to use only the fallback allocator. This should have worked, but it caused a problem sometimes when too many non-contiguous pages are allocated that can't be treated by HD-audio controller. As a quirk workaround, go back to the original strategy: use dma_alloc_noncontiguous() at first, and apply the fallback only when it fails, but only for non-IOMMU case. We'll need a better fix in the fallback code as well, but this workaround should paper over most cases. Fixes: 9736a325137b ("ALSA: memalloc: Don't fall back for SG-buffer with IOMMU") Reported-by: Linus Torvalds Link: https://lore.kernel.org/r/CAHk-=wgSH5ubdvt76gNwa004ooZAEJL_1Q-Fyw5M2FDdqL==dg@mail.gmail.com Link: https://lore.kernel.org/r/20221112084718.3305-1-tiwai@suse.de Signed-off-by: Takashi Iwai --- sound/core/memalloc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c index 6a81aaab25ab..ba095558b6d1 100644 --- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -542,8 +542,10 @@ static void *snd_dma_noncontig_alloc(struct snd_dma_buffer *dmab, size_t size) struct sg_table *sgt; void *p; + sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir, + DEFAULT_GFP, 0); #ifdef CONFIG_SND_DMA_SGBUF - if (!get_dma_ops(dmab->dev.dev)) { + if (!sgt && !get_dma_ops(dmab->dev.dev)) { if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG) dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK; else @@ -551,9 +553,6 @@ static void *snd_dma_noncontig_alloc(struct snd_dma_buffer *dmab, size_t size) return snd_dma_sg_fallback_alloc(dmab, size); } #endif - - sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir, - DEFAULT_GFP, 0); if (!sgt) return NULL; -- cgit v1.2.3-59-g8ed1b From 094226ad94f471a9f19e8f8e7140a09c2625abaa Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sun, 13 Nov 2022 13:12:55 -0800 Subject: Linux 6.1-rc5 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ac2ec990422d..58cd4f5e1c3a 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ VERSION = 6 PATCHLEVEL = 1 SUBLEVEL = 0 -EXTRAVERSION = -rc4 +EXTRAVERSION = -rc5 NAME = Hurr durr I'ma ninja sloth # *DOCUMENTATION* -- cgit v1.2.3-59-g8ed1b From 8979f428a4afc215e390006e5ea19fd4e22c7ca9 Mon Sep 17 00:00:00 2001 From: Zhengchao Shao Date: Thu, 10 Nov 2022 18:30:37 +0800 Subject: net: liquidio: release resources when liquidio driver open failed When liquidio driver open failed, it doesn't release resources. Compile tested only. Fixes: 5b07aee11227 ("liquidio: MSIX support for CN23XX") Fixes: dbc97bfd3918 ("net: liquidio: Add missing null pointer checks") Signed-off-by: Zhengchao Shao Reviewed-by: Leon Romanovsky Signed-off-by: David S. Miller --- drivers/net/ethernet/cavium/liquidio/lio_main.c | 34 +++++++++++++++++++------ 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c index d312bd594935..75771825c3f9 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c @@ -1794,13 +1794,10 @@ static int liquidio_open(struct net_device *netdev) ifstate_set(lio, LIO_IFSTATE_RUNNING); - if (OCTEON_CN23XX_PF(oct)) { - if (!oct->msix_on) - if (setup_tx_poll_fn(netdev)) - return -1; - } else { - if (setup_tx_poll_fn(netdev)) - return -1; + if (!OCTEON_CN23XX_PF(oct) || (OCTEON_CN23XX_PF(oct) && !oct->msix_on)) { + ret = setup_tx_poll_fn(netdev); + if (ret) + goto err_poll; } netif_tx_start_all_queues(netdev); @@ -1813,7 +1810,7 @@ static int liquidio_open(struct net_device *netdev) /* tell Octeon to start forwarding packets to host */ ret = send_rx_ctrl_cmd(lio, 1); if (ret) - return ret; + goto err_rx_ctrl; /* start periodical statistics fetch */ INIT_DELAYED_WORK(&lio->stats_wk.work, lio_fetch_stats); @@ -1824,6 +1821,27 @@ static int liquidio_open(struct net_device *netdev) dev_info(&oct->pci_dev->dev, "%s interface is opened\n", netdev->name); + return 0; + +err_rx_ctrl: + if (!OCTEON_CN23XX_PF(oct) || (OCTEON_CN23XX_PF(oct) && !oct->msix_on)) + cleanup_tx_poll_fn(netdev); +err_poll: + if (lio->ptp_clock) { + ptp_clock_unregister(lio->ptp_clock); + lio->ptp_clock = NULL; + } + + if (oct->props[lio->ifidx].napi_enabled == 1) { + list_for_each_entry_safe(napi, n, &netdev->napi_list, dev_list) + napi_disable(napi); + + oct->props[lio->ifidx].napi_enabled = 0; + + if (OCTEON_CN23XX_PF(oct)) + oct->droq[0]->ops.poll_mode = 0; + } + return ret; } -- cgit v1.2.3-59-g8ed1b From 2d25107e111a85c56f601a5470f1780ec054e6ac Mon Sep 17 00:00:00 2001 From: Wang ShaoBo Date: Thu, 10 Nov 2022 19:38:23 +0800 Subject: mISDN: fix misuse of put_device() in mISDN_register_device() We should not release reference by put_device() before calling device_initialize(). Fixes: e7d1d4d9ac0d ("mISDN: fix possible memory leak in mISDN_register_device()") Signed-off-by: Wang ShaoBo Signed-off-by: David S. Miller --- drivers/isdn/mISDN/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/isdn/mISDN/core.c b/drivers/isdn/mISDN/core.c index 7ea0100f218a..90ee56d07a6e 100644 --- a/drivers/isdn/mISDN/core.c +++ b/drivers/isdn/mISDN/core.c @@ -222,7 +222,7 @@ mISDN_register_device(struct mISDNdevice *dev, err = get_free_devid(); if (err < 0) - goto error1; + return err; dev->id = err; device_initialize(&dev->dev); -- cgit v1.2.3-59-g8ed1b From 5df1341ea822292275c56744aab9c536d75c33be Mon Sep 17 00:00:00 2001 From: Chuang Wang Date: Fri, 11 Nov 2022 09:41:30 +0800 Subject: net: macvlan: Use built-in RCU list checking hlist_for_each_entry_rcu() has built-in RCU and lock checking. Pass cond argument to hlist_for_each_entry_rcu() to silence false lockdep warning when CONFIG_PROVE_RCU_LIST is enabled. Execute as follow: ip link add link eth0 type macvlan mode source macaddr add The rtnl_lock is held when macvlan_hash_lookup_source() or macvlan_fill_info_macaddr() are called in the non-RCU read side section. So, pass lockdep_rtnl_is_held() to silence false lockdep warning. Fixes: 79cf79abce71 ("macvlan: add source mode") Signed-off-by: Chuang Wang Signed-off-by: David S. Miller --- drivers/net/macvlan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 578897aaada0..b8cc55b2d721 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -141,7 +141,7 @@ static struct macvlan_source_entry *macvlan_hash_lookup_source( u32 idx = macvlan_eth_hash(addr); struct hlist_head *h = &vlan->port->vlan_source_hash[idx]; - hlist_for_each_entry_rcu(entry, h, hlist) { + hlist_for_each_entry_rcu(entry, h, hlist, lockdep_rtnl_is_held()) { if (ether_addr_equal_64bits(entry->addr, addr) && entry->vlan == vlan) return entry; @@ -1647,7 +1647,7 @@ static int macvlan_fill_info_macaddr(struct sk_buff *skb, struct hlist_head *h = &vlan->port->vlan_source_hash[i]; struct macvlan_source_entry *entry; - hlist_for_each_entry_rcu(entry, h, hlist) { + hlist_for_each_entry_rcu(entry, h, hlist, lockdep_rtnl_is_held()) { if (entry->vlan != vlan) continue; if (nla_put(skb, IFLA_MACVLAN_MACADDR, ETH_ALEN, entry->addr)) -- cgit v1.2.3-59-g8ed1b From 8fbb53c8bfd8c56ecf1f78dc821778b58f505503 Mon Sep 17 00:00:00 2001 From: Zhengchao Shao Date: Fri, 11 Nov 2022 09:47:34 +0800 Subject: net: caif: fix double disconnect client in chnl_net_open() When connecting to client timeout, disconnect client for twice in chnl_net_open(). Remove one. Compile tested only. Fixes: 2aa40aef9deb ("caif: Use link layer MTU instead of fixed MTU") Signed-off-by: Zhengchao Shao Signed-off-by: David S. Miller --- net/caif/chnl_net.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/net/caif/chnl_net.c b/net/caif/chnl_net.c index 4d63ef13a1fd..f35fc87c453a 100644 --- a/net/caif/chnl_net.c +++ b/net/caif/chnl_net.c @@ -310,9 +310,6 @@ static int chnl_net_open(struct net_device *dev) if (result == 0) { pr_debug("connect timeout\n"); - caif_disconnect_client(dev_net(dev), &priv->chnl); - priv->state = CAIF_DISCONNECTED; - pr_debug("state disconnected\n"); result = -ETIMEDOUT; goto error; } -- cgit v1.2.3-59-g8ed1b From 991aef4ee4f6eb999924f429b943441a32835c8f Mon Sep 17 00:00:00 2001 From: Gaosheng Cui Date: Fri, 11 Nov 2022 15:04:33 +0800 Subject: bnxt_en: Remove debugfs when pci_register_driver failed When pci_register_driver failed, we need to remove debugfs, which will caused a resource leak, fix it. Resource leak logs as follows: [ 52.184456] debugfs: Directory 'bnxt_en' with parent '/' already present! Fixes: cabfb09d87bd ("bnxt_en: add debugfs support for DIM") Signed-off-by: Gaosheng Cui Reviewed-by: Leon Romanovsky Reviewed-by: Michael Chan Signed-off-by: David S. Miller --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index c78b6e9dea2c..9f8a6ce4b356 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -14037,8 +14037,16 @@ static struct pci_driver bnxt_pci_driver = { static int __init bnxt_init(void) { + int err; + bnxt_debug_init(); - return pci_register_driver(&bnxt_pci_driver); + err = pci_register_driver(&bnxt_pci_driver); + if (err) { + bnxt_debug_exit(); + return err; + } + + return 0; } static void __exit bnxt_exit(void) -- cgit v1.2.3-59-g8ed1b From 298b83e180d53a310f9b47e3bf13b7b583e75e9c Mon Sep 17 00:00:00 2001 From: Ziyang Xuan Date: Fri, 11 Nov 2022 15:08:27 +0800 Subject: octeon_ep: delete unnecessary napi rollback under set_queues_err in octep_open() octep_napi_add() and octep_napi_enable() are all after netif_set_real_num_{tx,rx}_queues() in octep_open(), so it is unnecessary napi rollback under set_queues_err. Delete them to fix it. Fixes: 37d79d059606 ("octeon_ep: add Tx/Rx processing and interrupt support") Signed-off-by: Ziyang Xuan Signed-off-by: David S. Miller --- drivers/net/ethernet/marvell/octeon_ep/octep_main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c index 9089adcb75f9..7985a748fafe 100644 --- a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c +++ b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c @@ -527,8 +527,6 @@ static int octep_open(struct net_device *netdev) return 0; set_queues_err: - octep_napi_disable(oct); - octep_napi_delete(oct); octep_clean_irqs(oct); setup_irq_err: octep_free_oqs(oct); -- cgit v1.2.3-59-g8ed1b From 9d3ff7131877fb092185c369fbb14b57ac4e7cec Mon Sep 17 00:00:00 2001 From: Ziyang Xuan Date: Fri, 11 Nov 2022 15:08:47 +0800 Subject: octeon_ep: ensure octep_get_link_status() successfully before octep_link_up() octep_get_link_status() can fail because send mbox message failed, then octep_get_link_status() will return ret less than 0. Excute octep_link_up() as long as ret is not equal to 0 in octep_open() now. That is not correct. The value type of link.state is enum octep_ctrl_net_state. Positive value represents up. Excute octep_link_up() when ret is bigger than 0. Fixes: 862cd659a6fb ("octeon_ep: Add driver framework and device initialization") Signed-off-by: Ziyang Xuan Signed-off-by: David S. Miller --- drivers/net/ethernet/marvell/octeon_ep/octep_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c index 7985a748fafe..546bcebf4462 100644 --- a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c +++ b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c @@ -521,7 +521,7 @@ static int octep_open(struct net_device *netdev) octep_oq_dbell_init(oct); ret = octep_get_link_status(oct); - if (ret) + if (ret > 0) octep_link_up(netdev); return 0; -- cgit v1.2.3-59-g8ed1b From e4041be97b15302ebfffda8bbd45f3b2d096048f Mon Sep 17 00:00:00 2001 From: Ziyang Xuan Date: Fri, 11 Nov 2022 15:09:23 +0800 Subject: octeon_ep: fix potential memory leak in octep_device_setup() When occur unsupported_dev and mbox init errors, it did not free oct->conf and iounmap() oct->mmio[i].hw_addr. That would trigger memory leak problem. Add kfree() for oct->conf and iounmap() for oct->mmio[i].hw_addr under unsupported_dev and mbox init errors to fix the problem. Fixes: 862cd659a6fb ("octeon_ep: Add driver framework and device initialization") Signed-off-by: Ziyang Xuan Signed-off-by: David S. Miller --- drivers/net/ethernet/marvell/octeon_ep/octep_main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c index 546bcebf4462..53f288c32238 100644 --- a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c +++ b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c @@ -956,7 +956,7 @@ int octep_device_setup(struct octep_device *oct) ret = octep_ctrl_mbox_init(ctrl_mbox); if (ret) { dev_err(&pdev->dev, "Failed to initialize control mbox\n"); - return -1; + goto unsupported_dev; } oct->ctrl_mbox_ifstats_offset = OCTEP_CTRL_MBOX_SZ(ctrl_mbox->h2fq.elem_sz, ctrl_mbox->h2fq.elem_cnt, @@ -966,6 +966,10 @@ int octep_device_setup(struct octep_device *oct) return 0; unsupported_dev: + for (i = 0; i < OCTEP_MMIO_REGIONS; i++) + iounmap(oct->mmio[i].hw_addr); + + kfree(oct->conf); return -1; } -- cgit v1.2.3-59-g8ed1b From 848ffce2f0c93f3481052340a919123a21f808b6 Mon Sep 17 00:00:00 2001 From: Ziyang Xuan Date: Fri, 11 Nov 2022 15:09:35 +0800 Subject: octeon_ep: ensure get mac address successfully before eth_hw_addr_set() octep_get_mac_addr() can fail because send mbox message failed. If this happens, octep_dev->mac_addr will be zero. It should not continue to initialize. Add exception handling for octep_get_mac_addr() to fix it. Fixes: 862cd659a6fb ("octeon_ep: Add driver framework and device initialization") Signed-off-by: Ziyang Xuan Signed-off-by: David S. Miller --- drivers/net/ethernet/marvell/octeon_ep/octep_main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c index 53f288c32238..b45dd7f04e21 100644 --- a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c +++ b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c @@ -1072,7 +1072,11 @@ static int octep_probe(struct pci_dev *pdev, const struct pci_device_id *ent) netdev->max_mtu = OCTEP_MAX_MTU; netdev->mtu = OCTEP_DEFAULT_MTU; - octep_get_mac_addr(octep_dev, octep_dev->mac_addr); + err = octep_get_mac_addr(octep_dev, octep_dev->mac_addr); + if (err) { + dev_err(&pdev->dev, "Failed to get mac address\n"); + goto register_dev_err; + } eth_hw_addr_set(netdev, octep_dev->mac_addr); err = register_netdev(netdev); -- cgit v1.2.3-59-g8ed1b From f7c125bd79f50ec6094761090be81d02726ec6f4 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Fri, 11 Nov 2022 09:20:44 +0000 Subject: net: mhi: Fix memory leak in mhi_net_dellink() MHI driver registers network device without setting the needs_free_netdev flag, and does NOT call free_netdev() when unregisters network device, which causes a memory leak. This patch calls free_netdev() to fix it since netdev_priv is used after unregister. Fixes: 13adac032982 ("net: mhi_net: Register wwan_ops for link creation") Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller --- drivers/net/mhi_net.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mhi_net.c b/drivers/net/mhi_net.c index 0b1b6f650104..0b9d37979133 100644 --- a/drivers/net/mhi_net.c +++ b/drivers/net/mhi_net.c @@ -343,6 +343,8 @@ static void mhi_net_dellink(struct mhi_device *mhi_dev, struct net_device *ndev) kfree_skb(mhi_netdev->skbagg_head); + free_netdev(ndev); + dev_set_drvdata(&mhi_dev->dev, NULL); } -- cgit v1.2.3-59-g8ed1b From ed1fe1bebe18884b11e5536b5ac42e3a48960835 Mon Sep 17 00:00:00 2001 From: Vladimir Oltean Date: Fri, 11 Nov 2022 23:10:20 +0200 Subject: net: dsa: make dsa_master_ioctl() see through port_hwtstamp_get() shims MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There are multi-generational drivers like mv88e6xxx which have code like this: int mv88e6xxx_port_hwtstamp_get(struct dsa_switch *ds, int port, struct ifreq *ifr) { if (!chip->info->ptp_support) return -EOPNOTSUPP; ... } DSA wants to deny PTP timestamping on the master if the switch supports timestamping too. However it currently relies on the presence of the port_hwtstamp_get() callback to determine PTP capability, and this clearly does not work in that case (method is present but returns -EOPNOTSUPP). We should not deny PTP on the DSA master for those switches which truly do not support hardware timestamping. Create a dsa_port_supports_hwtstamp() method which actually probes for support by calling port_hwtstamp_get() and seeing whether that returned -EOPNOTSUPP or not. Fixes: f685e609a301 ("net: dsa: Deny PTP on master if switch supports it") Link: https://patchwork.kernel.org/project/netdevbpf/patch/20221110124345.3901389-1-festevam@gmail.com/ Reported-by: Fabio Estevam Reported-by: Steffen Bätz Signed-off-by: Vladimir Oltean Tested-by: Fabio Estevam Signed-off-by: David S. Miller --- net/dsa/dsa_priv.h | 1 + net/dsa/master.c | 3 +-- net/dsa/port.c | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index 6e65c7ffd6f3..71e9707d11d4 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -210,6 +210,7 @@ static inline struct net_device *dsa_master_find_slave(struct net_device *dev, extern struct rtnl_link_ops dsa_link_ops __read_mostly; /* port.c */ +bool dsa_port_supports_hwtstamp(struct dsa_port *dp, struct ifreq *ifr); void dsa_port_set_tag_protocol(struct dsa_port *cpu_dp, const struct dsa_device_ops *tag_ops); int dsa_port_set_state(struct dsa_port *dp, u8 state, bool do_fast_age); diff --git a/net/dsa/master.c b/net/dsa/master.c index 40367ab41cf8..421de166515f 100644 --- a/net/dsa/master.c +++ b/net/dsa/master.c @@ -204,8 +204,7 @@ static int dsa_master_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) * switch in the tree that is PTP capable. */ list_for_each_entry(dp, &dst->ports, list) - if (dp->ds->ops->port_hwtstamp_get || - dp->ds->ops->port_hwtstamp_set) + if (dsa_port_supports_hwtstamp(dp, ifr)) return -EBUSY; break; } diff --git a/net/dsa/port.c b/net/dsa/port.c index 208168276995..750fe68d9b2a 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -110,6 +110,22 @@ static bool dsa_port_can_configure_learning(struct dsa_port *dp) return !err; } +bool dsa_port_supports_hwtstamp(struct dsa_port *dp, struct ifreq *ifr) +{ + struct dsa_switch *ds = dp->ds; + int err; + + if (!ds->ops->port_hwtstamp_get || !ds->ops->port_hwtstamp_set) + return false; + + /* "See through" shim implementations of the "get" method. + * This will clobber the ifreq structure, but we will either return an + * error, or the master will overwrite it with proper values. + */ + err = ds->ops->port_hwtstamp_get(ds, dp->index, ifr); + return err != -EOPNOTSUPP; +} + int dsa_port_set_state(struct dsa_port *dp, u8 state, bool do_fast_age) { struct dsa_switch *ds = dp->ds; -- cgit v1.2.3-59-g8ed1b From 639b2e2ff1e850eb4e8853b4dc233875108eec4b Mon Sep 17 00:00:00 2001 From: Christophe JAILLET Date: Tue, 1 Nov 2022 22:14:16 +0100 Subject: x86/xen: Use kstrtobool() instead of strtobool() strtobool() is the same as kstrtobool(). However, the latter is more used within the kernel. In order to remove strtobool() and slightly simplify kstrtox.h, switch to the other function name. While at it, include the corresponding header file () Signed-off-by: Christophe JAILLET Reviewed-by: Boris Ostrovsky Link: https://lore.kernel.org/r/e91af3c8708af38b1c57e0a2d7eb9765dda0e963.1667336095.git.christophe.jaillet@wanadoo.fr Signed-off-by: Juergen Gross --- arch/x86/xen/enlighten_pv.c | 3 ++- arch/x86/xen/setup.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index 0ad3d4bf52b3..34b05ee1523f 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -113,7 +114,7 @@ static __read_mostly bool xen_msr_safe = IS_ENABLED(CONFIG_XEN_PV_MSR_SAFE); static int __init parse_xen_msr_safe(char *str) { if (str) - return strtobool(str, &xen_msr_safe); + return kstrtobool(str, &xen_msr_safe); return -EINVAL; } early_param("xen_msr_safe", parse_xen_msr_safe); diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index 4f4309500559..8db26f10fb1d 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -85,7 +86,7 @@ static void __init xen_parse_512gb(void) arg = strstr(xen_start_info->cmd_line, "xen_512gb_limit="); if (!arg) val = true; - else if (strtobool(arg + strlen("xen_512gb_limit="), &val)) + else if (kstrtobool(arg + strlen("xen_512gb_limit="), &val)) return; xen_512gb_limit = val; -- cgit v1.2.3-59-g8ed1b From da36a2a76b01b210ffaa55cdc2c99bc8783697c5 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Thu, 10 Nov 2022 23:24:41 +0800 Subject: xen/pcpu: fix possible memory leak in register_pcpu() In device_add(), dev_set_name() is called to allocate name, if it returns error, the name need be freed. As comment of device_register() says, it should use put_device() to give up the reference in the error path. So fix this by calling put_device(), then the name can be freed in kobject_cleanup(). Fixes: f65c9bb3fb72 ("xen/pcpu: Xen physical cpus online/offline sys interface") Signed-off-by: Yang Yingliang Reviewed-by: Juergen Gross Link: https://lore.kernel.org/r/20221110152441.401630-1-yangyingliang@huawei.com Signed-off-by: Juergen Gross --- drivers/xen/pcpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c index 47aa3a1ccaf5..fd3a644b0855 100644 --- a/drivers/xen/pcpu.c +++ b/drivers/xen/pcpu.c @@ -228,7 +228,7 @@ static int register_pcpu(struct pcpu *pcpu) err = device_register(dev); if (err) { - pcpu_release(dev); + put_device(dev); return err; } -- cgit v1.2.3-59-g8ed1b From 5e29500eba2aa19e1323df46f64dafcd4a327092 Mon Sep 17 00:00:00 2001 From: Marek Marczykowski-Górecki Date: Mon, 14 Nov 2022 11:31:08 +0100 Subject: xen-pciback: Allow setting PCI_MSIX_FLAGS_MASKALL too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When Xen domain configures MSI-X, the usual approach is to enable MSI-X together with masking all of them via the config space, then fill the table and only then clear PCI_MSIX_FLAGS_MASKALL. Allow doing this via QEMU running in a stub domain. Previously, when changing PCI_MSIX_FLAGS_MASKALL was not allowed, the whole write was aborted, preventing change to the PCI_MSIX_FLAGS_ENABLE bit too. Note the Xen hypervisor intercepts this write anyway, and may keep the PCI_MSIX_FLAGS_MASKALL bit set if it wishes to. It will store the guest-requested state and will apply it eventually. Signed-off-by: Marek Marczykowski-Górecki Reviewed-by: Jan Beulich Link: https://lore.kernel.org/r/20221114103110.1519413-1-marmarek@invisiblethingslab.com Signed-off-by: Juergen Gross --- drivers/xen/xen-pciback/conf_space_capability.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/xen/xen-pciback/conf_space_capability.c b/drivers/xen/xen-pciback/conf_space_capability.c index 5e53b4817f16..097316a74126 100644 --- a/drivers/xen/xen-pciback/conf_space_capability.c +++ b/drivers/xen/xen-pciback/conf_space_capability.c @@ -190,13 +190,16 @@ static const struct config_field caplist_pm[] = { }; static struct msi_msix_field_config { - u16 enable_bit; /* bit for enabling MSI/MSI-X */ - unsigned int int_type; /* interrupt type for exclusiveness check */ + u16 enable_bit; /* bit for enabling MSI/MSI-X */ + u16 allowed_bits; /* bits allowed to be changed */ + unsigned int int_type; /* interrupt type for exclusiveness check */ } msi_field_config = { .enable_bit = PCI_MSI_FLAGS_ENABLE, + .allowed_bits = PCI_MSI_FLAGS_ENABLE, .int_type = INTERRUPT_TYPE_MSI, }, msix_field_config = { .enable_bit = PCI_MSIX_FLAGS_ENABLE, + .allowed_bits = PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL, .int_type = INTERRUPT_TYPE_MSIX, }; @@ -229,7 +232,7 @@ static int msi_msix_flags_write(struct pci_dev *dev, int offset, u16 new_value, return 0; if (!dev_data->allow_interrupt_control || - (new_value ^ old_value) & ~field_config->enable_bit) + (new_value ^ old_value) & ~field_config->allowed_bits) return PCIBIOS_SET_FAILED; if (new_value & field_config->enable_bit) { -- cgit v1.2.3-59-g8ed1b From c53717e1e3f0d0f9129b2e0dbc6dcc5e0a8132e9 Mon Sep 17 00:00:00 2001 From: ruanjinjie Date: Mon, 14 Nov 2022 19:21:24 +0800 Subject: xen/platform-pci: add missing free_irq() in error path free_irq() is missing in case of error in platform_pci_probe(), fix that. Signed-off-by: ruanjinjie Reviewed-by: Oleksandr Tyshchenko Link: https://lore.kernel.org/r/20221114112124.1965611-1-ruanjinjie@huawei.com Signed-off-by: Juergen Gross --- drivers/xen/platform-pci.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c index 18f0ed8b1f93..6ebd819338ec 100644 --- a/drivers/xen/platform-pci.c +++ b/drivers/xen/platform-pci.c @@ -144,7 +144,7 @@ static int platform_pci_probe(struct pci_dev *pdev, if (ret) { dev_warn(&pdev->dev, "Unable to set the evtchn callback " "err=%d\n", ret); - goto out; + goto irq_out; } } @@ -152,13 +152,16 @@ static int platform_pci_probe(struct pci_dev *pdev, grant_frames = alloc_xen_mmio(PAGE_SIZE * max_nr_gframes); ret = gnttab_setup_auto_xlat_frames(grant_frames); if (ret) - goto out; + goto irq_out; ret = gnttab_init(); if (ret) goto grant_out; return 0; grant_out: gnttab_free_auto_xlat_frames(); +irq_out: + if (!xen_have_vector_callback) + free_irq(pdev->irq, pdev); out: pci_release_region(pdev, 0); mem_out: -- cgit v1.2.3-59-g8ed1b From e1ff91f9d2303cd4e706cc908bfca21cd17b9927 Mon Sep 17 00:00:00 2001 From: AngeloGioacchino Del Regno Date: Fri, 11 Nov 2022 10:41:06 +0100 Subject: pinctrl: mediatek: Fix EINT pins input debounce time configuration The External Interrupt Controller (EINTC) on all of the supported MediaTek SoCs does support input debouncing, but not all of them index the debounce time values (DBNC_SETTING registers) the same way. Before this change, in some cases, as an example, requesting a debounce time of 16 milliseconds would mistakenly set the relative DBNC_SETTING register to 0x2, resulting in a way shorter debounce time of 500uS. To fix the aforementioned issue, define three different debounce_time arrays, reflecting the correct register index for each value and for each register index variant, and make sure that each SoC pinctrl driver uses the right one. Signed-off-by: AngeloGioacchino Del Regno Link: https://lore.kernel.org/r/20221111094106.18486-1-angelogioacchino.delregno@collabora.com Signed-off-by: Linus Walleij --- drivers/pinctrl/mediatek/mtk-eint.c | 31 ++++++++++++++++++++++++++----- drivers/pinctrl/mediatek/mtk-eint.h | 6 ++++++ drivers/pinctrl/mediatek/pinctrl-mt2701.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt2712.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt6765.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt6779.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt6795.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt7622.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt7623.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt7629.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt7986.c | 2 ++ drivers/pinctrl/mediatek/pinctrl-mt8127.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8135.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8167.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8173.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8183.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8186.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8188.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8192.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8195.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8365.c | 1 + drivers/pinctrl/mediatek/pinctrl-mt8516.c | 1 + 22 files changed, 53 insertions(+), 5 deletions(-) diff --git a/drivers/pinctrl/mediatek/mtk-eint.c b/drivers/pinctrl/mediatek/mtk-eint.c index f7b54a551764..e94ee802c603 100644 --- a/drivers/pinctrl/mediatek/mtk-eint.c +++ b/drivers/pinctrl/mediatek/mtk-eint.c @@ -24,6 +24,7 @@ #define MTK_EINT_EDGE_SENSITIVE 0 #define MTK_EINT_LEVEL_SENSITIVE 1 #define MTK_EINT_DBNC_SET_DBNC_BITS 4 +#define MTK_EINT_DBNC_MAX 16 #define MTK_EINT_DBNC_RST_BIT (0x1 << 1) #define MTK_EINT_DBNC_SET_EN (0x1 << 0) @@ -48,6 +49,18 @@ static const struct mtk_eint_regs mtk_generic_eint_regs = { .dbnc_clr = 0x700, }; +const unsigned int debounce_time_mt2701[] = { + 500, 1000, 16000, 32000, 64000, 128000, 256000, 0 +}; + +const unsigned int debounce_time_mt6765[] = { + 125, 250, 500, 1000, 16000, 32000, 64000, 128000, 256000, 512000, 0 +}; + +const unsigned int debounce_time_mt6795[] = { + 500, 1000, 16000, 32000, 64000, 128000, 256000, 512000, 0 +}; + static void __iomem *mtk_eint_get_offset(struct mtk_eint *eint, unsigned int eint_num, unsigned int offset) @@ -404,10 +417,11 @@ int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num, int virq, eint_offset; unsigned int set_offset, bit, clr_bit, clr_offset, rst, i, unmask, dbnc; - static const unsigned int debounce_time[] = {500, 1000, 16000, 32000, - 64000, 128000, 256000}; struct irq_data *d; + if (!eint->hw->db_time) + return -EOPNOTSUPP; + virq = irq_find_mapping(eint->domain, eint_num); eint_offset = (eint_num % 4) * 8; d = irq_get_irq_data(virq); @@ -418,9 +432,9 @@ int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num, if (!mtk_eint_can_en_debounce(eint, eint_num)) return -EINVAL; - dbnc = ARRAY_SIZE(debounce_time); - for (i = 0; i < ARRAY_SIZE(debounce_time); i++) { - if (debounce <= debounce_time[i]) { + dbnc = eint->num_db_time; + for (i = 0; i < eint->num_db_time; i++) { + if (debounce <= eint->hw->db_time[i]) { dbnc = i; break; } @@ -494,6 +508,13 @@ int mtk_eint_do_init(struct mtk_eint *eint) if (!eint->domain) return -ENOMEM; + if (eint->hw->db_time) { + for (i = 0; i < MTK_EINT_DBNC_MAX; i++) + if (eint->hw->db_time[i] == 0) + break; + eint->num_db_time = i; + } + mtk_eint_hw_init(eint); for (i = 0; i < eint->hw->ap_num; i++) { int virq = irq_create_mapping(eint->domain, i); diff --git a/drivers/pinctrl/mediatek/mtk-eint.h b/drivers/pinctrl/mediatek/mtk-eint.h index 48468d0fae68..6139b16cd225 100644 --- a/drivers/pinctrl/mediatek/mtk-eint.h +++ b/drivers/pinctrl/mediatek/mtk-eint.h @@ -37,8 +37,13 @@ struct mtk_eint_hw { u8 ports; unsigned int ap_num; unsigned int db_cnt; + const unsigned int *db_time; }; +extern const unsigned int debounce_time_mt2701[]; +extern const unsigned int debounce_time_mt6765[]; +extern const unsigned int debounce_time_mt6795[]; + struct mtk_eint; struct mtk_eint_xt { @@ -62,6 +67,7 @@ struct mtk_eint { /* Used to fit into various EINT device */ const struct mtk_eint_hw *hw; const struct mtk_eint_regs *regs; + u16 num_db_time; /* Used to fit into various pinctrl device */ void *pctl; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt2701.c b/drivers/pinctrl/mediatek/pinctrl-mt2701.c index d1583b4fdd9d..b185538452a0 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt2701.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt2701.c @@ -518,6 +518,7 @@ static const struct mtk_pinctrl_devdata mt2701_pinctrl_data = { .ports = 6, .ap_num = 169, .db_cnt = 16, + .db_time = debounce_time_mt2701, }, }; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt2712.c b/drivers/pinctrl/mediatek/pinctrl-mt2712.c index b921068f9e69..730a496848dc 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt2712.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt2712.c @@ -567,6 +567,7 @@ static const struct mtk_pinctrl_devdata mt2712_pinctrl_data = { .ports = 8, .ap_num = 229, .db_cnt = 40, + .db_time = debounce_time_mt2701, }, }; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6765.c b/drivers/pinctrl/mediatek/pinctrl-mt6765.c index c57b19fcda03..f6ec41eb6e0c 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6765.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6765.c @@ -1062,6 +1062,7 @@ static const struct mtk_eint_hw mt6765_eint_hw = { .ports = 6, .ap_num = 160, .db_cnt = 13, + .db_time = debounce_time_mt6765, }; static const struct mtk_pin_soc mt6765_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6779.c b/drivers/pinctrl/mediatek/pinctrl-mt6779.c index 4ddf8bda6827..62d4f5ad6737 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6779.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6779.c @@ -737,6 +737,7 @@ static const struct mtk_eint_hw mt6779_eint_hw = { .ports = 6, .ap_num = 195, .db_cnt = 13, + .db_time = debounce_time_mt2701, }; static const struct mtk_pin_soc mt6779_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6795.c b/drivers/pinctrl/mediatek/pinctrl-mt6795.c index f90152261a0f..01e855ccd4dd 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6795.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6795.c @@ -475,6 +475,7 @@ static const struct mtk_eint_hw mt6795_eint_hw = { .ports = 7, .ap_num = 224, .db_cnt = 32, + .db_time = debounce_time_mt6795, }; static const unsigned int mt6795_pull_type[] = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7622.c b/drivers/pinctrl/mediatek/pinctrl-mt7622.c index 68eee881ee3d..3c1148d59eff 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt7622.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt7622.c @@ -846,6 +846,7 @@ static const struct mtk_eint_hw mt7622_eint_hw = { .ports = 7, .ap_num = ARRAY_SIZE(mt7622_pins), .db_cnt = 20, + .db_time = debounce_time_mt6765, }; static const struct mtk_pin_soc mt7622_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7623.c b/drivers/pinctrl/mediatek/pinctrl-mt7623.c index b8d9d31db74f..699977074697 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt7623.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt7623.c @@ -1369,6 +1369,7 @@ static const struct mtk_eint_hw mt7623_eint_hw = { .ports = 6, .ap_num = 169, .db_cnt = 20, + .db_time = debounce_time_mt2701, }; static struct mtk_pin_soc mt7623_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7629.c b/drivers/pinctrl/mediatek/pinctrl-mt7629.c index b5f0fa43245f..2ce411cb9c6e 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt7629.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt7629.c @@ -402,6 +402,7 @@ static const struct mtk_eint_hw mt7629_eint_hw = { .ports = 7, .ap_num = ARRAY_SIZE(mt7629_pins), .db_cnt = 16, + .db_time = debounce_time_mt2701, }; static struct mtk_pin_soc mt7629_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7986.c b/drivers/pinctrl/mediatek/pinctrl-mt7986.c index f26869f1a367..50cb736f9f11 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt7986.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt7986.c @@ -826,6 +826,7 @@ static const struct mtk_eint_hw mt7986a_eint_hw = { .ports = 7, .ap_num = ARRAY_SIZE(mt7986a_pins), .db_cnt = 16, + .db_time = debounce_time_mt6765, }; static const struct mtk_eint_hw mt7986b_eint_hw = { @@ -833,6 +834,7 @@ static const struct mtk_eint_hw mt7986b_eint_hw = { .ports = 7, .ap_num = ARRAY_SIZE(mt7986b_pins), .db_cnt = 16, + .db_time = debounce_time_mt6765, }; static struct mtk_pin_soc mt7986a_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8127.c b/drivers/pinctrl/mediatek/pinctrl-mt8127.c index 91c530e7b00e..e8772dcfe69e 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8127.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8127.c @@ -286,6 +286,7 @@ static const struct mtk_pinctrl_devdata mt8127_pinctrl_data = { .ports = 6, .ap_num = 143, .db_cnt = 16, + .db_time = debounce_time_mt2701, }, }; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8135.c b/drivers/pinctrl/mediatek/pinctrl-mt8135.c index 562846756517..cdb0252071fb 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8135.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8135.c @@ -315,6 +315,7 @@ static const struct mtk_pinctrl_devdata mt8135_pinctrl_data = { .ports = 6, .ap_num = 192, .db_cnt = 16, + .db_time = debounce_time_mt2701, }, }; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8167.c b/drivers/pinctrl/mediatek/pinctrl-mt8167.c index 825167f5d020..866da2c4a890 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8167.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8167.c @@ -319,6 +319,7 @@ static const struct mtk_pinctrl_devdata mt8167_pinctrl_data = { .ports = 6, .ap_num = 169, .db_cnt = 64, + .db_time = debounce_time_mt6795, }, }; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8173.c b/drivers/pinctrl/mediatek/pinctrl-mt8173.c index 1d7d11a32e7d..37d8cec1c3ce 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8173.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8173.c @@ -327,6 +327,7 @@ static const struct mtk_pinctrl_devdata mt8173_pinctrl_data = { .ports = 6, .ap_num = 224, .db_cnt = 16, + .db_time = debounce_time_mt2701, }, }; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8183.c b/drivers/pinctrl/mediatek/pinctrl-mt8183.c index fecb1e64fff4..ddc48b725c22 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8183.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8183.c @@ -545,6 +545,7 @@ static const struct mtk_eint_hw mt8183_eint_hw = { .ports = 6, .ap_num = 212, .db_cnt = 13, + .db_time = debounce_time_mt6765, }; static const struct mtk_pin_soc mt8183_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8186.c b/drivers/pinctrl/mediatek/pinctrl-mt8186.c index a4dd5197abc1..a02f7c326970 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8186.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8186.c @@ -1222,6 +1222,7 @@ static const struct mtk_eint_hw mt8186_eint_hw = { .ports = 7, .ap_num = 217, .db_cnt = 32, + .db_time = debounce_time_mt6765, }; static const struct mtk_pin_soc mt8186_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8188.c b/drivers/pinctrl/mediatek/pinctrl-mt8188.c index d0e75c1b4417..6a3d0126288e 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8188.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8188.c @@ -1625,6 +1625,7 @@ static const struct mtk_eint_hw mt8188_eint_hw = { .ports = 7, .ap_num = 225, .db_cnt = 32, + .db_time = debounce_time_mt6765, }; static const struct mtk_pin_soc mt8188_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8192.c b/drivers/pinctrl/mediatek/pinctrl-mt8192.c index 78c02b7c81f0..9695f4ec6aba 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8192.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8192.c @@ -1371,6 +1371,7 @@ static const struct mtk_eint_hw mt8192_eint_hw = { .ports = 7, .ap_num = 224, .db_cnt = 32, + .db_time = debounce_time_mt6765, }; static const struct mtk_pin_reg_calc mt8192_reg_cals[PINCTRL_PIN_REG_MAX] = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8195.c b/drivers/pinctrl/mediatek/pinctrl-mt8195.c index 563693d3d4c2..89557c7ed2ab 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8195.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8195.c @@ -935,6 +935,7 @@ static const struct mtk_eint_hw mt8195_eint_hw = { .ports = 7, .ap_num = 225, .db_cnt = 32, + .db_time = debounce_time_mt6765, }; static const struct mtk_pin_soc mt8195_data = { diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8365.c b/drivers/pinctrl/mediatek/pinctrl-mt8365.c index 57f37a294063..e31b89b226b7 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8365.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8365.c @@ -453,6 +453,7 @@ static const struct mtk_pinctrl_devdata mt8365_pinctrl_data = { .ports = 5, .ap_num = 160, .db_cnt = 160, + .db_time = debounce_time_mt6765, }, }; diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8516.c b/drivers/pinctrl/mediatek/pinctrl-mt8516.c index 939a1932b8dc..e929339dd2cb 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8516.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8516.c @@ -319,6 +319,7 @@ static const struct mtk_pinctrl_devdata mt8516_pinctrl_data = { .ports = 6, .ap_num = 169, .db_cnt = 64, + .db_time = debounce_time_mt6795, }, }; -- cgit v1.2.3-59-g8ed1b From 37020bbb71d911431e16c2c940b97cf86ae4f2f6 Mon Sep 17 00:00:00 2001 From: Jingbo Xu Date: Mon, 14 Nov 2022 20:19:43 +0800 Subject: erofs: fix missing xas_retry() in fscache mode The xarray iteration only holds the RCU read lock and thus may encounter XA_RETRY_ENTRY if there's process modifying the xarray concurrently. This will cause oops when referring to the invalid entry. Fix this by adding the missing xas_retry(), which will make the iteration wind back to the root node if XA_RETRY_ENTRY is encountered. Fixes: d435d53228dd ("erofs: change to use asynchronous io for fscache readpage/readahead") Suggested-by: David Howells Reviewed-by: Gao Xiang Reviewed-by: Jia Zhu Signed-off-by: Jingbo Xu Link: https://lore.kernel.org/r/20221114121943.29987-1-jefflexu@linux.alibaba.com Signed-off-by: Gao Xiang --- fs/erofs/fscache.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c index 6eaf4a4ab95c..af5ed6b9c54d 100644 --- a/fs/erofs/fscache.c +++ b/fs/erofs/fscache.c @@ -75,11 +75,15 @@ static void erofs_fscache_rreq_unlock_folios(struct netfs_io_request *rreq) rcu_read_lock(); xas_for_each(&xas, folio, last_page) { - unsigned int pgpos = - (folio_index(folio) - start_page) * PAGE_SIZE; - unsigned int pgend = pgpos + folio_size(folio); + unsigned int pgpos, pgend; bool pg_failed = false; + if (xas_retry(&xas, folio)) + continue; + + pgpos = (folio_index(folio) - start_page) * PAGE_SIZE; + pgend = pgpos + folio_size(folio); + for (;;) { if (!subreq) { pg_failed = true; -- cgit v1.2.3-59-g8ed1b From 30f5312d2c722107364f266cfa98ef4f0857c1fb Mon Sep 17 00:00:00 2001 From: Amit Cohen Date: Fri, 11 Nov 2022 18:03:27 +0100 Subject: mlxsw: Avoid warnings when not offloaded FDB entry with IPv6 is removed FDB entries that perform VXLAN encapsulation with an IPv6 underlay hold a reference on a resource - the KVDL entry where the IPv6 underlay destination IP is stored. For that, the driver maintains two hash tables: 1. Maps IPv6 to KVDL index 2. Maps {MAC, FID index} to IPv6 address When a FDB entry is removed, the second table is used to find the relevant IPv6 address and the first table is used to remove the reference count and free the index if is not used anymore. In order for a packet to be forwarded to a single remote VTEP, FDB entries need to be configured at both the bridge and VXLAN devices' FDB tables. Both entries are squashed into one {MAC, VLAN/VNI} -> IP entry in the hardware. Therefore, in case one entry is removed, the entry will be removed from the hardware and the remaining entry will be unmarked with 'offload' flag since it is not offloaded anymore. For example, the two FDB entries should be added to allow packets to be forwarded via vx10: $ bridge fdb add dev vx10 aa:bb:cc:dd:ee:ff self static dst 2001:db8:5::1 $ bridge fdb add dev vx10 aa:bb:cc:dd:ee:ff master static vlan 10 When one entry will be removed, the second one will not be offloaded anymore. When the first entry (in VXLAN FDB) will be removed / will not be offloaded anymore, the two mappings in IPv6 hash tables will be removed. In case that the second entry is removed before the first one, unexpected warnings[1][2] will be shown in user space as a result of removing the first entry. The issue is that not offloaded entry is removed, the driver tries to search the relevant entries in the hash tables, does not find them and therefore warns. Do not handle removing of not offloaded VXLAN FDB entries, as they were already removed when the offload flag was removed. [1]: WARNING: CPU: 1 PID: 239 at drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c:914 mlxsw_sp_nve_ipv6_addr_map_del+0x6b/0x80 [mlxsw_spectrum] ... Hardware name: Mellanox Technologies Ltd. Mellanox switch/Mellanox switch, BIOS 4.6.5 05/21/2015 Workqueue: mlxsw_core_ordered mlxsw_sp_switchdev_vxlan_fdb_event_work [mlxsw_spectrum] RIP: 0010:mlxsw_sp_nve_ipv6_addr_map_del+0x6b/0x80 [mlxsw_spectrum] ... Call Trace: mlxsw_sp_port_fdb_tunnel_uc_op+0x6cf/0x7b0 [mlxsw_spectrum] mlxsw_sp_switchdev_vxlan_fdb_event_work+0x17c/0x420 [mlxsw_spectrum] ? finish_task_switch.isra.0+0x8c/0x290 process_one_work+0x1cd/0x390 worker_thread+0x48/0x3c0 ? process_one_work+0x390/0x390 kthread+0xe0/0x110 ? kthread_complete_and_exit+0x20/0x20 ret_from_fork+0x1f/0x30 [2]: WARNING: CPU: 0 PID: 239 at drivers/net/ethernet/mellanox/mlxsw/spectrum.c:3035 mlxsw_sp_ipv6_addr_put+0x142/0x220 [mlxsw_spectrum] ... Hardware name: Mellanox Technologies Ltd. Mellanox switch/Mellanox switch, BIOS 4.6.5 05/21/2015 Workqueue: mlxsw_core_ordered mlxsw_sp_switchdev_vxlan_fdb_event_work [mlxsw_spectrum] RIP: 0010:mlxsw_sp_ipv6_addr_put+0x142/0x220 [mlxsw_spectrum] ... Call Trace: ? mlxsw_sp_port_fdb_tun_uc_op6_sfd_write+0x5c1/0x610 [mlxsw_spectrum] mlxsw_sp_port_fdb_tunnel_uc_op+0x6ec/0x7b0 [mlxsw_spectrum] mlxsw_sp_switchdev_vxlan_fdb_event_work+0x17c/0x420 [mlxsw_spectrum] ? finish_task_switch.isra.0+0x8c/0x290 process_one_work+0x1cd/0x390 worker_thread+0x48/0x3c0 ? process_one_work+0x390/0x390 kthread+0xe0/0x110 ? kthread_complete_and_exit+0x20/0x20 ret_from_fork+0x1f/0x30 Fixes: 0860c7641634 ("mlxsw: spectrum_nve: Keep track of IPv6 addresses used by FDB entries") Signed-off-by: Amit Cohen Reviewed-by: Ido Schimmel Signed-off-by: Petr Machata Link: https://lore.kernel.org/r/c186de8cbd28e3eb661e06f31f7f2f2dff30020f.1668184350.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c index 4efccd942fb8..1290b2d3eae6 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c @@ -3470,6 +3470,8 @@ mlxsw_sp_switchdev_vxlan_fdb_del(struct mlxsw_sp *mlxsw_sp, u16 vid; vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; + if (!vxlan_fdb_info->offloaded) + return; bridge_device = mlxsw_sp_bridge_device_find(mlxsw_sp->bridge, br_dev); if (!bridge_device) -- cgit v1.2.3-59-g8ed1b From 280c0f7cd0aa4d190619b18243110e052a90775c Mon Sep 17 00:00:00 2001 From: Yuan Can Date: Sun, 13 Nov 2022 09:29:29 +0000 Subject: net: ionic: Fix error handling in ionic_init_module() A problem about ionic create debugfs failed is triggered with the following log given: [ 415.799514] debugfs: Directory 'ionic' with parent '/' already present! The reason is that ionic_init_module() returns ionic_bus_register_driver() directly without checking its return value, if ionic_bus_register_driver() failed, it returns without destroy the newly created debugfs, resulting the debugfs of ionic can never be created later. ionic_init_module() ionic_debugfs_create() # create debugfs directory ionic_bus_register_driver() pci_register_driver() driver_register() bus_add_driver() priv = kzalloc(...) # OOM happened # return without destroy debugfs directory Fix by removing debugfs when ionic_bus_register_driver() returns error. Fixes: fbfb8031533c ("ionic: Add hardware init and device commands") Signed-off-by: Yuan Can Acked-by: Shannon Nelson Link: https://lore.kernel.org/r/20221113092929.19161-1-yuancan@huawei.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/pensando/ionic/ionic_main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_main.c b/drivers/net/ethernet/pensando/ionic/ionic_main.c index 56f93b030551..5456c2b15d9b 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_main.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_main.c @@ -687,8 +687,14 @@ int ionic_port_reset(struct ionic *ionic) static int __init ionic_init_module(void) { + int ret; + ionic_debugfs_create(); - return ionic_bus_register_driver(); + ret = ionic_bus_register_driver(); + if (ret) + ionic_debugfs_destroy(); + + return ret; } static void __exit ionic_cleanup_module(void) -- cgit v1.2.3-59-g8ed1b From 4abb77fc5531381484477cac95913336c97176b7 Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Mon, 14 Nov 2022 14:29:37 +0100 Subject: xen/platform-pci: use define instead of literal number Instead of "0x01" use the HVM_PARAM_CALLBACK_TYPE_PCI_INTX define from the interface header in get_callback_via(). Signed-off-by: Juergen Gross Acked-by: Stefano Stabellini Signed-off-by: Juergen Gross --- drivers/xen/platform-pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c index 6ebd819338ec..cd07e3fed0fa 100644 --- a/drivers/xen/platform-pci.c +++ b/drivers/xen/platform-pci.c @@ -54,7 +54,8 @@ static uint64_t get_callback_via(struct pci_dev *pdev) pin = pdev->pin; /* We don't know the GSI. Specify the PCI INTx line instead. */ - return ((uint64_t)0x01 << HVM_CALLBACK_VIA_TYPE_SHIFT) | /* PCI INTx identifier */ + return ((uint64_t)HVM_PARAM_CALLBACK_TYPE_PCI_INTX << + HVM_CALLBACK_VIA_TYPE_SHIFT) | ((uint64_t)pci_domain_nr(pdev->bus) << 32) | ((uint64_t)pdev->bus->number << 16) | ((uint64_t)(pdev->devfn & 0xff) << 8) | -- cgit v1.2.3-59-g8ed1b From 2e35b25dd8e666b8619355fc3defb1b246a5dc02 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Tue, 15 Nov 2022 09:11:07 +0100 Subject: pinctrl: mediatek: Export debounce time tables The kernel test robot complains that in certain combinations when building the Mediatek drivers as modules we lack some debounce table symbols, so export them. Reported-by: kernel test robot Fixes: e1ff91f9d230 ("pinctrl: mediatek: Fix EINT pins input debounce time configuration") Cc: AngeloGioacchino Del Regno Signed-off-by: Linus Walleij --- drivers/pinctrl/mediatek/mtk-eint.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pinctrl/mediatek/mtk-eint.c b/drivers/pinctrl/mediatek/mtk-eint.c index e94ee802c603..65d312967619 100644 --- a/drivers/pinctrl/mediatek/mtk-eint.c +++ b/drivers/pinctrl/mediatek/mtk-eint.c @@ -52,14 +52,17 @@ static const struct mtk_eint_regs mtk_generic_eint_regs = { const unsigned int debounce_time_mt2701[] = { 500, 1000, 16000, 32000, 64000, 128000, 256000, 0 }; +EXPORT_SYMBOL_GPL(debounce_time_mt2701); const unsigned int debounce_time_mt6765[] = { 125, 250, 500, 1000, 16000, 32000, 64000, 128000, 256000, 512000, 0 }; +EXPORT_SYMBOL_GPL(debounce_time_mt6765); const unsigned int debounce_time_mt6795[] = { 500, 1000, 16000, 32000, 64000, 128000, 256000, 512000, 0 }; +EXPORT_SYMBOL_GPL(debounce_time_mt6795); static void __iomem *mtk_eint_get_offset(struct mtk_eint *eint, unsigned int eint_num, -- cgit v1.2.3-59-g8ed1b From a5b5fb0fc47ddc7d1ed6a0365197639a01bc1f3a Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 7 Nov 2022 20:33:23 -0600 Subject: platform/x86/amd: pmc: Remove more CONFIG_DEBUG_FS checks commit b37fe34c8309 ("platform/x86/amd: pmc: remove CONFIG_DEBUG_FS checks") removed most CONFIG_DEBUG_FS checks, but there were some left that were reported to cause compile test failures. Remove the remaining checks, and also the unnecessary CONFIG_SUSPEND used in the same place. Reported-by: liyupeng@zbhlos.com Fixes: b37fe34c8309 ("platform/x86/amd: pmc: remove CONFIG_DEBUG_FS checks") Signed-off-by: Mario Limonciello Link: https://bugzilla.kernel.org/show_bug.cgi?id=216679 Link: https://lore.kernel.org/r/20221108023323.19304-1-mario.limonciello@amd.com Cc: stable@vger.kernel.org Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- drivers/platform/x86/amd/pmc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/platform/x86/amd/pmc.c b/drivers/platform/x86/amd/pmc.c index 96e790e639a2..3b44f2fff5be 100644 --- a/drivers/platform/x86/amd/pmc.c +++ b/drivers/platform/x86/amd/pmc.c @@ -276,7 +276,6 @@ static const struct file_operations amd_pmc_stb_debugfs_fops_v2 = { .release = amd_pmc_stb_debugfs_release_v2, }; -#if defined(CONFIG_SUSPEND) || defined(CONFIG_DEBUG_FS) static int amd_pmc_setup_smu_logging(struct amd_pmc_dev *dev) { if (dev->cpu_id == AMD_CPU_ID_PCO) { @@ -351,7 +350,6 @@ static int get_metrics_table(struct amd_pmc_dev *pdev, struct smu_metrics *table memcpy_fromio(table, pdev->smu_virt_addr, sizeof(struct smu_metrics)); return 0; } -#endif /* CONFIG_SUSPEND || CONFIG_DEBUG_FS */ #ifdef CONFIG_SUSPEND static void amd_pmc_validate_deepest(struct amd_pmc_dev *pdev) -- cgit v1.2.3-59-g8ed1b From 5121197ecc5db58c07da95eb1ff82b98b121a221 Mon Sep 17 00:00:00 2001 From: Cong Wang Date: Sun, 13 Nov 2022 16:51:19 -0800 Subject: kcm: close race conditions on sk_receive_queue sk->sk_receive_queue is protected by skb queue lock, but for KCM sockets its RX path takes mux->rx_lock to protect more than just skb queue. However, kcm_recvmsg() still only grabs the skb queue lock, so race conditions still exist. We can teach kcm_recvmsg() to grab mux->rx_lock too but this would introduce a potential performance regression as struct kcm_mux can be shared by multiple KCM sockets. So we have to enforce skb queue lock in requeue_rx_msgs() and handle skb peek case carefully in kcm_wait_data(). Fortunately, skb_recv_datagram() already handles it nicely and is widely used by other sockets, we can just switch to skb_recv_datagram() after getting rid of the unnecessary sock lock in kcm_recvmsg() and kcm_splice_read(). Side note: SOCK_DONE is not used by KCM sockets, so it is safe to get rid of this check too. I ran the original syzbot reproducer for 30 min without seeing any issue. Fixes: ab7ac4eb9832 ("kcm: Kernel Connection Multiplexor module") Reported-by: syzbot+278279efdd2730dd14bf@syzkaller.appspotmail.com Reported-by: shaozhengchao Cc: Paolo Abeni Cc: Tom Herbert Signed-off-by: Cong Wang Link: https://lore.kernel.org/r/20221114005119.597905-1-xiyou.wangcong@gmail.com Signed-off-by: Paolo Abeni --- net/kcm/kcmsock.c | 58 ++++++------------------------------------------------- 1 file changed, 6 insertions(+), 52 deletions(-) diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c index a5004228111d..890a2423f559 100644 --- a/net/kcm/kcmsock.c +++ b/net/kcm/kcmsock.c @@ -222,7 +222,7 @@ static void requeue_rx_msgs(struct kcm_mux *mux, struct sk_buff_head *head) struct sk_buff *skb; struct kcm_sock *kcm; - while ((skb = __skb_dequeue(head))) { + while ((skb = skb_dequeue(head))) { /* Reset destructor to avoid calling kcm_rcv_ready */ skb->destructor = sock_rfree; skb_orphan(skb); @@ -1085,53 +1085,17 @@ out_error: return err; } -static struct sk_buff *kcm_wait_data(struct sock *sk, int flags, - long timeo, int *err) -{ - struct sk_buff *skb; - - while (!(skb = skb_peek(&sk->sk_receive_queue))) { - if (sk->sk_err) { - *err = sock_error(sk); - return NULL; - } - - if (sock_flag(sk, SOCK_DONE)) - return NULL; - - if ((flags & MSG_DONTWAIT) || !timeo) { - *err = -EAGAIN; - return NULL; - } - - sk_wait_data(sk, &timeo, NULL); - - /* Handle signals */ - if (signal_pending(current)) { - *err = sock_intr_errno(timeo); - return NULL; - } - } - - return skb; -} - static int kcm_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, int flags) { struct sock *sk = sock->sk; struct kcm_sock *kcm = kcm_sk(sk); int err = 0; - long timeo; struct strp_msg *stm; int copied = 0; struct sk_buff *skb; - timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); - - lock_sock(sk); - - skb = kcm_wait_data(sk, flags, timeo, &err); + skb = skb_recv_datagram(sk, flags, &err); if (!skb) goto out; @@ -1162,14 +1126,11 @@ msg_finished: /* Finished with message */ msg->msg_flags |= MSG_EOR; KCM_STATS_INCR(kcm->stats.rx_msgs); - skb_unlink(skb, &sk->sk_receive_queue); - kfree_skb(skb); } } out: - release_sock(sk); - + skb_free_datagram(sk, skb); return copied ? : err; } @@ -1179,7 +1140,6 @@ static ssize_t kcm_splice_read(struct socket *sock, loff_t *ppos, { struct sock *sk = sock->sk; struct kcm_sock *kcm = kcm_sk(sk); - long timeo; struct strp_msg *stm; int err = 0; ssize_t copied; @@ -1187,11 +1147,7 @@ static ssize_t kcm_splice_read(struct socket *sock, loff_t *ppos, /* Only support splice for SOCKSEQPACKET */ - timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); - - lock_sock(sk); - - skb = kcm_wait_data(sk, flags, timeo, &err); + skb = skb_recv_datagram(sk, flags, &err); if (!skb) goto err_out; @@ -1219,13 +1175,11 @@ static ssize_t kcm_splice_read(struct socket *sock, loff_t *ppos, * finish reading the message. */ - release_sock(sk); - + skb_free_datagram(sk, skb); return copied; err_out: - release_sock(sk); - + skb_free_datagram(sk, skb); return err; } -- cgit v1.2.3-59-g8ed1b From d349e9be5a2c2d7588a2c4e4bfa0bb3dc1226769 Mon Sep 17 00:00:00 2001 From: Yuan Can Date: Mon, 14 Nov 2022 02:56:59 +0000 Subject: net: ena: Fix error handling in ena_init() The ena_init() won't destroy workqueue created by create_singlethread_workqueue() when pci_register_driver() failed. Call destroy_workqueue() when pci_register_driver() failed to prevent the resource leak. Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)") Signed-off-by: Yuan Can Acked-by: Shay Agroskin Link: https://lore.kernel.org/r/20221114025659.124726-1-yuancan@huawei.com Signed-off-by: Paolo Abeni --- drivers/net/ethernet/amazon/ena/ena_netdev.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c b/drivers/net/ethernet/amazon/ena/ena_netdev.c index d350eeec8bad..5a454b58498f 100644 --- a/drivers/net/ethernet/amazon/ena/ena_netdev.c +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c @@ -4543,13 +4543,19 @@ static struct pci_driver ena_pci_driver = { static int __init ena_init(void) { + int ret; + ena_wq = create_singlethread_workqueue(DRV_MODULE_NAME); if (!ena_wq) { pr_err("Failed to create workqueue\n"); return -ENOMEM; } - return pci_register_driver(&ena_pci_driver); + ret = pci_register_driver(&ena_pci_driver); + if (ret) + destroy_workqueue(ena_wq); + + return ret; } static void __exit ena_cleanup(void) -- cgit v1.2.3-59-g8ed1b From 18c532e44939caa17f1fa380f7ac50dbc0718dbb Mon Sep 17 00:00:00 2001 From: Aminuddin Jamaluddin Date: Mon, 14 Nov 2022 14:53:02 +0800 Subject: net: phy: marvell: add sleep time after enabling the loopback bit Sleep time is added to ensure the phy to be ready after loopback bit was set. This to prevent the phy loopback test from failing. Fixes: 020a45aff119 ("net: phy: marvell: add Marvell specific PHY loopback") Cc: # 5.15.x Signed-off-by: Muhammad Husaini Zulkifli Signed-off-by: Aminuddin Jamaluddin Link: https://lore.kernel.org/r/20221114065302.10625-1-aminuddin.jamaluddin@intel.com Signed-off-by: Paolo Abeni --- drivers/net/phy/marvell.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 2810f4f9da0c..0d706ee266af 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -2015,14 +2015,16 @@ static int m88e1510_loopback(struct phy_device *phydev, bool enable) if (err < 0) return err; - /* FIXME: Based on trial and error test, it seem 1G need to have - * delay between soft reset and loopback enablement. - */ - if (phydev->speed == SPEED_1000) - msleep(1000); + err = phy_modify(phydev, MII_BMCR, BMCR_LOOPBACK, + BMCR_LOOPBACK); - return phy_modify(phydev, MII_BMCR, BMCR_LOOPBACK, - BMCR_LOOPBACK); + if (!err) { + /* It takes some time for PHY device to switch + * into/out-of loopback mode. + */ + msleep(1000); + } + return err; } else { err = phy_modify(phydev, MII_BMCR, BMCR_LOOPBACK, 0); if (err < 0) -- cgit v1.2.3-59-g8ed1b From a56cad694767ebdb7d80f27ffc239db46fff64de Mon Sep 17 00:00:00 2001 From: Jian Shen Date: Mon, 14 Nov 2022 16:20:46 +0800 Subject: net: hns3: fix incorrect hw rss hash type of rx packet Currently, the HNS3 driver reports the rss hash type of each packet based on the rss hash tuples set. It always reports PKT_HASH_TYPE_L4, without checking the type of current packet. It's incorrect. Fixes it by reporting it base on the packet type. Fixes: 796640778c26 ("net: hns3: support RXD advanced layout") Fixes: 232fc64b6e62 ("net: hns3: Add HW RSS hash information to RX skb") Fixes: ea4858670717 ("net: hns3: handle the BD info on the last BD of the packet") Signed-off-by: Jian Shen Signed-off-by: Hao Lan Signed-off-by: Paolo Abeni --- drivers/net/ethernet/hisilicon/hns3/hnae3.h | 1 - .../hisilicon/hns3/hns3_common/hclge_comm_rss.c | 20 --- .../hisilicon/hns3/hns3_common/hclge_comm_rss.h | 2 - drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 163 ++++++++++++--------- drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 1 + .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 1 - 6 files changed, 94 insertions(+), 94 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hnae3.h b/drivers/net/ethernet/hisilicon/hns3/hnae3.h index 0179fc288f5f..17137de9338c 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hnae3.h +++ b/drivers/net/ethernet/hisilicon/hns3/hnae3.h @@ -819,7 +819,6 @@ struct hnae3_knic_private_info { const struct hnae3_dcb_ops *dcb_ops; u16 int_rl_setting; - enum pkt_hash_types rss_type; void __iomem *io_base; }; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c index e23729ac3bb8..ae2736549526 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c @@ -191,23 +191,6 @@ u32 hclge_comm_get_rss_key_size(struct hnae3_handle *handle) return HCLGE_COMM_RSS_KEY_SIZE; } -void hclge_comm_get_rss_type(struct hnae3_handle *nic, - struct hclge_comm_rss_tuple_cfg *rss_tuple_sets) -{ - if (rss_tuple_sets->ipv4_tcp_en || - rss_tuple_sets->ipv4_udp_en || - rss_tuple_sets->ipv4_sctp_en || - rss_tuple_sets->ipv6_tcp_en || - rss_tuple_sets->ipv6_udp_en || - rss_tuple_sets->ipv6_sctp_en) - nic->kinfo.rss_type = PKT_HASH_TYPE_L4; - else if (rss_tuple_sets->ipv4_fragment_en || - rss_tuple_sets->ipv6_fragment_en) - nic->kinfo.rss_type = PKT_HASH_TYPE_L3; - else - nic->kinfo.rss_type = PKT_HASH_TYPE_NONE; -} - int hclge_comm_parse_rss_hfunc(struct hclge_comm_rss_cfg *rss_cfg, const u8 hfunc, u8 *hash_algo) { @@ -344,9 +327,6 @@ int hclge_comm_set_rss_input_tuple(struct hnae3_handle *nic, req->ipv6_sctp_en = rss_cfg->rss_tuple_sets.ipv6_sctp_en; req->ipv6_fragment_en = rss_cfg->rss_tuple_sets.ipv6_fragment_en; - if (is_pf) - hclge_comm_get_rss_type(nic, &rss_cfg->rss_tuple_sets); - ret = hclge_comm_cmd_send(hw, &desc, 1); if (ret) dev_err(&hw->cmq.csq.pdev->dev, diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h index 946d166a452d..92af3d2980d3 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h @@ -95,8 +95,6 @@ struct hclge_comm_rss_tc_mode_cmd { }; u32 hclge_comm_get_rss_key_size(struct hnae3_handle *handle); -void hclge_comm_get_rss_type(struct hnae3_handle *nic, - struct hclge_comm_rss_tuple_cfg *rss_tuple_sets); void hclge_comm_rss_indir_init_cfg(struct hnae3_ae_dev *ae_dev, struct hclge_comm_rss_cfg *rss_cfg); int hclge_comm_get_rss_tuple(struct hclge_comm_rss_cfg *rss_cfg, int flow_type, diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index 4cb2421e71a7..7fc83409f257 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -105,26 +105,28 @@ static const struct pci_device_id hns3_pci_tbl[] = { }; MODULE_DEVICE_TABLE(pci, hns3_pci_tbl); -#define HNS3_RX_PTYPE_ENTRY(ptype, l, s, t) \ +#define HNS3_RX_PTYPE_ENTRY(ptype, l, s, t, h) \ { ptype, \ l, \ CHECKSUM_##s, \ HNS3_L3_TYPE_##t, \ - 1 } + 1, \ + h} #define HNS3_RX_PTYPE_UNUSED_ENTRY(ptype) \ - { ptype, 0, CHECKSUM_NONE, HNS3_L3_TYPE_PARSE_FAIL, 0 } + { ptype, 0, CHECKSUM_NONE, HNS3_L3_TYPE_PARSE_FAIL, 0, \ + PKT_HASH_TYPE_NONE } static const struct hns3_rx_ptype hns3_rx_ptype_tbl[] = { HNS3_RX_PTYPE_UNUSED_ENTRY(0), - HNS3_RX_PTYPE_ENTRY(1, 0, COMPLETE, ARP), - HNS3_RX_PTYPE_ENTRY(2, 0, COMPLETE, RARP), - HNS3_RX_PTYPE_ENTRY(3, 0, COMPLETE, LLDP), - HNS3_RX_PTYPE_ENTRY(4, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(5, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(6, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(7, 0, COMPLETE, CNM), - HNS3_RX_PTYPE_ENTRY(8, 0, NONE, PARSE_FAIL), + HNS3_RX_PTYPE_ENTRY(1, 0, COMPLETE, ARP, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(2, 0, COMPLETE, RARP, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(3, 0, COMPLETE, LLDP, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(4, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(5, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(6, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(7, 0, COMPLETE, CNM, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(8, 0, NONE, PARSE_FAIL, PKT_HASH_TYPE_NONE), HNS3_RX_PTYPE_UNUSED_ENTRY(9), HNS3_RX_PTYPE_UNUSED_ENTRY(10), HNS3_RX_PTYPE_UNUSED_ENTRY(11), @@ -132,36 +134,36 @@ static const struct hns3_rx_ptype hns3_rx_ptype_tbl[] = { HNS3_RX_PTYPE_UNUSED_ENTRY(13), HNS3_RX_PTYPE_UNUSED_ENTRY(14), HNS3_RX_PTYPE_UNUSED_ENTRY(15), - HNS3_RX_PTYPE_ENTRY(16, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(17, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(18, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(19, 0, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(20, 0, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(21, 0, NONE, IPV4), - HNS3_RX_PTYPE_ENTRY(22, 0, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(23, 0, NONE, IPV4), - HNS3_RX_PTYPE_ENTRY(24, 0, NONE, IPV4), - HNS3_RX_PTYPE_ENTRY(25, 0, UNNECESSARY, IPV4), + HNS3_RX_PTYPE_ENTRY(16, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(17, 0, COMPLETE, IPV4, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(18, 0, COMPLETE, IPV4, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(19, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(20, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(21, 0, NONE, IPV4, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(22, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(23, 0, NONE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(24, 0, NONE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(25, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), HNS3_RX_PTYPE_UNUSED_ENTRY(26), HNS3_RX_PTYPE_UNUSED_ENTRY(27), HNS3_RX_PTYPE_UNUSED_ENTRY(28), - HNS3_RX_PTYPE_ENTRY(29, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(30, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(31, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(32, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(33, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(34, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(35, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(36, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(37, 0, COMPLETE, IPV4), + HNS3_RX_PTYPE_ENTRY(29, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(30, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(31, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(32, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(33, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(34, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(35, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(36, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(37, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(38), - HNS3_RX_PTYPE_ENTRY(39, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(40, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(41, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(42, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(43, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(44, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(45, 0, COMPLETE, IPV6), + HNS3_RX_PTYPE_ENTRY(39, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(40, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(41, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(42, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(43, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(44, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(45, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(46), HNS3_RX_PTYPE_UNUSED_ENTRY(47), HNS3_RX_PTYPE_UNUSED_ENTRY(48), @@ -227,35 +229,35 @@ static const struct hns3_rx_ptype hns3_rx_ptype_tbl[] = { HNS3_RX_PTYPE_UNUSED_ENTRY(108), HNS3_RX_PTYPE_UNUSED_ENTRY(109), HNS3_RX_PTYPE_UNUSED_ENTRY(110), - HNS3_RX_PTYPE_ENTRY(111, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(112, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(113, 0, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(114, 0, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(115, 0, NONE, IPV6), - HNS3_RX_PTYPE_ENTRY(116, 0, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(117, 0, NONE, IPV6), - HNS3_RX_PTYPE_ENTRY(118, 0, NONE, IPV6), - HNS3_RX_PTYPE_ENTRY(119, 0, UNNECESSARY, IPV6), + HNS3_RX_PTYPE_ENTRY(111, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(112, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(113, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(114, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(115, 0, NONE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(116, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(117, 0, NONE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(118, 0, NONE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(119, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), HNS3_RX_PTYPE_UNUSED_ENTRY(120), HNS3_RX_PTYPE_UNUSED_ENTRY(121), HNS3_RX_PTYPE_UNUSED_ENTRY(122), - HNS3_RX_PTYPE_ENTRY(123, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(124, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(125, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(126, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(127, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(128, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(129, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(130, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(131, 0, COMPLETE, IPV4), + HNS3_RX_PTYPE_ENTRY(123, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(124, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(125, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(126, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(127, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(128, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(129, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(130, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(131, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(132), - HNS3_RX_PTYPE_ENTRY(133, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(134, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(135, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(136, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(137, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(138, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(139, 0, COMPLETE, IPV6), + HNS3_RX_PTYPE_ENTRY(133, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(134, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(135, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(136, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(137, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(138, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(139, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(140), HNS3_RX_PTYPE_UNUSED_ENTRY(141), HNS3_RX_PTYPE_UNUSED_ENTRY(142), @@ -4171,15 +4173,35 @@ static int hns3_set_gro_and_checksum(struct hns3_enet_ring *ring, } static void hns3_set_rx_skb_rss_type(struct hns3_enet_ring *ring, - struct sk_buff *skb, u32 rss_hash) + struct sk_buff *skb, u32 rss_hash, + u32 l234info, u32 ol_info) { - struct hnae3_handle *handle = ring->tqp->handle; - enum pkt_hash_types rss_type; + enum pkt_hash_types rss_type = PKT_HASH_TYPE_NONE; + struct net_device *netdev = ring_to_netdev(ring); + struct hns3_nic_priv *priv = netdev_priv(netdev); - if (rss_hash) - rss_type = handle->kinfo.rss_type; - else - rss_type = PKT_HASH_TYPE_NONE; + if (test_bit(HNS3_NIC_STATE_RXD_ADV_LAYOUT_ENABLE, &priv->state)) { + u32 ptype = hnae3_get_field(ol_info, HNS3_RXD_PTYPE_M, + HNS3_RXD_PTYPE_S); + + rss_type = hns3_rx_ptype_tbl[ptype].hash_type; + } else { + int l3_type = hnae3_get_field(l234info, HNS3_RXD_L3ID_M, + HNS3_RXD_L3ID_S); + int l4_type = hnae3_get_field(l234info, HNS3_RXD_L4ID_M, + HNS3_RXD_L4ID_S); + + if (l3_type == HNS3_L3_TYPE_IPV4 || + l3_type == HNS3_L3_TYPE_IPV6) { + if (l4_type == HNS3_L4_TYPE_UDP || + l4_type == HNS3_L4_TYPE_TCP || + l4_type == HNS3_L4_TYPE_SCTP) + rss_type = PKT_HASH_TYPE_L4; + else if (l4_type == HNS3_L4_TYPE_IGMP || + l4_type == HNS3_L4_TYPE_ICMP) + rss_type = PKT_HASH_TYPE_L3; + } + } skb_set_hash(skb, rss_hash, rss_type); } @@ -4282,7 +4304,8 @@ static int hns3_handle_bdinfo(struct hns3_enet_ring *ring, struct sk_buff *skb) ring->tqp_vector->rx_group.total_bytes += len; - hns3_set_rx_skb_rss_type(ring, skb, le32_to_cpu(desc->rx.rss_hash)); + hns3_set_rx_skb_rss_type(ring, skb, le32_to_cpu(desc->rx.rss_hash), + l234info, ol_info); return 0; } diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h index 133a054af6b7..294a14b4fdef 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h @@ -404,6 +404,7 @@ struct hns3_rx_ptype { u32 ip_summed : 2; u32 l3_type : 4; u32 valid : 1; + u32 hash_type: 3; }; struct ring_stats { diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index 987271da6e9b..e34ac9c5900e 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -4859,7 +4859,6 @@ static int hclge_set_rss_tuple(struct hnae3_handle *handle, return ret; } - hclge_comm_get_rss_type(&vport->nic, &hdev->rss_cfg.rss_tuple_sets); return 0; } -- cgit v1.2.3-59-g8ed1b From 29df7c695ed67a8fa32bb7805bad8fe2a76c1f88 Mon Sep 17 00:00:00 2001 From: Jie Wang Date: Mon, 14 Nov 2022 16:20:47 +0800 Subject: net: hns3: fix return value check bug of rx copybreak The refactoring of rx copybreak modifies the original return logic, which will make this feature unavailable. So this patch fixes the return logic of rx copybreak. Fixes: e74a726da2c4 ("net: hns3: refactor hns3_nic_reuse_page()") Fixes: 99f6b5fb5f63 ("net: hns3: use bounce buffer when rx page can not be reused") Signed-off-by: Jie Wang Signed-off-by: Hao Lan Signed-off-by: Paolo Abeni --- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index 7fc83409f257..028577943ec5 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -3778,8 +3778,8 @@ static void hns3_nic_reuse_page(struct sk_buff *skb, int i, desc_cb->reuse_flag = 1; } else if (frag_size <= ring->rx_copybreak) { ret = hns3_handle_rx_copybreak(skb, i, ring, pull_len, desc_cb); - if (ret) - goto out; + if (!ret) + return; } out: -- cgit v1.2.3-59-g8ed1b From 510d7b6ae842e59ee00d57e5f07ac15131b6d899 Mon Sep 17 00:00:00 2001 From: Guangbin Huang Date: Mon, 14 Nov 2022 16:20:48 +0800 Subject: net: hns3: fix setting incorrect phy link ksettings for firmware in resetting process Currently, if driver is in phy-imp(phy controlled by imp firmware) mode, as driver did not update phy link ksettings after initialization process or not update advertising when getting phy link ksettings from firmware, it may set incorrect phy link ksettings for firmware in resetting process. So fix it. Fixes: f5f2b3e4dcc0 ("net: hns3: add support for imp-controlled PHYs") Fixes: c5ef83cbb1e9 ("net: hns3: fix for phy_addr error in hclge_mac_mdio_config") Fixes: 2312e050f42b ("net: hns3: Fix for deadlock problem occurring when unregistering ae_algo") Signed-off-by: Guangbin Huang Signed-off-by: Hao Lan Signed-off-by: Paolo Abeni --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index e34ac9c5900e..4e54f91f7a6c 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -3443,6 +3443,7 @@ static int hclge_update_tp_port_info(struct hclge_dev *hdev) hdev->hw.mac.autoneg = cmd.base.autoneg; hdev->hw.mac.speed = cmd.base.speed; hdev->hw.mac.duplex = cmd.base.duplex; + linkmode_copy(hdev->hw.mac.advertising, cmd.link_modes.advertising); return 0; } @@ -11586,9 +11587,12 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev) if (ret) goto err_msi_irq_uninit; - if (hdev->hw.mac.media_type == HNAE3_MEDIA_TYPE_COPPER && - !hnae3_dev_phy_imp_supported(hdev)) { - ret = hclge_mac_mdio_config(hdev); + if (hdev->hw.mac.media_type == HNAE3_MEDIA_TYPE_COPPER) { + if (hnae3_dev_phy_imp_supported(hdev)) + ret = hclge_update_tp_port_info(hdev); + else + ret = hclge_mac_mdio_config(hdev); + if (ret) goto err_msi_irq_uninit; } -- cgit v1.2.3-59-g8ed1b From 9d45921ee4cb364910097e7d1b7558559c2f9fd2 Mon Sep 17 00:00:00 2001 From: Ido Schimmel Date: Mon, 14 Nov 2022 10:45:09 +0200 Subject: bridge: switchdev: Fix memory leaks when changing VLAN protocol The bridge driver can offload VLANs to the underlying hardware either via switchdev or the 8021q driver. When the former is used, the VLAN is marked in the bridge driver with the 'BR_VLFLAG_ADDED_BY_SWITCHDEV' private flag. To avoid the memory leaks mentioned in the cited commit, the bridge driver will try to delete a VLAN via the 8021q driver if the VLAN is not marked with the previously mentioned flag. When the VLAN protocol of the bridge changes, switchdev drivers are notified via the 'SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL' attribute, but the 8021q driver is also called to add the existing VLANs with the new protocol and delete them with the old protocol. In case the VLANs were offloaded via switchdev, the above behavior is both redundant and buggy. Redundant because the VLANs are already programmed in hardware and drivers that support VLAN protocol change (currently only mlx5) change the protocol upon the switchdev attribute notification. Buggy because the 8021q driver is called despite these VLANs being marked with 'BR_VLFLAG_ADDED_BY_SWITCHDEV'. This leads to memory leaks [1] when the VLANs are deleted. Fix by not calling the 8021q driver for VLANs that were already programmed via switchdev. [1] unreferenced object 0xffff8881f6771200 (size 256): comm "ip", pid 446855, jiffies 4298238841 (age 55.240s) hex dump (first 32 bytes): 00 00 7f 0e 83 88 ff ff 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000012819ac>] vlan_vid_add+0x437/0x750 [<00000000f2281fad>] __br_vlan_set_proto+0x289/0x920 [<000000000632b56f>] br_changelink+0x3d6/0x13f0 [<0000000089d25f04>] __rtnl_newlink+0x8ae/0x14c0 [<00000000f6276baf>] rtnl_newlink+0x5f/0x90 [<00000000746dc902>] rtnetlink_rcv_msg+0x336/0xa00 [<000000001c2241c0>] netlink_rcv_skb+0x11d/0x340 [<0000000010588814>] netlink_unicast+0x438/0x710 [<00000000e1a4cd5c>] netlink_sendmsg+0x788/0xc40 [<00000000e8992d4e>] sock_sendmsg+0xb0/0xe0 [<00000000621b8f91>] ____sys_sendmsg+0x4ff/0x6d0 [<000000000ea26996>] ___sys_sendmsg+0x12e/0x1b0 [<00000000684f7e25>] __sys_sendmsg+0xab/0x130 [<000000004538b104>] do_syscall_64+0x3d/0x90 [<0000000091ed9678>] entry_SYSCALL_64_after_hwframe+0x46/0xb0 Fixes: 279737939a81 ("net: bridge: Fix VLANs memory leak") Reported-by: Vlad Buslov Tested-by: Vlad Buslov Signed-off-by: Ido Schimmel Acked-by: Nikolay Aleksandrov Link: https://lore.kernel.org/r/20221114084509.860831-1-idosch@nvidia.com Signed-off-by: Paolo Abeni --- net/bridge/br_vlan.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c index 6e53dc991409..9ffd40b8270c 100644 --- a/net/bridge/br_vlan.c +++ b/net/bridge/br_vlan.c @@ -959,6 +959,8 @@ int __br_vlan_set_proto(struct net_bridge *br, __be16 proto, list_for_each_entry(p, &br->port_list, list) { vg = nbp_vlan_group(p); list_for_each_entry(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; err = vlan_vid_add(p->dev, proto, vlan->vid); if (err) goto err_filt; @@ -973,8 +975,11 @@ int __br_vlan_set_proto(struct net_bridge *br, __be16 proto, /* Delete VLANs for the old proto from the device filter. */ list_for_each_entry(p, &br->port_list, list) { vg = nbp_vlan_group(p); - list_for_each_entry(vlan, &vg->vlan_list, vlist) + list_for_each_entry(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; vlan_vid_del(p->dev, oldproto, vlan->vid); + } } return 0; @@ -983,13 +988,19 @@ err_filt: attr.u.vlan_protocol = ntohs(oldproto); switchdev_port_attr_set(br->dev, &attr, NULL); - list_for_each_entry_continue_reverse(vlan, &vg->vlan_list, vlist) + list_for_each_entry_continue_reverse(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; vlan_vid_del(p->dev, proto, vlan->vid); + } list_for_each_entry_continue_reverse(p, &br->port_list, list) { vg = nbp_vlan_group(p); - list_for_each_entry(vlan, &vg->vlan_list, vlist) + list_for_each_entry(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; vlan_vid_del(p->dev, proto, vlan->vid); + } } return err; -- cgit v1.2.3-59-g8ed1b From 6412518f5cb953cbd84b6746db9741bfc92be40a Mon Sep 17 00:00:00 2001 From: Shyam Sundar S K Date: Wed, 9 Nov 2022 14:03:46 +0530 Subject: platform/x86/amd: pmc: Add new ACPI ID AMDI0009 Add new a new ACPI ID AMDI0009 used by upcoming AMD platform to the pmc supported list of devices. Cc: stable@vger.kernel.org # 6.0 Signed-off-by: Shyam Sundar S K Reviewed-by: Mario Limonciello Link: https://lore.kernel.org/r/20221109083346.361603-1-Shyam-sundar.S-k@amd.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- drivers/platform/x86/amd/pmc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/platform/x86/amd/pmc.c b/drivers/platform/x86/amd/pmc.c index 3b44f2fff5be..ef4ae977b8e0 100644 --- a/drivers/platform/x86/amd/pmc.c +++ b/drivers/platform/x86/amd/pmc.c @@ -962,6 +962,7 @@ static const struct acpi_device_id amd_pmc_acpi_ids[] = { {"AMDI0006", 0}, {"AMDI0007", 0}, {"AMDI0008", 0}, + {"AMDI0009", 0}, {"AMD0004", 0}, {"AMD0005", 0}, { } -- cgit v1.2.3-59-g8ed1b From 53e16a6e3e69425081f8352e13e9fd23bf1abfca Mon Sep 17 00:00:00 2001 From: Lennard Gäher Date: Tue, 8 Nov 2022 08:20:23 +0100 Subject: platform/x86: thinkpad_acpi: Enable s2idle quirk for 21A1 machine type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, the s2idle quirk was only active for the 21A0 machine type of the P14s Gen2a product. This also enables it for the second 21A1 type, thus reducing wake-up times from s2idle. Signed-off-by: Lennard Gäher Suggested-by: Mario Limonciello Reviewed-by: Mario Limonciello Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2181 Link: https://lore.kernel.org/r/20221108072023.17069-1-gaeher@mpi-sws.org Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- drivers/platform/x86/thinkpad_acpi.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 20e5c043a8e8..8476dfef4e62 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -4497,6 +4497,14 @@ static const struct dmi_system_id fwbug_list[] __initconst = { DMI_MATCH(DMI_PRODUCT_NAME, "21A0"), } }, + { + .ident = "P14s Gen2 AMD", + .driver_data = &quirk_s2idle_bug, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "21A1"), + } + }, {} }; -- cgit v1.2.3-59-g8ed1b From 2dbfb3f33350e1e868d3d7ed4c176d8777150878 Mon Sep 17 00:00:00 2001 From: Roger Pau Monné Date: Thu, 10 Nov 2022 17:31:44 +0100 Subject: platform/x86/intel: pmc: Don't unconditionally attach Intel PMC when virtualized MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The current logic in the Intel PMC driver will forcefully attach it when detecting any CPU on the intel_pmc_core_platform_ids array, even if the matching ACPI device is not present. There's no checking in pmc_core_probe() to assert that the PMC device is present, and hence on virtualized environments the PMC device probes successfully, even if the underlying registers are not present. Before commit 21ae43570940 ("platform/x86: intel_pmc_core: Substitute PCI with CPUID enumeration") the driver would check for the presence of a specific PCI device, and that prevented the driver from attaching when running virtualized. Fix by only forcefully attaching the PMC device when not running virtualized. Note that virtualized platforms can still get the device to load if the appropriate ACPI device is present on the tables provided to the VM. Make an exception for the Xen initial domain, which does have full hardware access, and hence can attach to the PMC if present. Fixes: 21ae43570940 ("platform/x86: intel_pmc_core: Substitute PCI with CPUID enumeration") Signed-off-by: Roger Pau Monné Acked-by: David E. Box Reviewed-by: Andy Shevchenko Link: https://lore.kernel.org/r/20221110163145.80374-1-roger.pau@citrix.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- drivers/platform/x86/intel/pmc/pltdrv.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/platform/x86/intel/pmc/pltdrv.c b/drivers/platform/x86/intel/pmc/pltdrv.c index 15ca8afdd973..ddfba38c2104 100644 --- a/drivers/platform/x86/intel/pmc/pltdrv.c +++ b/drivers/platform/x86/intel/pmc/pltdrv.c @@ -18,6 +18,8 @@ #include #include +#include + static void intel_pmc_core_release(struct device *dev) { kfree(dev); @@ -53,6 +55,13 @@ static int __init pmc_core_platform_init(void) if (acpi_dev_present("INT33A1", NULL, -1)) return -ENODEV; + /* + * Skip forcefully attaching the device for VMs. Make an exception for + * Xen dom0, which does have full hardware access. + */ + if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR) && !xen_initial_domain()) + return -ENODEV; + if (!x86_match_cpu(intel_pmc_core_platform_ids)) return -ENODEV; -- cgit v1.2.3-59-g8ed1b From d0cdd85046b15089df71a50548617ac1025300d0 Mon Sep 17 00:00:00 2001 From: Xiongfeng Wang Date: Fri, 11 Nov 2022 18:07:52 +0800 Subject: platform/x86: asus-wmi: add missing pci_dev_put() in asus_wmi_set_xusb2pr() pci_get_device() will increase the reference count for the returned pci_dev. We need to use pci_dev_put() to decrease the reference count before asus_wmi_set_xusb2pr() returns. Signed-off-by: Xiongfeng Wang Link: https://lore.kernel.org/r/20221111100752.134311-1-wangxiongfeng2@huawei.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- drivers/platform/x86/asus-wmi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index 6e8e093f96b3..872efc1d5b36 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -1738,6 +1738,8 @@ static void asus_wmi_set_xusb2pr(struct asus_wmi *asus) pci_write_config_dword(xhci_pdev, USB_INTEL_XUSB2PR, cpu_to_le32(ports_available)); + pci_dev_put(xhci_pdev); + pr_info("set USB_INTEL_XUSB2PR old: 0x%04x, new: 0x%04x\n", orig_ports_available, ports_available); } -- cgit v1.2.3-59-g8ed1b From 1e817b889c7d8c14e7005258e15fec62edafe03c Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 11 Nov 2022 12:16:39 +0100 Subject: platform/x86: acer-wmi: Enable SW_TABLET_MODE on Switch V 10 (SW5-017) Like the Acer Switch 10 (SW5-012) and Acer Switch 10 (S1003) models the Acer Switch V 10 (SW5-017) supports reporting SW_TABLET_MODE through acer-wmi. Add a DMI quirk for the SW5-017 setting force_caps to ACER_CAP_KBD_DOCK (these devices have no other acer-wmi based functionality). Cc: Rudolf Polzer Signed-off-by: Hans de Goede Link: https://lore.kernel.org/r/20221111111639.35730-1-hdegoede@redhat.com --- drivers/platform/x86/acer-wmi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c index 18224f9a5bc0..ee67efdd5499 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -564,6 +564,15 @@ static const struct dmi_system_id acer_quirks[] __initconst = { }, .driver_data = (void *)ACER_CAP_KBD_DOCK, }, + { + .callback = set_force_caps, + .ident = "Acer Aspire Switch V 10 SW5-017", + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SW5-017"), + }, + .driver_data = (void *)ACER_CAP_KBD_DOCK, + }, { .callback = set_force_caps, .ident = "Acer One 10 (S1003)", -- cgit v1.2.3-59-g8ed1b From d9a477f643eb3de71fbea5ae6103b800ceb8f547 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 13 Nov 2022 19:59:50 +0100 Subject: platform/surface: aggregator: Do not check for repeated unsequenced packets Currently, we check any received packet whether we have already seen it previously, regardless of the packet type (sequenced / unsequenced). We do this by checking the sequence number. This assumes that sequence numbers are valid for both sequenced and unsequenced packets. However, this assumption appears to be incorrect. On some devices, the sequence number field of unsequenced packets (in particular HID input events on the Surface Pro 9) is always zero. As a result, the current retransmission check kicks in and discards all but the first unsequenced packet, breaking (among other things) keyboard and touchpad input. Note that we have, so far, only seen packets being retransmitted in sequenced communication. In particular, this happens when there is an ACK timeout, causing the EC (or us) to re-send the packet waiting for an ACK. Arguably, retransmission / duplication of unsequenced packets should not be an issue as there is no logical condition (such as an ACK timeout) to determine when a packet should be sent again. Therefore, remove the retransmission check for unsequenced packets entirely to resolve the issue. Fixes: c167b9c7e3d6 ("platform/surface: Add Surface Aggregator subsystem") Signed-off-by: Maximilian Luz Link: https://lore.kernel.org/r/20221113185951.224759-1-luzmaximilian@gmail.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- .../platform/surface/aggregator/ssh_packet_layer.c | 24 ++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/drivers/platform/surface/aggregator/ssh_packet_layer.c b/drivers/platform/surface/aggregator/ssh_packet_layer.c index 6748fe4ac5d5..def8d7ac541f 100644 --- a/drivers/platform/surface/aggregator/ssh_packet_layer.c +++ b/drivers/platform/surface/aggregator/ssh_packet_layer.c @@ -1596,16 +1596,32 @@ static void ssh_ptl_timeout_reap(struct work_struct *work) ssh_ptl_tx_wakeup_packet(ptl); } -static bool ssh_ptl_rx_retransmit_check(struct ssh_ptl *ptl, u8 seq) +static bool ssh_ptl_rx_retransmit_check(struct ssh_ptl *ptl, const struct ssh_frame *frame) { int i; + /* + * Ignore unsequenced packets. On some devices (notably Surface Pro 9), + * unsequenced events will always be sent with SEQ=0x00. Attempting to + * detect retransmission would thus just block all events. + * + * While sequence numbers would also allow detection of retransmitted + * packets in unsequenced communication, they have only ever been used + * to cover edge-cases in sequenced transmission. In particular, the + * only instance of packets being retransmitted (that we are aware of) + * is due to an ACK timeout. As this does not happen in unsequenced + * communication, skip the retransmission check for those packets + * entirely. + */ + if (frame->type == SSH_FRAME_TYPE_DATA_NSQ) + return false; + /* * Check if SEQ has been seen recently (i.e. packet was * re-transmitted and we should ignore it). */ for (i = 0; i < ARRAY_SIZE(ptl->rx.blocked.seqs); i++) { - if (likely(ptl->rx.blocked.seqs[i] != seq)) + if (likely(ptl->rx.blocked.seqs[i] != frame->seq)) continue; ptl_dbg(ptl, "ptl: ignoring repeated data packet\n"); @@ -1613,7 +1629,7 @@ static bool ssh_ptl_rx_retransmit_check(struct ssh_ptl *ptl, u8 seq) } /* Update list of blocked sequence IDs. */ - ptl->rx.blocked.seqs[ptl->rx.blocked.offset] = seq; + ptl->rx.blocked.seqs[ptl->rx.blocked.offset] = frame->seq; ptl->rx.blocked.offset = (ptl->rx.blocked.offset + 1) % ARRAY_SIZE(ptl->rx.blocked.seqs); @@ -1624,7 +1640,7 @@ static void ssh_ptl_rx_dataframe(struct ssh_ptl *ptl, const struct ssh_frame *frame, const struct ssam_span *payload) { - if (ssh_ptl_rx_retransmit_check(ptl, frame->seq)) + if (ssh_ptl_rx_retransmit_check(ptl, frame)) return; ptl->ops.data_received(ptl, payload); -- cgit v1.2.3-59-g8ed1b From d076f30957b1d026e9f6340691624926db0d369d Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 13 Nov 2022 19:59:51 +0100 Subject: platform/surface: aggregator_registry: Add support for Surface Pro 9 Add device nodes to enable support for battery and charger status, the ACPI platform profile, as well as internal and type-cover HID devices (including sensors, touchpad, keyboard, and other miscellaneous devices) on the Surface Pro 9. This does not include support for a tablet-mode switch yet, as that is now handled via the POS subsystem (unlike the Surface Pro 8, where it is handled via the KIP subsystem) and therefore needs further changes. While we're at it, also add the missing comment for the Surface Pro 8. Signed-off-by: Maximilian Luz Link: https://lore.kernel.org/r/20221113185951.224759-2-luzmaximilian@gmail.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- .../platform/surface/surface_aggregator_registry.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c index 585911020cea..db82c2a7c567 100644 --- a/drivers/platform/surface/surface_aggregator_registry.c +++ b/drivers/platform/surface/surface_aggregator_registry.c @@ -268,6 +268,7 @@ static const struct software_node *ssam_node_group_sp7[] = { NULL, }; +/* Devices for Surface Pro 8 */ static const struct software_node *ssam_node_group_sp8[] = { &ssam_node_root, &ssam_node_hub_kip, @@ -284,6 +285,23 @@ static const struct software_node *ssam_node_group_sp8[] = { NULL, }; +/* Devices for Surface Pro 9 */ +static const struct software_node *ssam_node_group_sp9[] = { + &ssam_node_root, + &ssam_node_hub_kip, + &ssam_node_bat_ac, + &ssam_node_bat_main, + &ssam_node_tmp_pprof, + /* TODO: Tablet mode switch (via POS subsystem) */ + &ssam_node_hid_kip_keyboard, + &ssam_node_hid_kip_penstash, + &ssam_node_hid_kip_touchpad, + &ssam_node_hid_kip_fwupd, + &ssam_node_hid_sam_sensors, + &ssam_node_hid_sam_ucm_ucsi, + NULL, +}; + /* -- SSAM platform/meta-hub driver. ---------------------------------------- */ @@ -303,6 +321,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = { /* Surface Pro 8 */ { "MSHW0263", (unsigned long)ssam_node_group_sp8 }, + /* Surface Pro 9 */ + { "MSHW0343", (unsigned long)ssam_node_group_sp9 }, + /* Surface Book 2 */ { "MSHW0107", (unsigned long)ssam_node_group_gen5 }, -- cgit v1.2.3-59-g8ed1b From 7e043a80b5dae5c2d2cf84031501de7827fd6c00 Mon Sep 17 00:00:00 2001 From: David Howells Date: Thu, 3 Nov 2022 16:08:14 +0000 Subject: netfs: Fix missing xas_retry() calls in xarray iteration netfslib has a number of places in which it performs iteration of an xarray whilst being under the RCU read lock. It *should* call xas_retry() as the first thing inside of the loop and do "continue" if it returns true in case the xarray walker passed out a special value indicating that the walk needs to be redone from the root[*]. Fix this by adding the missing retry checks. [*] I wonder if this should be done inside xas_find(), xas_next_node() and suchlike, but I'm told that's not an simple change to effect. This can cause an oops like that below. Note the faulting address - this is an internal value (|0x2) returned from xarray. BUG: kernel NULL pointer dereference, address: 0000000000000402 ... RIP: 0010:netfs_rreq_unlock+0xef/0x380 [netfs] ... Call Trace: netfs_rreq_assess+0xa6/0x240 [netfs] netfs_readpage+0x173/0x3b0 [netfs] ? init_wait_var_entry+0x50/0x50 filemap_read_page+0x33/0xf0 filemap_get_pages+0x2f2/0x3f0 filemap_read+0xaa/0x320 ? do_filp_open+0xb2/0x150 ? rmqueue+0x3be/0xe10 ceph_read_iter+0x1fe/0x680 [ceph] ? new_sync_read+0x115/0x1a0 new_sync_read+0x115/0x1a0 vfs_read+0xf3/0x180 ksys_read+0x5f/0xe0 do_syscall_64+0x38/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae Changes: ======== ver #2) - Changed an unsigned int to a size_t to reduce the likelihood of an overflow as per Willy's suggestion. - Added an additional patch to fix the maths. Fixes: 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers") Reported-by: George Law Signed-off-by: David Howells Reviewed-by: Jeff Layton Reviewed-by: Jingbo Xu cc: Matthew Wilcox cc: linux-cachefs@redhat.com cc: linux-fsdevel@vger.kernel.org Link: https://lore.kernel.org/r/166749229733.107206.17482609105741691452.stgit@warthog.procyon.org.uk/ # v1 Link: https://lore.kernel.org/r/166757987929.950645.12595273010425381286.stgit@warthog.procyon.org.uk/ # v2 --- fs/netfs/buffered_read.c | 9 +++++++-- fs/netfs/io.c | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/fs/netfs/buffered_read.c b/fs/netfs/buffered_read.c index 0ce535852151..baf668fb4315 100644 --- a/fs/netfs/buffered_read.c +++ b/fs/netfs/buffered_read.c @@ -46,10 +46,15 @@ void netfs_rreq_unlock_folios(struct netfs_io_request *rreq) rcu_read_lock(); xas_for_each(&xas, folio, last_page) { - unsigned int pgpos = (folio_index(folio) - start_page) * PAGE_SIZE; - unsigned int pgend = pgpos + folio_size(folio); + unsigned int pgpos, pgend; bool pg_failed = false; + if (xas_retry(&xas, folio)) + continue; + + pgpos = (folio_index(folio) - start_page) * PAGE_SIZE; + pgend = pgpos + folio_size(folio); + for (;;) { if (!subreq) { pg_failed = true; diff --git a/fs/netfs/io.c b/fs/netfs/io.c index 428925899282..e374767d1b68 100644 --- a/fs/netfs/io.c +++ b/fs/netfs/io.c @@ -121,6 +121,9 @@ static void netfs_rreq_unmark_after_write(struct netfs_io_request *rreq, XA_STATE(xas, &rreq->mapping->i_pages, subreq->start / PAGE_SIZE); xas_for_each(&xas, folio, (subreq->start + subreq->len - 1) / PAGE_SIZE) { + if (xas_retry(&xas, folio)) + continue; + /* We might have multiple writes from the same huge * folio, but we mustn't unlock a folio more than once. */ -- cgit v1.2.3-59-g8ed1b From 5e51c627c5acbcf82bb552e17533a79d2a6a2600 Mon Sep 17 00:00:00 2001 From: David Howells Date: Fri, 4 Nov 2022 15:36:49 +0000 Subject: netfs: Fix dodgy maths Fix the dodgy maths in netfs_rreq_unlock_folios(). start_page could be inside the folio, in which case the calculation of pgpos will be come up with a negative number (though for the moment rreq->start is rounded down earlier and folios would have to get merged whilst locked) Alter how this works to just frame the tracking in terms of absolute file positions, rather than offsets from the start of the I/O request. This simplifies the maths and makes it easier to follow. Fix the issue by using folio_pos() and folio_size() to calculate the end position of the page. Fixes: 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers") Reported-by: Matthew Wilcox Signed-off-by: David Howells Reviewed-by: Jeff Layton Reviewed-by: Jingbo Xu cc: linux-cachefs@redhat.com cc: linux-fsdevel@vger.kernel.org Link: https://lore.kernel.org/r/Y2SJw7w1IsIik3nb@casper.infradead.org/ Link: https://lore.kernel.org/r/166757988611.950645.7626959069846893164.stgit@warthog.procyon.org.uk/ # v2 --- fs/netfs/buffered_read.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/fs/netfs/buffered_read.c b/fs/netfs/buffered_read.c index baf668fb4315..7679a68e8193 100644 --- a/fs/netfs/buffered_read.c +++ b/fs/netfs/buffered_read.c @@ -17,9 +17,9 @@ void netfs_rreq_unlock_folios(struct netfs_io_request *rreq) { struct netfs_io_subrequest *subreq; struct folio *folio; - unsigned int iopos, account = 0; pgoff_t start_page = rreq->start / PAGE_SIZE; pgoff_t last_page = ((rreq->start + rreq->len) / PAGE_SIZE) - 1; + size_t account = 0; bool subreq_failed = false; XA_STATE(xas, &rreq->mapping->i_pages, start_page); @@ -39,23 +39,23 @@ void netfs_rreq_unlock_folios(struct netfs_io_request *rreq) */ subreq = list_first_entry(&rreq->subrequests, struct netfs_io_subrequest, rreq_link); - iopos = 0; subreq_failed = (subreq->error < 0); trace_netfs_rreq(rreq, netfs_rreq_trace_unlock); rcu_read_lock(); xas_for_each(&xas, folio, last_page) { - unsigned int pgpos, pgend; + loff_t pg_end; bool pg_failed = false; if (xas_retry(&xas, folio)) continue; - pgpos = (folio_index(folio) - start_page) * PAGE_SIZE; - pgend = pgpos + folio_size(folio); + pg_end = folio_pos(folio) + folio_size(folio) - 1; for (;;) { + loff_t sreq_end; + if (!subreq) { pg_failed = true; break; @@ -63,11 +63,11 @@ void netfs_rreq_unlock_folios(struct netfs_io_request *rreq) if (test_bit(NETFS_SREQ_COPY_TO_CACHE, &subreq->flags)) folio_start_fscache(folio); pg_failed |= subreq_failed; - if (pgend < iopos + subreq->len) + sreq_end = subreq->start + subreq->len - 1; + if (pg_end < sreq_end) break; account += subreq->transferred; - iopos += subreq->len; if (!list_is_last(&subreq->rreq_link, &rreq->subrequests)) { subreq = list_next_entry(subreq, rreq_link); subreq_failed = (subreq->error < 0); @@ -75,7 +75,8 @@ void netfs_rreq_unlock_folios(struct netfs_io_request *rreq) subreq = NULL; subreq_failed = false; } - if (pgend == iopos) + + if (pg_end == sreq_end) break; } -- cgit v1.2.3-59-g8ed1b From 2632daebafd04746b4b96c2f26a6021bc38f6209 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Mon, 14 Nov 2022 12:44:01 +0100 Subject: x86/cpu: Restore AMD's DE_CFG MSR after resume DE_CFG contains the LFENCE serializing bit, restore it on resume too. This is relevant to older families due to the way how they do S3. Unify and correct naming while at it. Fixes: e4d0e84e4907 ("x86/cpu/AMD: Make LFENCE a serializing instruction") Reported-by: Andrew Cooper Reported-by: Pawan Gupta Signed-off-by: Borislav Petkov Cc: Signed-off-by: Linus Torvalds --- arch/x86/include/asm/msr-index.h | 8 +++++--- arch/x86/kernel/cpu/amd.c | 6 ++---- arch/x86/kernel/cpu/hygon.c | 4 ++-- arch/x86/kvm/svm/svm.c | 10 +++++----- arch/x86/kvm/x86.c | 2 +- arch/x86/power/cpu.c | 1 + tools/arch/x86/include/asm/msr-index.h | 8 +++++--- 7 files changed, 21 insertions(+), 18 deletions(-) diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h index 10ac52705892..4a2af82553e4 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h @@ -535,6 +535,11 @@ #define MSR_AMD64_CPUID_FN_1 0xc0011004 #define MSR_AMD64_LS_CFG 0xc0011020 #define MSR_AMD64_DC_CFG 0xc0011022 + +#define MSR_AMD64_DE_CFG 0xc0011029 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT 1 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE BIT_ULL(MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT) + #define MSR_AMD64_BU_CFG2 0xc001102a #define MSR_AMD64_IBSFETCHCTL 0xc0011030 #define MSR_AMD64_IBSFETCHLINAD 0xc0011031 @@ -640,9 +645,6 @@ #define FAM10H_MMIO_CONF_BASE_MASK 0xfffffffULL #define FAM10H_MMIO_CONF_BASE_SHIFT 20 #define MSR_FAM10H_NODE_ID 0xc001100c -#define MSR_F10H_DECFG 0xc0011029 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT 1 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE BIT_ULL(MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT) /* K8 MSRs */ #define MSR_K8_TOP_MEM1 0xc001001a diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 860b60273df3..c75d75b9f11a 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -770,8 +770,6 @@ static void init_amd_gh(struct cpuinfo_x86 *c) set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH); } -#define MSR_AMD64_DE_CFG 0xC0011029 - static void init_amd_ln(struct cpuinfo_x86 *c) { /* @@ -965,8 +963,8 @@ static void init_amd(struct cpuinfo_x86 *c) * msr_set_bit() uses the safe accessors, too, even if the MSR * is not present. */ - msr_set_bit(MSR_F10H_DECFG, - MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT); + msr_set_bit(MSR_AMD64_DE_CFG, + MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT); /* A serializing LFENCE stops RDTSC speculation */ set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC); diff --git a/arch/x86/kernel/cpu/hygon.c b/arch/x86/kernel/cpu/hygon.c index 21fd425088fe..c393b8773ace 100644 --- a/arch/x86/kernel/cpu/hygon.c +++ b/arch/x86/kernel/cpu/hygon.c @@ -326,8 +326,8 @@ static void init_hygon(struct cpuinfo_x86 *c) * msr_set_bit() uses the safe accessors, too, even if the MSR * is not present. */ - msr_set_bit(MSR_F10H_DECFG, - MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT); + msr_set_bit(MSR_AMD64_DE_CFG, + MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT); /* A serializing LFENCE stops RDTSC speculation */ set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC); diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 9f88c8e6766e..4b6d2b050e57 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -2709,9 +2709,9 @@ static int svm_get_msr_feature(struct kvm_msr_entry *msr) msr->data = 0; switch (msr->index) { - case MSR_F10H_DECFG: - if (boot_cpu_has(X86_FEATURE_LFENCE_RDTSC)) - msr->data |= MSR_F10H_DECFG_LFENCE_SERIALIZE; + case MSR_AMD64_DE_CFG: + if (cpu_feature_enabled(X86_FEATURE_LFENCE_RDTSC)) + msr->data |= MSR_AMD64_DE_CFG_LFENCE_SERIALIZE; break; case MSR_IA32_PERF_CAPABILITIES: return 0; @@ -2812,7 +2812,7 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) msr_info->data = 0x1E; } break; - case MSR_F10H_DECFG: + case MSR_AMD64_DE_CFG: msr_info->data = svm->msr_decfg; break; default: @@ -3041,7 +3041,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) case MSR_VM_IGNNE: vcpu_unimpl(vcpu, "unimplemented wrmsr: 0x%x data 0x%llx\n", ecx, data); break; - case MSR_F10H_DECFG: { + case MSR_AMD64_DE_CFG: { struct kvm_msr_entry msr_entry; msr_entry.index = msr->index; diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index ecea83f0da49..490ec23c8450 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1557,7 +1557,7 @@ static const u32 msr_based_features_all[] = { MSR_IA32_VMX_EPT_VPID_CAP, MSR_IA32_VMX_VMFUNC, - MSR_F10H_DECFG, + MSR_AMD64_DE_CFG, MSR_IA32_UCODE_REV, MSR_IA32_ARCH_CAPABILITIES, MSR_IA32_PERF_CAPABILITIES, diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c index bb176c72891c..4cd39f304e20 100644 --- a/arch/x86/power/cpu.c +++ b/arch/x86/power/cpu.c @@ -519,6 +519,7 @@ static void pm_save_spec_msr(void) MSR_TSX_FORCE_ABORT, MSR_IA32_MCU_OPT_CTRL, MSR_AMD64_LS_CFG, + MSR_AMD64_DE_CFG, }; msr_build_context(spec_msr_id, ARRAY_SIZE(spec_msr_id)); diff --git a/tools/arch/x86/include/asm/msr-index.h b/tools/arch/x86/include/asm/msr-index.h index 10ac52705892..f17ade084720 100644 --- a/tools/arch/x86/include/asm/msr-index.h +++ b/tools/arch/x86/include/asm/msr-index.h @@ -535,6 +535,11 @@ #define MSR_AMD64_CPUID_FN_1 0xc0011004 #define MSR_AMD64_LS_CFG 0xc0011020 #define MSR_AMD64_DC_CFG 0xc0011022 + +#define MSR_AMD64_DE_CFG 0xc0011029 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT 1 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE BIT_ULL(MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT) + #define MSR_AMD64_BU_CFG2 0xc001102a #define MSR_AMD64_IBSFETCHCTL 0xc0011030 #define MSR_AMD64_IBSFETCHLINAD 0xc0011031 @@ -640,9 +645,6 @@ #define FAM10H_MMIO_CONF_BASE_MASK 0xfffffffULL #define FAM10H_MMIO_CONF_BASE_SHIFT 20 #define MSR_FAM10H_NODE_ID 0xc001100c -#define MSR_F10H_DECFG 0xc0011029 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT 1 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE BIT_ULL(MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT) /* K8 MSRs */ #define MSR_K8_TOP_MEM1 0xc001001a -- cgit v1.2.3-59-g8ed1b From c9b895c6878bdb6789dc1d7af60fd10f4a9f1937 Mon Sep 17 00:00:00 2001 From: Liu Jian Date: Mon, 14 Nov 2022 17:55:49 +0800 Subject: net: ag71xx: call phylink_disconnect_phy if ag71xx_hw_enable() fail in ag71xx_open() If ag71xx_hw_enable() fails, call phylink_disconnect_phy() to clean up. And if phylink_of_phy_connect() fails, nothing needs to be done. Compile tested only. Fixes: 892e09153fa3 ("net: ag71xx: port to phylink") Signed-off-by: Liu Jian Reviewed-by: Russell King (Oracle) Link: https://lore.kernel.org/r/20221114095549.40342-1-liujian56@huawei.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/atheros/ag71xx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c index cc932b3cf873..4a1efe9b37d0 100644 --- a/drivers/net/ethernet/atheros/ag71xx.c +++ b/drivers/net/ethernet/atheros/ag71xx.c @@ -1427,7 +1427,7 @@ static int ag71xx_open(struct net_device *ndev) if (ret) { netif_err(ag, link, ndev, "phylink_of_phy_connect filed with err: %i\n", ret); - goto err; + return ret; } max_frame_len = ag71xx_max_frame_len(ndev->mtu); @@ -1448,6 +1448,7 @@ static int ag71xx_open(struct net_device *ndev) err: ag71xx_rings_cleanup(ag); + phylink_disconnect_phy(ag->phylink); return ret; } -- cgit v1.2.3-59-g8ed1b From 2929cceb2fcf0ded7182562e4888afafece82cce Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Mon, 14 Nov 2022 11:05:19 +0000 Subject: net/x25: Fix skb leak in x25_lapb_receive_frame() x25_lapb_receive_frame() using skb_copy() to get a private copy of skb, the new skb should be freed in the undersized/fragmented skb error handling path. Otherwise there is a memory leak. Fixes: cb101ed2c3c7 ("x25: Handle undersized/fragmented skbs") Signed-off-by: Wei Yongjun Acked-by: Martin Schiller Link: https://lore.kernel.org/r/20221114110519.514538-1-weiyongjun@huaweicloud.com Signed-off-by: Jakub Kicinski --- net/x25/x25_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/x25/x25_dev.c b/net/x25/x25_dev.c index 5259ef8f5242..748d8630ab58 100644 --- a/net/x25/x25_dev.c +++ b/net/x25/x25_dev.c @@ -117,7 +117,7 @@ int x25_lapb_receive_frame(struct sk_buff *skb, struct net_device *dev, if (!pskb_may_pull(skb, 1)) { x25_neigh_put(nb); - return 0; + goto drop; } switch (skb->data[0]) { -- cgit v1.2.3-59-g8ed1b From 4e0c19fcb8b5323716140fa82b79aa9f60e60407 Mon Sep 17 00:00:00 2001 From: Vladimir Oltean Date: Mon, 14 Nov 2022 16:35:51 +0200 Subject: net: dsa: don't leak tagger-owned storage on switch driver unbind In the initial commit dc452a471dba ("net: dsa: introduce tagger-owned storage for private and shared data"), we had a call to tag_ops->disconnect(dst) issued from dsa_tree_free(), which is called at tree teardown time. There were problems with connecting to a switch tree as a whole, so this got reworked to connecting to individual switches within the tree. In this process, tag_ops->disconnect(ds) was made to be called only from switch.c (cross-chip notifiers emitted as a result of dynamic tag proto changes), but the normal driver teardown code path wasn't replaced with anything. Solve this problem by adding a function that does the opposite of dsa_switch_setup_tag_protocol(), which is called from the equivalent spot in dsa_switch_teardown(). The positioning here also ensures that we won't have any use-after-free in tagging protocol (*rcv) ops, since the teardown sequence is as follows: dsa_tree_teardown -> dsa_tree_teardown_master -> dsa_master_teardown -> unsets master->dsa_ptr, making no further packets match the ETH_P_XDSA packet type handler -> dsa_tree_teardown_ports -> dsa_port_teardown -> dsa_slave_destroy -> unregisters DSA net devices, there is even a synchronize_net() in unregister_netdevice_many() -> dsa_tree_teardown_switches -> dsa_switch_teardown -> dsa_switch_teardown_tag_protocol -> finally frees the tagger-owned storage Fixes: 7f2973149c22 ("net: dsa: make tagging protocols connect to individual switches from a tree") Signed-off-by: Vladimir Oltean Reviewed-by: Saeed Mahameed Reviewed-by: Florian Fainelli Link: https://lore.kernel.org/r/20221114143551.1906361-1-vladimir.oltean@nxp.com Signed-off-by: Jakub Kicinski --- net/dsa/dsa2.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index e504a18fc125..5417f7b1187c 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -864,6 +864,14 @@ disconnect: return err; } +static void dsa_switch_teardown_tag_protocol(struct dsa_switch *ds) +{ + const struct dsa_device_ops *tag_ops = ds->dst->tag_ops; + + if (tag_ops->disconnect) + tag_ops->disconnect(ds); +} + static int dsa_switch_setup(struct dsa_switch *ds) { struct dsa_devlink_priv *dl_priv; @@ -953,6 +961,8 @@ static void dsa_switch_teardown(struct dsa_switch *ds) ds->slave_mii_bus = NULL; } + dsa_switch_teardown_tag_protocol(ds); + if (ds->ops->teardown) ds->ops->teardown(ds); -- cgit v1.2.3-59-g8ed1b From 4a567d164d0e0c57e7b694b988db86361f130cb7 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 16 Nov 2022 00:14:40 +0100 Subject: platform/surface: aggregator_registry: Add support for Surface Laptop 5 Add device nodes to enable support for battery and charger status, the ACPI platform profile, as well as internal HID devices (including touchpad and keyboard) on the Surface Laptop 5. Signed-off-by: Maximilian Luz Link: https://lore.kernel.org/r/20221115231440.1338142-1-luzmaximilian@gmail.com Signed-off-by: Hans de Goede --- drivers/platform/surface/surface_aggregator_registry.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c index db82c2a7c567..023f126121d7 100644 --- a/drivers/platform/surface/surface_aggregator_registry.c +++ b/drivers/platform/surface/surface_aggregator_registry.c @@ -234,6 +234,19 @@ static const struct software_node *ssam_node_group_sl3[] = { NULL, }; +/* Devices for Surface Laptop 5. */ +static const struct software_node *ssam_node_group_sl5[] = { + &ssam_node_root, + &ssam_node_bat_ac, + &ssam_node_bat_main, + &ssam_node_tmp_pprof, + &ssam_node_hid_main_keyboard, + &ssam_node_hid_main_touchpad, + &ssam_node_hid_main_iid5, + &ssam_node_hid_sam_ucm_ucsi, + NULL, +}; + /* Devices for Surface Laptop Studio. */ static const struct software_node *ssam_node_group_sls[] = { &ssam_node_root, @@ -345,6 +358,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = { /* Surface Laptop 4 (13", Intel) */ { "MSHW0250", (unsigned long)ssam_node_group_sl3 }, + /* Surface Laptop 5 */ + { "MSHW0350", (unsigned long)ssam_node_group_sl5 }, + /* Surface Laptop Go 1 */ { "MSHW0118", (unsigned long)ssam_node_group_slg1 }, -- cgit v1.2.3-59-g8ed1b From 8b9b6a044b408283b086702b1d9e3cf4ba45b426 Mon Sep 17 00:00:00 2001 From: Kai-Heng Feng Date: Mon, 14 Nov 2022 15:38:41 +0800 Subject: platform/x86: hp-wmi: Ignore Smart Experience App event Sometimes hp-wmi driver complains on system resume: [ 483.116451] hp_wmi: Unknown event_id - 33 - 0x0 According to HP it's a feature called "HP Smart Experience App" and it's safe to be ignored. Signed-off-by: Kai-Heng Feng Link: https://lore.kernel.org/r/20221114073842.205392-1-kai.heng.feng@canonical.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- drivers/platform/x86/hp-wmi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c index 12449038bed1..0a99058be813 100644 --- a/drivers/platform/x86/hp-wmi.c +++ b/drivers/platform/x86/hp-wmi.c @@ -90,6 +90,7 @@ enum hp_wmi_event_ids { HPWMI_PEAKSHIFT_PERIOD = 0x0F, HPWMI_BATTERY_CHARGE_PERIOD = 0x10, HPWMI_SANITIZATION_MODE = 0x17, + HPWMI_SMART_EXPERIENCE_APP = 0x21, }; /* @@ -859,6 +860,8 @@ static void hp_wmi_notify(u32 value, void *context) break; case HPWMI_SANITIZATION_MODE: break; + case HPWMI_SMART_EXPERIENCE_APP: + break; default: pr_info("Unknown event_id - %d - 0x%x\n", event_id, event_data); break; -- cgit v1.2.3-59-g8ed1b From 81a5603a0f50fd7cf17ff21d106052215eaf2028 Mon Sep 17 00:00:00 2001 From: Arnav Rawat Date: Fri, 11 Nov 2022 14:32:09 +0000 Subject: platform/x86: ideapad-laptop: Fix interrupt storm on fn-lock toggle on some Yoga laptops Commit 3ae86d2d4704 ("platform/x86: ideapad-laptop: Fix Legion 5 Fn lock LED") uses the WMI event-id for the fn-lock event on some Legion 5 laptops to manually toggle the fn-lock LED because the EC does not do it itself. However, the same WMI ID is also sent on some Yoga laptops. Here, setting the fn-lock state is not valid behavior, and causes the EC to spam interrupts until the laptop is rebooted. Add a set_fn_lock_led_list[] DMI-id list and only enable the workaround to manually set the LED on models on this list. Link: https://bugzilla.kernel.org/show_bug.cgi?id=212671 Cc: Meng Dong Signed-off-by: Arnav Rawat Link: https://lore.kernel.org/r/12093851.O9o76ZdvQC@fedora [hdegoede@redhat.com: Check DMI-id list only once and store the result] Signed-off-by: Hans de Goede --- drivers/platform/x86/ideapad-laptop.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c index 33b3dfdd1b08..6c460cdc05bb 100644 --- a/drivers/platform/x86/ideapad-laptop.c +++ b/drivers/platform/x86/ideapad-laptop.c @@ -136,6 +136,7 @@ struct ideapad_private { bool dytc : 1; bool fan_mode : 1; bool fn_lock : 1; + bool set_fn_lock_led : 1; bool hw_rfkill_switch : 1; bool kbd_bl : 1; bool touchpad_ctrl_via_ec : 1; @@ -1501,6 +1502,9 @@ static void ideapad_wmi_notify(u32 value, void *context) ideapad_input_report(priv, value); break; case 208: + if (!priv->features.set_fn_lock_led) + break; + if (!eval_hals(priv->adev->handle, &result)) { bool state = test_bit(HALS_FNLOCK_STATE_BIT, &result); @@ -1514,6 +1518,18 @@ static void ideapad_wmi_notify(u32 value, void *context) } #endif +/* On some models we need to call exec_sals(SALS_FNLOCK_ON/OFF) to set the LED */ +static const struct dmi_system_id set_fn_lock_led_list[] = { + { + /* https://bugzilla.kernel.org/show_bug.cgi?id=212671 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Legion R7000P2020H"), + } + }, + {} +}; + /* * Some ideapads have a hardware rfkill switch, but most do not have one. * Reading VPCCMD_R_RF always results in 0 on models without a hardware rfkill, @@ -1556,6 +1572,7 @@ static void ideapad_check_features(struct ideapad_private *priv) acpi_handle handle = priv->adev->handle; unsigned long val; + priv->features.set_fn_lock_led = dmi_check_system(set_fn_lock_led_list); priv->features.hw_rfkill_switch = dmi_check_system(hw_rfkill_list); /* Most ideapads with ELAN0634 touchpad don't use EC touchpad switch */ -- cgit v1.2.3-59-g8ed1b From b44fd994e45112b58b6c1dec4451d9a925784589 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 15 Nov 2022 20:34:00 +0100 Subject: platform/x86: ideapad-laptop: Add module parameters to match DMI quirk tables Add module parameters to allow setting the hw_rfkill_switch and set_fn_lock_led feature flags for testing these on laptops which are not on the DMI-id based allow lists for these 2 flags. Signed-off-by: Hans de Goede Link: https://lore.kernel.org/r/20221115193400.376159-1-hdegoede@redhat.com --- drivers/platform/x86/ideapad-laptop.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c index 6c460cdc05bb..3ea8fc6a9ca3 100644 --- a/drivers/platform/x86/ideapad-laptop.c +++ b/drivers/platform/x86/ideapad-laptop.c @@ -155,7 +155,21 @@ MODULE_PARM_DESC(no_bt_rfkill, "No rfkill for bluetooth."); static bool allow_v4_dytc; module_param(allow_v4_dytc, bool, 0444); -MODULE_PARM_DESC(allow_v4_dytc, "Enable DYTC version 4 platform-profile support."); +MODULE_PARM_DESC(allow_v4_dytc, + "Enable DYTC version 4 platform-profile support. " + "If you need this please report this to: platform-driver-x86@vger.kernel.org"); + +static bool hw_rfkill_switch; +module_param(hw_rfkill_switch, bool, 0444); +MODULE_PARM_DESC(hw_rfkill_switch, + "Enable rfkill support for laptops with a hw on/off wifi switch/slider. " + "If you need this please report this to: platform-driver-x86@vger.kernel.org"); + +static bool set_fn_lock_led; +module_param(set_fn_lock_led, bool, 0444); +MODULE_PARM_DESC(set_fn_lock_led, + "Enable driver based updates of the fn-lock LED on fn-lock changes. " + "If you need this please report this to: platform-driver-x86@vger.kernel.org"); /* * ACPI Helpers @@ -1572,8 +1586,10 @@ static void ideapad_check_features(struct ideapad_private *priv) acpi_handle handle = priv->adev->handle; unsigned long val; - priv->features.set_fn_lock_led = dmi_check_system(set_fn_lock_led_list); - priv->features.hw_rfkill_switch = dmi_check_system(hw_rfkill_list); + priv->features.set_fn_lock_led = + set_fn_lock_led || dmi_check_system(set_fn_lock_led_list); + priv->features.hw_rfkill_switch = + hw_rfkill_switch || dmi_check_system(hw_rfkill_list); /* Most ideapads with ELAN0634 touchpad don't use EC touchpad switch */ if (acpi_dev_present("ELAN0634", NULL, -1)) -- cgit v1.2.3-59-g8ed1b From ba86af3733aece88dbcee0dfebf7e2dcfefb2be4 Mon Sep 17 00:00:00 2001 From: Shang XiaoJing Date: Mon, 14 Nov 2022 21:38:52 +0800 Subject: net: lan966x: Fix potential null-ptr-deref in lan966x_stats_init() lan966x_stats_init() calls create_singlethread_workqueue() and not checked the ret value, which may return NULL. And a null-ptr-deref may happen: lan966x_stats_init() create_singlethread_workqueue() # failed, lan966x->stats_queue is NULL queue_delayed_work() queue_delayed_work_on() __queue_delayed_work() # warning here, but continue __queue_work() # access wq->flags, null-ptr-deref Check the ret value and return -ENOMEM if it is NULL. Fixes: 12c2d0a5b8e2 ("net: lan966x: add ethtool configuration and statistics") Signed-off-by: Shang XiaoJing Reviewed-by: Horatiu Vultur Signed-off-by: David S. Miller --- drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c b/drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c index fea42542be28..06811c60d598 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c @@ -716,6 +716,9 @@ int lan966x_stats_init(struct lan966x *lan966x) snprintf(queue_name, sizeof(queue_name), "%s-stats", dev_name(lan966x->dev)); lan966x->stats_queue = create_singlethread_workqueue(queue_name); + if (!lan966x->stats_queue) + return -ENOMEM; + INIT_DELAYED_WORK(&lan966x->stats_work, lan966x_check_stats_work); queue_delayed_work(lan966x->stats_queue, &lan966x->stats_work, LAN966X_STATS_CHECK_DELAY); -- cgit v1.2.3-59-g8ed1b From 639f5d006e36bb303f525d9479448c412b720c39 Mon Sep 17 00:00:00 2001 From: Shang XiaoJing Date: Mon, 14 Nov 2022 21:38:53 +0800 Subject: net: microchip: sparx5: Fix potential null-ptr-deref in sparx_stats_init() and sparx5_start() sparx_stats_init() calls create_singlethread_workqueue() and not checked the ret value, which may return NULL. And a null-ptr-deref may happen: sparx_stats_init() create_singlethread_workqueue() # failed, sparx5->stats_queue is NULL queue_delayed_work() queue_delayed_work_on() __queue_delayed_work() # warning here, but continue __queue_work() # access wq->flags, null-ptr-deref Check the ret value and return -ENOMEM if it is NULL. So as sparx5_start(). Fixes: af4b11022e2d ("net: sparx5: add ethtool configuration and statistics support") Fixes: b37a1bae742f ("net: sparx5: add mactable support") Signed-off-by: Shang XiaoJing Signed-off-by: David S. Miller --- drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c | 3 +++ drivers/net/ethernet/microchip/sparx5/sparx5_main.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c b/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c index 6b0febcb7fa9..01f3a3a41cdb 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c @@ -1253,6 +1253,9 @@ int sparx_stats_init(struct sparx5 *sparx5) snprintf(queue_name, sizeof(queue_name), "%s-stats", dev_name(sparx5->dev)); sparx5->stats_queue = create_singlethread_workqueue(queue_name); + if (!sparx5->stats_queue) + return -ENOMEM; + INIT_DELAYED_WORK(&sparx5->stats_work, sparx5_check_stats_work); queue_delayed_work(sparx5->stats_queue, &sparx5->stats_work, SPX5_STATS_CHECK_DELAY); diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c index 62a325e96345..eeac04b84638 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c @@ -659,6 +659,9 @@ static int sparx5_start(struct sparx5 *sparx5) snprintf(queue_name, sizeof(queue_name), "%s-mact", dev_name(sparx5->dev)); sparx5->mact_queue = create_singlethread_workqueue(queue_name); + if (!sparx5->mact_queue) + return -ENOMEM; + INIT_DELAYED_WORK(&sparx5->mact_work, sparx5_mact_pull_work); queue_delayed_work(sparx5->mact_queue, &sparx5->mact_work, SPX5_MACT_PULL_DELAY); -- cgit v1.2.3-59-g8ed1b From f524b7289bbb0c8ffaa2ba3c34c146e43da54fb2 Mon Sep 17 00:00:00 2001 From: Yuan Can Date: Mon, 14 Nov 2022 14:22:25 +0000 Subject: net: thunderbolt: Fix error handling in tbnet_init() A problem about insmod thunderbolt-net failed is triggered with following log given while lsmod does not show thunderbolt_net: insmod: ERROR: could not insert module thunderbolt-net.ko: File exists The reason is that tbnet_init() returns tb_register_service_driver() directly without checking its return value, if tb_register_service_driver() failed, it returns without removing property directory, resulting the property directory can never be created later. tbnet_init() tb_register_property_dir() # register property directory tb_register_service_driver() driver_register() bus_add_driver() priv = kzalloc(...) # OOM happened # return without remove property directory Fix by remove property directory when tb_register_service_driver() returns error. Fixes: e69b6c02b4c3 ("net: Add support for networking over Thunderbolt cable") Signed-off-by: Yuan Can Acked-by: Mika Westerberg Signed-off-by: David S. Miller --- drivers/net/thunderbolt.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/net/thunderbolt.c b/drivers/net/thunderbolt.c index 83fcaeb2ac5e..a52ee2bf5575 100644 --- a/drivers/net/thunderbolt.c +++ b/drivers/net/thunderbolt.c @@ -1391,12 +1391,21 @@ static int __init tbnet_init(void) tb_property_add_immediate(tbnet_dir, "prtcstns", flags); ret = tb_register_property_dir("network", tbnet_dir); - if (ret) { - tb_property_free_dir(tbnet_dir); - return ret; - } + if (ret) + goto err_free_dir; + + ret = tb_register_service_driver(&tbnet_driver); + if (ret) + goto err_unregister; - return tb_register_service_driver(&tbnet_driver); + return 0; + +err_unregister: + tb_unregister_property_dir("network", tbnet_dir); +err_free_dir: + tb_property_free_dir(tbnet_dir); + + return ret; } module_init(tbnet_init); -- cgit v1.2.3-59-g8ed1b From b68777d54fac21fc833ec26ea1a2a84f975ab035 Mon Sep 17 00:00:00 2001 From: Jakub Sitnicki Date: Mon, 14 Nov 2022 20:16:19 +0100 Subject: l2tp: Serialize access to sk_user_data with sk_callback_lock sk->sk_user_data has multiple users, which are not compatible with each other. Writers must synchronize by grabbing the sk->sk_callback_lock. l2tp currently fails to grab the lock when modifying the underlying tunnel socket fields. Fix it by adding appropriate locking. We err on the side of safety and grab the sk_callback_lock also inside the sk_destruct callback overridden by l2tp, even though there should be no refs allowing access to the sock at the time when sk_destruct gets called. v4: - serialize write to sk_user_data in l2tp sk_destruct v3: - switch from sock lock to sk_callback_lock - document write-protection for sk_user_data v2: - update Fixes to point to origin of the bug - use real names in Reported/Tested-by tags Cc: Tom Parkin Fixes: 3557baabf280 ("[L2TP]: PPP over L2TP driver core") Reported-by: Haowei Yan Signed-off-by: Jakub Sitnicki Signed-off-by: David S. Miller --- include/net/sock.h | 2 +- net/l2tp/l2tp_core.c | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/include/net/sock.h b/include/net/sock.h index 5db02546941c..e0517ecc6531 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -323,7 +323,7 @@ struct sk_filter; * @sk_tskey: counter to disambiguate concurrent tstamp requests * @sk_zckey: counter to order MSG_ZEROCOPY notifications * @sk_socket: Identd and reporting IO signals - * @sk_user_data: RPC layer private data + * @sk_user_data: RPC layer private data. Write-protected by @sk_callback_lock. * @sk_frag: cached page frag * @sk_peek_off: current peek_offset value * @sk_send_head: front of stuff to transmit diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c index 7499c51b1850..754fdda8a5f5 100644 --- a/net/l2tp/l2tp_core.c +++ b/net/l2tp/l2tp_core.c @@ -1150,8 +1150,10 @@ static void l2tp_tunnel_destruct(struct sock *sk) } /* Remove hooks into tunnel socket */ + write_lock_bh(&sk->sk_callback_lock); sk->sk_destruct = tunnel->old_sk_destruct; sk->sk_user_data = NULL; + write_unlock_bh(&sk->sk_callback_lock); /* Call the original destructor */ if (sk->sk_destruct) @@ -1469,16 +1471,18 @@ int l2tp_tunnel_register(struct l2tp_tunnel *tunnel, struct net *net, sock = sockfd_lookup(tunnel->fd, &ret); if (!sock) goto err; - - ret = l2tp_validate_socket(sock->sk, net, tunnel->encap); - if (ret < 0) - goto err_sock; } + sk = sock->sk; + write_lock(&sk->sk_callback_lock); + + ret = l2tp_validate_socket(sk, net, tunnel->encap); + if (ret < 0) + goto err_sock; + tunnel->l2tp_net = net; pn = l2tp_pernet(net); - sk = sock->sk; sock_hold(sk); tunnel->sock = sk; @@ -1504,7 +1508,7 @@ int l2tp_tunnel_register(struct l2tp_tunnel *tunnel, struct net *net, setup_udp_tunnel_sock(net, sock, &udp_cfg); } else { - sk->sk_user_data = tunnel; + rcu_assign_sk_user_data(sk, tunnel); } tunnel->old_sk_destruct = sk->sk_destruct; @@ -1518,6 +1522,7 @@ int l2tp_tunnel_register(struct l2tp_tunnel *tunnel, struct net *net, if (tunnel->fd >= 0) sockfd_put(sock); + write_unlock(&sk->sk_callback_lock); return 0; err_sock: @@ -1525,6 +1530,8 @@ err_sock: sock_release(sock); else sockfd_put(sock); + + write_unlock(&sk->sk_callback_lock); err: return ret; } -- cgit v1.2.3-59-g8ed1b From aeac4ec8f46d610a10adbaeff5e2edf6a88ffc62 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Mon, 14 Nov 2022 22:56:16 +0000 Subject: tcp: configurable source port perturb table size On embedded systems with little memory and no relevant security concerns, it is beneficial to reduce the size of the table. Reducing the size from 2^16 to 2^8 saves 255 KiB of kernel RAM. Makes the table size configurable as an expert option. The size was previously increased from 2^8 to 2^16 in commit 4c2c8f03a5ab ("tcp: increase source port perturb table to 2^16"). Signed-off-by: Gleb Mazovetskiy Reviewed-by: Kuniyuki Iwashima Signed-off-by: David S. Miller --- net/ipv4/Kconfig | 10 ++++++++++ net/ipv4/inet_hashtables.c | 10 +++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig index e983bb0c5012..2dfb12230f08 100644 --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig @@ -402,6 +402,16 @@ config INET_IPCOMP If unsure, say Y. +config INET_TABLE_PERTURB_ORDER + int "INET: Source port perturbation table size (as power of 2)" if EXPERT + default 16 + help + Source port perturbation table size (as power of 2) for + RFC 6056 3.3.4. Algorithm 4: Double-Hash Port Selection Algorithm. + + The default is almost always what you want. + Only change this if you know what you are doing. + config INET_XFRM_TUNNEL tristate select INET_TUNNEL diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index d3dc28156622..033bf3c2538f 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c @@ -906,13 +906,13 @@ EXPORT_SYMBOL_GPL(inet_bhash2_update_saddr); * Note that we use 32bit integers (vs RFC 'short integers') * because 2^16 is not a multiple of num_ephemeral and this * property might be used by clever attacker. + * * RFC claims using TABLE_LENGTH=10 buckets gives an improvement, though - * attacks were since demonstrated, thus we use 65536 instead to really - * give more isolation and privacy, at the expense of 256kB of kernel - * memory. + * attacks were since demonstrated, thus we use 65536 by default instead + * to really give more isolation and privacy, at the expense of 256kB + * of kernel memory. */ -#define INET_TABLE_PERTURB_SHIFT 16 -#define INET_TABLE_PERTURB_SIZE (1 << INET_TABLE_PERTURB_SHIFT) +#define INET_TABLE_PERTURB_SIZE (1 << CONFIG_INET_TABLE_PERTURB_ORDER) static u32 *table_perturb; int __inet_hash_connect(struct inet_timewait_death_row *death_row, -- cgit v1.2.3-59-g8ed1b From 064bc7312bd09a48798418663090be0c776183db Mon Sep 17 00:00:00 2001 From: Wang Yufen Date: Tue, 15 Nov 2022 17:30:25 +0800 Subject: netdevsim: Fix memory leak of nsim_dev->fa_cookie kmemleak reports this issue: unreferenced object 0xffff8881bac872d0 (size 8): comm "sh", pid 58603, jiffies 4481524462 (age 68.065s) hex dump (first 8 bytes): 04 00 00 00 de ad be ef ........ backtrace: [<00000000c80b8577>] __kmalloc+0x49/0x150 [<000000005292b8c6>] nsim_dev_trap_fa_cookie_write+0xc1/0x210 [netdevsim] [<0000000093d78e77>] full_proxy_write+0xf3/0x180 [<000000005a662c16>] vfs_write+0x1c5/0xaf0 [<000000007aabf84a>] ksys_write+0xed/0x1c0 [<000000005f1d2e47>] do_syscall_64+0x3b/0x90 [<000000006001c6ec>] entry_SYSCALL_64_after_hwframe+0x63/0xcd The issue occurs in the following scenarios: nsim_dev_trap_fa_cookie_write() kmalloc() fa_cookie nsim_dev->fa_cookie = fa_cookie .. nsim_drv_remove() The fa_cookie allocked in nsim_dev_trap_fa_cookie_write() is not freed. To fix, add kfree(nsim_dev->fa_cookie) to nsim_drv_remove(). Fixes: d3cbb907ae57 ("netdevsim: add ACL trap reporting cookie as a metadata") Signed-off-by: Wang Yufen Cc: Jiri Pirko Link: https://lore.kernel.org/r/1668504625-14698-1-git-send-email-wangyufen@huawei.com Signed-off-by: Jakub Kicinski --- drivers/net/netdevsim/dev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c index a7880c7ce94c..68e56e451b2b 100644 --- a/drivers/net/netdevsim/dev.c +++ b/drivers/net/netdevsim/dev.c @@ -1683,6 +1683,7 @@ void nsim_drv_remove(struct nsim_bus_dev *nsim_bus_dev) ARRAY_SIZE(nsim_devlink_params)); devl_resources_unregister(devlink); kfree(nsim_dev->vfconfigs); + kfree(nsim_dev->fa_cookie); devl_unlock(devlink); devlink_free(devlink); dev_set_drvdata(&nsim_bus_dev->dev, NULL); -- cgit v1.2.3-59-g8ed1b From e103ba33998d0f25653cc8ebe745b68d1ee10cda Mon Sep 17 00:00:00 2001 From: Enrico Sau Date: Tue, 15 Nov 2022 11:58:59 +0100 Subject: net: usb: qmi_wwan: add Telit 0x103a composition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the following Telit LE910C4-WWX composition: 0x103a: rmnet Signed-off-by: Enrico Sau Acked-by: Bjørn Mork Link: https://lore.kernel.org/r/20221115105859.14324-1-enrico.sau@gmail.com Signed-off-by: Paolo Abeni --- drivers/net/usb/qmi_wwan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c index 26c34a7c21bd..afd6faa4c2ec 100644 --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c @@ -1357,6 +1357,7 @@ static const struct usb_device_id products[] = { {QMI_FIXED_INTF(0x2357, 0x0201, 4)}, /* TP-LINK HSUPA Modem MA180 */ {QMI_FIXED_INTF(0x2357, 0x9000, 4)}, /* TP-LINK MA260 */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1031, 3)}, /* Telit LE910C1-EUX */ + {QMI_QUIRK_SET_DTR(0x1bc7, 0x103a, 0)}, /* Telit LE910C4-WWX */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1040, 2)}, /* Telit LE922A */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1050, 2)}, /* Telit FN980 */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1057, 2)}, /* Telit FN980 */ -- cgit v1.2.3-59-g8ed1b From 809ff97a677ff85dfb7ce2b63be261d1633dcf29 Mon Sep 17 00:00:00 2001 From: Alexandru Tachici Date: Tue, 15 Nov 2022 13:44:34 +0200 Subject: net: usb: smsc95xx: fix external PHY reset An external PHY needs settling time after power up or reset. In the bind() function an mdio bus is registered. If at this point the external PHY is still initialising, no valid PHY ID will be read and on phy_find_first() the bind() function will fail. If an external PHY is present, wait the maximum time specified in 802.3 45.2.7.1.1. Fixes: 05b35e7eb9a1 ("smsc95xx: add phylib support") Signed-off-by: Alexandru Tachici Reviewed-by: Andrew Lunn Link: https://lore.kernel.org/r/20221115114434.9991-2-alexandru.tachici@analog.com Signed-off-by: Paolo Abeni --- drivers/net/usb/smsc95xx.c | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index bfb58c91db04..32d2c60d334d 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -66,6 +66,7 @@ struct smsc95xx_priv { spinlock_t mac_cr_lock; u8 features; u8 suspend_flags; + bool is_internal_phy; struct irq_chip irqchip; struct irq_domain *irqdomain; struct fwnode_handle *irqfwnode; @@ -252,6 +253,43 @@ done: mutex_unlock(&dev->phy_mutex); } +static int smsc95xx_mdiobus_reset(struct mii_bus *bus) +{ + struct smsc95xx_priv *pdata; + struct usbnet *dev; + u32 val; + int ret; + + dev = bus->priv; + pdata = dev->driver_priv; + + if (pdata->is_internal_phy) + return 0; + + mutex_lock(&dev->phy_mutex); + + ret = smsc95xx_read_reg(dev, PM_CTRL, &val); + if (ret < 0) + goto reset_out; + + val |= PM_CTL_PHY_RST_; + + ret = smsc95xx_write_reg(dev, PM_CTRL, val); + if (ret < 0) + goto reset_out; + + /* Driver has no knowledge at this point about the external PHY. + * The 802.3 specifies that the reset process shall + * be completed within 0.5 s. + */ + fsleep(500000); + +reset_out: + mutex_unlock(&dev->phy_mutex); + + return 0; +} + static int smsc95xx_mdiobus_read(struct mii_bus *bus, int phy_id, int idx) { struct usbnet *dev = bus->priv; @@ -1052,7 +1090,6 @@ static void smsc95xx_handle_link_change(struct net_device *net) static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) { struct smsc95xx_priv *pdata; - bool is_internal_phy; char usb_path[64]; int ret, phy_irq; u32 val; @@ -1133,13 +1170,14 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) if (ret < 0) goto free_mdio; - is_internal_phy = !(val & HW_CFG_PSEL_); - if (is_internal_phy) + pdata->is_internal_phy = !(val & HW_CFG_PSEL_); + if (pdata->is_internal_phy) pdata->mdiobus->phy_mask = ~(1u << SMSC95XX_INTERNAL_PHY_ID); pdata->mdiobus->priv = dev; pdata->mdiobus->read = smsc95xx_mdiobus_read; pdata->mdiobus->write = smsc95xx_mdiobus_write; + pdata->mdiobus->reset = smsc95xx_mdiobus_reset; pdata->mdiobus->name = "smsc95xx-mdiobus"; pdata->mdiobus->parent = &dev->udev->dev; @@ -1160,7 +1198,7 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) } pdata->phydev->irq = phy_irq; - pdata->phydev->is_internal = is_internal_phy; + pdata->phydev->is_internal = pdata->is_internal_phy; /* detect device revision as different features may be available */ ret = smsc95xx_read_reg(dev, ID_REV, &val); -- cgit v1.2.3-59-g8ed1b From 58e0be1ef6118c5352b56a4d06e974c5599993a5 Mon Sep 17 00:00:00 2001 From: Hangbin Liu Date: Tue, 15 Nov 2022 22:24:00 +0800 Subject: net: use struct_group to copy ip/ipv6 header addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kernel test robot reported warnings when build bonding module with make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/bonding/: from ../drivers/net/bonding/bond_main.c:35: In function ‘fortify_memcpy_chk’, inlined from ‘iph_to_flow_copy_v4addrs’ at ../include/net/ip.h:566:2, inlined from ‘bond_flow_ip’ at ../drivers/net/bonding/bond_main.c:3984:3: ../include/linux/fortify-string.h:413:25: warning: call to ‘__read_overflow2_field’ declared with attribute warning: detected read beyond size of f ield (2nd parameter); maybe use struct_group()? [-Wattribute-warning] 413 | __read_overflow2_field(q_size_field, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘fortify_memcpy_chk’, inlined from ‘iph_to_flow_copy_v6addrs’ at ../include/net/ipv6.h:900:2, inlined from ‘bond_flow_ip’ at ../drivers/net/bonding/bond_main.c:3994:3: ../include/linux/fortify-string.h:413:25: warning: call to ‘__read_overflow2_field’ declared with attribute warning: detected read beyond size of f ield (2nd parameter); maybe use struct_group()? [-Wattribute-warning] 413 | __read_overflow2_field(q_size_field, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is because we try to copy the whole ip/ip6 address to the flow_key, while we only point the to ip/ip6 saddr. Note that since these are UAPI headers, __struct_group() is used to avoid the compiler warnings. Reported-by: kernel test robot Fixes: c3f8324188fa ("net: Add full IPv6 addresses to flow_keys") Signed-off-by: Hangbin Liu Link: https://lore.kernel.org/r/20221115142400.1204786-1-liuhangbin@gmail.com Signed-off-by: Paolo Abeni --- include/net/ip.h | 2 +- include/net/ipv6.h | 2 +- include/uapi/linux/ip.h | 6 ++++-- include/uapi/linux/ipv6.h | 6 ++++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/net/ip.h b/include/net/ip.h index 038097c2a152..144bdfbb25af 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -563,7 +563,7 @@ static inline void iph_to_flow_copy_v4addrs(struct flow_keys *flow, BUILD_BUG_ON(offsetof(typeof(flow->addrs), v4addrs.dst) != offsetof(typeof(flow->addrs), v4addrs.src) + sizeof(flow->addrs.v4addrs.src)); - memcpy(&flow->addrs.v4addrs, &iph->saddr, sizeof(flow->addrs.v4addrs)); + memcpy(&flow->addrs.v4addrs, &iph->addrs, sizeof(flow->addrs.v4addrs)); flow->control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS; } diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 37943ba3a73c..d383c895592a 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -897,7 +897,7 @@ static inline void iph_to_flow_copy_v6addrs(struct flow_keys *flow, BUILD_BUG_ON(offsetof(typeof(flow->addrs), v6addrs.dst) != offsetof(typeof(flow->addrs), v6addrs.src) + sizeof(flow->addrs.v6addrs.src)); - memcpy(&flow->addrs.v6addrs, &iph->saddr, sizeof(flow->addrs.v6addrs)); + memcpy(&flow->addrs.v6addrs, &iph->addrs, sizeof(flow->addrs.v6addrs)); flow->control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS; } diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h index 961ec16a26b8..874a92349bf5 100644 --- a/include/uapi/linux/ip.h +++ b/include/uapi/linux/ip.h @@ -100,8 +100,10 @@ struct iphdr { __u8 ttl; __u8 protocol; __sum16 check; - __be32 saddr; - __be32 daddr; + __struct_group(/* no tag */, addrs, /* no attrs */, + __be32 saddr; + __be32 daddr; + ); /*The options start here. */ }; diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h index 03cdbe798fe3..81f4243bebb1 100644 --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h @@ -130,8 +130,10 @@ struct ipv6hdr { __u8 nexthdr; __u8 hop_limit; - struct in6_addr saddr; - struct in6_addr daddr; + __struct_group(/* no tag */, addrs, /* no attrs */, + struct in6_addr saddr; + struct in6_addr daddr; + ); }; -- cgit v1.2.3-59-g8ed1b