ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
December 2020
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
17 participants
131 discussions
Start a n
N
ew thread
[reactos] 04/09: [FREELDR] EMS boot options: Parse NT kernel load options in a consistent manner. Addendum to d887308b.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5dd0b32799cf1303786ae…
commit 5dd0b32799cf1303786aea2a48d995046837b632 Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sun Dec 13 21:49:59 2020 +0100 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Dec 27 00:51:57 2020 +0100 [FREELDR] EMS boot options: Parse NT kernel load options in a consistent manner. Addendum to d887308b. In particular the parsing should not care about the letter case. --- boot/freeldr/freeldr/ntldr/headless.c | 64 +++++++++++++++++------------------ 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/boot/freeldr/freeldr/ntldr/headless.c b/boot/freeldr/freeldr/ntldr/headless.c index 161e66420ae..911e08cb2e5 100644 --- a/boot/freeldr/freeldr/ntldr/headless.c +++ b/boot/freeldr/freeldr/ntldr/headless.c @@ -10,6 +10,7 @@ #include <freeldr.h> #include <cportlib/cportlib.h> +#include "ntldropts.h" /* Note: Move these to some smbios.h header */ #define SYSID_TYPE_UUID "_UUID_" @@ -206,7 +207,7 @@ WinLdrInitializeHeadlessPort(VOID) { ULONG PortNumber, BaudRate; PUCHAR PortAddress; - PCHAR AnsiReset = "\x1B[m"; + PCSTR AnsiReset = "\x1B[m"; ULONG i; PortNumber = LoaderRedirectionInformation.PortNumber; @@ -267,13 +268,11 @@ WinLdrInitializeHeadlessPort(VOID) /* Call arch code to initialize the port */ PortAddress = LoaderRedirectionInformation.PortAddress; - WinLdrTerminalConnected = WinLdrPortInitialize( - BaudRate, - PortNumber, - PortAddress, - WinLdrTerminalConnected, - &WinLdrTerminalDeviceId); - + WinLdrTerminalConnected = WinLdrPortInitialize(BaudRate, + PortNumber, + PortAddress, + WinLdrTerminalConnected, + &WinLdrTerminalDeviceId); if (WinLdrTerminalConnected) { /* Port seems usable, set it up and get the BIOS GUID */ @@ -302,55 +301,54 @@ WinLdrInitializeHeadlessPort(VOID) VOID WinLdrSetupEms(IN PCSTR BootOptions) { - PCHAR Settings, RedirectPort; + PCSTR Option; /* Start fresh */ RtlZeroMemory(&LoaderRedirectionInformation, sizeof(HEADLESS_LOADER_BLOCK)); LoaderRedirectionInformation.PciDeviceId = PCI_INVALID_VENDORID; /* Use a direction port if one was given, or use ACPI to detect one instead */ - Settings = strstr(BootOptions, "/redirect="); - if (Settings) + Option = NtLdrGetOption(BootOptions, "redirect="); + if (Option) { - RedirectPort = strstr(Settings, "com"); - if (RedirectPort) + Option += 9; + if (_strnicmp(Option, "com", 3) == 0) + { + Option += 3; + LoaderRedirectionInformation.PortNumber = atoi(Option); + LoaderRedirectionInformation.TerminalType = 1; // VT100+ + } + else if (_strnicmp(Option, "usebiossettings", 15) == 0) { - RedirectPort += sizeof("com") - 1; - LoaderRedirectionInformation.PortNumber = atoi(RedirectPort); - LoaderRedirectionInformation.TerminalType = 1; // HeadlessSerialPort + // FIXME: TODO! + UiDrawStatusText("ACPI SRT/SPCR Table Not Supported..."); + return; } else { - RedirectPort = strstr(Settings, "usebiossettings"); - if (RedirectPort) - { - UiDrawStatusText("ACPI SRT Table Not Supported..."); - return; - } - else + LoaderRedirectionInformation.PortAddress = (PUCHAR)strtoul(Option, 0, 16); + if (LoaderRedirectionInformation.PortAddress) { - LoaderRedirectionInformation.PortAddress = (PUCHAR)strtoul(Settings, 0, 16); - if (LoaderRedirectionInformation.PortAddress) - { - LoaderRedirectionInformation.PortNumber = 3; - } + LoaderRedirectionInformation.PortNumber = 3; } } } /* Use a direction baudrate if one was given */ - Settings = strstr(BootOptions, "/redirectbaudrate="); - if (Settings) + Option = NtLdrGetOption(BootOptions, "redirectbaudrate="); + if (Option) { - if (strstr(Settings, "115200")) + Option += 17; + // LoaderRedirectionInformation.BaudRate = atoi(Option); + if (strncmp(Option, "115200", 6) == 0) { LoaderRedirectionInformation.BaudRate = 115200; } - else if (strstr(Settings, "57600")) + else if (strncmp(Option, "57600", 5) == 0) { LoaderRedirectionInformation.BaudRate = 57600; } - else if (strstr(Settings, "19200")) + else if (strncmp(Option, "19200", 5) == 0) { LoaderRedirectionInformation.BaudRate = 19200; }
3 years, 12 months
1
0
0
0
[reactos] 03/09: [PSDK][XDK] Add newer FILE_DEVICE_xxx DEVICE_TYPE defines.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fb9d8e52392f102ff7f94…
commit fb9d8e52392f102ff7f941a18f901a8a456c6985 Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sun Dec 13 18:07:45 2020 +0100 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Dec 27 00:51:57 2020 +0100 [PSDK][XDK] Add newer FILE_DEVICE_xxx DEVICE_TYPE defines. --- sdk/include/psdk/winioctl.h | 31 ++++++++++++++++++++++++++++++- sdk/include/xdk/iotypes.h | 35 ++++++++++++++++++++++++++--------- 2 files changed, 56 insertions(+), 10 deletions(-) diff --git a/sdk/include/psdk/winioctl.h b/sdk/include/psdk/winioctl.h index f10c4b41678..b0061baf42e 100644 --- a/sdk/include/psdk/winioctl.h +++ b/sdk/include/psdk/winioctl.h @@ -103,6 +103,7 @@ extern "C" { #define _DEVIOCTL_ #define DEVICE_TYPE DWORD + #define FILE_DEVICE_BEEP 1 #define FILE_DEVICE_CD_ROM 2 #define FILE_DEVICE_CD_ROM_FILE_SYSTEM 3 @@ -142,7 +143,7 @@ extern "C" { #define FILE_DEVICE_WAVE_IN 37 #define FILE_DEVICE_WAVE_OUT 38 #define FILE_DEVICE_8042_PORT 39 -#define FILE_DEVICE_NETWORK_REDIRECTOR 40 +#define FILE_DEVICE_NETWORK_REDIRECTOR 40 #define FILE_DEVICE_BATTERY 41 #define FILE_DEVICE_BUS_EXTENDER 42 #define FILE_DEVICE_MODEM 43 @@ -160,6 +161,34 @@ extern "C" { #define FILE_DEVICE_SERENUM 55 #define FILE_DEVICE_TERMSRV 56 #define FILE_DEVICE_KSEC 57 +#define FILE_DEVICE_FIPS 58 +#define FILE_DEVICE_INFINIBAND 59 +#define FILE_DEVICE_VMBUS 62 +#define FILE_DEVICE_CRYPT_PROVIDER 63 +#define FILE_DEVICE_WPD 64 +#define FILE_DEVICE_BLUETOOTH 65 +#define FILE_DEVICE_MT_COMPOSITE 66 +#define FILE_DEVICE_MT_TRANSPORT 67 +#define FILE_DEVICE_BIOMETRIC 68 +#define FILE_DEVICE_PMI 69 +#define FILE_DEVICE_EHSTOR 70 +#define FILE_DEVICE_DEVAPI 71 +#define FILE_DEVICE_GPIO 72 +#define FILE_DEVICE_USBEX 73 +#define FILE_DEVICE_CONSOLE 80 +#define FILE_DEVICE_NFP 81 +#define FILE_DEVICE_SYSENV 82 +#define FILE_DEVICE_VIRTUAL_BLOCK 83 +#define FILE_DEVICE_POINT_OF_SERVICE 84 +#define FILE_DEVICE_STORAGE_REPLICATION 85 +#define FILE_DEVICE_TRUST_ENV 86 +#define FILE_DEVICE_UCM 87 +#define FILE_DEVICE_UCMTCPCI 88 +#define FILE_DEVICE_PERSISTENT_MEMORY 89 +#define FILE_DEVICE_NVDIMM 90 +#define FILE_DEVICE_HOLOGRAPHIC 91 +#define FILE_DEVICE_SDFXHCI 92 +#define FILE_DEVICE_UCMUCSI 93 /* Also in ddk/winddk.h */ #define FILE_ANY_ACCESS 0x00000000 diff --git a/sdk/include/xdk/iotypes.h b/sdk/include/xdk/iotypes.h index d1392e0857a..db056814088 100644 --- a/sdk/include/xdk/iotypes.h +++ b/sdk/include/xdk/iotypes.h @@ -45,6 +45,9 @@ $if (_WDMDDK_) $endif (_WDMDDK_) $if (_WDMDDK_ || _DEVIOCTL_) +/* DEVICE_OBJECT.DeviceType */ +#define DEVICE_TYPE ULONG + #define FILE_DEVICE_BEEP 0x00000001 #define FILE_DEVICE_CD_ROM 0x00000002 #define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 @@ -102,16 +105,34 @@ $if (_WDMDDK_ || _DEVIOCTL_) #define FILE_DEVICE_SERENUM 0x00000037 #define FILE_DEVICE_TERMSRV 0x00000038 #define FILE_DEVICE_KSEC 0x00000039 -#define FILE_DEVICE_FIPS 0x0000003A -#define FILE_DEVICE_INFINIBAND 0x0000003B -#define FILE_DEVICE_VMBUS 0x0000003E -#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003F +#define FILE_DEVICE_FIPS 0x0000003a +#define FILE_DEVICE_INFINIBAND 0x0000003b +#define FILE_DEVICE_VMBUS 0x0000003e +#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003f #define FILE_DEVICE_WPD 0x00000040 #define FILE_DEVICE_BLUETOOTH 0x00000041 #define FILE_DEVICE_MT_COMPOSITE 0x00000042 #define FILE_DEVICE_MT_TRANSPORT 0x00000043 #define FILE_DEVICE_BIOMETRIC 0x00000044 #define FILE_DEVICE_PMI 0x00000045 +#define FILE_DEVICE_EHSTOR 0x00000046 +#define FILE_DEVICE_DEVAPI 0x00000047 +#define FILE_DEVICE_GPIO 0x00000048 +#define FILE_DEVICE_USBEX 0x00000049 +#define FILE_DEVICE_CONSOLE 0x00000050 +#define FILE_DEVICE_NFP 0x00000051 +#define FILE_DEVICE_SYSENV 0x00000052 +#define FILE_DEVICE_VIRTUAL_BLOCK 0x00000053 +#define FILE_DEVICE_POINT_OF_SERVICE 0x00000054 +#define FILE_DEVICE_STORAGE_REPLICATION 0x00000055 +#define FILE_DEVICE_TRUST_ENV 0x00000056 +#define FILE_DEVICE_UCM 0x00000057 +#define FILE_DEVICE_UCMTCPCI 0x00000058 +#define FILE_DEVICE_PERSISTENT_MEMORY 0x00000059 +#define FILE_DEVICE_NVDIMM 0x0000005a +#define FILE_DEVICE_HOLOGRAPHIC 0x0000005b +#define FILE_DEVICE_SDFXHCI 0x0000005c +#define FILE_DEVICE_UCMUCSI 0x0000005d $endif (_WDMDDK_ || _DEVIOCTL_) $if (_WDMDDK_) @@ -261,12 +282,8 @@ $if (_WDMDDK_) #define FILE_256_BYTE_ALIGNMENT 0x000000ff #define FILE_512_BYTE_ALIGNMENT 0x000001ff -$endif (_NTDDK_) -$if (_WDMDDK_ || _DEVIOCTL_) -/* DEVICE_OBJECT.DeviceType */ -#define DEVICE_TYPE ULONG +$endif (_WDMDDK_) -$endif (_WDMDDK_ || _DEVIOCTL_) $if (_WDMDDK_) typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT { CSHORT Type;
3 years, 12 months
1
0
0
0
[reactos] 02/09: [USETUP] Free allocated memory after loading the new text-mode font from the .CAB file.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e8c9a73bb8ec6f3a2102a…
commit e8c9a73bb8ec6f3a2102a171926fd503cd83a963 Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sat Dec 12 01:33:56 2020 +0100 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Dec 27 00:51:56 2020 +0100 [USETUP] Free allocated memory after loading the new text-mode font from the .CAB file. --- base/setup/usetup/console.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/base/setup/usetup/console.c b/base/setup/usetup/console.c index 57b396aafde..ab3587eb52e 100644 --- a/base/setup/usetup/console.c +++ b/base/setup/usetup/console.c @@ -733,8 +733,11 @@ SetConsoleOutputCP( if (CabStatus != CAB_STATUS_SUCCESS) { DPRINT("CabinetLoadFile('%S', '%S') returned 0x%08x\n", FontFile, FontName, CabStatus); + if (ConsoleCabinetContext.Data) + RtlFreeHeap(ProcessHeap, 0, ConsoleCabinetContext.Data); return FALSE; } + ASSERT(ConsoleCabinetContext.Data); Status = NtDeviceIoControlFile(hConsoleOutput, NULL, @@ -746,6 +749,9 @@ SetConsoleOutputCP( ConsoleCabinetContext.Size, NULL, 0); + + RtlFreeHeap(ProcessHeap, 0, ConsoleCabinetContext.Data); + if (!NT_SUCCESS(Status)) return FALSE;
3 years, 12 months
1
0
0
0
[reactos] 01/09: [BLUE] IOCTL_CONSOLE_DRAW: Fix ConsoleDraw.SizeX/Y boundary checks. Always set the cursor position before possibly refreshing screen.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4ab49bc276b25bdbe561c…
commit 4ab49bc276b25bdbe561c5eee0d38d9fa1913ddb Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Thu Jan 9 00:28:16 2020 +0100 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Dec 27 00:51:42 2020 +0100 [BLUE] IOCTL_CONSOLE_DRAW: Fix ConsoleDraw.SizeX/Y boundary checks. Always set the cursor position before possibly refreshing screen. --- drivers/setup/blue/blue.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/setup/blue/blue.c b/drivers/setup/blue/blue.c index 1a911689cef..2ca5c70389c 100644 --- a/drivers/setup/blue/blue.c +++ b/drivers/setup/blue/blue.c @@ -1455,6 +1455,14 @@ ScrIoControl( break; } + Irp->IoStatus.Information = 0; + + /* Set the cursor position, clipping it to the screen */ + DeviceExtension->CursorX = min(max(ConsoleDraw.CursorX, 0), DeviceExtension->Columns - 1); + DeviceExtension->CursorY = min(max(ConsoleDraw.CursorY, 0), DeviceExtension->Rows - 1); + if (DeviceExtension->Enabled) + ScrSetCursor(DeviceExtension); + // TODO: For the moment if the ConsoleDraw rectangle has borders // out of the screen-buffer we just bail out. Would it be better // to actually clip the rectangle within its borders instead? @@ -1464,8 +1472,8 @@ ScrIoControl( Status = STATUS_SUCCESS; break; } - if ( ConsoleDraw.SizeX >= DeviceExtension->Columns - ConsoleDraw.X || - ConsoleDraw.SizeY >= DeviceExtension->Rows - ConsoleDraw.Y ) + if ( ConsoleDraw.SizeX > DeviceExtension->Columns - ConsoleDraw.X || + ConsoleDraw.SizeY > DeviceExtension->Rows - ConsoleDraw.Y ) { Status = STATUS_SUCCESS; break; @@ -1489,13 +1497,6 @@ ScrIoControl( } } - /* Set the cursor position, clipping it to the screen */ - DeviceExtension->CursorX = min(max(ConsoleDraw.CursorX, 0), DeviceExtension->Columns - 1); - DeviceExtension->CursorY = min(max(ConsoleDraw.CursorY, 0), DeviceExtension->Rows - 1); - if (DeviceExtension->Enabled) - ScrSetCursor(DeviceExtension); - - Irp->IoStatus.Information = 0; Status = STATUS_SUCCESS; break; }
3 years, 12 months
1
0
0
0
[reactos] 01/01: [GDI32_APITEST] Add tests for SetLayout and its effects (#3203)
by Baruch Rutman
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f6de3342bfc3d077723c2…
commit f6de3342bfc3d077723c282252c7a30ba9af97c8 Author: Baruch Rutman <peterooch(a)gmail.com> AuthorDate: Sat Dec 26 18:48:21 2020 +0200 Commit: GitHub <noreply(a)github.com> CommitDate: Sat Dec 26 19:48:21 2020 +0300 [GDI32_APITEST] Add tests for SetLayout and its effects (#3203) As part of the efforts to fix mirroring (Right-to-left UI), this API test should help determine what is wrong currently in how certain functions behave when the DC is mirrored. It focuses mostly on BitBlt, StretchBlt and LPtoDP. Inspired by PR #3109. CORE-17298 --- modules/rostests/apitests/gdi32/CMakeLists.txt | 1 + modules/rostests/apitests/gdi32/SetLayout.c | 268 +++++++++++++++++++++++++ modules/rostests/apitests/gdi32/testlist.c | 2 + 3 files changed, 271 insertions(+) diff --git a/modules/rostests/apitests/gdi32/CMakeLists.txt b/modules/rostests/apitests/gdi32/CMakeLists.txt index 27bd589e2b4..486a112c319 100644 --- a/modules/rostests/apitests/gdi32/CMakeLists.txt +++ b/modules/rostests/apitests/gdi32/CMakeLists.txt @@ -69,6 +69,7 @@ list(APPEND SOURCE SetDCPenColor.c SetDIBits.c SetDIBitsToDevice.c + SetLayout.c SetMapMode.c SetPixel.c SetSysColors.c diff --git a/modules/rostests/apitests/gdi32/SetLayout.c b/modules/rostests/apitests/gdi32/SetLayout.c new file mode 100644 index 00000000000..254fd426533 --- /dev/null +++ b/modules/rostests/apitests/gdi32/SetLayout.c @@ -0,0 +1,268 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPL - See COPYING in the top level directory + * PURPOSE: Tests for SetLayout and its effects on other gdi functions + * such as StretchBlt, BitBlt, LPtoDP, DPtoLP + * PROGRAMMERS: Baruch Rutman + * Inspired by the StretchBlt test + */ + +#include "precomp.h" + +static void copy(PUINT32 buffer, UINT32 value, int width, int start_x, int start_y, int end_x, int end_y) +{ + for (int y = start_y; y < end_y; y++) + { + for (int x = start_x; x < end_x; x++) + buffer[y * width + x] = value; + } +} + +#define BLACK_PIXEL 0x000000 +#define BLUE_PIXEL 0x0000FF +#define GREEN_PIXEL 0x00FF00 +#define RED_PIXEL 0xFF0000 +#define WHITE_PIXEL 0xFFFFFF + +#if 0 +#include "wincon.h" + +/* Draw the bitmap as colored letters on white background */ +static void +dump(PUINT32 buffer, int width, LPCSTR title) +{ + HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); + CONSOLE_SCREEN_BUFFER_INFO info; + + GetConsoleScreenBufferInfo(hConsole, &info); + + if (title) + printf("%s", title); + + for (int i = 0; i < width * width; i++) + { + char c; + WORD attributes = 0; + UINT32 pixel_value = buffer[i]; + + if (i % width == 0) + { + SetConsoleTextAttribute(hConsole, info.wAttributes); + putchar('\n'); + } + + switch (pixel_value) + { + case WHITE_PIXEL: + c = 'W'; + break; + case BLUE_PIXEL: + c = 'B'; + break; + case GREEN_PIXEL: + c = 'G'; + break; + case RED_PIXEL: + c = 'R'; + break; + case BLACK_PIXEL: + c = 'E'; /* Use 'E' for 'Empty' because 'B' is taken */ + break; + default: + c = '?'; + } + + if (pixel_value != WHITE_PIXEL && c != '?') + { + attributes = (pixel_value & RED_PIXEL) ? FOREGROUND_RED : 0 | + (pixel_value & GREEN_PIXEL) ? FOREGROUND_GREEN : 0 | + (pixel_value & BLUE_PIXEL) ? FOREGROUND_BLUE : 0; + } + + SetConsoleTextAttribute(hConsole, attributes | BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED); + putchar(c); + } + SetConsoleTextAttribute(hConsole, info.wAttributes); + putchar('\n'); +} +#endif + +static void nomirror_test(PUINT32 dstBuffer, PUINT32 srcBuffer, int width, int line) +{ + for (int y = 0; y < width; y++) + { + for (int x = 0; x < width; x++) + { + if (x == width - 1) + { + ok(dstBuffer[y * width + x] == BLACK_PIXEL, + "Expected blank (black) pixel (0x0), got (%06X), coordinates (%d, %d). line: %d\n", + dstBuffer[y * width + x], x, y, line); + } + else + { + ok(dstBuffer[y * width + x] == srcBuffer[y * width + x + 1], + "Coordinates: (%d, %d), expected (%06X), got (%06X). line: %d\n", + x, y, srcBuffer[y * width + x + 1], dstBuffer[y * width + x], line); + } + } + } +} + +#define WIDTH 10 +START_TEST(SetLayout) +{ + HBITMAP bmpDst, bmpSrc, oldDst, oldSrc; + HDC hdc, hdcDst, hdcSrc; + PUINT32 dstBuffer, srcBuffer; + BITMAPINFO info = { 0 }; + size_t nBuf = WIDTH * WIDTH * sizeof(UINT32); + + hdc = CreateCompatibleDC(NULL); + hdcDst = CreateCompatibleDC(hdc); + hdcSrc = CreateCompatibleDC(hdc); + + info.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + info.bmiHeader.biWidth = WIDTH; + info.bmiHeader.biHeight = -WIDTH; + info.bmiHeader.biPlanes = 1; + info.bmiHeader.biBitCount = 32; + info.bmiHeader.biCompression = BI_RGB; + + /* Create bitmaps to test with */ + bmpSrc = CreateDIBSection(hdcSrc, &info, DIB_RGB_COLORS, (PVOID*)&srcBuffer, NULL, 0); + bmpDst = CreateDIBSection(hdcDst, &info, DIB_RGB_COLORS, (PVOID*)&dstBuffer, NULL, 0); + + if (!bmpSrc || !bmpDst) + { + skip("Failed to create bitmaps"); + goto cleanup; + } + + oldSrc = SelectObject(hdcSrc, bmpSrc); + oldDst = SelectObject(hdcDst, bmpDst); + + /* Create base "image" for use in the tests */ + copy(srcBuffer, WHITE_PIXEL, WIDTH, 0, 0, WIDTH / 2, WIDTH / 2); + copy(srcBuffer, BLUE_PIXEL, WIDTH, 0, WIDTH / 2, WIDTH / 2, WIDTH); + copy(srcBuffer, GREEN_PIXEL, WIDTH, WIDTH / 2, 0, WIDTH, WIDTH / 2); + copy(srcBuffer, RED_PIXEL, WIDTH, WIDTH / 2, WIDTH / 2, WIDTH, WIDTH); + + /* Mirror destination DC */ + SetLayout(hdcDst, LAYOUT_RTL); + ok(GetLayout(hdcDst) == LAYOUT_RTL, "DC layout is not RTL\n"); + ok(GetMapMode(hdcDst) == MM_ANISOTROPIC, "DC Map mode is not MM_ANISOTROPIC\n"); + + /* Test RTL transform (using LPtoDP) and the inverse transform (DPtoLP) */ + for (int y = 0; y < WIDTH; y++) + { + for (int x = 0; x < WIDTH; x++) + { + POINT pt = { x, y }; + POINT mirrored = { WIDTH - 1 - x, y }; /* Expected results */ + + LPtoDP(hdcDst, &pt, 1); + /* Test LPtoDP */ + ok(pt.x == mirrored.x && pt.y == mirrored.y, + "Coodinates: (%d, %d), expected (%ld, %ld), got (%ld, %ld)\n", + x, y, mirrored.x, mirrored.y, pt.x, pt.y); + + pt = mirrored; + + /* Test DPtoLP */ + DPtoLP(hdcDst, &pt, 1); + ok(pt.x == x && pt.y == y, + "Mirrored Coodinates: (%ld, %ld), expected (%d, %d), got (%ld, %ld)\n", + mirrored.x, mirrored.y, x, y, pt.x, pt.y); + } + } + + ZeroMemory(dstBuffer, nBuf); + StretchBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, WIDTH, WIDTH, SRCCOPY); + for (int y = 0; y < WIDTH; y++) + { + for (int x = 0; x < WIDTH; x++) + { + /* Test if the image is mirrored using the assumed RTL transform results */ + ok(dstBuffer[y * WIDTH + (WIDTH - 1 - x)] == srcBuffer[y * WIDTH + x], + "Coordinates: (%d, %d), expected (%06X), got (%06X)\n", + x, y, srcBuffer[y * WIDTH + x], dstBuffer[y * WIDTH + (WIDTH - 1 - x)]); + } + } + + ZeroMemory(dstBuffer, nBuf); + StretchBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, WIDTH, WIDTH, SRCCOPY | NOMIRRORBITMAP); + nomirror_test(dstBuffer, srcBuffer, WIDTH, __LINE__); + + ZeroMemory(dstBuffer, nBuf); + BitBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, SRCCOPY); + for (int y = 0; y < WIDTH; y++) + { + for (int x = 0; x < WIDTH; x++) + { + /* Test if the image is mirrored using the assumed RTL transform results */ + ok(dstBuffer[y * WIDTH + (WIDTH - 1 - x)] == srcBuffer[y * WIDTH + x], + "Coordinates: (%d, %d), expected (%06X), got (%06X)\n", + x, y, srcBuffer[y * WIDTH + x], dstBuffer[y * WIDTH + (WIDTH - 1 - x)]); + } + } + + ZeroMemory(dstBuffer, nBuf); + BitBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, SRCCOPY | NOMIRRORBITMAP); + nomirror_test(dstBuffer, srcBuffer, WIDTH, __LINE__); + + SetLayout(hdcDst, LAYOUT_RTL | LAYOUT_BITMAPORIENTATIONPRESERVED); + + ok(GetLayout(hdcDst) == (LAYOUT_RTL | LAYOUT_BITMAPORIENTATIONPRESERVED), + "DC Layout is not LAYOUT_RTL | LAYOUT_BITMAPORIENTATIONPRESERVED\n"); + ok(GetMapMode(hdcDst) == MM_ANISOTROPIC, "DC Map mode is not MM_ANISOTROPIC\n"); + + ZeroMemory(dstBuffer, nBuf); + StretchBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, WIDTH, WIDTH, SRCCOPY); + nomirror_test(dstBuffer, srcBuffer, WIDTH, __LINE__); + + ZeroMemory(dstBuffer, nBuf); + StretchBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, WIDTH, WIDTH, SRCCOPY | NOMIRRORBITMAP); + nomirror_test(dstBuffer, srcBuffer, WIDTH, __LINE__); + + ZeroMemory(dstBuffer, nBuf); + BitBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, SRCCOPY); + nomirror_test(dstBuffer, srcBuffer, WIDTH, __LINE__); + + ZeroMemory(dstBuffer, nBuf); + BitBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, SRCCOPY | NOMIRRORBITMAP); + nomirror_test(dstBuffer, srcBuffer, WIDTH, __LINE__); + + /* Reset DC layout to default (LTR) */ + SetLayout(hdcDst, LAYOUT_LTR); + ok(GetLayout(hdcDst) == LAYOUT_LTR, "DC layout is not LAYOUT_LTR"); + + for (int y = 0; y < WIDTH; y++) + { + for (int x = 0; x < WIDTH; x++) + { + POINT pt = { x, y }; + + LPtoDP(hdcDst, &pt, 1); + /* Confirm that RTL transform is not the current one */ + ok(pt.x == x && pt.y == y, + "Expected (%d, %d) got (%ld, %ld)\n", x, y, pt.x, pt.y); + } + } + + ZeroMemory(dstBuffer, nBuf); + StretchBlt(hdcDst, 0, 0, WIDTH, WIDTH, hdcSrc, 0, 0, WIDTH, WIDTH, SRCCOPY); + ok(memcmp(dstBuffer, srcBuffer, nBuf) == 0, "Bitmaps are not identical\n"); + + SetLayout(hdcDst, LAYOUT_BITMAPORIENTATIONPRESERVED); + ok(GetLayout(hdcDst) == LAYOUT_BITMAPORIENTATIONPRESERVED, "DC Layout is not LAYOUT_BITMAPORIENTATIONPRESERVED"); + + SelectObject(hdcSrc, oldSrc); + SelectObject(hdcDst, oldDst); + DeleteObject(bmpSrc); + DeleteObject(bmpDst); +cleanup: + DeleteDC(hdcSrc); + DeleteDC(hdcDst); + DeleteDC(hdc); +} diff --git a/modules/rostests/apitests/gdi32/testlist.c b/modules/rostests/apitests/gdi32/testlist.c index 623f530c90c..22ddc690c2a 100644 --- a/modules/rostests/apitests/gdi32/testlist.c +++ b/modules/rostests/apitests/gdi32/testlist.c @@ -70,6 +70,7 @@ extern void func_SetBrushOrgEx(void); extern void func_SetDCPenColor(void); extern void func_SetDIBits(void); extern void func_SetDIBitsToDevice(void); +extern void func_SetLayout(void); extern void func_SetMapMode(void); extern void func_SetPixel(void); extern void func_SetSysColors(void); @@ -147,6 +148,7 @@ const struct test winetest_testlist[] = { "SetDCPenColor", func_SetDCPenColor }, { "SetDIBits", func_SetDIBits }, { "SetDIBitsToDevice", func_SetDIBitsToDevice }, + { "SetLayout", func_SetLayout }, { "SetMapMode", func_SetMapMode }, { "SetPixel", func_SetPixel }, { "SetSysColors", func_SetSysColors },
3 years, 12 months
1
0
0
0
[reactos] 01/01: [WIDL] Fix a deprecation message and hints on how to build a new scanner and parser
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7b2006521156b54192ce1…
commit 7b2006521156b54192ce1ef8dfaf3aab20650a1d Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sat Dec 26 14:22:43 2020 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Sat Dec 26 14:22:43 2020 +0100 [WIDL] Fix a deprecation message and hints on how to build a new scanner and parser --- sdk/tools/widl/parser.y | 2 +- sdk/tools/widl/readme.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sdk/tools/widl/parser.y b/sdk/tools/widl/parser.y index 622e742da19..63b70e9e47c 100644 --- a/sdk/tools/widl/parser.y +++ b/sdk/tools/widl/parser.y @@ -321,7 +321,7 @@ static typelib_t *current_typelib; %right '!' '~' CAST PPTR POS NEG ADDRESSOF tSIZEOF %left '.' MEMBERPTR '[' ']' -%error-verbose +%define parse.error verbose %% diff --git a/sdk/tools/widl/readme.txt b/sdk/tools/widl/readme.txt new file mode 100644 index 00000000000..4b7a6216dcf --- /dev/null +++ b/sdk/tools/widl/readme.txt @@ -0,0 +1,5 @@ +To generate a new scanner and parser run: + +flex --header-file=parser.yy.h --outfile=parser.yy.c parser.l + +bison --defines=parser.tab.h --name-prefix=parser_ parser.y
3 years, 12 months
1
0
0
0
[reactos] 01/01: [WIDL] Port ALLOCATE attribute support to our WIDL
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f9220ea4440e6e808cdc7…
commit f9220ea4440e6e808cdc75557401e341fbd59cff Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sat Dec 26 14:00:26 2020 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Sat Dec 26 14:00:26 2020 +0100 [WIDL] Port ALLOCATE attribute support to our WIDL --- sdk/tools/widl/parser.l | 3 + sdk/tools/widl/parser.tab.c | 4996 ++++++++++++++++++++++--------------------- sdk/tools/widl/parser.tab.h | 350 +-- sdk/tools/widl/parser.y | 32 +- sdk/tools/widl/parser.yy.c | 1013 +++++---- sdk/tools/widl/parser.yy.h | 587 ++++- sdk/tools/widl/typegen.c | 7 + sdk/tools/widl/widltypes.h | 1 + 8 files changed, 3919 insertions(+), 3070 deletions(-) diff --git a/sdk/tools/widl/parser.l b/sdk/tools/widl/parser.l index 3cbf4ff2d2b..da80432e050 100644 --- a/sdk/tools/widl/parser.l +++ b/sdk/tools/widl/parser.l @@ -318,6 +318,7 @@ static const struct keyword keywords[] = { static const struct keyword attr_keywords[] = { {"aggregatable", tAGGREGATABLE}, + {"all_nodes", tALLNODES}, {"allocate", tALLOCATE}, {"annotation", tANNOTATION}, {"apartment", tAPARTMENT}, @@ -345,6 +346,7 @@ static const struct keyword attr_keywords[] = {"disable_consistency_check", tDISABLECONSISTENCYCHECK}, {"displaybind", tDISPLAYBIND}, {"dllname", tDLLNAME}, + {"dont_free", tDONTFREE}, {"dual", tDUAL}, {"enable_allocate", tENABLEALLOCATE}, {"encode", tENCODE}, @@ -406,6 +408,7 @@ static const struct keyword attr_keywords[] = {"restricted", tRESTRICTED}, {"retval", tRETVAL}, {"single", tSINGLE}, + {"single_node", tSINGLENODE}, {"size_is", tSIZEIS}, {"source", tSOURCE}, {"strict_context_handle", tSTRICTCONTEXTHANDLE}, diff --git a/sdk/tools/widl/parser.tab.c b/sdk/tools/widl/parser.tab.c index c45e0c08053..79369804346 100644 --- a/sdk/tools/widl/parser.tab.c +++ b/sdk/tools/widl/parser.tab.c @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0. */ +/* A Bison parser, made by GNU Bison 3.5.4. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.0" +#define YYBISON_VERSION "3.5.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -65,12 +69,11 @@ #define yyerror parser_error #define yydebug parser_debug #define yynerrs parser_nerrs - #define yylval parser_lval #define yychar parser_char -/* Copy the first part of user declarations. */ -#line 1 "parser.y" /* yacc.c:339 */ +/* First part of user prologue. */ +#line 1 "parser.y" /* * IDL Compiler @@ -214,13 +217,26 @@ static typelib_t *current_typelib; #endif -#line 218 "parser.tab.c" /* yacc.c:339 */ +#line 221 "parser.tab.c" -# ifndef YY_NULL -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr +# ifndef YY_CAST +# ifdef __cplusplus +# define YY_CAST(Type, Val) static_cast<Type> (Val) +# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) +# else +# define YY_CAST(Type, Val) ((Type) (Val)) +# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) +# endif +# endif +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif # else -# define YY_NULL 0 +# define YY_NULLPTR ((void*)0) # endif # endif @@ -232,10 +248,10 @@ static typelib_t *current_typelib; # define YYERROR_VERBOSE 1 #endif -/* In a future release of Bison, this section will be replaced - by #include "parser.tab.h". */ -#ifndef YY_PARSER_E_REACTOSSYNC_MSVC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED -# define YY_PARSER_E_REACTOSSYNC_MSVC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED +/* Use api.header.include to #include this header + instead of duplicating it here. */ +#ifndef YY_PARSER_PARSER_TAB_H_INCLUDED +# define YY_PARSER_PARSER_TAB_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -272,178 +288,180 @@ extern int parser_debug; LOGICALAND = 278, ELLIPSIS = 279, tAGGREGATABLE = 280, - tALLOCATE = 281, - tANNOTATION = 282, - tAPPOBJECT = 283, - tASYNC = 284, - tASYNCUUID = 285, - tAUTOHANDLE = 286, - tBINDABLE = 287, - tBOOLEAN = 288, - tBROADCAST = 289, - tBYTE = 290, - tBYTECOUNT = 291, - tCALLAS = 292, - tCALLBACK = 293, - tCASE = 294, - tCDECL = 295, - tCHAR = 296, - tCOCLASS = 297, - tCODE = 298, - tCOMMSTATUS = 299, - tCONST = 300, - tCONTEXTHANDLE = 301, - tCONTEXTHANDLENOSERIALIZE = 302, - tCONTEXTHANDLESERIALIZE = 303, - tCONTROL = 304, - tCPPQUOTE = 305, - tDECODE = 306, - tDEFAULT = 307, - tDEFAULTBIND = 308, - tDEFAULTCOLLELEM = 309, - tDEFAULTVALUE = 310, - tDEFAULTVTABLE = 311, - tDISABLECONSISTENCYCHECK = 312, - tDISPLAYBIND = 313, - tDISPINTERFACE = 314, - tDLLNAME = 315, - tDOUBLE = 316, - tDUAL = 317, - tENABLEALLOCATE = 318, - tENCODE = 319, - tENDPOINT = 320, - tENTRY = 321, - tENUM = 322, - tERRORSTATUST = 323, - tEXPLICITHANDLE = 324, - tEXTERN = 325, - tFALSE = 326, - tFASTCALL = 327, - tFAULTSTATUS = 328, - tFLOAT = 329, - tFORCEALLOCATE = 330, - tHANDLE = 331, - tHANDLET = 332, - tHELPCONTEXT = 333, - tHELPFILE = 334, - tHELPSTRING = 335, - tHELPSTRINGCONTEXT = 336, - tHELPSTRINGDLL = 337, - tHIDDEN = 338, - tHYPER = 339, - tID = 340, - tIDEMPOTENT = 341, - tIGNORE = 342, - tIIDIS = 343, - tIMMEDIATEBIND = 344, - tIMPLICITHANDLE = 345, - tIMPORT = 346, - tIMPORTLIB = 347, - tIN = 348, - tIN_LINE = 349, - tINLINE = 350, - tINPUTSYNC = 351, - tINT = 352, - tINT32 = 353, - tINT3264 = 354, - tINT64 = 355, - tINTERFACE = 356, - tLCID = 357, - tLENGTHIS = 358, - tLIBRARY = 359, - tLICENSED = 360, - tLOCAL = 361, - tLONG = 362, - tMAYBE = 363, - tMESSAGE = 364, - tMETHODS = 365, - tMODULE = 366, - tNAMESPACE = 367, - tNOCODE = 368, - tNONBROWSABLE = 369, - tNONCREATABLE = 370, - tNONEXTENSIBLE = 371, - tNOTIFY = 372, - tNOTIFYFLAG = 373, - tNULL = 374, - tOBJECT = 375, - tODL = 376, - tOLEAUTOMATION = 377, - tOPTIMIZE = 378, - tOPTIONAL = 379, - tOUT = 380, - tPARTIALIGNORE = 381, - tPASCAL = 382, - tPOINTERDEFAULT = 383, - tPRAGMA_WARNING = 384, - tPROGID = 385, - tPROPERTIES = 386, - tPROPGET = 387, - tPROPPUT = 388, - tPROPPUTREF = 389, - tPROXY = 390, - tPTR = 391, - tPUBLIC = 392, - tRANGE = 393, - tREADONLY = 394, - tREF = 395, - tREGISTER = 396, - tREPRESENTAS = 397, - tREQUESTEDIT = 398, - tRESTRICTED = 399, - tRETVAL = 400, - tSAFEARRAY = 401, - tSHORT = 402, - tSIGNED = 403, - tSIZEIS = 404, - tSIZEOF = 405, - tSMALL = 406, - tSOURCE = 407, - tSTATIC = 408, - tSTDCALL = 409, - tSTRICTCONTEXTHANDLE = 410, - tSTRING = 411, - tSTRUCT = 412, - tSWITCH = 413, - tSWITCHIS = 414, - tSWITCHTYPE = 415, - tTHREADING = 416, - tTRANSMITAS = 417, - tTRUE = 418, - tTYPEDEF = 419, - tUIDEFAULT = 420, - tUNION = 421, - tUNIQUE = 422, - tUNSIGNED = 423, - tUSESGETLASTERROR = 424, - tUSERMARSHAL = 425, - tUUID = 426, - tV1ENUM = 427, - tVARARG = 428, - tVERSION = 429, - tVIPROGID = 430, - tVOID = 431, - tWCHAR = 432, - tWIREMARSHAL = 433, - tAPARTMENT = 434, - tNEUTRAL = 435, - tSINGLE = 436, - tFREE = 437, - tBOTH = 438, - CAST = 439, - PPTR = 440, - POS = 441, - NEG = 442, - ADDRESSOF = 443 + tALLNODES = 281, + tALLOCATE = 282, + tANNOTATION = 283, + tAPPOBJECT = 284, + tASYNC = 285, + tASYNCUUID = 286, + tAUTOHANDLE = 287, + tBINDABLE = 288, + tBOOLEAN = 289, + tBROADCAST = 290, + tBYTE = 291, + tBYTECOUNT = 292, + tCALLAS = 293, + tCALLBACK = 294, + tCASE = 295, + tCDECL = 296, + tCHAR = 297, + tCOCLASS = 298, + tCODE = 299, + tCOMMSTATUS = 300, + tCONST = 301, + tCONTEXTHANDLE = 302, + tCONTEXTHANDLENOSERIALIZE = 303, + tCONTEXTHANDLESERIALIZE = 304, + tCONTROL = 305, + tCPPQUOTE = 306, + tDECODE = 307, + tDEFAULT = 308, + tDEFAULTBIND = 309, + tDEFAULTCOLLELEM = 310, + tDEFAULTVALUE = 311, + tDEFAULTVTABLE = 312, + tDISABLECONSISTENCYCHECK = 313, + tDISPLAYBIND = 314, + tDISPINTERFACE = 315, + tDLLNAME = 316, + tDONTFREE = 317, + tDOUBLE = 318, + tDUAL = 319, + tENABLEALLOCATE = 320, + tENCODE = 321, + tENDPOINT = 322, + tENTRY = 323, + tENUM = 324, + tERRORSTATUST = 325, + tEXPLICITHANDLE = 326, + tEXTERN = 327, + tFALSE = 328, + tFASTCALL = 329, + tFAULTSTATUS = 330, + tFLOAT = 331, + tFORCEALLOCATE = 332, + tHANDLE = 333, + tHANDLET = 334, + tHELPCONTEXT = 335, + tHELPFILE = 336, + tHELPSTRING = 337, + tHELPSTRINGCONTEXT = 338, + tHELPSTRINGDLL = 339, + tHIDDEN = 340, + tHYPER = 341, + tID = 342, + tIDEMPOTENT = 343, + tIGNORE = 344, + tIIDIS = 345, + tIMMEDIATEBIND = 346, + tIMPLICITHANDLE = 347, + tIMPORT = 348, + tIMPORTLIB = 349, + tIN = 350, + tIN_LINE = 351, + tINLINE = 352, + tINPUTSYNC = 353, + tINT = 354, + tINT32 = 355, + tINT3264 = 356, + tINT64 = 357, + tINTERFACE = 358, + tLCID = 359, + tLENGTHIS = 360, + tLIBRARY = 361, + tLICENSED = 362, + tLOCAL = 363, + tLONG = 364, + tMAYBE = 365, + tMESSAGE = 366, + tMETHODS = 367, + tMODULE = 368, + tNAMESPACE = 369, + tNOCODE = 370, + tNONBROWSABLE = 371, + tNONCREATABLE = 372, + tNONEXTENSIBLE = 373, + tNOTIFY = 374, + tNOTIFYFLAG = 375, + tNULL = 376, + tOBJECT = 377, + tODL = 378, + tOLEAUTOMATION = 379, + tOPTIMIZE = 380, + tOPTIONAL = 381, + tOUT = 382, + tPARTIALIGNORE = 383, + tPASCAL = 384, + tPOINTERDEFAULT = 385, + tPRAGMA_WARNING = 386, + tPROGID = 387, + tPROPERTIES = 388, + tPROPGET = 389, + tPROPPUT = 390, + tPROPPUTREF = 391, + tPROXY = 392, + tPTR = 393, + tPUBLIC = 394, + tRANGE = 395, + tREADONLY = 396, + tREF = 397, + tREGISTER = 398, + tREPRESENTAS = 399, + tREQUESTEDIT = 400, + tRESTRICTED = 401, + tRETVAL = 402, + tSAFEARRAY = 403, + tSHORT = 404, + tSIGNED = 405, + tSINGLENODE = 406, + tSIZEIS = 407, + tSIZEOF = 408, + tSMALL = 409, + tSOURCE = 410, + tSTATIC = 411, + tSTDCALL = 412, + tSTRICTCONTEXTHANDLE = 413, + tSTRING = 414, + tSTRUCT = 415, + tSWITCH = 416, + tSWITCHIS = 417, + tSWITCHTYPE = 418, + tTHREADING = 419, + tTRANSMITAS = 420, + tTRUE = 421, + tTYPEDEF = 422, + tUIDEFAULT = 423, + tUNION = 424, + tUNIQUE = 425, + tUNSIGNED = 426, + tUSESGETLASTERROR = 427, + tUSERMARSHAL = 428, + tUUID = 429, + tV1ENUM = 430, + tVARARG = 431, + tVERSION = 432, + tVIPROGID = 433, + tVOID = 434, + tWCHAR = 435, + tWIREMARSHAL = 436, + tAPARTMENT = 437, + tNEUTRAL = 438, + tSINGLE = 439, + tFREE = 440, + tBOTH = 441, + CAST = 442, + PPTR = 443, + POS = 444, + NEG = 445, + ADDRESSOF = 446 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 144 "parser.y" /* yacc.c:355 */ +#line 144 "parser.y" attr_t *attr; attr_list_t *attr_list; @@ -471,8 +489,10 @@ union YYSTYPE struct _decl_spec_t *declspec; enum storage_class stgclass; -#line 475 "parser.tab.c" /* yacc.c:355 */ +#line 493 "parser.tab.c" + }; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif @@ -482,38 +502,83 @@ extern YYSTYPE parser_lval; int parser_parse (void); -#endif /* !YY_PARSER_E_REACTOSSYNC_MSVC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED */ +#endif /* !YY_PARSER_PARSER_TAB_H_INCLUDED */ -/* Copy the second part of user declarations. */ -#line 490 "parser.tab.c" /* yacc.c:358 */ #ifdef short # undef short #endif -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; +/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure + <limits.h> and (if available) <stdint.h> are included + so that the code can choose integer types of a good width. */ + +#ifndef __PTRDIFF_MAX__ +# include <limits.h> /* INFRINGES ON USER NAME SPACE */ +# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ +# include <stdint.h> /* INFRINGES ON USER NAME SPACE */ +# define YY_STDINT_H +# endif #endif -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; +/* Narrow types that promote to a signed type and that can represent a + signed or unsigned integer of at least N bits. In tables they can + save space and decrease cache pressure. Promoting to a signed type + helps avoid bugs in integer arithmetic. */ + +#ifdef __INT_LEAST8_MAX__ +typedef __INT_LEAST8_TYPE__ yytype_int8; +#elif defined YY_STDINT_H +typedef int_least8_t yytype_int8; #else typedef signed char yytype_int8; #endif -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; +#ifdef __INT_LEAST16_MAX__ +typedef __INT_LEAST16_TYPE__ yytype_int16; +#elif defined YY_STDINT_H +typedef int_least16_t yytype_int16; +#else +typedef short yytype_int16; +#endif + +#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST8_TYPE__ yytype_uint8; +#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST8_MAX <= INT_MAX) +typedef uint_least8_t yytype_uint8; +#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX +typedef unsigned char yytype_uint8; #else -typedef unsigned short int yytype_uint16; +typedef short yytype_uint8; #endif -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; +#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST16_TYPE__ yytype_uint16; +#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST16_MAX <= INT_MAX) +typedef uint_least16_t yytype_uint16; +#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX +typedef unsigned short yytype_uint16; #else -typedef short int yytype_int16; +typedef int yytype_uint16; +#endif + +#ifndef YYPTRDIFF_T +# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ +# define YYPTRDIFF_T __PTRDIFF_TYPE__ +# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ +# elif defined PTRDIFF_MAX +# ifndef ptrdiff_t +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# endif +# define YYPTRDIFF_T ptrdiff_t +# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX +# else +# define YYPTRDIFF_T long +# define YYPTRDIFF_MAXIMUM LONG_MAX +# endif #endif #ifndef YYSIZE_T @@ -521,15 +586,27 @@ typedef short int yytype_int16; # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T +# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) +#define YYSIZE_MAXIMUM \ + YY_CAST (YYPTRDIFF_T, \ + (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ + ? YYPTRDIFF_MAXIMUM \ + : YY_CAST (YYSIZE_T, -1))) + +#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) + +/* Stored state numbers (used for stacks). */ +typedef yytype_int16 yy_state_t; + +/* State numbers in computations. */ +typedef int yy_state_fast_t; #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS @@ -543,11 +620,19 @@ typedef short int yytype_int16; # endif #endif -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if (! defined __GNUC__ || __GNUC__ < 2 \ - || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) -# define __attribute__(Spec) /* empty */ +#ifndef YY_ATTRIBUTE_PURE +# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define YY_ATTRIBUTE_PURE +# endif +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +# else +# define YY_ATTRIBUTE_UNUSED # endif #endif @@ -558,13 +643,13 @@ typedef short int yytype_int16; # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") -# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value @@ -577,6 +662,20 @@ typedef short int yytype_int16; # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif +#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ +# define YY_IGNORE_USELESS_CAST_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") +# define YY_IGNORE_USELESS_CAST_END \ + _Pragma ("GCC diagnostic pop") +#endif +#ifndef YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_END +#endif + + +#define YY_ASSERT(E) ((void) (0 && (E))) #if ! defined yyoverflow || YYERROR_VERBOSE @@ -653,17 +752,17 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss_alloc; + yy_state_t yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) +# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 @@ -676,11 +775,11 @@ union yyalloc # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ - YYSIZE_T yynewbytes; \ + YYPTRDIFF_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ + yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / YYSIZEOF (*yyptr); \ } \ while (0) @@ -692,12 +791,12 @@ union yyalloc # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ - __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) + __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ - YYSIZE_T yyi; \ + YYPTRDIFF_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ @@ -709,42 +808,43 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3047 +#define YYLAST 3170 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 213 +#define YYNTOKENS 216 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 113 +#define YYNNTS 115 /* YYNRULES -- Number of rules. */ -#define YYNRULES 410 +#define YYNRULES 417 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 718 +#define YYNSTATES 729 -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 443 +#define YYMAXUTOK 446 + +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ + as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 197, 2, 2, 2, 196, 189, 2, - 210, 211, 194, 193, 184, 192, 204, 195, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 186, 209, - 190, 212, 191, 185, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 200, 2, 2, 2, 199, 192, 2, + 213, 214, 197, 196, 187, 195, 207, 198, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 189, 212, + 193, 215, 194, 188, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 205, 2, 206, 188, 2, 2, 2, 2, 2, + 2, 208, 2, 209, 191, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 207, 187, 208, 198, 2, 2, 2, + 2, 2, 2, 210, 190, 211, 201, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -775,56 +875,56 @@ static const yytype_uint8 yytranslate[] = 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 199, - 200, 201, 202, 203 + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 202, 203, 204, 205, 206 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = -{ - 0, 327, 327, 344, 344, 346, 347, 347, 349, 350, - 351, 354, 357, 358, 359, 362, 363, 364, 364, 366, - 367, 368, 371, 372, 373, 374, 377, 378, 381, 382, - 386, 387, 388, 389, 390, 391, 392, 395, 406, 407, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 422, - 424, 432, 438, 446, 447, 449, 457, 468, 469, 472, - 473, 476, 477, 481, 486, 493, 497, 498, 501, 502, - 506, 509, 510, 511, 514, 515, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, - 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, - 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, - 592, 593, 597, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 618, 619, 620, 624, 625, 630, 631, - 632, 633, 636, 637, 640, 644, 650, 651, 652, 655, - 659, 671, 675, 680, 683, 684, 687, 688, 691, 692, - 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, - 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, - 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, - 723, 724, 725, 726, 727, 728, 730, 732, 733, 736, - 737, 740, 746, 752, 753, 756, 761, 768, 769, 772, - 773, 777, 778, 781, 785, 791, 799, 803, 808, 809, - 812, 813, 814, 817, 819, 822, 823, 824, 825, 826, - 827, 828, 829, 830, 831, 832, 835, 836, 839, 840, - 841, 842, 843, 844, 845, 846, 847, 850, 851, 859, - 865, 869, 872, 873, 877, 880, 881, 884, 893, 894, - 897, 898, 901, 907, 913, 914, 917, 918, 921, 931, - 941, 947, 951, 952, 955, 956, 959, 964, 971, 972, - 973, 977, 981, 984, 985, 988, 989, 993, 994, 998, - 999, 1000, 1004, 1006, 1008, 1012, 1013, 1014, 1015, 1023, - 1025, 1027, 1032, 1034, 1039, 1040, 1045, 1046, 1047, 1048, - 1053, 1062, 1064, 1065, 1070, 1072, 1076, 1077, 1084, 1085, - 1086, 1087, 1088, 1093, 1101, 1102, 1105, 1106, 1109, 1116, - 1117, 1122, 1123, 1127, 1128, 1129, 1130, 1131, 1135, 1136, - 1137, 1140, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, - 1151, 1152, 1155, 1162, 1164, 1170, 1171, 1172, 1175, 1177, - 1179, 1181, 1184, 1189, 1197, 1198, 1201, 1202, 1205, 1206, - 1207 +static const yytype_int16 yyrline[] = +{ + 0, 328, 328, 345, 345, 347, 348, 348, 350, 351, + 352, 355, 358, 359, 360, 363, 364, 365, 365, 367, + 368, 369, 372, 373, 374, 375, 378, 379, 382, 383, + 387, 388, 389, 390, 391, 392, 393, 396, 407, 408, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 423, + 425, 433, 439, 447, 448, 450, 458, 469, 470, 473, + 474, 477, 478, 482, 487, 494, 498, 499, 502, 503, + 507, 510, 511, 512, 515, 516, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, + 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 598, 599, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, + 616, 617, 618, 619, 620, 621, 625, 626, 631, 632, + 633, 634, 637, 638, 641, 645, 651, 652, 653, 656, + 660, 672, 676, 681, 684, 685, 688, 689, 692, 693, + 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 731, 733, 734, 737, + 738, 741, 747, 753, 754, 757, 762, 769, 770, 773, + 774, 778, 779, 782, 786, 792, 800, 804, 809, 810, + 813, 814, 815, 818, 820, 823, 824, 825, 826, 827, + 828, 829, 830, 831, 832, 833, 836, 837, 840, 841, + 842, 843, 844, 845, 846, 847, 848, 851, 852, 860, + 866, 870, 873, 874, 878, 881, 882, 885, 894, 895, + 898, 899, 902, 908, 914, 915, 918, 919, 922, 932, + 942, 948, 952, 953, 956, 957, 960, 965, 972, 973, + 974, 978, 982, 985, 986, 989, 990, 994, 995, 999, + 1000, 1001, 1005, 1007, 1009, 1013, 1014, 1015, 1016, 1024, + 1026, 1028, 1033, 1035, 1040, 1041, 1046, 1047, 1048, 1049, + 1054, 1063, 1065, 1066, 1071, 1073, 1077, 1078, 1085, 1086, + 1087, 1088, 1089, 1094, 1102, 1103, 1106, 1107, 1110, 1117, + 1118, 1123, 1124, 1128, 1129, 1130, 1131, 1132, 1136, 1137, + 1138, 1141, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, + 1152, 1153, 1156, 1163, 1165, 1171, 1172, 1173, 1177, 1178, + 1182, 1183, 1187, 1194, 1203, 1204, 1208, 1209, 1213, 1215, + 1216, 1217, 1221, 1222, 1227, 1228, 1229, 1230 }; #endif @@ -837,41 +937,41 @@ static const char *const yytname[] = "aNUM", "aHEXNUM", "aDOUBLE", "aSTRING", "aWSTRING", "aSQSTRING", "aUUID", "aEOF", "aACF", "SHL", "SHR", "MEMBERPTR", "EQUALITY", "INEQUALITY", "GREATEREQUAL", "LESSEQUAL", "LOGICALOR", "LOGICALAND", - "ELLIPSIS", "tAGGREGATABLE", "tALLOCATE", "tANNOTATION", "tAPPOBJECT", - "tASYNC", "tASYNCUUID", "tAUTOHANDLE", "tBINDABLE", "tBOOLEAN", - "tBROADCAST", "tBYTE", "tBYTECOUNT", "tCALLAS", "tCALLBACK", "tCASE", - "tCDECL", "tCHAR", "tCOCLASS", "tCODE", "tCOMMSTATUS", "tCONST", + "ELLIPSIS", "tAGGREGATABLE", "tALLNODES", "tALLOCATE", "tANNOTATION", + "tAPPOBJECT", "tASYNC", "tASYNCUUID", "tAUTOHANDLE", "tBINDABLE", + "tBOOLEAN", "tBROADCAST", "tBYTE", "tBYTECOUNT", "tCALLAS", "tCALLBACK", + "tCASE", "tCDECL", "tCHAR", "tCOCLASS", "tCODE", "tCOMMSTATUS", "tCONST", "tCONTEXTHANDLE", "tCONTEXTHANDLENOSERIALIZE", "tCONTEXTHANDLESERIALIZE", "tCONTROL", "tCPPQUOTE", "tDECODE", "tDEFAULT", "tDEFAULTBIND", "tDEFAULTCOLLELEM", "tDEFAULTVALUE", "tDEFAULTVTABLE", "tDISABLECONSISTENCYCHECK", "tDISPLAYBIND", "tDISPINTERFACE", "tDLLNAME", - "tDOUBLE", "tDUAL", "tENABLEALLOCATE", "tENCODE", "tENDPOINT", "tENTRY", - "tENUM", "tERRORSTATUST", "tEXPLICITHANDLE", "tEXTERN", "tFALSE", - "tFASTCALL", "tFAULTSTATUS", "tFLOAT", "tFORCEALLOCATE", "tHANDLE", - "tHANDLET", "tHELPCONTEXT", "tHELPFILE", "tHELPSTRING", - "tHELPSTRINGCONTEXT", "tHELPSTRINGDLL", "tHIDDEN", "tHYPER", "tID", - "tIDEMPOTENT", "tIGNORE", "tIIDIS", "tIMMEDIATEBIND", "tIMPLICITHANDLE", - "tIMPORT", "tIMPORTLIB", "tIN", "tIN_LINE", "tINLINE", "tINPUTSYNC", - "tINT", "tINT32", "tINT3264", "tINT64", "tINTERFACE", "tLCID", - "tLENGTHIS", "tLIBRARY", "tLICENSED", "tLOCAL", "tLONG", "tMAYBE", - "tMESSAGE", "tMETHODS", "tMODULE", "tNAMESPACE", "tNOCODE", + "tDONTFREE", "tDOUBLE", "tDUAL", "tENABLEALLOCATE", "tENCODE", + "tENDPOINT", "tENTRY", "tENUM", "tERRORSTATUST", "tEXPLICITHANDLE", + "tEXTERN", "tFALSE", "tFASTCALL", "tFAULTSTATUS", "tFLOAT", + "tFORCEALLOCATE", "tHANDLE", "tHANDLET", "tHELPCONTEXT", "tHELPFILE", + "tHELPSTRING", "tHELPSTRINGCONTEXT", "tHELPSTRINGDLL", "tHIDDEN", + "tHYPER", "tID", "tIDEMPOTENT", "tIGNORE", "tIIDIS", "tIMMEDIATEBIND", + "tIMPLICITHANDLE", "tIMPORT", "tIMPORTLIB", "tIN", "tIN_LINE", "tINLINE", + "tINPUTSYNC", "tINT", "tINT32", "tINT3264", "tINT64", "tINTERFACE", + "tLCID", "tLENGTHIS", "tLIBRARY", "tLICENSED", "tLOCAL", "tLONG", + "tMAYBE", "tMESSAGE", "tMETHODS", "tMODULE", "tNAMESPACE", "tNOCODE", "tNONBROWSABLE", "tNONCREATABLE", "tNONEXTENSIBLE", "tNOTIFY", "tNOTIFYFLAG", "tNULL", "tOBJECT", "tODL", "tOLEAUTOMATION", "tOPTIMIZE", "tOPTIONAL", "tOUT", "tPARTIALIGNORE", "tPASCAL", "tPOINTERDEFAULT", "tPRAGMA_WARNING", "tPROGID", "tPROPERTIES", "tPROPGET", "tPROPPUT", "tPROPPUTREF", "tPROXY", "tPTR", "tPUBLIC", "tRANGE", "tREADONLY", "tREF", "tREGISTER", "tREPRESENTAS", "tREQUESTEDIT", "tRESTRICTED", - "tRETVAL", "tSAFEARRAY", "tSHORT", "tSIGNED", "tSIZEIS", "tSIZEOF", - "tSMALL", "tSOURCE", "tSTATIC", "tSTDCALL", "tSTRICTCONTEXTHANDLE", - "tSTRING", "tSTRUCT", "tSWITCH", "tSWITCHIS", "tSWITCHTYPE", - "tTHREADING", "tTRANSMITAS", "tTRUE", "tTYPEDEF", "tUIDEFAULT", "tUNION", - "tUNIQUE", "tUNSIGNED", "tUSESGETLASTERROR", "tUSERMARSHAL", "tUUID", - "tV1ENUM", "tVARARG", "tVERSION", "tVIPROGID", "tVOID", "tWCHAR", - "tWIREMARSHAL", "tAPARTMENT", "tNEUTRAL", "tSINGLE", "tFREE", "tBOTH", - "','", "'?'", "':'", "'|'", "'^'", "'&'", "'<'", "'>'", "'-'", "'+'", - "'*'", "'/'", "'%'", "'!'", "'~'", "CAST", "PPTR", "POS", "NEG", - "ADDRESSOF", "'.'", "'['", "']'", "'{'", "'}'", "';'", "'('", "')'", - "'='", "$accept", "input", "m_acf", "gbl_statements", "$@1", + "tRETVAL", "tSAFEARRAY", "tSHORT", "tSIGNED", "tSINGLENODE", "tSIZEIS", + "tSIZEOF", "tSMALL", "tSOURCE", "tSTATIC", "tSTDCALL", + "tSTRICTCONTEXTHANDLE", "tSTRING", "tSTRUCT", "tSWITCH", "tSWITCHIS", + "tSWITCHTYPE", "tTHREADING", "tTRANSMITAS", "tTRUE", "tTYPEDEF", + "tUIDEFAULT", "tUNION", "tUNIQUE", "tUNSIGNED", "tUSESGETLASTERROR", + "tUSERMARSHAL", "tUUID", "tV1ENUM", "tVARARG", "tVERSION", "tVIPROGID", + "tVOID", "tWCHAR", "tWIREMARSHAL", "tAPARTMENT", "tNEUTRAL", "tSINGLE", + "tFREE", "tBOTH", "','", "'?'", "':'", "'|'", "'^'", "'&'", "'<'", "'>'", + "'-'", "'+'", "'*'", "'/'", "'%'", "'!'", "'~'", "CAST", "PPTR", "POS", + "NEG", "ADDRESSOF", "'.'", "'['", "']'", "'{'", "'}'", "';'", "'('", + "')'", "'='", "$accept", "input", "m_acf", "gbl_statements", "$@1", "imp_statements", "$@2", "int_statements", "semicolon_opt", "statement", "pragma_warning", "warnings", "typedecl", "cppquote", "import_start", "import", "importlib", "libraryhdr", "library_start", "librarydef", @@ -896,14 +996,15 @@ static const char *const yytname[] = "struct_declarator_list", "init_declarator", "threading_type", "pointer_type", "structdef", "type", "typedef", "uniondef", "version", "acf_statements", "acf_int_statements", "acf_int_statement", - "acf_interface", "acf_attributes", "acf_attribute_list", "acf_attribute", YY_NULL + "acf_interface", "acf_attributes", "acf_attribute_list", "acf_attribute", + "allocate_option_list", "allocate_option", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ -static const yytype_uint16 yytoknum[] = +static const yytype_int16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, @@ -923,105 +1024,106 @@ static const yytype_uint16 yytoknum[] = 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 44, 63, 58, 124, 94, 38, - 60, 62, 45, 43, 42, 47, 37, 33, 126, 439, - 440, 441, 442, 443, 46, 91, 93, 123, 125, 59, - 40, 41, 61 + 435, 436, 437, 438, 439, 440, 441, 44, 63, 58, + 124, 94, 38, 60, 62, 45, 43, 42, 47, 37, + 33, 126, 442, 443, 444, 445, 446, 46, 91, 93, + 123, 125, 59, 40, 41, 61 }; # endif -#define YYPACT_NINF -560 +#define YYPACT_NINF (-564) -#define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-560))) +#define yypact_value_is_default(Yyn) \ + ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF -405 +#define YYTABLE_NINF (-405) -#define yytable_value_is_error(Yytable_value) \ +#define yytable_value_is_error(Yyn) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { - -560, 94, 1606, -560, -560, -560, -57, -560, -560, -560, - 147, -560, -89, 165, -560, 169, -560, -560, -560, -560, - 35, 149, -560, -560, -560, -560, -560, 172, 35, 164, - -34, -560, -29, 35, 333, -560, -560, 192, 197, 333, - -560, -560, 2869, -560, -560, -560, -27, -560, -560, -560, - -560, -560, 21, 2567, -13, -10, -560, -560, 9, -36, - -560, 2, 12, 38, 23, 46, 41, -560, -560, 57, - -560, 128, 128, 128, 175, 2716, 76, 128, 81, 88, - 61, -560, -57, 219, -560, -560, 315, -560, -560, 15, - -560, 121, -560, -560, 123, -560, -560, -560, -560, 331, - 2716, -560, -560, 58, 129, -94, -112, -560, -560, 130, - -560, -560, 131, -560, -560, -560, 132, 134, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, 138, -560, - -560, -560, 140, -560, -560, -560, 141, 146, -560, -560, - -560, -560, 150, 151, 153, 157, 158, -560, 160, -560, - -560, 161, -560, 163, -560, -560, 166, 167, -560, -560, - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, 168, -560, -560, -560, 170, 171, -560, -560, -560, - -560, -560, -560, 174, -560, -560, 185, -560, -560, -560, - 187, -560, -560, -560, 188, 189, 190, 191, -560, -560, - -560, 195, 196, -560, -560, 206, 209, 211, -132, -560, - -560, -560, 1736, 851, 133, 267, 270, 273, 283, 286, - 220, 148, -560, -560, -560, -560, 175, 173, 216, -560, - -560, -560, -560, -560, -42, -560, -560, -560, 290, 222, - -560, -560, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, 175, 175, -560, 127, -101, -560, -560, -560, - 128, -560, -560, -560, -560, -560, -560, -119, -560, -560, - 374, 215, 291, -560, 249, 225, -560, 227, -560, 429, - 84, 291, 710, 710, 430, 432, 710, 710, 435, 458, - 710, 461, 710, 710, 2097, 710, 710, 463, -68, 464, - 710, 2716, 710, 710, 2716, -38, 2716, 2716, 84, 324, - 466, 2716, 2869, 271, -560, 268, -560, -560, -560, 272, - -560, 278, -560, -560, -560, 23, 2612, -560, 279, -560, - -560, -560, -560, 279, -91, -560, -560, -122, -560, 293, - -65, 280, 284, -560, -560, 1193, 52, 266, -560, 710, - 542, 2097, -560, -560, 61, -560, 285, -560, 282, 303, - -560, 281, 488, -560, -49, 133, -39, 294, -560, -560, - 295, 296, -560, -560, -560, -560, -560, -560, -560, -560, - -560, 305, -560, 710, 710, 710, 710, 710, 710, 596, - 2299, -135, -560, 2299, 306, 307, -560, -111, 308, 309, - 314, 316, 317, 323, 326, 371, 327, 2612, 77, 328, - -106, -560, 2299, 329, 330, 332, 311, 335, -100, 1397, - 343, -560, -560, -560, -560, -560, 344, 346, 359, 360, - 292, -560, 361, 362, 367, -560, 2869, 492, -560, -560, - -560, 175, 23, -11, -560, 1089, -560, 340, 2612, 370, - 1476, 334, 413, 1297, 23, -560, 2612, -560, -560, -560, - -560, 611, -560, 2190, 377, 402, -560, -560, -560, 380, - -560, 291, 710, -560, 18, -560, 2612, -560, 378, -560, - 384, -560, 389, -560, -560, -560, 2612, 36, 36, 36, - 36, 36, 36, 2102, 496, 710, 710, 597, 710, 710, - 710, 710, 710, 710, 710, 710, 710, 710, 710, 710, - 710, 710, 710, 710, 710, 605, 710, 710, -560, -560, - -560, 600, -560, -560, -560, -560, -560, -560, -560, -560, - -560, -560, 77, -560, 1833, -560, 77, -560, -560, -560, - -87, -560, 710, -560, -560, -560, -560, 710, -560, -560, - -560, -560, -560, -560, -560, -560, 604, -560, -560, -560, - -560, 400, -560, -560, 428, -560, -560, -560, -560, 175, - 116, -560, -560, 2612, 407, -560, -560, -560, 23, -560, - -560, -560, -560, 2009, 419, 417, 380, -560, -560, -560, - -560, 77, 418, 291, -560, -560, 496, -560, -560, 1921, - -560, 496, -560, 415, -74, 318, 318, -560, 575, 575, - 482, 482, 2318, 2337, 2260, 2372, 2394, 218, 482, 482, - 54, 54, 36, 36, 36, -560, 2212, -560, -560, -560, - 74, -560, 421, 77, 422, -560, 2097, -560, -560, 424, - -560, 23, 970, 175, -560, -560, 1401, -560, -560, -560, - 623, -560, -560, 444, -560, -103, -560, 431, -560, 425, - 375, -560, 434, 77, 437, -560, 710, 2097, -560, 710, - -560, -560, 74, -560, -560, -560, 440, -560, -560, -560, - -560, 23, 433, 710, -560, 77, -560, -560, -560, -560, - 74, -560, -560, -560, 36, 441, 2299, -560, -560, -560, - -560, -560, -560, -1, -560, -560, 710, 453, -560, -560, - 468, -58, -58, -560, -560, 447, -560, -560 + -564, 108, 1696, -564, -564, -564, -66, -564, -564, -564, + 176, -564, -101, 195, -564, 243, -564, -564, -564, -564, + 38, 148, -564, -564, -564, -564, -564, 269, 38, 165, + -35, -564, -14, 38, 15, -564, -564, 291, 321, 15, + -564, -564, 2989, -564, -564, -564, 47, -564, -564, -564, + -564, -564, 51, 2671, 53, 57, -564, -564, 64, 24, + -564, 81, 80, 85, 87, 91, 117, -564, -564, 123, + -564, -16, -16, -16, 48, 2836, 125, -16, 130, 136, + 96, -564, -66, 152, -564, -564, 346, -564, -564, 119, + -564, 139, -564, -564, 149, -564, -564, -564, -564, 368, + 2836, -564, -564, 122, 168, -92, -117, -564, -564, 169, + -564, -564, 173, -564, -564, -564, 174, 186, -564, -564, + -564, -564, -564, -564, -564, -564, -564, -564, 187, -564, + -564, -564, 188, -564, -564, -564, 189, 190, -564, -564, + -564, -564, 191, 192, 194, 203, 206, -564, 207, -564, + -564, 208, -564, 213, -564, -564, 214, 216, -564, -564, + -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, + -564, 217, -564, -564, -564, 218, 220, -564, -564, -564, + -564, -564, -564, 223, -564, -564, 224, -564, -564, -564, + 225, -564, -564, -564, 226, 228, 230, 231, -564, -564, + -564, 236, 257, -564, -564, 259, 260, 262, -62, -564, + -564, -564, 1836, 878, 200, 335, 340, 349, 359, 364, + 267, 268, -564, -564, -564, -564, 48, 270, 271, -564, + -564, -564, -564, -564, -30, -564, -564, -564, 369, 274, + -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, + -564, -564, 48, 48, -564, 272, -58, -564, -564, -564, + -16, -564, -564, -564, 275, -564, -564, -564, -12, -564, + -564, 423, 278, 376, -564, 296, 279, -564, 276, -564, + 485, 43, 376, 731, 731, 487, 489, 731, 731, 490, + 491, 731, 492, 731, 731, 2224, 731, 731, 494, -80, + 495, 731, 2836, 731, 731, 2836, 98, 2836, 2836, 43, + 202, 496, 2836, 2989, 298, -564, 295, -564, -564, -564, + 299, -564, 302, -564, -564, -564, 87, 2760, -564, 303, + -564, -564, -564, -564, 303, -97, -564, -564, -112, -564, + 325, -72, 305, 308, -564, -564, 1239, 45, 306, -564, + 731, 624, 2224, -564, -564, 66, 96, -564, 311, -564, + 312, 337, -564, 307, 520, -564, -111, 200, 59, 313, + -564, -564, 314, 316, -564, -564, -564, -564, -564, -564, + -564, -564, -564, 318, -564, 731, 731, 731, 731, 731, + 731, 605, 2473, -93, -564, 2473, 320, 322, -564, -42, + 328, 330, 331, 332, 333, 334, 336, 374, 338, 2760, + 65, 339, -41, -564, 2473, 341, 342, 344, 345, 347, + -38, 2230, 360, -564, -564, -564, -564, -564, 361, 362, + 363, 365, 352, -564, 366, 370, 372, -564, 2989, 526, + -564, -564, -564, 48, 87, 27, -564, 1120, -564, 371, + 2760, 351, 1575, 343, 456, 1358, 87, -564, 2760, -564, + -564, -564, -564, 709, -564, 2390, 373, 391, -564, -564, + -564, -564, -564, -564, -34, -564, -564, 384, -564, 376, + 731, -564, 21, -564, 2760, -564, 377, -564, 378, -564, + 380, -564, -564, -564, 2760, 32, 32, 32, 32, 32, + 32, 2319, 227, 731, 731, 590, 731, 731, 731, 731, + 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, + 731, 731, 731, 592, 731, 731, -564, -564, -564, 587, + -564, -564, -564, -564, -564, -564, -564, -564, -564, -564, + 65, -564, 1957, -564, 65, -564, -564, -564, 8, -564, + 731, -564, -564, -564, -564, 731, -564, -564, -564, -564, + -564, -564, -564, -564, 591, -564, -564, -564, -564, 385, + -564, -564, 411, -564, -564, -564, -564, 48, 171, -564, + -564, 2760, 388, -564, -564, -564, 87, -564, -564, -564, + -564, 2135, 66, -564, 393, 394, 384, -564, -564, -564, + -564, 65, 390, 376, -564, -564, 227, -564, -564, 2046, + -564, 227, -564, 392, 28, 90, 90, -564, 672, 672, + 215, 215, 2345, 2504, 2452, 1277, 1396, 1337, 215, 215, + 30, 30, 32, 32, 32, -564, 2430, -564, -564, -564, + 36, -564, 395, 65, 403, -564, 2224, -564, -564, 404, + -564, 87, 999, 48, -564, -564, 1477, -564, -564, -564, + -564, 599, -564, -564, 430, -564, -103, -564, 410, -564, + 407, 289, -564, 408, 65, 409, -564, 731, 2224, -564, + 731, -564, -564, 36, -564, -564, -564, 414, -564, -564, + -564, -564, 87, 412, 731, -564, 65, -564, -564, -564, + -564, 36, -564, -564, -564, 32, 415, 2473, -564, -564, + -564, -564, -564, -564, -7, -564, -564, 731, 436, -564, + -564, 447, -147, -147, -564, -564, 425, -564, -564 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ -static const yytype_uint16 yydefact[] = +static const yytype_int16 yydefact[] = { 5, 0, 3, 1, 35, 383, 398, 273, 265, 284, 0, 322, 0, 0, 272, 260, 274, 318, 271, 275, @@ -1049,86 +1151,87 @@ static const yytype_uint16 yydefact[] = 10, 292, 6, 313, 0, 29, 311, 312, 0, 0, 26, 331, 328, 330, 329, 263, 264, 178, 179, 180, 181, 323, 0, 0, 335, 371, 334, 257, 385, 387, - 327, 389, 325, 34, 409, 408, 410, 0, 406, 399, - 0, 0, 186, 50, 0, 0, 243, 0, 249, 0, + 327, 389, 325, 34, 0, 410, 409, 411, 0, 406, + 399, 0, 0, 186, 50, 0, 0, 243, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, - 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 76, 70, 51, 0, 23, 24, 25, 0, - 21, 0, 19, 16, 22, 28, 0, 69, 386, 53, - 54, 314, 315, 388, 390, 55, 256, 68, 5, 0, - 68, 0, 0, 305, 26, 68, 0, 0, 333, 0, - 0, 57, 337, 326, 0, 405, 0, 49, 0, 188, - 189, 192, 0, 391, 68, 68, 68, 0, 177, 176, - 0, 0, 207, 198, 199, 200, 204, 205, 206, 201, - 202, 0, 203, 0, 0, 0, 0, 0, 0, 0, - 241, 0, 239, 242, 0, 0, 74, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 356, 0, - 0, 194, 197, 0, 0, 0, 0, 0, 0, 0, - 0, 373, 374, 375, 376, 377, 0, 0, 0, 0, - 395, 397, 0, 0, 0, 72, 76, 0, 20, 17, - 56, 0, 28, 0, 293, 68, 298, 0, 0, 0, - 0, 0, 0, 68, 28, 27, 69, 324, 332, 336, - 372, 0, 67, 0, 0, 61, 58, 59, 407, 400, - 193, 187, 0, 38, 0, 381, 0, 244, 0, 393, - 69, 250, 0, 78, 169, 84, 0, 231, 230, 229, - 232, 227, 228, 0, 344, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, + 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 70, 51, 0, 23, 24, 25, + 0, 21, 0, 19, 16, 22, 28, 0, 69, 386, + 53, 54, 314, 315, 388, 390, 55, 256, 68, 5, + 0, 68, 0, 0, 305, 26, 68, 0, 0, 333, + 0, 0, 57, 337, 326, 0, 0, 405, 0, 49, + 0, 188, 189, 192, 0, 391, 68, 68, 68, 0, + 177, 176, 0, 0, 207, 198, 199, 200, 204, 205, + 206, 201, 202, 0, 203, 0, 0, 0, 0, 0, + 0, 0, 241, 0, 239, 242, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 85, 96, - 100, 0, 104, 105, 110, 111, 112, 113, 114, 116, - 119, 121, 356, 323, 57, 361, 356, 358, 357, 64, - 353, 125, 196, 124, 140, 144, 145, 0, 153, 157, - 161, 162, 164, 163, 167, 168, 0, 172, 173, 174, - 73, 0, 15, 364, 392, 290, 294, 7, 300, 0, - 387, 299, 302, 0, 0, 255, 303, 26, 28, 317, - 66, 65, 338, 0, 404, 0, 400, 190, 191, 39, + 356, 0, 0, 194, 197, 0, 0, 0, 0, 0, + 0, 0, 0, 373, 374, 375, 376, 377, 0, 0, + 0, 0, 395, 397, 0, 0, 0, 72, 76, 0, + 20, 17, 56, 0, 28, 0, 293, 68, 298, 0, + 0, 0, 0, 0, 0, 68, 28, 27, 69, 324, + 332, 336, 372, 0, 67, 0, 0, 61, 58, 59, + 416, 414, 417, 415, 0, 412, 407, 400, 193, 187, + 0, 38, 0, 381, 0, 244, 0, 393, 69, 250, + 0, 78, 169, 84, 0, 231, 230, 229, 232, 227, + 228, 0, 344, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 85, 96, 100, 0, + 104, 105, 110, 111, 112, 113, 114, 116, 119, 121, + 356, 323, 57, 361, 356, 358, 357, 64, 353, 125, + 196, 124, 140, 144, 145, 0, 153, 157, 161, 162, + 164, 163, 167, 168, 0, 172, 173, 174, 73, 0, + 15, 364, 392, 290, 294, 7, 300, 0, 387, 299, + 302, 0, 0, 255, 303, 26, 28, 317, 66, 65, + 338, 0, 0, 408, 404, 0, 400, 190, 191, 39, 37, 0, 389, 258, 248, 247, 344, 238, 323, 57, 348, 344, 345, 0, 341, 220, 221, 233, 214, 215, 218, 219, 209, 210, 0, 211, 212, 213, 217, 216, 223, 222, 225, 226, 224, 234, 0, 240, 75, 63, 356, 323, 0, 356, 0, 352, 57, 360, 195, 0, 396, 28, 68, 0, 253, 301, 68, 309, 62, 60, - 0, 403, 401, 366, 369, 0, 246, 0, 259, 0, - 344, 323, 0, 356, 0, 340, 0, 57, 347, 0, - 237, 351, 356, 362, 355, 359, 0, 151, 52, 18, - 365, 28, 0, 0, 368, 0, 245, 182, 236, 339, - 356, 349, 343, 346, 235, 0, 208, 354, 363, 310, - 402, 367, 370, 0, 342, 350, 0, 0, 394, 183, - 0, 68, 68, 252, 185, 0, 184, 251 + 413, 0, 403, 401, 366, 369, 0, 246, 0, 259, + 0, 344, 323, 0, 356, 0, 340, 0, 57, 347, + 0, 237, 351, 356, 362, 355, 359, 0, 151, 52, + 18, 365, 28, 0, 0, 368, 0, 245, 182, 236, + 339, 356, 349, 343, 346, 235, 0, 208, 354, 363, + 310, 402, 367, 370, 0, 342, 350, 0, 0, 394, + 183, 0, 68, 68, 252, 185, 0, 184, 251 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -560, -560, -560, 320, -560, -46, -560, -317, -315, 0, - -560, -560, -560, -560, -560, 208, -560, -560, -560, 10, - -514, -560, -560, -261, -242, -203, -2, -560, -560, -272, - 354, -66, -560, -560, -560, -560, 198, 13, 366, 137, - -195, -560, -264, -280, -560, -560, -560, -560, -41, -237, - -560, 233, -560, 25, -69, -560, 42, 99, 5, -560, - 11, 17, -560, -560, 619, -560, -560, -560, -560, -560, - -18, -560, 19, 16, -560, -560, 20, -560, -560, -307, - -496, -52, -43, -30, -236, -560, -560, -560, -540, -560, - -559, -560, 51, -560, -560, -560, 3, -560, 459, -560, - 391, 1, -50, -560, 7, -560, 615, 112, -560, -560, - 115, -560, 348 + -564, -564, -564, 301, -564, -45, -564, -331, -315, 0, + -564, -564, -564, -564, -564, 184, -564, -564, -564, 11, + -483, -564, -564, -263, -246, -207, -2, -564, -564, -284, + 353, -68, -564, -564, -564, -564, 163, 13, 355, 93, + -199, -564, -265, -279, -564, -564, -564, -564, -78, -197, + -564, 196, -564, 5, -70, -564, 110, 162, 10, -564, + 17, 19, -564, -564, 593, -564, -564, -564, -564, -564, + -28, -564, 20, 16, -564, -564, 22, -564, -564, -313, + -506, -52, 6, 3, -236, -564, -564, -564, -539, -564, + -563, -564, -164, -564, -564, -564, -47, -564, 426, -564, + 356, 1, -55, -564, 7, -564, 578, 68, -564, -564, + 67, -564, 310, -564, 75 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 43, 2, 338, 212, 562, 345, 236, 316, - 45, 474, 46, 47, 48, 49, 317, 220, 50, 318, - 464, 465, 466, 467, 535, 52, 327, 208, 397, 209, - 370, 536, 703, 709, 358, 359, 360, 258, 410, 411, - 390, 391, 392, 394, 364, 477, 481, 366, 714, 715, - 574, 55, 657, 91, 537, 56, 93, 57, 319, 59, - 320, 321, 337, 444, 62, 63, 340, 450, 64, 239, - 65, 66, 322, 323, 225, 69, 324, 71, 72, 73, - 346, 74, 241, 75, 255, 256, 602, 664, 603, 604, - 538, 634, 539, 540, 564, 684, 654, 655, 257, 426, - 210, 259, 77, 78, 261, 432, 81, 585, 586, 82, - 83, 267, 268 + -1, 1, 43, 2, 339, 212, 570, 346, 236, 317, + 45, 482, 46, 47, 48, 49, 318, 220, 50, 319, + 466, 467, 468, 469, 543, 52, 328, 208, 399, 209, + 372, 544, 714, 720, 360, 361, 362, 258, 412, 413, + 392, 393, 394, 396, 366, 485, 489, 368, 725, 726, + 582, 55, 668, 91, 545, 56, 93, 57, 320, 59, + 321, 322, 338, 446, 62, 63, 341, 452, 64, 239, + 65, 66, 323, 324, 225, 69, 325, 71, 72, 73, + 347, 74, 241, 75, 255, 256, 612, 675, 613, 614, + 546, 644, 547, 548, 572, 695, 665, 666, 257, 428, + 210, 259, 77, 78, 261, 434, 81, 595, 596, 82, + 83, 268, 269, 474, 475 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1136,749 +1239,776 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 53, 226, 44, 76, 213, 254, 398, 58, 253, 79, - 440, 326, 51, 60, 352, 54, 347, 348, 68, 61, - 632, 67, 70, 399, 589, 260, 402, 453, 404, 243, - 244, 409, 653, 406, 262, 224, 416, 630, 706, 457, - 435, 242, 242, 242, -404, 447, 277, 242, 13, 517, - 275, 707, 312, 497, 227, 245, 659, 246, 222, 27, - 228, 665, 104, 106, -261, 354, 221, -261, 181, 460, - 97, 497, 185, 521, 313, 101, 518, 245, 542, 246, - 245, 685, 246, 42, 542, 662, 442, 355, 393, 339, - 27, 393, 247, 368, 3, 278, 369, 11, 405, 199, - 522, 412, 660, 449, 350, 543, 686, 412, 419, 351, - 458, 549, 264, -261, 247, -45, -261, 247, 350, 11, - 689, 86, 676, 636, 248, 265, 653, 565, 478, 482, - 266, 350, 92, 102, 443, 672, 667, 448, 107, 579, - 42, 421, 422, 423, 424, 425, 248, 42, 80, 248, - 84, 713, 85, 695, 393, 463, 42, 254, 94, 475, - 253, 476, 448, 448, 560, 690, 42, 98, 87, 479, - 88, 231, 89, 11, 90, 95, 99, 96, 245, 249, - 246, 100, 211, 254, 254, 214, 253, 253, 487, 488, - 489, 490, 491, 492, 493, 103, -40, 90, 17, 229, - 105, 249, 90, 361, 249, 563, 250, 708, 588, 232, - 53, 53, 371, 76, 76, 247, 341, 353, 230, 79, - 79, 233, -261, 22, -41, 54, 54, 238, 250, 590, - 242, 250, 235, 495, 496, 497, 498, 499, 500, 501, - 515, 516, 408, 104, 106, 234, 251, 248, 512, 513, - 514, 417, 600, 627, 420, 237, 427, 428, 515, 516, - 646, 434, 252, 647, 240, -261, 490, -43, 533, 31, - 328, 533, 90, 329, 441, 330, 331, 254, 332, 350, - 253, 36, 350, 639, 534, -42, 333, 534, 90, 334, - 263, 90, 407, 342, 245, 343, 246, -44, 637, 408, - 605, 606, 249, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, - 270, 626, 649, 457, 271, -254, 678, -254, 272, 250, - 430, 431, 273, 644, 274, 497, 276, 494, 42, 349, - 279, 280, 281, 456, 282, 455, 76, 412, 283, 407, - 284, 285, 79, 457, 600, 532, 286, -46, 54, 600, - 287, 288, 668, 289, 480, 457, 699, 290, 291, 251, - 292, 293, 254, 294, 9, 253, 295, 296, 297, 356, - 298, 299, -47, 457, 300, 252, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 301, 569, 302, 303, 304, - 305, 306, 361, 701, 226, 307, 308, 680, 508, 509, - 510, 511, 512, 513, 514, 247, 309, 20, 600, 310, - 11, 311, 515, 516, 591, -48, 357, 335, 601, 344, - 23, 24, 25, 26, 596, 362, 363, 365, 367, 395, - 28, 396, 710, 53, 400, 44, 76, 248, 573, 570, - 58, 456, 79, 455, 76, 51, 60, 227, 54, 566, - 79, 68, 61, 228, 67, 70, 54, 401, 633, 221, - 403, 694, 413, 415, 696, 433, 436, 459, 437, 446, - 33, 438, 408, 592, 35, 439, -261, 471, 393, 451, - 470, 452, 469, 472, 473, 547, 556, 495, 496, 497, - 254, 561, 249, 253, 21, 483, 484, 485, 448, 448, - 510, 511, 512, 513, 514, 486, 642, 519, 520, 523, - 524, 226, 515, 516, 658, 525, 568, 526, 527, 250, - 601, 408, 407, 663, 528, 601, 247, 529, 531, 541, - 544, 545, 576, 546, 584, 372, 548, 408, 373, 374, - 375, 376, 377, 378, 551, 552, 504, 553, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 248, 598, - 554, 555, 557, 558, 254, 515, 516, 253, 559, 571, - 350, 407, 530, 629, 408, 599, 583, 635, 582, 593, - 495, 496, 497, 594, 601, 500, 501, 407, 595, 372, - 607, 5, 373, 374, 375, 376, 377, 378, 625, 628, - 640, 641, 643, 379, 372, 408, 645, 373, 374, 375, - 376, 377, 378, 249, 80, 651, 666, 656, 682, 7, - 683, 8, 673, 675, 407, 677, 688, 9, 687, 711, - 53, 11, 700, 76, 456, 691, 455, 76, 693, 79, - 250, 698, 705, 79, 712, 54, 717, 14, 445, 54, - 577, 380, 429, 215, 16, 407, 17, 379, 418, 587, - 18, 716, 223, 19, 510, 511, 512, 513, 514, 638, - 20, 671, 379, 575, 674, 336, 515, 516, 702, 414, - 598, 22, 381, 23, 24, 25, 26, 269, 652, 650, - 0, 350, 468, 28, 0, 382, 599, 0, 0, 0, - 0, 0, 0, 372, 692, 380, 373, 374, 375, 376, - 377, 378, 0, 697, 0, 0, 0, 0, 0, 0, - 380, 383, 0, 0, 384, 385, 461, 31, 0, 387, - 388, 704, 32, 33, 34, 0, 381, 35, 462, 36, - 0, 0, 389, 218, 0, 0, 0, 0, 0, 382, - 0, 381, 219, 0, 39, 508, 509, 510, 511, 512, - 513, 514, 40, 41, 382, 0, 0, 0, 0, 515, - 516, 379, 0, 0, 0, 383, 0, 0, 384, 385, - 386, 0, 0, 387, 388, 0, 0, 0, 0, 0, - 383, 0, 0, 384, 385, 386, 389, 0, 387, 388, - 0, 0, 0, 0, 0, 0, 0, 580, 0, 0, - 0, 389, 0, 0, 0, 0, 0, 0, 0, 380, + 53, 226, 44, 76, 254, 213, 253, 327, 400, 79, + 353, 442, 58, 51, 455, 54, 348, 349, 68, 60, + 260, 61, 67, 401, 70, 224, 404, 599, 406, 437, + 11, 411, 408, 717, 459, 640, 418, -404, 664, 245, + 449, 246, 104, 106, 278, 276, 718, 505, 245, 505, + 246, 245, 370, 246, 227, 371, 17, 9, 181, 642, + 228, 42, 185, 222, -261, 724, 221, 670, 245, -261, + 246, 462, 676, 27, 242, 242, 242, 247, 243, 244, + 242, 22, 11, 262, 696, 395, 247, 13, 395, 247, + 199, 11, 470, 279, 525, 407, 42, 42, 414, 444, + 483, 20, 671, 340, 414, 421, 247, 505, 3, 697, + 248, 460, 86, -261, 23, 24, 25, 26, -261, 248, + -45, 526, 248, 264, 28, 313, 673, 31, 471, 573, + 27, 445, 700, 664, 450, 683, 42, 92, 97, 248, + 36, 587, 80, 101, 451, 529, 550, 314, 265, 550, + 351, 395, 465, 592, 568, 352, 254, 94, 253, 484, + 450, 450, 266, 687, 33, 249, 701, 267, 98, 35, + 486, 490, 530, 551, 249, 356, 557, 249, 99, 84, + 593, 85, 254, 254, 253, 253, 495, 496, 497, 498, + 499, 500, 501, 250, 249, 706, 102, 357, 87, 100, + 88, 107, 250, 363, 719, 250, 342, 571, 432, 433, + 53, 53, 373, 76, 76, 598, 351, 472, 214, 79, + 79, 646, 250, 104, 106, 54, 54, 520, 521, 522, + 503, 504, 505, 541, 231, 600, 351, 523, 524, 523, + 524, 678, 251, 410, 351, 251, 89, 419, 90, 542, + 422, 473, 429, 430, 656, 271, 610, 436, 252, 211, + 637, 252, 541, 242, 498, -40, 354, 42, 247, 229, + 487, 657, 95, 351, 96, 443, 230, 254, 542, 253, + 423, 424, 425, 426, 427, 518, 519, 520, 521, 522, + 649, 232, 233, 409, 103, 234, 90, 523, 524, 235, + 410, 248, 647, 237, 615, 616, 238, 618, 619, 620, + 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 105, 636, 90, 459, 659, -261, + 247, -41, -261, 240, -43, 11, 689, -42, 329, 502, + 90, 654, 263, 330, 458, 331, 457, 76, -44, 273, + 409, 414, 332, 79, 333, 272, 249, 540, 459, 54, + 610, 274, 334, 248, 90, 610, 488, 335, 679, 90, + 459, 275, 343, 254, 344, 253, 639, 710, 277, 245, + 645, 246, 280, -254, 250, -254, 281, 282, 459, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 577, 283, + 284, 285, 286, 287, 288, 289, 226, 290, 42, 363, + 518, 519, 520, 521, 522, 712, 291, 691, 249, 292, + 293, 294, 523, 524, 608, 610, 295, 296, 358, 297, + 298, 299, 601, 300, 611, 351, 301, 302, 303, 304, + 609, 305, 606, 306, 307, 53, 250, 44, 76, 308, + 581, 578, 721, 458, 79, 457, 76, 58, 51, 227, + 54, 574, 79, 68, 60, 228, 61, 67, 54, 70, + 309, 221, 310, 311, 643, 312, 682, 336, 705, 685, + -46, 707, -47, -48, 345, 364, 608, 350, 355, 367, + 410, 602, 359, 365, 369, 395, 397, 351, 398, 402, + 403, 405, 609, 415, 417, 435, 438, 254, 439, 253, + 703, 440, 441, -261, 448, 450, 450, 453, 454, 708, + 461, 477, 480, 478, 479, 652, 481, 491, 492, 226, + 493, 494, 555, 669, 527, 569, 528, 715, 611, 410, + 409, 674, 531, 611, 532, 533, 534, 535, 536, 21, + 537, 594, 539, 549, 584, 552, 553, 410, 554, 564, + 576, 556, 512, 579, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 559, 560, 561, 562, 591, 563, + 565, 523, 524, 254, 566, 253, 567, 590, 538, 409, + 604, 603, 605, 617, 410, 635, 638, 650, 653, 651, + 655, 80, 667, 611, 693, 662, 677, 409, 374, 684, + 5, 375, 376, 377, 378, 379, 380, 686, 688, 694, + 698, 699, 702, 704, 711, 722, 410, 374, 709, 716, + 375, 376, 377, 378, 379, 380, 723, 728, 585, 7, + 447, 8, 597, 648, 409, 727, 223, 9, 583, 713, + 53, 11, 337, 76, 458, 416, 457, 76, 420, 79, + 270, 661, 431, 79, 663, 54, 476, 660, 14, 54, + 0, 0, 0, 0, 215, 16, 409, 17, 381, 0, + 0, 18, 0, 0, 19, 0, 0, 503, 504, 505, + 0, 20, 508, 509, 0, 0, 0, 381, 0, 0, + 0, 0, 22, 0, 23, 24, 25, 26, 0, 0, + 0, 0, 374, 0, 28, 375, 376, 377, 378, 379, + 380, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 0, 0, 0, 0, 374, 0, 0, 375, 376, 377, + 378, 379, 380, 0, 0, 382, 0, 0, 31, 0, + 0, 0, 0, 32, 33, 34, 0, 0, 383, 35, + 0, 36, 0, 0, 0, 218, 0, 0, 0, 0, + 0, 384, 0, 0, 219, 0, 39, 383, 0, 0, + 0, 0, 381, 0, 40, 41, 0, 0, 0, 0, + 384, 0, 0, 0, 0, 0, 0, 385, 0, 0, + 386, 387, 388, 0, 381, 389, 390, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 385, 0, 391, 386, + 387, 463, 0, 0, 389, 390, 0, 0, 0, 0, + 382, 0, 0, 464, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 383, 0, 0, 516, 517, 518, 519, 520, + 521, 522, 0, 0, 0, 384, 0, 0, 0, 523, + 524, 0, 4, 5, 383, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 385, 0, 0, 386, 387, 388, 0, 0, 389, + 390, 0, 7, 0, 8, 0, 0, 0, 588, 0, + 9, 10, 391, 385, 11, 0, 386, 387, 388, 12, + 0, 389, 390, 0, 0, 0, 0, 0, 13, 0, + 0, 14, 0, 0, 391, 0, 0, 15, 16, 0, + 17, 0, 0, 0, 18, 0, 0, 19, 0, 0, + 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, + 0, 21, 316, 0, 0, 22, 0, 23, 24, 25, + 26, 27, 0, 0, 0, 0, 0, 28, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, - 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, - 0, 0, 9, 10, 0, 0, 11, 0, 0, 383, - 0, 12, 384, 385, 386, 0, 0, 387, 388, 0, - 13, 0, 14, 0, 0, 0, 0, 0, 15, 16, - 389, 17, 0, 0, 0, 18, 0, 0, 19, 0, - 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, - 0, 0, 21, 315, 0, 0, 22, 0, 23, 24, + 0, 31, 0, 0, 0, 0, 32, 33, 34, 0, + 0, 0, 35, 7, 36, 8, 0, 0, 37, 0, + 0, 9, 10, 0, 0, 11, 0, 38, 0, 39, + 12, 0, 0, 0, 0, 0, 0, 40, 41, 13, + 0, 0, 14, 0, 0, 0, 0, 0, 15, 16, + 0, 17, 0, 0, 0, 18, 0, 0, 19, 0, + 0, 0, 0, 0, 0, 20, 42, 0, 0, 326, + 0, 0, 21, 316, 0, 0, 22, 0, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 32, 33, 34, - 0, 0, 35, 7, 36, 8, 0, 0, 37, 0, - 0, 9, 10, 0, 0, 11, 0, 38, 0, 39, - 12, 0, 0, 0, 0, 0, 0, 40, 41, 13, + 0, 0, 0, 35, 7, 36, 8, 0, 0, 37, + 0, 0, 9, 10, 0, 0, 11, 0, 38, 0, + 39, 12, 0, 0, 0, 0, 0, 0, 40, 41, + 13, 0, 0, 14, 0, 0, 0, 0, 0, 15, + 16, 0, 17, 0, 0, 0, 18, 0, 0, 19, + 0, 0, 0, 0, 0, 0, 20, 42, 0, 0, + 690, 0, 0, 21, 0, 0, 0, 22, 0, 23, + 24, 25, 26, 27, 0, 0, 0, 0, 0, 28, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, + 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 31, 0, 0, 0, 0, 32, 33, + 34, 0, 0, 7, 35, 8, 36, 0, 0, 0, + 37, 9, 0, 0, 0, 11, 0, 0, 0, 38, + 12, 39, 503, 504, 505, 506, 507, 508, 509, 40, + 41, 0, 14, 0, 0, 0, 0, 0, 15, 16, + 0, 17, 0, 0, 0, 18, 0, 0, 19, 0, + 0, 0, 0, 0, 0, 20, 0, 0, 42, 0, + 0, 575, 21, 0, 0, 0, 22, 0, 23, 24, + 25, 26, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 503, 504, 505, 506, 507, 508, 509, 0, + 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 0, 0, 32, 33, 34, + 0, 0, 7, 35, 8, 36, 0, 0, 0, 37, + 9, 0, 0, 0, 11, 0, 0, 0, 38, 12, + 39, 503, 504, 505, 506, 507, 508, 509, 40, 41, 0, 14, 0, 0, 0, 0, 0, 15, 16, 0, 17, 0, 0, 0, 18, 0, 0, 19, 0, 0, - 0, 0, 0, 0, 20, 0, 42, 0, 0, 325, - 0, 21, 315, 0, 0, 22, 0, 23, 24, 25, - 26, 27, 0, 0, 0, 0, 0, 28, 0, 0, - 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 5, 0, 0, 0, 0, 30, + 0, 0, 0, 0, 20, 0, 0, 42, 0, 0, + 456, 21, 0, 0, 0, 22, 0, 23, 24, 25, + 26, 0, 0, 0, 0, 0, 0, 28, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 0, 0, 0, + 0, 4, 5, 0, 523, 524, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 32, 33, 34, 0, - 0, 35, 7, 36, 8, 0, 0, 37, 0, 0, - 9, 10, 0, 0, 11, 0, 38, 0, 39, 12, - 0, 0, 0, 0, 0, 0, 40, 41, 13, 0, - 14, 0, 0, 0, 0, 0, 15, 16, 0, 17, + 0, 7, 35, 8, 36, 0, 0, 0, 37, 9, + 0, 0, 0, 11, 0, 0, 0, 38, 12, 39, + 516, 517, 518, 519, 520, 521, 522, 40, 41, 0, + 14, 0, 0, 0, 523, 524, 15, 16, 0, 17, 0, 0, 0, 18, 0, 0, 19, 0, 0, 0, - 0, 0, 0, 20, 0, 42, 0, 0, 679, 0, + 0, 0, 0, 20, 0, 0, 42, 0, 0, 586, 21, 0, 0, 0, 22, 0, 23, 24, 25, 26, - 27, 0, 0, 0, 0, 0, 28, 4, 5, 0, - 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, - 31, 0, 0, 0, 9, 32, 33, 34, 11, 0, - 35, 0, 36, 12, 0, 0, 37, 0, 0, 0, - 0, 0, 0, 0, 14, 38, 0, 39, 0, 0, - 15, 16, 0, 17, 0, 40, 41, 18, 0, 0, - 19, 0, 0, 0, 0, 0, 0, 20, 0, 0, - 0, 0, 0, 0, 21, 0, 0, 0, 22, 0, - 23, 24, 25, 26, 42, 0, 0, 567, 0, 0, - 28, 4, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 8, 0, 31, 0, 0, 0, 9, 32, - 33, 34, 11, 0, 35, 0, 36, 12, 0, 0, - 37, 0, 0, 0, 0, 0, 0, 0, 14, 38, - 0, 39, 0, 0, 15, 16, 0, 17, 0, 40, - 41, 18, 0, 0, 19, 0, 0, 0, 0, 0, - 0, 20, 0, 0, 0, 0, 0, 0, 21, 0, - 0, 0, 22, 0, 23, 24, 25, 26, 42, 0, - 0, 454, 0, 0, 28, 4, 5, 0, 0, 0, - 0, 0, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 0, 0, 0, 0, 0, 30, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 8, 0, 31, 0, - 0, 0, 9, 32, 33, 34, 11, 0, 35, 0, - 36, 12, 0, 0, 37, 0, 0, 0, 0, 0, - 0, 0, 14, 38, 0, 39, 0, 0, 15, 16, - 0, 17, 0, 40, 41, 18, 0, 0, 19, 0, - 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, - 0, 0, 21, 0, 0, 0, 22, 0, 23, 24, - 25, 26, 42, 0, 0, 578, 0, 0, 28, 7, + 5, 0, 0, 0, 0, 0, 28, 0, 515, 516, + 517, 518, 519, 520, 521, 522, 0, 0, 0, 0, + 0, 0, 0, 523, 524, 0, 0, 0, 30, 7, 0, 8, 0, 0, 0, 0, 0, 9, 0, 0, - 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 0, 31, 215, 16, 0, 17, 32, 33, 34, - 18, 0, 35, 19, 36, 0, 0, 0, 37, 0, - 20, 0, 0, 0, 0, 0, 0, 38, 0, 39, - 0, 22, 0, 23, 24, 25, 26, 40, 41, 0, - 0, 0, 504, 28, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 0, 0, 0, 0, 0, - 0, 515, 516, 0, 0, 0, 42, 0, 550, 681, - 4, 5, 0, 0, 0, 0, 0, 31, 0, 0, - 6, 0, 32, 33, 34, 0, 0, 35, 0, 36, - 0, 0, 0, 218, 0, 0, 0, 0, 0, 7, - 0, 8, 219, 0, 39, 0, 0, 9, 10, 0, - 0, 11, 40, 41, 0, 0, 12, 0, 0, 0, - 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, - 0, 0, 0, 15, 16, 0, 17, 0, 0, 0, - 18, 42, 0, 19, 572, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 21, 0, 0, - 0, 22, 0, 23, 24, 25, 26, 27, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 29, 0, + 31, 11, 0, 0, 0, 32, 33, 34, 0, 0, + 0, 35, 0, 36, 0, 0, 0, 37, 14, 0, + 0, 0, 0, 0, 215, 16, 38, 17, 39, 0, + 0, 18, 0, 0, 19, 0, 40, 41, 0, 0, + 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 22, 0, 23, 24, 25, 26, 0, 0, + 0, 0, 0, 0, 28, 42, 0, 0, 692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, - 4, 5, 0, 0, 0, 0, 0, 31, 0, 314, - 0, 0, 32, 33, 34, 0, 0, 35, 0, 36, - 0, 0, 0, 37, 0, 0, 0, 0, 0, 7, - -68, 8, 38, 0, 39, 0, 0, 9, 10, 0, - 0, 11, 40, 41, 0, 0, 12, 0, 0, 0, - 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, - 0, 0, 0, 15, 16, 0, 17, 0, 0, 0, - 18, 42, 0, 19, 0, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 21, 315, 0, - 0, 22, 0, 23, 24, 25, 26, 27, 5, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 29, 0, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 31, 0, + 0, 0, 0, 32, 33, 34, 0, 0, 0, 35, + 7, 36, 8, 0, 0, 218, 0, 0, 9, 10, + 0, 0, 11, 0, 219, 0, 39, 12, 0, 0, + 0, 0, 0, 0, 40, 41, 13, 0, 0, 14, + 0, 0, 0, 0, 0, 15, 16, 0, 17, 0, + 0, 0, 18, 0, 0, 19, 0, 0, 0, 0, + 0, 0, 20, 42, 0, 0, 580, 0, 0, 21, + 0, 0, 0, 22, 0, 23, 24, 25, 26, 27, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 4, 5, 0, 0, 32, 33, 34, 0, 0, 315, + 35, 0, 36, 0, 0, 0, 37, 0, 0, 0, + 0, 0, 0, -68, 0, 38, 0, 39, 0, 0, + 7, 0, 8, 0, 0, 40, 41, 0, 9, 10, + 0, 0, 11, 0, 0, 0, 0, 12, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 0, 0, 14, + 0, 0, 0, 0, 42, 15, 16, 0, 17, 0, + 0, 0, 18, 0, 0, 19, 0, 0, 0, 0, + 0, 0, 20, 0, 0, 0, 0, 0, 0, 21, + 316, 0, 0, 22, 0, 23, 24, 25, 26, 27, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 0, 30, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 0, 0, 0, 0, 32, 33, 34, 0, 0, 0, + 35, 7, 36, 8, 0, 0, 37, 0, 247, 9, + 0, 0, 0, 11, 0, 38, 0, 39, 0, 0, + 0, 0, 0, 0, 0, 40, 41, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 215, 16, 0, 17, + 0, 248, 0, 18, 0, 0, 19, 0, 0, 0, + 0, 0, 0, 20, 42, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 22, 0, 23, 24, 25, 26, + 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 7, 0, 8, 0, - 0, 0, 0, 247, 9, 0, 0, 31, 11, 0, - 0, 0, 32, 33, 34, 0, 0, 35, 0, 36, - 0, 0, 0, 37, 14, 0, 0, 0, 0, 0, - 215, 16, 38, 17, 39, 248, 0, 18, 0, 0, - 19, 0, 40, 41, 0, 0, 0, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 0, 22, 0, - 23, 24, 25, 26, 0, 0, 0, 0, 0, 0, - 28, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, - 249, 247, 9, 0, 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 31, 0, 0, 0, 0, 32, - 33, 34, 14, 0, 35, 0, 36, 250, 215, 16, - 218, 17, 0, 248, 0, 18, 0, 0, 19, 219, - 0, 39, 0, 0, 0, 20, 0, 0, 0, 40, - 41, 0, 0, 0, 5, 0, 22, 0, 23, 24, - 25, 26, 0, 0, 0, 0, 0, 631, 28, 0, - 0, 0, 0, 648, 0, 0, 0, 0, 42, 0, - 0, 0, 7, 0, 8, 0, 0, 0, 249, 0, - 9, 0, 0, 0, 11, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 0, 32, 33, 34, - 14, 0, 35, 0, 36, 250, 215, 16, 218, 17, - 0, 0, 0, 18, 0, 0, 19, 219, 0, 39, - 0, 0, 0, 20, 0, 0, 0, 40, 41, 0, - 0, 0, 5, 0, 22, 0, 23, 24, 25, 26, - 0, 0, 0, 0, 0, 661, 28, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 42, 0, 0, 0, - 7, 0, 8, 0, 0, 0, 0, 0, 9, 0, + 7, 0, 8, 0, 0, 0, 249, 247, 9, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 0, 0, 32, 33, 34, 14, 0, - 35, 0, 36, 0, 215, 16, 218, 17, 0, 0, + 31, 0, 0, 0, 0, 32, 33, 34, 0, 14, + 0, 35, 0, 36, 250, 215, 16, 218, 17, 0, + 248, 0, 18, 0, 0, 19, 219, 0, 39, 0, + 0, 0, 20, 0, 0, 0, 40, 41, 0, 0, + 5, 0, 0, 22, 0, 23, 24, 25, 26, 0, + 0, 0, 0, 0, 641, 28, 0, 0, 0, 658, + 0, 0, 0, 0, 0, 42, 0, 0, 0, 7, + 0, 8, 0, 0, 0, 249, 0, 9, 0, 0, + 0, 11, 0, 0, 0, 0, 0, 0, 0, 31, + 0, 0, 0, 0, 32, 33, 34, 0, 14, 0, + 35, 0, 36, 250, 215, 16, 218, 17, 0, 0, 0, 18, 0, 0, 19, 219, 0, 39, 0, 0, - 0, 20, 0, 0, 0, 40, 41, 0, 0, 0, + 0, 20, 0, 0, 0, 40, 41, 0, 0, 5, 0, 0, 22, 0, 23, 24, 25, 26, 0, 0, - 0, 0, 0, 0, 28, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 42, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 0, 0, 31, 0, - 0, 0, 0, 32, 33, 34, 0, 0, 35, 0, + 0, 0, 0, 672, 28, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 42, 0, 0, 0, 7, 0, + 8, 0, 0, 0, 0, 0, 9, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 0, 0, 31, 0, + 0, 0, 0, 32, 33, 34, 0, 14, 0, 35, + 0, 36, 0, 215, 16, 218, 17, 0, 0, 0, + 18, 0, 0, 19, 219, 0, 39, 0, 0, 0, + 20, 0, 0, 0, 40, 41, 0, 0, 0, 0, + 0, 22, 0, 23, 24, 25, 26, 0, 0, 0, + 0, 0, 0, 28, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 42, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 503, 504, 505, 506, 507, 508, 509, 31, 511, 0, + 0, 0, 32, 33, 34, 0, 0, 0, 35, 0, 36, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 39, 0, 0, 0, 0, - 0, 0, 0, 40, 41, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 0, 0, 0, 504, 0, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, - 0, 0, 42, 0, 0, 0, 515, 516, 0, 0, - 0, 0, 0, 597, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 495, 496, 497, 498, 499, 500, 501, - 0, 503, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 495, 496, 497, 498, 499, 500, 501, 0, + 0, 0, 0, 40, 41, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 0, 0, 0, 0, 512, 0, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 0, 0, 42, 0, 0, 0, 0, 523, 524, 0, + 0, 0, 0, 0, 558, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 512, 0, 513, + 514, 515, 516, 517, 518, 519, 520, 521, 522, 503, + 504, 505, 506, 507, 508, 509, 523, 524, 0, 0, + 0, 0, 0, 607, 0, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 0, 0, 0, 0, 0, + 0, 0, 523, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 504, 0, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 495, 496, 497, - 498, 499, 500, 501, 515, 516, 581, 504, 0, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 495, - 496, 497, 498, 499, 500, 501, 515, 516, 670, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 512, 0, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 0, 0, 0, 0, 0, 0, 0, 523, 524, 589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 512, 0, + 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, + 0, 0, 0, 0, 0, 0, 0, 523, 524, 681, + 512, 680, 513, 514, 515, 516, 517, 518, 519, 520, + 521, 522, 0, 0, 0, 0, 0, 0, 0, 523, + 524, 512, 0, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 0, 0, 0, 5, 0, 0, 0, + 523, 524, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 0, 7, 0, 8, 0, 0, + 0, 523, 524, 9, 10, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 504, 669, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 0, 0, - 0, 0, 0, 0, 515, 516, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 504, 0, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 0, 0, 0, - 0, 0, 0, 515, 516, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 0, 0, 0, 0, 0, - 0, 0, 515, 516, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 0, 0, 0, 0, 0, - 0, 515, 516, 0, 0, 0, 0, 0, 0, 0, + 0, 13, 0, 0, 14, 0, 0, 0, 0, 0, + 215, 16, 0, 17, 0, 0, 0, 18, 0, 0, + 19, 0, 0, 0, 0, 0, 0, 20, 0, 0, + 0, 0, 0, 0, 0, 5, 0, 0, 22, 0, + 23, 24, 25, 26, 27, 0, 0, 216, 0, 0, + 28, 0, 0, 0, 217, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, + 0, 0, 9, 0, 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 31, 0, 0, 0, 0, 32, + 33, 34, 0, 14, 0, 35, 0, 36, 0, 215, + 16, 218, 17, 0, 0, 0, 18, 0, 0, 19, + 219, 5, 39, 0, 0, 0, 20, 0, 0, 0, + 40, 41, 0, 0, 0, 0, 0, 22, 0, 23, + 24, 25, 26, 0, 0, 0, 0, 0, 0, 28, + 7, 0, 8, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, - 0, 0, 5, 0, 0, 0, 515, 516, 0, 0, - 0, 0, 0, 507, 508, 509, 510, 511, 512, 513, - 514, 0, 0, 0, 0, 0, 0, 0, 515, 516, - 7, 0, 8, 0, 0, 0, 0, 0, 9, 10, - 0, 0, 11, 0, 0, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, - 0, 0, 0, 0, 215, 16, 0, 17, 0, 0, - 0, 18, 0, 0, 19, 7, 0, 8, 0, 0, - 0, 20, 0, 9, 0, 0, 0, 11, 0, 0, - 0, 0, 22, 0, 23, 24, 25, 26, 27, 0, - 0, 216, 0, 14, 28, 0, 0, 0, 217, 215, - 16, 0, 17, 0, 0, 0, 18, 0, 0, 19, - 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 22, 31, 23, - 24, 25, 26, 32, 33, 34, 0, 0, 35, 28, - 36, 5, 0, 0, 218, 0, 0, 0, 0, 0, - 0, 0, 0, 219, 0, 39, 0, 0, 0, 0, - 0, 0, 0, 40, 41, 0, 0, 0, 0, 7, - 0, 8, 0, 31, 0, 0, 0, 9, 32, 33, - 34, 0, 0, 35, 0, 36, 0, 0, 0, 218, - 0, 0, 0, 0, 0, 0, 0, 14, 219, 0, - 39, 0, 0, 215, 16, 0, 0, 0, 40, 41, - 18, 0, 0, 19, 0, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, + 0, 0, 0, 31, 0, 215, 16, 0, 32, 33, + 34, 0, 18, 0, 35, 19, 36, 0, 0, 0, + 218, 0, 20, 0, 0, 0, 0, 0, 0, 219, + 0, 39, 0, 0, 0, 23, 24, 25, 26, 40, + 41, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 32, 33, 34, 0, 0, 35, 0, 0, - 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, - 0, 0, 219, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 40, 41, 108, 0, 109, 110, 111, 112, - 113, 114, 0, 115, 0, 0, 116, 0, 117, 0, - 0, 0, 118, 119, 0, 120, 121, 122, 123, 0, - 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, - 0, 133, 134, 135, 136, 137, 0, 0, 138, 0, - 0, 0, 139, 0, 140, 141, 0, 142, 143, 144, - 145, 146, 147, 0, 148, 149, 150, 151, 152, 153, - 0, 0, 154, 0, 0, 155, 0, 0, 0, 0, - 0, 156, 157, 0, 158, 159, 0, 160, 161, 0, - 0, 0, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 171, 172, 173, 174, 0, 175, 0, 176, - 0, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 0, 186, 187, 188, 189, 0, 0, 0, 190, 0, - 0, 191, 0, 0, 192, 193, 0, 0, 194, 195, - 196, 197, 0, 0, 198, 0, 199, 0, 200, 201, - 202, 203, 204, 205, 206, 0, 0, 207 + 0, 0, 0, 0, 32, 33, 34, 0, 0, 0, + 35, 0, 0, 0, 0, 0, 218, 0, 0, 0, + 0, 0, 0, 0, 0, 219, 0, 39, 0, 0, + 0, 0, 0, 0, 108, 40, 41, 109, 110, 111, + 112, 113, 114, 0, 115, 0, 0, 116, 0, 117, + 0, 0, 0, 118, 119, 0, 120, 121, 122, 123, + 0, 124, 125, 126, 127, 128, 129, 130, 131, 0, + 132, 0, 0, 133, 134, 135, 136, 137, 0, 0, + 138, 0, 0, 0, 139, 0, 140, 141, 0, 142, + 143, 144, 145, 146, 147, 0, 148, 149, 150, 151, + 152, 153, 0, 0, 154, 0, 0, 155, 0, 0, + 0, 0, 0, 156, 157, 0, 158, 159, 0, 160, + 161, 0, 0, 0, 162, 163, 164, 165, 166, 167, + 0, 168, 169, 170, 171, 172, 173, 174, 0, 175, + 0, 176, 0, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 0, 186, 187, 188, 189, 0, 0, 0, + 0, 190, 0, 0, 191, 0, 0, 192, 193, 0, + 0, 194, 195, 196, 197, 0, 0, 198, 0, 199, + 0, 200, 201, 202, 203, 204, 205, 206, 0, 0, + 207 }; static const yytype_int16 yycheck[] = { - 2, 53, 2, 2, 50, 74, 286, 2, 74, 2, - 325, 214, 2, 2, 256, 2, 252, 253, 2, 2, - 534, 2, 2, 287, 6, 75, 290, 344, 292, 72, - 73, 295, 591, 294, 77, 53, 300, 533, 39, 346, - 312, 71, 72, 73, 101, 110, 158, 77, 59, 184, - 100, 52, 184, 17, 53, 3, 596, 5, 53, 101, - 53, 601, 37, 38, 158, 184, 53, 158, 136, 349, - 28, 17, 140, 184, 206, 33, 211, 3, 184, 5, - 3, 184, 5, 205, 184, 599, 208, 206, 283, 131, - 101, 286, 40, 9, 0, 207, 12, 45, 293, 167, - 211, 296, 598, 340, 205, 211, 209, 302, 303, 210, - 346, 211, 51, 207, 40, 209, 207, 40, 205, 45, - 660, 210, 636, 210, 72, 64, 685, 442, 365, 366, - 69, 205, 97, 34, 337, 631, 210, 340, 39, 454, - 205, 179, 180, 181, 182, 183, 72, 205, 205, 72, - 3, 209, 5, 667, 349, 350, 205, 226, 9, 208, - 226, 364, 365, 366, 436, 661, 205, 3, 3, 208, - 5, 207, 3, 45, 5, 3, 210, 5, 3, 127, - 5, 210, 209, 252, 253, 164, 252, 253, 383, 384, - 385, 386, 387, 388, 389, 3, 209, 5, 70, 209, - 3, 127, 5, 272, 127, 441, 154, 208, 472, 207, - 212, 213, 281, 212, 213, 40, 234, 260, 209, 212, - 213, 209, 207, 95, 209, 212, 213, 186, 154, 211, - 260, 154, 209, 15, 16, 17, 18, 19, 20, 21, - 204, 205, 294, 218, 219, 207, 194, 72, 194, 195, - 196, 301, 494, 517, 304, 209, 306, 307, 204, 205, - 577, 311, 210, 578, 207, 207, 461, 209, 194, 141, - 3, 194, 5, 3, 326, 5, 3, 346, 5, 205, - 346, 153, 205, 547, 210, 209, 3, 210, 5, 3, - 209, 5, 294, 3, 3, 5, 5, 209, 540, 351, - 495, 496, 127, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 101, 516, 583, 630, 9, 209, 641, 211, 207, 154, - 6, 7, 209, 569, 3, 17, 207, 389, 205, 212, - 210, 210, 210, 345, 210, 345, 345, 542, 210, 351, - 210, 210, 345, 660, 596, 407, 210, 209, 345, 601, - 210, 210, 604, 210, 366, 672, 681, 210, 210, 194, - 210, 210, 441, 210, 41, 441, 210, 210, 210, 5, - 210, 210, 209, 690, 210, 210, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 210, 448, 210, 210, 210, - 210, 210, 471, 683, 456, 210, 210, 643, 190, 191, - 192, 193, 194, 195, 196, 40, 210, 84, 660, 210, - 45, 210, 204, 205, 476, 209, 211, 207, 494, 207, - 97, 98, 99, 100, 486, 186, 211, 210, 9, 9, - 107, 9, 706, 445, 9, 445, 445, 72, 450, 448, - 445, 453, 445, 453, 453, 445, 445, 456, 445, 443, - 453, 445, 445, 456, 445, 445, 453, 9, 534, 456, - 9, 666, 9, 9, 669, 9, 205, 211, 210, 186, - 147, 209, 534, 476, 151, 207, 207, 184, 683, 209, - 208, 207, 207, 212, 6, 184, 204, 15, 16, 17, - 569, 9, 127, 569, 91, 211, 211, 211, 711, 712, - 192, 193, 194, 195, 196, 210, 562, 211, 211, 211, - 211, 573, 204, 205, 593, 211, 186, 211, 211, 154, - 596, 583, 534, 599, 211, 601, 40, 211, 211, 211, - 211, 211, 208, 211, 164, 3, 211, 599, 6, 7, - 8, 9, 10, 11, 211, 211, 185, 211, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 72, 194, - 211, 211, 211, 211, 643, 204, 205, 643, 211, 209, - 205, 583, 211, 532, 636, 210, 184, 536, 211, 211, - 15, 16, 17, 209, 660, 20, 21, 599, 209, 3, - 3, 5, 6, 7, 8, 9, 10, 11, 3, 9, - 6, 211, 184, 71, 3, 667, 209, 6, 7, 8, - 9, 10, 11, 127, 205, 208, 211, 209, 5, 33, - 186, 35, 211, 211, 636, 211, 211, 41, 207, 186, - 642, 45, 209, 642, 646, 211, 646, 646, 211, 642, - 154, 211, 211, 646, 186, 642, 209, 61, 338, 646, - 452, 119, 308, 67, 68, 667, 70, 71, 302, 471, - 74, 712, 53, 77, 192, 193, 194, 195, 196, 542, - 84, 630, 71, 450, 633, 226, 204, 205, 685, 298, - 194, 95, 150, 97, 98, 99, 100, 82, 586, 584, - -1, 205, 354, 107, -1, 163, 210, -1, -1, -1, - -1, -1, -1, 3, 663, 119, 6, 7, 8, 9, - 10, 11, -1, 672, -1, -1, -1, -1, -1, -1, - 119, 189, -1, -1, 192, 193, 194, 141, -1, 197, - 198, 690, 146, 147, 148, -1, 150, 151, 206, 153, - -1, -1, 210, 157, -1, -1, -1, -1, -1, 163, - -1, 150, 166, -1, 168, 190, 191, 192, 193, 194, - 195, 196, 176, 177, 163, -1, -1, -1, -1, 204, - 205, 71, -1, -1, -1, 189, -1, -1, 192, 193, - 194, -1, -1, 197, 198, -1, -1, -1, -1, -1, - 189, -1, -1, 192, 193, 194, 210, -1, 197, 198, - -1, -1, -1, -1, -1, -1, -1, 206, -1, -1, - -1, 210, -1, -1, -1, -1, -1, -1, -1, 119, + 2, 53, 2, 2, 74, 50, 74, 214, 287, 2, + 256, 326, 2, 2, 345, 2, 252, 253, 2, 2, + 75, 2, 2, 288, 2, 53, 291, 6, 293, 313, + 46, 296, 295, 40, 347, 541, 301, 103, 601, 3, + 112, 5, 37, 38, 161, 100, 53, 17, 3, 17, + 5, 3, 9, 5, 53, 12, 72, 42, 138, 542, + 53, 208, 142, 53, 161, 212, 53, 606, 3, 161, + 5, 350, 611, 103, 71, 72, 73, 41, 72, 73, + 77, 97, 46, 77, 187, 284, 41, 60, 287, 41, + 170, 46, 26, 210, 187, 294, 208, 208, 297, 211, + 211, 86, 608, 133, 303, 304, 41, 17, 0, 212, + 74, 347, 213, 210, 99, 100, 101, 102, 210, 74, + 212, 214, 74, 27, 109, 187, 609, 143, 62, 444, + 103, 338, 671, 696, 341, 641, 208, 99, 28, 74, + 156, 456, 208, 33, 341, 187, 187, 209, 52, 187, + 208, 350, 351, 187, 438, 213, 226, 9, 226, 366, + 367, 368, 66, 646, 149, 129, 672, 71, 3, 154, + 367, 368, 214, 214, 129, 187, 214, 129, 213, 3, + 214, 5, 252, 253, 252, 253, 385, 386, 387, 388, + 389, 390, 391, 157, 129, 678, 34, 209, 3, 213, + 5, 39, 157, 273, 211, 157, 234, 443, 6, 7, + 212, 213, 282, 212, 213, 480, 208, 151, 167, 212, + 213, 213, 157, 218, 219, 212, 213, 197, 198, 199, + 15, 16, 17, 197, 210, 214, 208, 207, 208, 207, + 208, 213, 197, 295, 208, 197, 3, 302, 5, 213, + 305, 185, 307, 308, 585, 103, 502, 312, 213, 212, + 525, 213, 197, 260, 463, 212, 260, 208, 41, 212, + 211, 586, 3, 208, 5, 327, 212, 347, 213, 347, + 182, 183, 184, 185, 186, 195, 196, 197, 198, 199, + 555, 210, 212, 295, 3, 210, 5, 207, 208, 212, + 352, 74, 548, 212, 503, 504, 189, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 3, 524, 5, 640, 591, 210, + 41, 212, 210, 210, 212, 46, 651, 212, 3, 391, + 5, 577, 212, 3, 346, 5, 346, 346, 212, 210, + 352, 550, 3, 346, 5, 9, 129, 409, 671, 346, + 606, 212, 3, 74, 5, 611, 368, 3, 614, 5, + 683, 3, 3, 443, 5, 443, 540, 692, 210, 3, + 544, 5, 213, 212, 157, 214, 213, 213, 701, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 450, 213, + 213, 213, 213, 213, 213, 213, 458, 213, 208, 479, + 195, 196, 197, 198, 199, 694, 213, 653, 129, 213, + 213, 213, 207, 208, 197, 671, 213, 213, 5, 213, + 213, 213, 484, 213, 502, 208, 213, 213, 213, 213, + 213, 213, 494, 213, 213, 447, 157, 447, 447, 213, + 452, 450, 717, 455, 447, 455, 455, 447, 447, 458, + 447, 445, 455, 447, 447, 458, 447, 447, 455, 447, + 213, 458, 213, 213, 542, 213, 640, 210, 677, 643, + 212, 680, 212, 212, 210, 189, 197, 215, 213, 213, + 542, 484, 214, 214, 9, 694, 9, 208, 9, 9, + 9, 9, 213, 9, 9, 9, 208, 577, 213, 577, + 674, 212, 210, 210, 189, 722, 723, 212, 210, 683, + 214, 210, 215, 211, 187, 570, 6, 214, 214, 581, + 214, 213, 187, 603, 214, 9, 214, 701, 606, 591, + 542, 609, 214, 611, 214, 214, 214, 214, 214, 93, + 214, 167, 214, 214, 211, 214, 214, 609, 214, 207, + 189, 214, 188, 212, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 214, 214, 214, 214, 187, 214, + 214, 207, 208, 653, 214, 653, 214, 214, 214, 591, + 212, 214, 212, 3, 646, 3, 9, 6, 187, 214, + 212, 208, 212, 671, 5, 211, 214, 609, 3, 214, + 5, 6, 7, 8, 9, 10, 11, 214, 214, 189, + 210, 214, 214, 214, 212, 189, 678, 3, 214, 214, + 6, 7, 8, 9, 10, 11, 189, 212, 454, 34, + 339, 36, 479, 550, 646, 723, 53, 42, 452, 696, + 652, 46, 226, 652, 656, 299, 656, 656, 303, 652, + 82, 594, 309, 656, 596, 652, 356, 592, 63, 656, + -1, -1, -1, -1, 69, 70, 678, 72, 73, -1, + -1, 76, -1, -1, 79, -1, -1, 15, 16, 17, + -1, 86, 20, 21, -1, -1, -1, 73, -1, -1, + -1, -1, 97, -1, 99, 100, 101, 102, -1, -1, + -1, -1, 3, -1, 109, 6, 7, 8, 9, 10, + 11, -1, -1, -1, -1, -1, 121, -1, -1, -1, + -1, -1, -1, -1, 3, -1, -1, 6, 7, 8, + 9, 10, 11, -1, -1, 121, -1, -1, 143, -1, + -1, -1, -1, 148, 149, 150, -1, -1, 153, 154, + -1, 156, -1, -1, -1, 160, -1, -1, -1, -1, + -1, 166, -1, -1, 169, -1, 171, 153, -1, -1, + -1, -1, 73, -1, 179, 180, -1, -1, -1, -1, + 166, -1, -1, -1, -1, -1, -1, 192, -1, -1, + 195, 196, 197, -1, 73, 200, 201, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 192, -1, 213, 195, + 196, 197, -1, -1, 200, 201, -1, -1, -1, -1, + 121, -1, -1, 209, -1, -1, -1, 213, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 153, -1, -1, 193, 194, 195, 196, 197, + 198, 199, -1, -1, -1, 166, -1, -1, -1, 207, + 208, -1, 4, 5, 153, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 166, -1, -1, + -1, 192, -1, -1, 195, 196, 197, -1, -1, 200, + 201, -1, 34, -1, 36, -1, -1, -1, 209, -1, + 42, 43, 213, 192, 46, -1, 195, 196, 197, 51, + -1, 200, 201, -1, -1, -1, -1, -1, 60, -1, + -1, 63, -1, -1, 213, -1, -1, 69, 70, -1, + 72, -1, -1, -1, 76, -1, -1, 79, -1, -1, + -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, + -1, 93, 94, -1, -1, 97, -1, 99, 100, 101, + 102, 103, -1, -1, -1, -1, -1, 109, -1, -1, + -1, -1, 114, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4, 5, -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4, 5, -1, -1, -1, - 150, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 163, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, 35, -1, -1, -1, - -1, -1, 41, 42, -1, -1, 45, -1, -1, 189, - -1, 50, 192, 193, 194, -1, -1, 197, 198, -1, - 59, -1, 61, -1, -1, -1, -1, -1, 67, 68, - 210, 70, -1, -1, -1, 74, -1, -1, 77, -1, - -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, - -1, -1, 91, 92, -1, -1, 95, -1, 97, 98, - 99, 100, 101, -1, -1, -1, -1, -1, 107, -1, - -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, + -1, 143, -1, -1, -1, -1, 148, 149, 150, -1, + -1, -1, 154, 34, 156, 36, -1, -1, 160, -1, + -1, 42, 43, -1, -1, 46, -1, 169, -1, 171, + 51, -1, -1, -1, -1, -1, -1, 179, 180, 60, + -1, -1, 63, -1, -1, -1, -1, -1, 69, 70, + -1, 72, -1, -1, -1, 76, -1, -1, 79, -1, + -1, -1, -1, -1, -1, 86, 208, -1, -1, 211, + -1, -1, 93, 94, -1, -1, 97, -1, 99, 100, + 101, 102, 103, -1, -1, -1, -1, -1, 109, -1, + -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 141, -1, -1, -1, -1, 146, 147, 148, - -1, -1, 151, 33, 153, 35, -1, -1, 157, -1, - -1, 41, 42, -1, -1, 45, -1, 166, -1, 168, - 50, -1, -1, -1, -1, -1, -1, 176, 177, 59, - -1, 61, -1, -1, -1, -1, -1, 67, 68, -1, - 70, -1, -1, -1, 74, -1, -1, 77, -1, -1, - -1, -1, -1, -1, 84, -1, 205, -1, -1, 208, - -1, 91, 92, -1, -1, 95, -1, 97, 98, 99, - 100, 101, -1, -1, -1, -1, -1, 107, -1, -1, - -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4, 5, -1, -1, -1, -1, 129, + 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 143, -1, -1, -1, -1, 148, 149, 150, + -1, -1, -1, 154, 34, 156, 36, -1, -1, 160, + -1, -1, 42, 43, -1, -1, 46, -1, 169, -1, + 171, 51, -1, -1, -1, -1, -1, -1, 179, 180, + 60, -1, -1, 63, -1, -1, -1, -1, -1, 69, + 70, -1, 72, -1, -1, -1, 76, -1, -1, 79, + -1, -1, -1, -1, -1, -1, 86, 208, -1, -1, + 211, -1, -1, 93, -1, -1, -1, 97, -1, 99, + 100, 101, 102, 103, -1, -1, -1, -1, -1, 109, + -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, + -1, -1, -1, 4, 5, -1, -1, -1, -1, -1, + -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 143, -1, -1, -1, -1, 148, 149, + 150, -1, -1, 34, 154, 36, 156, -1, -1, -1, + 160, 42, -1, -1, -1, 46, -1, -1, -1, 169, + 51, 171, 15, 16, 17, 18, 19, 20, 21, 179, + 180, -1, 63, -1, -1, -1, -1, -1, 69, 70, + -1, 72, -1, -1, -1, 76, -1, -1, 79, -1, + -1, -1, -1, -1, -1, 86, -1, -1, 208, -1, + -1, 211, 93, -1, -1, -1, 97, -1, 99, 100, + 101, 102, -1, -1, -1, -1, -1, -1, 109, -1, + -1, -1, 15, 16, 17, 18, 19, 20, 21, -1, + -1, -1, 4, 5, -1, -1, -1, -1, -1, -1, + 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 143, -1, -1, -1, -1, 148, 149, 150, + -1, -1, 34, 154, 36, 156, -1, -1, -1, 160, + 42, -1, -1, -1, 46, -1, -1, -1, 169, 51, + 171, 15, 16, 17, 18, 19, 20, 21, 179, 180, + -1, 63, -1, -1, -1, -1, -1, 69, 70, -1, + 72, -1, -1, -1, 76, -1, -1, 79, -1, -1, + -1, -1, -1, -1, 86, -1, -1, 208, -1, -1, + 211, 93, -1, -1, -1, 97, -1, 99, 100, 101, + 102, -1, -1, -1, -1, -1, -1, 109, 191, 192, + 193, 194, 195, 196, 197, 198, 199, -1, -1, -1, + -1, 4, 5, -1, 207, 208, -1, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 141, -1, -1, -1, -1, 146, 147, 148, -1, - -1, 151, 33, 153, 35, -1, -1, 157, -1, -1, - 41, 42, -1, -1, 45, -1, 166, -1, 168, 50, - -1, -1, -1, -1, -1, -1, 176, 177, 59, -1, - 61, -1, -1, -1, -1, -1, 67, 68, -1, 70, - -1, -1, -1, 74, -1, -1, 77, -1, -1, -1, - -1, -1, -1, 84, -1, 205, -1, -1, 208, -1, - 91, -1, -1, -1, 95, -1, 97, 98, 99, 100, - 101, -1, -1, -1, -1, -1, 107, 4, 5, -1, - -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 129, -1, - -1, -1, -1, -1, -1, -1, 33, -1, 35, -1, - 141, -1, -1, -1, 41, 146, 147, 148, 45, -1, - 151, -1, 153, 50, -1, -1, 157, -1, -1, -1, - -1, -1, -1, -1, 61, 166, -1, 168, -1, -1, - 67, 68, -1, 70, -1, 176, 177, 74, -1, -1, - 77, -1, -1, -1, -1, -1, -1, 84, -1, -1, - -1, -1, -1, -1, 91, -1, -1, -1, 95, -1, - 97, 98, 99, 100, 205, -1, -1, 208, -1, -1, - 107, 4, 5, -1, -1, -1, -1, -1, -1, -1, + -1, 143, -1, -1, -1, -1, 148, 149, 150, -1, + -1, 34, 154, 36, 156, -1, -1, -1, 160, 42, + -1, -1, -1, 46, -1, -1, -1, 169, 51, 171, + 193, 194, 195, 196, 197, 198, 199, 179, 180, -1, + 63, -1, -1, -1, 207, 208, 69, 70, -1, 72, + -1, -1, -1, 76, -1, -1, 79, -1, -1, -1, + -1, -1, -1, 86, -1, -1, 208, -1, -1, 211, + 93, -1, -1, -1, 97, -1, 99, 100, 101, 102, + 5, -1, -1, -1, -1, -1, 109, -1, 192, 193, + 194, 195, 196, 197, 198, 199, -1, -1, -1, -1, + -1, -1, -1, 207, 208, -1, -1, -1, 131, 34, + -1, 36, -1, -1, -1, -1, -1, 42, -1, -1, + 143, 46, -1, -1, -1, 148, 149, 150, -1, -1, + -1, 154, -1, 156, -1, -1, -1, 160, 63, -1, + -1, -1, -1, -1, 69, 70, 169, 72, 171, -1, + -1, 76, -1, -1, 79, -1, 179, 180, -1, -1, + -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 97, -1, 99, 100, 101, 102, -1, -1, + -1, -1, -1, -1, 109, 208, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, - 33, -1, 35, -1, 141, -1, -1, -1, 41, 146, - 147, 148, 45, -1, 151, -1, 153, 50, -1, -1, - 157, -1, -1, -1, -1, -1, -1, -1, 61, 166, - -1, 168, -1, -1, 67, 68, -1, 70, -1, 176, - 177, 74, -1, -1, 77, -1, -1, -1, -1, -1, - -1, 84, -1, -1, -1, -1, -1, -1, 91, -1, - -1, -1, 95, -1, 97, 98, 99, 100, 205, -1, - -1, 208, -1, -1, 107, 4, 5, -1, -1, -1, - -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, - 23, -1, -1, -1, -1, -1, 129, -1, -1, -1, - -1, -1, -1, -1, 33, -1, 35, -1, 141, -1, - -1, -1, 41, 146, 147, 148, 45, -1, 151, -1, - 153, 50, -1, -1, 157, -1, -1, -1, -1, -1, - -1, -1, 61, 166, -1, 168, -1, -1, 67, 68, - -1, 70, -1, 176, 177, 74, -1, -1, 77, -1, - -1, 5, -1, -1, -1, 84, -1, -1, -1, -1, - -1, -1, 91, -1, -1, -1, 95, -1, 97, 98, - 99, 100, 205, -1, -1, 208, -1, -1, 107, 33, - -1, 35, -1, -1, -1, -1, -1, 41, -1, -1, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, 61, -1, -1, - -1, -1, 141, 67, 68, -1, 70, 146, 147, 148, - 74, -1, 151, 77, 153, -1, -1, -1, 157, -1, - 84, -1, -1, -1, -1, -1, -1, 166, -1, 168, - -1, 95, -1, 97, 98, 99, 100, 176, 177, -1, - -1, -1, 185, 107, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, -1, -1, -1, -1, -1, -1, - -1, 204, 205, -1, -1, -1, 205, -1, 211, 208, - 4, 5, -1, -1, -1, -1, -1, 141, -1, -1, - 14, -1, 146, 147, 148, -1, -1, 151, -1, 153, - -1, -1, -1, 157, -1, -1, -1, -1, -1, 33, - -1, 35, 166, -1, 168, -1, -1, 41, 42, -1, - -1, 45, 176, 177, -1, -1, 50, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, 61, -1, -1, - -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, - 74, 205, -1, 77, 208, -1, -1, -1, -1, -1, - 84, -1, -1, -1, -1, -1, -1, 91, -1, -1, - -1, 95, -1, 97, 98, 99, 100, 101, -1, -1, - -1, -1, -1, 107, -1, -1, -1, -1, 112, -1, + 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, + 14, -1, -1, -1, -1, -1, -1, -1, 143, -1, + -1, -1, -1, 148, 149, 150, -1, -1, -1, 154, + 34, 156, 36, -1, -1, 160, -1, -1, 42, 43, + -1, -1, 46, -1, 169, -1, 171, 51, -1, -1, + -1, -1, -1, -1, 179, 180, 60, -1, -1, 63, + -1, -1, -1, -1, -1, 69, 70, -1, 72, -1, + -1, -1, 76, -1, -1, 79, -1, -1, -1, -1, + -1, -1, 86, 208, -1, -1, 211, -1, -1, 93, + -1, -1, -1, 97, -1, 99, 100, 101, 102, 103, + -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, + 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 131, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, + 4, 5, -1, -1, 148, 149, 150, -1, -1, 13, + 154, -1, 156, -1, -1, -1, 160, -1, -1, -1, + -1, -1, -1, 167, -1, 169, -1, 171, -1, -1, + 34, -1, 36, -1, -1, 179, 180, -1, 42, 43, + -1, -1, 46, -1, -1, -1, -1, 51, -1, -1, + -1, -1, -1, -1, -1, -1, 60, -1, -1, 63, + -1, -1, -1, -1, 208, 69, 70, -1, 72, -1, + -1, -1, 76, -1, -1, 79, -1, -1, -1, -1, + -1, -1, 86, -1, -1, -1, -1, -1, -1, 93, + 94, -1, -1, 97, -1, 99, 100, 101, 102, 103, + -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, + 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5, -1, -1, -1, -1, 131, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, + -1, -1, -1, -1, 148, 149, 150, -1, -1, -1, + 154, 34, 156, 36, -1, -1, 160, -1, 41, 42, + -1, -1, -1, 46, -1, 169, -1, 171, -1, -1, + -1, -1, -1, -1, -1, 179, 180, -1, -1, -1, + 63, -1, -1, -1, -1, -1, 69, 70, -1, 72, + -1, 74, -1, 76, -1, -1, 79, -1, -1, -1, + -1, -1, -1, 86, 208, -1, -1, -1, -1, -1, + -1, 5, -1, -1, 97, -1, 99, 100, 101, 102, + -1, -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 129, -1, -1, -1, -1, - 4, 5, -1, -1, -1, -1, -1, 141, -1, 13, - -1, -1, 146, 147, 148, -1, -1, 151, -1, 153, - -1, -1, -1, 157, -1, -1, -1, -1, -1, 33, - 164, 35, 166, -1, 168, -1, -1, 41, 42, -1, - -1, 45, 176, 177, -1, -1, 50, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, 61, -1, -1, - -1, -1, -1, 67, 68, -1, 70, -1, -1, -1, - 74, 205, -1, 77, -1, -1, -1, -1, -1, -1, - 84, -1, -1, -1, -1, -1, -1, 91, 92, -1, - -1, 95, -1, 97, 98, 99, 100, 101, 5, -1, - -1, -1, -1, 107, -1, -1, -1, -1, 112, -1, + 34, -1, 36, -1, -1, -1, 129, 41, 42, -1, + -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, + 143, -1, -1, -1, -1, 148, 149, 150, -1, 63, + -1, 154, -1, 156, 157, 69, 70, 160, 72, -1, + 74, -1, 76, -1, -1, 79, 169, -1, 171, -1, + -1, -1, 86, -1, -1, -1, 179, 180, -1, -1, + 5, -1, -1, 97, -1, 99, 100, 101, 102, -1, + -1, -1, -1, -1, 197, 109, -1, -1, -1, 24, + -1, -1, -1, -1, -1, 208, -1, -1, -1, 34, + -1, 36, -1, -1, -1, 129, -1, 42, -1, -1, + -1, 46, -1, -1, -1, -1, -1, -1, -1, 143, + -1, -1, -1, -1, 148, 149, 150, -1, 63, -1, + 154, -1, 156, 157, 69, 70, 160, 72, -1, -1, + -1, 76, -1, -1, 79, 169, -1, 171, -1, -1, + -1, 86, -1, -1, -1, 179, 180, -1, -1, 5, + -1, -1, 97, -1, 99, 100, 101, 102, -1, -1, + -1, -1, -1, 197, 109, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 208, -1, -1, -1, 34, -1, + 36, -1, -1, -1, -1, -1, 42, -1, -1, -1, + 46, -1, -1, -1, -1, -1, -1, -1, 143, -1, + -1, -1, -1, 148, 149, 150, -1, 63, -1, 154, + -1, 156, -1, 69, 70, 160, 72, -1, -1, -1, + 76, -1, -1, 79, 169, -1, 171, -1, -1, -1, + 86, -1, -1, -1, 179, 180, -1, -1, -1, -1, + -1, 97, -1, 99, 100, 101, 102, -1, -1, -1, + -1, -1, -1, 109, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 208, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 129, 33, -1, 35, -1, - -1, -1, -1, 40, 41, -1, -1, 141, 45, -1, - -1, -1, 146, 147, 148, -1, -1, 151, -1, 153, - -1, -1, -1, 157, 61, -1, -1, -1, -1, -1, - 67, 68, 166, 70, 168, 72, -1, 74, -1, -1, - 77, -1, 176, 177, -1, -1, -1, 84, -1, -1, - -1, -1, -1, -1, -1, -1, 5, -1, 95, -1, - 97, 98, 99, 100, -1, -1, -1, -1, -1, -1, - 107, 205, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, 35, -1, -1, -1, - 127, 40, 41, -1, -1, -1, 45, -1, -1, -1, - -1, -1, -1, -1, 141, -1, -1, -1, -1, 146, - 147, 148, 61, -1, 151, -1, 153, 154, 67, 68, - 157, 70, -1, 72, -1, 74, -1, -1, 77, 166, - -1, 168, -1, -1, -1, 84, -1, -1, -1, 176, - 177, -1, -1, -1, 5, -1, 95, -1, 97, 98, - 99, 100, -1, -1, -1, -1, -1, 194, 107, -1, - -1, -1, -1, 24, -1, -1, -1, -1, 205, -1, - -1, -1, 33, -1, 35, -1, -1, -1, 127, -1, - 41, -1, -1, -1, 45, -1, -1, -1, -1, -1, - -1, -1, 141, -1, -1, -1, -1, 146, 147, 148, - 61, -1, 151, -1, 153, 154, 67, 68, 157, 70, - -1, -1, -1, 74, -1, -1, 77, 166, -1, 168, - -1, -1, -1, 84, -1, -1, -1, 176, 177, -1, - -1, -1, 5, -1, 95, -1, 97, 98, 99, 100, - -1, -1, -1, -1, -1, 194, 107, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 205, -1, -1, -1, - 33, -1, 35, -1, -1, -1, -1, -1, 41, -1, - -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, - 141, -1, -1, -1, -1, 146, 147, 148, 61, -1, - 151, -1, 153, -1, 67, 68, 157, 70, -1, -1, - -1, 74, -1, -1, 77, 166, -1, 168, -1, -1, - -1, 84, -1, -1, -1, 176, 177, -1, -1, -1, - -1, -1, 95, -1, 97, 98, 99, 100, -1, -1, - -1, -1, -1, -1, 107, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 205, -1, -1, -1, -1, -1, + 15, 16, 17, 18, 19, 20, 21, 143, 23, -1, + -1, -1, 148, 149, 150, -1, -1, -1, 154, -1, + 156, -1, -1, -1, 160, -1, -1, -1, -1, -1, + -1, -1, -1, 169, -1, 171, -1, -1, -1, -1, + -1, -1, -1, 179, 180, 15, 16, 17, 18, 19, + 20, 21, 22, 23, -1, -1, -1, -1, 188, -1, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + -1, -1, 208, -1, -1, -1, -1, 207, 208, -1, + -1, -1, -1, -1, 214, 15, 16, 17, 18, 19, + 20, 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, - 18, 19, 20, 21, 22, 23, -1, -1, 141, -1, - -1, -1, -1, 146, 147, 148, -1, -1, 151, -1, - 153, -1, -1, -1, 157, -1, -1, -1, -1, -1, - -1, -1, -1, 166, -1, 168, -1, -1, -1, -1, - -1, -1, -1, 176, 177, 15, 16, 17, 18, 19, - 20, 21, 22, 23, -1, -1, -1, 185, -1, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, -1, - -1, -1, 205, -1, -1, -1, 204, 205, -1, -1, - -1, -1, -1, 211, 15, 16, 17, 18, 19, 20, - 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 15, 16, 17, 18, 19, 20, 21, - -1, 23, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 15, 16, 17, 18, 19, 20, 21, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 185, -1, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 15, 16, 17, - 18, 19, 20, 21, 204, 205, 206, 185, -1, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 15, - 16, 17, 18, 19, 20, 21, 204, 205, 206, -1, + 18, 19, 20, 21, 22, 23, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 15, 16, + 17, 18, 19, 20, 21, 22, 23, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 188, -1, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 15, + 16, 17, 18, 19, 20, 21, 207, 208, -1, -1, + -1, -1, -1, 214, -1, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, -1, -1, -1, -1, -1, + -1, -1, 207, 208, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 188, -1, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + -1, -1, -1, -1, -1, -1, -1, 207, 208, 209, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, -1, -1, -1, - -1, -1, -1, -1, 204, 205, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 188, -1, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + -1, -1, -1, -1, -1, -1, -1, 207, 208, 209, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, -1, -1, -1, -1, -1, -1, -1, 207, + 208, 188, -1, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, -1, -1, -1, 5, -1, -1, -1, + 207, 208, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, -1, 34, -1, 36, -1, -1, + -1, 207, 208, 42, 43, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 185, -1, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, -1, -1, -1, -1, - -1, -1, -1, 204, 205, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, -1, -1, -1, -1, -1, - -1, -1, 204, 205, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, -1, -1, -1, -1, -1, -1, - -1, 204, 205, -1, -1, -1, -1, -1, -1, -1, + -1, 60, -1, -1, 63, -1, -1, -1, -1, -1, + 69, 70, -1, 72, -1, -1, -1, 76, -1, -1, + 79, -1, -1, -1, -1, -1, -1, 86, -1, -1, + -1, -1, -1, -1, -1, 5, -1, -1, 97, -1, + 99, 100, 101, 102, 103, -1, -1, 106, -1, -1, + 109, -1, -1, -1, 113, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 34, -1, 36, -1, -1, -1, + -1, -1, 42, -1, -1, -1, 46, -1, -1, -1, + -1, -1, -1, -1, 143, -1, -1, -1, -1, 148, + 149, 150, -1, 63, -1, 154, -1, 156, -1, 69, + 70, 160, 72, -1, -1, -1, 76, -1, -1, 79, + 169, 5, 171, -1, -1, -1, 86, -1, -1, -1, + 179, 180, -1, -1, -1, -1, -1, 97, -1, 99, + 100, 101, 102, -1, -1, -1, -1, -1, -1, 109, + 34, -1, 36, -1, -1, -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, -1, - -1, -1, 5, -1, -1, -1, 204, 205, -1, -1, - -1, -1, -1, 189, 190, 191, 192, 193, 194, 195, - 196, -1, -1, -1, -1, -1, -1, -1, 204, 205, - 33, -1, 35, -1, -1, -1, -1, -1, 41, 42, - -1, -1, 45, -1, -1, -1, -1, 5, -1, -1, - -1, -1, -1, -1, -1, -1, 59, -1, 61, -1, - -1, -1, -1, -1, 67, 68, -1, 70, -1, -1, - -1, 74, -1, -1, 77, 33, -1, 35, -1, -1, - -1, 84, -1, 41, -1, -1, -1, 45, -1, -1, - -1, -1, 95, -1, 97, 98, 99, 100, 101, -1, - -1, 104, -1, 61, 107, -1, -1, -1, 111, 67, - 68, -1, 70, -1, -1, -1, 74, -1, -1, 77, - -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 95, 141, 97, - 98, 99, 100, 146, 147, 148, -1, -1, 151, 107, - 153, 5, -1, -1, 157, -1, -1, -1, -1, -1, - -1, -1, -1, 166, -1, 168, -1, -1, -1, -1, - -1, -1, -1, 176, 177, -1, -1, -1, -1, 33, - -1, 35, -1, 141, -1, -1, -1, 41, 146, 147, - 148, -1, -1, 151, -1, 153, -1, -1, -1, 157, - -1, -1, -1, -1, -1, -1, -1, 61, 166, -1, - 168, -1, -1, 67, 68, -1, -1, -1, 176, 177, - 74, -1, -1, 77, -1, -1, -1, -1, -1, -1, - 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 97, 98, 99, 100, -1, -1, -1, - -1, -1, -1, 107, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, + -1, -1, -1, 143, -1, 69, 70, -1, 148, 149, + 150, -1, 76, -1, 154, 79, 156, -1, -1, -1, + 160, -1, 86, -1, -1, -1, -1, -1, -1, 169, + -1, 171, -1, -1, -1, 99, 100, 101, 102, 179, + 180, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 146, 147, 148, -1, -1, 151, -1, -1, - -1, -1, -1, 157, -1, -1, -1, -1, -1, -1, - -1, -1, 166, -1, 168, -1, -1, -1, -1, -1, - -1, -1, 176, 177, 25, -1, 27, 28, 29, 30, - 31, 32, -1, 34, -1, -1, 37, -1, 39, -1, - -1, -1, 43, 44, -1, 46, 47, 48, 49, -1, - 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, - -1, 62, 63, 64, 65, 66, -1, -1, 69, -1, - -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, - 81, 82, 83, -1, 85, 86, 87, 88, 89, 90, - -1, -1, 93, -1, -1, 96, -1, -1, -1, -1, - -1, 102, 103, -1, 105, 106, -1, 108, 109, -1, - -1, -1, 113, 114, 115, 116, 117, 118, -1, 120, - 121, 122, 123, 124, 125, 126, -1, 128, -1, 130, - -1, 132, 133, 134, 135, 136, 137, 138, 139, 140, - -1, 142, 143, 144, 145, -1, -1, -1, 149, -1, - -1, 152, -1, -1, 155, 156, -1, -1, 159, 160, - 161, 162, -1, -1, 165, -1, 167, -1, 169, 170, - 171, 172, 173, 174, 175, -1, -1, 178 + -1, -1, -1, -1, 148, 149, 150, -1, -1, -1, + 154, -1, -1, -1, -1, -1, 160, -1, -1, -1, + -1, -1, -1, -1, -1, 169, -1, 171, -1, -1, + -1, -1, -1, -1, 25, 179, 180, 28, 29, 30, + 31, 32, 33, -1, 35, -1, -1, 38, -1, 40, + -1, -1, -1, 44, 45, -1, 47, 48, 49, 50, + -1, 52, 53, 54, 55, 56, 57, 58, 59, -1, + 61, -1, -1, 64, 65, 66, 67, 68, -1, -1, + 71, -1, -1, -1, 75, -1, 77, 78, -1, 80, + 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, + 91, 92, -1, -1, 95, -1, -1, 98, -1, -1, + -1, -1, -1, 104, 105, -1, 107, 108, -1, 110, + 111, -1, -1, -1, 115, 116, 117, 118, 119, 120, + -1, 122, 123, 124, 125, 126, 127, 128, -1, 130, + -1, 132, -1, 134, 135, 136, 137, 138, 139, 140, + 141, 142, -1, 144, 145, 146, 147, -1, -1, -1, + -1, 152, -1, -1, 155, -1, -1, 158, 159, -1, + -1, 162, 163, 164, 165, -1, -1, 168, -1, 170, + -1, 172, 173, 174, 175, 176, 177, 178, -1, -1, + 181 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ -static const yytype_uint16 yystos[] = -{ - 0, 214, 216, 0, 4, 5, 14, 33, 35, 41, - 42, 45, 50, 59, 61, 67, 68, 70, 74, 77, - 84, 91, 95, 97, 98, 99, 100, 101, 107, 112, - 129, 141, 146, 147, 148, 151, 153, 157, 166, 168, - 176, 177, 205, 215, 222, 223, 225, 226, 227, 228, - 231, 232, 238, 239, 250, 264, 268, 270, 271, 272, - 273, 274, 277, 278, 281, 283, 284, 285, 286, 288, - 289, 290, 291, 292, 294, 296, 314, 315, 316, 317, - 205, 319, 322, 323, 3, 5, 210, 3, 5, 3, - 5, 266, 97, 269, 9, 3, 5, 269, 3, 210, - 210, 269, 270, 3, 266, 3, 266, 270, 25, 27, - 28, 29, 30, 31, 32, 34, 37, 39, 43, 44, - 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, - 57, 58, 60, 62, 63, 64, 65, 66, 69, 73, - 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, - 87, 88, 89, 90, 93, 96, 102, 103, 105, 106, - 108, 109, 113, 114, 115, 116, 117, 118, 120, 121, - 122, 123, 124, 125, 126, 128, 130, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 142, 143, 144, 145, - 149, 152, 155, 156, 159, 160, 161, 162, 165, 167, - 169, 170, 171, 172, 173, 174, 175, 178, 240, 242, - 313, 209, 218, 218, 164, 67, 104, 111, 157, 166, - 230, 250, 271, 277, 283, 287, 294, 314, 317, 209, - 209, 207, 207, 209, 207, 209, 221, 209, 186, 282, - 207, 295, 296, 295, 295, 3, 5, 40, 72, 127, - 154, 194, 210, 244, 267, 297, 298, 311, 250, 314, - 315, 317, 295, 209, 51, 64, 69, 324, 325, 319, - 101, 9, 207, 209, 3, 315, 207, 158, 207, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 184, 206, 13, 92, 222, 229, 232, 271, - 273, 274, 285, 286, 289, 208, 238, 239, 3, 3, - 5, 3, 5, 3, 3, 207, 311, 275, 217, 131, - 279, 283, 3, 5, 207, 220, 293, 297, 297, 212, - 205, 210, 237, 295, 184, 206, 5, 211, 247, 248, - 249, 267, 186, 211, 257, 210, 260, 9, 9, 12, - 243, 267, 3, 6, 7, 8, 9, 10, 11, 71, - 119, 150, 163, 189, 192, 193, 194, 197, 198, 210, - 253, 254, 255, 253, 256, 9, 9, 241, 256, 255, - 9, 9, 255, 9, 255, 253, 236, 239, 294, 255, - 251, 252, 253, 9, 313, 9, 255, 315, 251, 253, - 315, 179, 180, 181, 182, 183, 312, 315, 315, 243, - 6, 7, 318, 9, 315, 242, 205, 210, 209, 207, - 221, 294, 208, 238, 276, 216, 186, 110, 238, 262, - 280, 209, 207, 220, 208, 222, 239, 292, 297, 211, - 256, 194, 206, 253, 233, 234, 235, 236, 325, 207, - 208, 184, 212, 6, 224, 208, 238, 258, 262, 208, - 239, 259, 262, 211, 211, 211, 210, 253, 253, 253, - 253, 253, 253, 253, 294, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 185, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 204, 205, 184, 211, 211, - 211, 184, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 294, 194, 210, 237, 244, 267, 303, 305, - 306, 211, 184, 211, 211, 211, 211, 184, 211, 211, - 211, 211, 211, 211, 211, 211, 204, 211, 211, 211, - 242, 9, 219, 297, 307, 221, 286, 208, 186, 294, - 314, 209, 208, 239, 263, 264, 208, 228, 208, 221, - 206, 206, 211, 184, 164, 320, 321, 249, 255, 6, - 211, 294, 317, 211, 209, 209, 294, 211, 194, 210, - 237, 244, 299, 301, 302, 253, 253, 3, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 3, 253, 255, 9, 305, - 293, 194, 233, 244, 304, 305, 210, 237, 252, 255, - 6, 211, 218, 184, 297, 209, 220, 221, 24, 236, - 323, 208, 320, 303, 309, 310, 209, 265, 267, 301, - 293, 194, 233, 244, 300, 301, 211, 210, 237, 186, - 206, 305, 293, 211, 305, 211, 233, 211, 221, 208, - 297, 208, 5, 186, 308, 184, 209, 207, 211, 301, - 293, 211, 305, 211, 253, 233, 253, 305, 211, 221, - 209, 256, 309, 245, 305, 211, 39, 52, 208, 246, - 255, 186, 186, 209, 261, 262, 261, 209 +static const yytype_int16 yystos[] = +{ + 0, 217, 219, 0, 4, 5, 14, 34, 36, 42, + 43, 46, 51, 60, 63, 69, 70, 72, 76, 79, + 86, 93, 97, 99, 100, 101, 102, 103, 109, 114, + 131, 143, 148, 149, 150, 154, 156, 160, 169, 171, + 179, 180, 208, 218, 225, 226, 228, 229, 230, 231, + 234, 235, 241, 242, 253, 267, 271, 273, 274, 275, + 276, 277, 280, 281, 284, 286, 287, 288, 289, 291, + 292, 293, 294, 295, 297, 299, 317, 318, 319, 320, + 208, 322, 325, 326, 3, 5, 213, 3, 5, 3, + 5, 269, 99, 272, 9, 3, 5, 272, 3, 213, + 213, 272, 273, 3, 269, 3, 269, 273, 25, 28, + 29, 30, 31, 32, 33, 35, 38, 40, 44, 45, + 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, + 58, 59, 61, 64, 65, 66, 67, 68, 71, 75, + 77, 78, 80, 81, 82, 83, 84, 85, 87, 88, + 89, 90, 91, 92, 95, 98, 104, 105, 107, 108, + 110, 111, 115, 116, 117, 118, 119, 120, 122, 123, + 124, 125, 126, 127, 128, 130, 132, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 144, 145, 146, 147, + 152, 155, 158, 159, 162, 163, 164, 165, 168, 170, + 172, 173, 174, 175, 176, 177, 178, 181, 243, 245, + 316, 212, 221, 221, 167, 69, 106, 113, 160, 169, + 233, 253, 274, 280, 286, 290, 297, 317, 320, 212, + 212, 210, 210, 212, 210, 212, 224, 212, 189, 285, + 210, 298, 299, 298, 298, 3, 5, 41, 74, 129, + 157, 197, 213, 247, 270, 300, 301, 314, 253, 317, + 318, 320, 298, 212, 27, 52, 66, 71, 327, 328, + 322, 103, 9, 210, 212, 3, 318, 210, 161, 210, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 187, 209, 13, 94, 225, 232, 235, + 274, 276, 277, 288, 289, 292, 211, 241, 242, 3, + 3, 5, 3, 5, 3, 3, 210, 314, 278, 220, + 133, 282, 286, 3, 5, 210, 223, 296, 300, 300, + 215, 208, 213, 240, 298, 213, 187, 209, 5, 214, + 250, 251, 252, 270, 189, 214, 260, 213, 263, 9, + 9, 12, 246, 270, 3, 6, 7, 8, 9, 10, + 11, 73, 121, 153, 166, 192, 195, 196, 197, 200, + 201, 213, 256, 257, 258, 256, 259, 9, 9, 244, + 259, 258, 9, 9, 258, 9, 258, 256, 239, 242, + 297, 258, 254, 255, 256, 9, 316, 9, 258, 318, + 254, 256, 318, 182, 183, 184, 185, 186, 315, 318, + 318, 246, 6, 7, 321, 9, 318, 245, 208, 213, + 212, 210, 224, 297, 211, 241, 279, 219, 189, 112, + 241, 265, 283, 212, 210, 223, 211, 225, 242, 295, + 300, 214, 259, 197, 209, 256, 236, 237, 238, 239, + 26, 62, 151, 185, 329, 330, 328, 210, 211, 187, + 215, 6, 227, 211, 241, 261, 265, 211, 242, 262, + 265, 214, 214, 214, 213, 256, 256, 256, 256, 256, + 256, 256, 297, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 188, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 207, 208, 187, 214, 214, 214, 187, + 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, + 297, 197, 213, 240, 247, 270, 306, 308, 309, 214, + 187, 214, 214, 214, 214, 187, 214, 214, 214, 214, + 214, 214, 214, 214, 207, 214, 214, 214, 245, 9, + 222, 300, 310, 224, 289, 211, 189, 297, 317, 212, + 211, 242, 266, 267, 211, 231, 211, 224, 209, 209, + 214, 187, 187, 214, 167, 323, 324, 252, 258, 6, + 214, 297, 320, 214, 212, 212, 297, 214, 197, 213, + 240, 247, 302, 304, 305, 256, 256, 3, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 3, 256, 258, 9, 308, + 296, 197, 236, 247, 307, 308, 213, 240, 255, 258, + 6, 214, 221, 187, 300, 212, 223, 224, 24, 239, + 330, 326, 211, 323, 306, 312, 313, 212, 268, 270, + 304, 296, 197, 236, 247, 303, 304, 214, 213, 240, + 189, 209, 308, 296, 214, 308, 214, 236, 214, 224, + 211, 300, 211, 5, 189, 311, 187, 212, 210, 214, + 304, 296, 214, 308, 214, 256, 236, 256, 308, 214, + 224, 212, 259, 312, 248, 308, 214, 40, 53, 211, + 249, 258, 189, 189, 212, 264, 265, 264, 212 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint16 yyr1[] = -{ - 0, 213, 214, 215, 215, 216, 217, 216, 216, 216, - 216, 216, 216, 216, 216, 218, 218, 219, 218, 218, - 218, 218, 218, 218, 218, 218, 220, 220, 221, 221, - 222, 222, 222, 222, 222, 222, 222, 223, 224, 224, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 226, - 227, 228, 229, 230, 230, 231, 232, 233, 233, 234, - 234, 235, 235, 236, 236, 237, 237, 237, 238, 238, - 239, 240, 240, 240, 241, 241, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 243, 243, 244, 244, - 244, 244, 245, 245, 246, 246, 247, 247, 247, 248, - 248, 249, 249, 250, 251, 251, 252, 252, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, - 254, 255, 256, 257, 257, 258, 258, 259, 259, 260, - 260, 261, 261, 262, 262, 263, 264, 264, 265, 265, - 266, 266, 266, 267, 267, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 269, 269, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 271, 271, 272, - 273, 274, 275, 275, 276, 277, 277, 278, 279, 279, - 280, 280, 281, 281, 282, 282, 283, 283, 284, 285, - 285, 285, 286, 286, 287, 287, 288, 289, 290, 290, - 290, 291, 292, 293, 293, 294, 294, 295, 295, 296, - 296, 296, 297, 297, 297, 298, 298, 298, 298, 299, - 299, 299, 300, 300, 301, 301, 302, 302, 302, 302, - 302, 303, 303, 303, 304, 304, 305, 305, 306, 306, - 306, 306, 306, 306, 307, 307, 308, 308, 309, 310, - 310, 311, 311, 312, 312, 312, 312, 312, 313, 313, - 313, 314, 315, 315, 315, 315, 315, 315, 315, 315, - 315, 315, 316, 317, 317, 318, 318, 318, 319, 319, - 320, 320, 321, 322, 323, 323, 324, 324, 325, 325, - 325 +static const yytype_int16 yyr1[] = +{ + 0, 216, 217, 218, 218, 219, 220, 219, 219, 219, + 219, 219, 219, 219, 219, 221, 221, 222, 221, 221, + 221, 221, 221, 221, 221, 221, 223, 223, 224, 224, + 225, 225, 225, 225, 225, 225, 225, 226, 227, 227, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 229, + 230, 231, 232, 233, 233, 234, 235, 236, 236, 237, + 237, 238, 238, 239, 239, 240, 240, 240, 241, 241, + 242, 243, 243, 243, 244, 244, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 246, 246, 247, 247, + 247, 247, 248, 248, 249, 249, 250, 250, 250, 251, + 251, 252, 252, 253, 254, 254, 255, 255, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 257, + 257, 258, 259, 260, 260, 261, 261, 262, 262, 263, + 263, 264, 264, 265, 265, 266, 267, 267, 268, 268, + 269, 269, 269, 270, 270, 271, 271, 271, 271, 271, + 271, 271, 271, 271, 271, 271, 272, 272, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 274, 274, 275, + 276, 277, 278, 278, 279, 280, 280, 281, 282, 282, + 283, 283, 284, 284, 285, 285, 286, 286, 287, 288, + 288, 288, 289, 289, 290, 290, 291, 292, 293, 293, + 293, 294, 295, 296, 296, 297, 297, 298, 298, 299, + 299, 299, 300, 300, 300, 301, 301, 301, 301, 302, + 302, 302, 303, 303, 304, 304, 305, 305, 305, 305, + 305, 306, 306, 306, 307, 307, 308, 308, 309, 309, + 309, 309, 309, 309, 310, 310, 311, 311, 312, 313, + 313, 314, 314, 315, 315, 315, 315, 315, 316, 316, + 316, 317, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 318, 319, 320, 320, 321, 321, 321, 322, 322, + 323, 323, 324, 325, 326, 326, 327, 327, 328, 328, + 328, 328, 329, 329, 330, 330, 330, 330 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = +static const yytype_int8 yyr2[] = { 0, 2, 2, 0, 2, 0, 0, 6, 2, 2, 3, 2, 2, 2, 2, 0, 2, 0, 6, 2, @@ -1920,8 +2050,8 @@ static const yytype_uint8 yyr2[] = 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 2, 1, 2, 1, 2, 4, 5, 5, 10, 1, 3, 1, 0, 2, - 0, 2, 4, 6, 0, 3, 1, 3, 1, 1, - 1 + 0, 2, 4, 6, 0, 3, 1, 3, 4, 1, + 1, 1, 1, 3, 1, 1, 1, 1 }; @@ -1937,22 +2067,22 @@ static const yytype_uint8 yyr2[] = #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) /* Error token number */ #define YYTERROR 1 @@ -1992,37 +2122,39 @@ do { \ } while (0) -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YYUSE (yyoutput); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_END } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) { - YYFPRINTF (yyoutput, "%s %s (", + YYFPRINTF (yyo, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yytype, yyvaluep); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -2031,7 +2163,7 @@ yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) `------------------------------------------------------------------*/ static void -yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) @@ -2054,20 +2186,20 @@ do { \ `------------------------------------------------*/ static void -yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule) { - unsigned long int yylno = yyrline[yyrule]; + int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, - yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) + yystos[+yyssp[yyi + 1 - yynrhs]], + &yyvsp[(yyi + 1) - (yynrhs)] ); YYFPRINTF (stderr, "\n"); } @@ -2111,13 +2243,13 @@ int yydebug; # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen +# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S))) # else /* Return the length of YYSTR. */ -static YYSIZE_T +static YYPTRDIFF_T yystrlen (const char *yystr) { - YYSIZE_T yylen; + YYPTRDIFF_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; @@ -2153,12 +2285,12 @@ yystpcpy (char *yydest, const char *yysrc) backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ -static YYSIZE_T +static YYPTRDIFF_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { - YYSIZE_T yyn = 0; + YYPTRDIFF_T yyn = 0; char const *yyp = yystr; for (;;) @@ -2171,7 +2303,10 @@ yytnamerr (char *yyres, const char *yystr) case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - /* Fall through. */ + else + goto append; + + append: default: if (yyres) yyres[yyn] = *yyp; @@ -2186,10 +2321,10 @@ yytnamerr (char *yyres, const char *yystr) do_not_strip_quotes: ; } - if (! yyres) + if (yyres) + return yystpcpy (yyres, yystr) - yyres; + else return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; } # endif @@ -2202,19 +2337,19 @@ yytnamerr (char *yyres, const char *yystr) *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int -yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, - yytype_int16 *yyssp, int yytoken) +yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, + yy_state_t *yyssp, int yytoken) { - YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); - YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *yyformat = YY_NULL; - /* Arguments of yyformat. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat: reported tokens (one for the "unexpected", + one per "expected"). */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Number of reported tokens (one for the "unexpected", one per - "expected"). */ + /* Actual size of YYARG. */ int yycount = 0; + /* Cumulated lengths of YYARG. */ + YYPTRDIFF_T yysize = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then @@ -2241,7 +2376,9 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, */ if (yytoken != YYEMPTY) { - int yyn = yypact[*yyssp]; + int yyn = yypact[+*yyssp]; + YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + yysize = yysize0; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { @@ -2266,11 +2403,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, } yyarg[yycount++] = yytname[yyx]; { - YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + YYPTRDIFF_T yysize1 + = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } } } @@ -2282,6 +2420,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -2292,10 +2431,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, } { - YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + /* Don't count the "%s"s in the final size, but reserve room for + the terminator. */ + YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1; + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } if (*yymsg_alloc < yysize) @@ -2321,8 +2463,8 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, } else { - yyp++; - yyformat++; + ++yyp; + ++yyformat; } } return 0; @@ -2365,7 +2507,7 @@ int yynerrs; int yyparse (void) { - int yystate; + yy_state_fast_t yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; @@ -2377,16 +2519,16 @@ yyparse (void) to reallocate them elsewhere. */ /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss; - yytype_int16 *yyssp; + yy_state_t yyssa[YYINITDEPTH]; + yy_state_t *yyss; + yy_state_t *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; - YYSIZE_T yystacksize; + YYPTRDIFF_T yystacksize; int yyn; int yyresult; @@ -2400,7 +2542,7 @@ yyparse (void) /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; + YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) @@ -2421,46 +2563,54 @@ yyparse (void) yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yysetstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + YY_ASSERT (0 <= yystate && yystate < YYNSTATES); + YY_IGNORE_USELESS_CAST_BEGIN + *yyssp = YY_CAST (yy_state_t, yystate); + YY_IGNORE_USELESS_CAST_END if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYPTRDIFF_T yysize = yyssp - yyss + 1; -#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ + yy_state_t *yyss1 = yyss; YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), + &yyss1, yysize * YYSIZEOF (*yyssp), + &yyvs1, yysize * YYSIZEOF (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; @@ -2469,42 +2619,43 @@ yyparse (void) yystacksize = YYMAXDEPTH; { - yytype_int16 *yyss1 = yyss; + yy_state_t *yyss1 = yyss; union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + YY_CAST (union yyalloc *, + YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + YY_IGNORE_USELESS_CAST_BEGIN + YYDPRINTF ((stderr, "Stack size increased to %ld\n", + YY_CAST (long, yystacksize))); + YY_IGNORE_USELESS_CAST_END if (yyss + yystacksize - 1 <= yyssp) YYABORT; } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ if (yystate == YYFINAL) YYACCEPT; goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ @@ -2554,15 +2705,13 @@ yybackup: /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token. */ - yychar = YYEMPTY; - yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END + /* Discard the shifted token. */ + yychar = YYEMPTY; goto yynewstate; @@ -2577,7 +2726,7 @@ yydefault: /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -2597,9 +2746,9 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 2: -#line 327 "parser.y" /* yacc.c:1646 */ - { fix_incomplete(); + case 2: +#line 328 "parser.y" + { fix_incomplete(); check_statements((yyvsp[-1].stmt_list), FALSE); check_all_user_types((yyvsp[-1].stmt_list)); write_header((yyvsp[-1].stmt_list)); @@ -2614,1115 +2763,1115 @@ yyreduce: write_dlldata((yyvsp[-1].stmt_list)); write_local_stubs((yyvsp[-1].stmt_list)); } -#line 2618 "parser.tab.c" /* yacc.c:1646 */ +#line 2767 "parser.tab.c" break; case 5: -#line 346 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = NULL; } -#line 2624 "parser.tab.c" /* yacc.c:1646 */ +#line 347 "parser.y" + { (yyval.stmt_list) = NULL; } +#line 2773 "parser.tab.c" break; case 6: -#line 347 "parser.y" /* yacc.c:1646 */ - { push_namespace((yyvsp[-1].str)); } -#line 2630 "parser.tab.c" /* yacc.c:1646 */ +#line 348 "parser.y" + { push_namespace((yyvsp[-1].str)); } +#line 2779 "parser.tab.c" break; case 7: -#line 348 "parser.y" /* yacc.c:1646 */ - { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } -#line 2636 "parser.tab.c" /* yacc.c:1646 */ +#line 349 "parser.y" + { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } +#line 2785 "parser.tab.c" break; case 8: -#line 349 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } -#line 2642 "parser.tab.c" /* yacc.c:1646 */ +#line 350 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } +#line 2791 "parser.tab.c" break; case 9: -#line 350 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 2648 "parser.tab.c" /* yacc.c:1646 */ +#line 351 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } +#line 2797 "parser.tab.c" break; case 10: -#line 351 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = (yyvsp[-2].stmt_list); +#line 352 "parser.y" + { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 2656 "parser.tab.c" /* yacc.c:1646 */ +#line 2805 "parser.tab.c" break; case 11: -#line 354 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); +#line 355 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0); } -#line 2664 "parser.tab.c" /* yacc.c:1646 */ +#line 2813 "parser.tab.c" break; case 12: -#line 357 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 2670 "parser.tab.c" /* yacc.c:1646 */ +#line 358 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } +#line 2819 "parser.tab.c" break; case 13: -#line 358 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 2676 "parser.tab.c" /* yacc.c:1646 */ +#line 359 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } +#line 2825 "parser.tab.c" break; case 14: -#line 359 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2682 "parser.tab.c" /* yacc.c:1646 */ +#line 360 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } +#line 2831 "parser.tab.c" break; case 15: -#line 362 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = NULL; } -#line 2688 "parser.tab.c" /* yacc.c:1646 */ +#line 363 "parser.y" + { (yyval.stmt_list) = NULL; } +#line 2837 "parser.tab.c" break; case 16: -#line 363 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } -#line 2694 "parser.tab.c" /* yacc.c:1646 */ +#line 364 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); } +#line 2843 "parser.tab.c" break; case 17: -#line 364 "parser.y" /* yacc.c:1646 */ - { push_namespace((yyvsp[-1].str)); } -#line 2700 "parser.tab.c" /* yacc.c:1646 */ +#line 365 "parser.y" + { push_namespace((yyvsp[-1].str)); } +#line 2849 "parser.tab.c" break; case 18: -#line 365 "parser.y" /* yacc.c:1646 */ - { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } -#line 2706 "parser.tab.c" /* yacc.c:1646 */ +#line 366 "parser.y" + { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); } +#line 2855 "parser.tab.c" break; case 19: -#line 366 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } -#line 2712 "parser.tab.c" /* yacc.c:1646 */ +#line 367 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); } +#line 2861 "parser.tab.c" break; case 20: -#line 367 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } -#line 2718 "parser.tab.c" /* yacc.c:1646 */ +#line 368 "parser.y" + { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); } +#line 2867 "parser.tab.c" break; case 21: -#line 368 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); +#line 369 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0); } -#line 2726 "parser.tab.c" /* yacc.c:1646 */ +#line 2875 "parser.tab.c" break; case 22: -#line 371 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } -#line 2732 "parser.tab.c" /* yacc.c:1646 */ +#line 372 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); } +#line 2881 "parser.tab.c" break; case 23: -#line 372 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2738 "parser.tab.c" /* yacc.c:1646 */ +#line 373 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } +#line 2887 "parser.tab.c" break; case 24: -#line 373 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); } -#line 2744 "parser.tab.c" /* yacc.c:1646 */ +#line 374 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); } +#line 2893 "parser.tab.c" break; case 25: -#line 374 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } -#line 2750 "parser.tab.c" /* yacc.c:1646 */ +#line 375 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); } +#line 2899 "parser.tab.c" break; case 26: -#line 377 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = NULL; } -#line 2756 "parser.tab.c" /* yacc.c:1646 */ +#line 378 "parser.y" + { (yyval.stmt_list) = NULL; } +#line 2905 "parser.tab.c" break; case 27: -#line 378 "parser.y" /* yacc.c:1646 */ - { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } -#line 2762 "parser.tab.c" /* yacc.c:1646 */ +#line 379 "parser.y" + { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); } +#line 2911 "parser.tab.c" break; case 30: -#line 386 "parser.y" /* yacc.c:1646 */ - { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); } -#line 2768 "parser.tab.c" /* yacc.c:1646 */ +#line 387 "parser.y" + { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); } +#line 2917 "parser.tab.c" break; case 31: -#line 387 "parser.y" /* yacc.c:1646 */ - { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); } -#line 2774 "parser.tab.c" /* yacc.c:1646 */ +#line 388 "parser.y" + { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); } +#line 2923 "parser.tab.c" break; case 32: -#line 388 "parser.y" /* yacc.c:1646 */ - { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); } -#line 2780 "parser.tab.c" /* yacc.c:1646 */ +#line 389 "parser.y" + { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); } +#line 2929 "parser.tab.c" break; case 33: -#line 389 "parser.y" /* yacc.c:1646 */ - { (yyval.statement) = make_statement_import((yyvsp[0].str)); } -#line 2786 "parser.tab.c" /* yacc.c:1646 */ +#line 390 "parser.y" + { (yyval.statement) = make_statement_import((yyvsp[0].str)); } +#line 2935 "parser.tab.c" break; case 34: -#line 390 "parser.y" /* yacc.c:1646 */ - { (yyval.statement) = (yyvsp[-1].statement); } -#line 2792 "parser.tab.c" /* yacc.c:1646 */ +#line 391 "parser.y" + { (yyval.statement) = (yyvsp[-1].statement); } +#line 2941 "parser.tab.c" break; case 35: -#line 391 "parser.y" /* yacc.c:1646 */ - { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); } -#line 2798 "parser.tab.c" /* yacc.c:1646 */ +#line 392 "parser.y" + { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); } +#line 2947 "parser.tab.c" break; case 36: -#line 392 "parser.y" /* yacc.c:1646 */ - { (yyval.statement) = NULL; } -#line 2804 "parser.tab.c" /* yacc.c:1646 */ +#line 393 "parser.y" + { (yyval.statement) = NULL; } +#line 2953 "parser.tab.c" break; case 37: -#line 396 "parser.y" /* yacc.c:1646 */ - { +#line 397 "parser.y" + { int result; (yyval.statement) = NULL; result = do_warning((yyvsp[-3].str), (yyvsp[-1].warning_list)); if(!result) error_loc("expected \"disable\" or \"enable\"\n"); } -#line 2816 "parser.tab.c" /* yacc.c:1646 */ +#line 2965 "parser.tab.c" break; case 38: -#line 406 "parser.y" /* yacc.c:1646 */ - { (yyval.warning_list) = append_warning(NULL, (yyvsp[0].num)); } -#line 2822 "parser.tab.c" /* yacc.c:1646 */ +#line 407 "parser.y" + { (yyval.warning_list) = append_warning(NULL, (yyvsp[0].num)); } +#line 2971 "parser.tab.c" break; case 39: -#line 407 "parser.y" /* yacc.c:1646 */ - { (yyval.warning_list) = append_warning((yyvsp[-1].warning_list), (yyvsp[0].num)); } -#line 2828 "parser.tab.c" /* yacc.c:1646 */ +#line 408 "parser.y" + { (yyval.warning_list) = append_warning((yyvsp[-1].warning_list), (yyvsp[0].num)); } +#line 2977 "parser.tab.c" break; case 41: -#line 412 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 2834 "parser.tab.c" /* yacc.c:1646 */ +#line 413 "parser.y" + { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); } +#line 2983 "parser.tab.c" break; case 43: -#line 414 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } -#line 2840 "parser.tab.c" /* yacc.c:1646 */ +#line 415 "parser.y" + { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); } +#line 2989 "parser.tab.c" break; case 45: -#line 416 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } -#line 2846 "parser.tab.c" /* yacc.c:1646 */ +#line 417 "parser.y" + { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); } +#line 2995 "parser.tab.c" break; case 46: -#line 417 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); } -#line 2852 "parser.tab.c" /* yacc.c:1646 */ +#line 418 "parser.y" + { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); } +#line 3001 "parser.tab.c" break; case 47: -#line 418 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); } -#line 2858 "parser.tab.c" /* yacc.c:1646 */ +#line 419 "parser.y" + { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); } +#line 3007 "parser.tab.c" break; case 48: -#line 419 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); } -#line 2864 "parser.tab.c" /* yacc.c:1646 */ +#line 420 "parser.y" + { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); } +#line 3013 "parser.tab.c" break; case 49: -#line 422 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = (yyvsp[-1].str); } -#line 2870 "parser.tab.c" /* yacc.c:1646 */ +#line 423 "parser.y" + { (yyval.str) = (yyvsp[-1].str); } +#line 3019 "parser.tab.c" break; case 50: -#line 424 "parser.y" /* yacc.c:1646 */ - { assert(yychar == YYEMPTY); +#line 425 "parser.y" + { assert(yychar == YYEMPTY); (yyval.import) = xmalloc(sizeof(struct _import_t)); (yyval.import)->name = (yyvsp[-1].str); (yyval.import)->import_performed = do_import((yyvsp[-1].str)); if (!(yyval.import)->import_performed) yychar = aEOF; } -#line 2881 "parser.tab.c" /* yacc.c:1646 */ +#line 3030 "parser.tab.c" break; case 51: -#line 432 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = (yyvsp[-2].import)->name; +#line 433 "parser.y" + { (yyval.str) = (yyvsp[-2].import)->name; if ((yyvsp[-2].import)->import_performed) pop_import(); free((yyvsp[-2].import)); } -#line 2890 "parser.tab.c" /* yacc.c:1646 */ +#line 3039 "parser.tab.c" break; case 52: -#line 440 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str)); } -#line 2896 "parser.tab.c" /* yacc.c:1646 */ +#line 441 "parser.y" + { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str)); } +#line 3045 "parser.tab.c" break; case 53: -#line 446 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = (yyvsp[0].str); } -#line 2902 "parser.tab.c" /* yacc.c:1646 */ +#line 447 "parser.y" + { (yyval.str) = (yyvsp[0].str); } +#line 3051 "parser.tab.c" break; case 54: -#line 447 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = (yyvsp[0].str); } -#line 2908 "parser.tab.c" /* yacc.c:1646 */ +#line 448 "parser.y" + { (yyval.str) = (yyvsp[0].str); } +#line 3057 "parser.tab.c" break; case 55: -#line 449 "parser.y" /* yacc.c:1646 */ - { (yyval.typelib) = make_library((yyvsp[-1].str), check_library_attrs((yyvsp[-1].str), (yyvsp[-2].attr_list))); +#line 450 "parser.y" + { (yyval.typelib) = make_library((yyvsp[-1].str), check_library_attrs((yyvsp[-1].str), (yyvsp[-2].attr_list))); /* ifdef __REACTOS__ */ if (!parse_only) start_typelib((yyval.typelib)); /* else if (!parse_only && do_typelib) current_typelib = $$; */ } -#line 2920 "parser.tab.c" /* yacc.c:1646 */ +#line 3069 "parser.tab.c" break; case 56: -#line 459 "parser.y" /* yacc.c:1646 */ - { (yyval.typelib) = (yyvsp[-3].typelib); +#line 460 "parser.y" + { (yyval.typelib) = (yyvsp[-3].typelib); (yyval.typelib)->stmts = (yyvsp[-2].stmt_list); if (!parse_only) end_typelib(); } -#line 2929 "parser.tab.c" /* yacc.c:1646 */ +#line 3078 "parser.tab.c" break; case 57: -#line 468 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 2935 "parser.tab.c" /* yacc.c:1646 */ +#line 469 "parser.y" + { (yyval.var_list) = NULL; } +#line 3084 "parser.tab.c" break; case 59: -#line 472 "parser.y" /* yacc.c:1646 */ - { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 2941 "parser.tab.c" /* yacc.c:1646 */ +#line 473 "parser.y" + { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } +#line 3090 "parser.tab.c" break; case 60: -#line 473 "parser.y" /* yacc.c:1646 */ - { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 2947 "parser.tab.c" /* yacc.c:1646 */ +#line 474 "parser.y" + { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } +#line 3096 "parser.tab.c" break; case 62: -#line 477 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); } -#line 2953 "parser.tab.c" /* yacc.c:1646 */ +#line 478 "parser.y" + { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); } +#line 3102 "parser.tab.c" break; case 63: -#line 481 "parser.y" /* yacc.c:1646 */ - { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) +#line 482 "parser.y" + { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) error_loc("invalid storage class for function parameter\n"); (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); } -#line 2963 "parser.tab.c" /* yacc.c:1646 */ +#line 3112 "parser.tab.c" break; case 64: -#line 486 "parser.y" /* yacc.c:1646 */ - { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) +#line 487 "parser.y" + { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER) error_loc("invalid storage class for function parameter\n"); (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE); free((yyvsp[-1].declspec)); free((yyvsp[0].declarator)); } -#line 2973 "parser.tab.c" /* yacc.c:1646 */ +#line 3122 "parser.tab.c" break; case 65: -#line 493 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = (yyvsp[-1].expr); +#line 494 "parser.y" + { (yyval.expr) = (yyvsp[-1].expr); if (!(yyval.expr)->is_const || (yyval.expr)->cval <= 0) error_loc("array dimension is not a positive integer constant\n"); } -#line 2982 "parser.tab.c" /* yacc.c:1646 */ +#line 3131 "parser.tab.c" break; case 66: -#line 497 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr(EXPR_VOID); } -#line 2988 "parser.tab.c" /* yacc.c:1646 */ +#line 498 "parser.y" + { (yyval.expr) = make_expr(EXPR_VOID); } +#line 3137 "parser.tab.c" break; case 67: -#line 498 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr(EXPR_VOID); } -#line 2994 "parser.tab.c" /* yacc.c:1646 */ +#line 499 "parser.y" + { (yyval.expr) = make_expr(EXPR_VOID); } +#line 3143 "parser.tab.c" break; case 68: -#line 501 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = NULL; } -#line 3000 "parser.tab.c" /* yacc.c:1646 */ +#line 502 "parser.y" + { (yyval.attr_list) = NULL; } +#line 3149 "parser.tab.c" break; case 70: -#line 506 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = (yyvsp[-1].attr_list); } -#line 3006 "parser.tab.c" /* yacc.c:1646 */ +#line 507 "parser.y" + { (yyval.attr_list) = (yyvsp[-1].attr_list); } +#line 3155 "parser.tab.c" break; case 71: -#line 509 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); } -#line 3012 "parser.tab.c" /* yacc.c:1646 */ +#line 510 "parser.y" + { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); } +#line 3161 "parser.tab.c" break; case 72: -#line 510 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); } -#line 3018 "parser.tab.c" /* yacc.c:1646 */ +#line 511 "parser.y" + { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); } +#line 3167 "parser.tab.c" break; case 73: -#line 511 "parser.y" /* yacc.c:1646 */ - { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); } -#line 3024 "parser.tab.c" /* yacc.c:1646 */ +#line 512 "parser.y" + { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); } +#line 3173 "parser.tab.c" break; case 74: -#line 514 "parser.y" /* yacc.c:1646 */ - { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); } -#line 3030 "parser.tab.c" /* yacc.c:1646 */ +#line 515 "parser.y" + { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); } +#line 3179 "parser.tab.c" break; case 75: -#line 515 "parser.y" /* yacc.c:1646 */ - { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); } -#line 3036 "parser.tab.c" /* yacc.c:1646 */ +#line 516 "parser.y" + { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); } +#line 3185 "parser.tab.c" break; case 76: -#line 518 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = NULL; } -#line 3042 "parser.tab.c" /* yacc.c:1646 */ +#line 519 "parser.y" + { (yyval.attr) = NULL; } +#line 3191 "parser.tab.c" break; case 77: -#line 519 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); } -#line 3048 "parser.tab.c" /* yacc.c:1646 */ +#line 520 "parser.y" + { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); } +#line 3197 "parser.tab.c" break; case 78: -#line 520 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); } -#line 3054 "parser.tab.c" /* yacc.c:1646 */ +#line 521 "parser.y" + { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); } +#line 3203 "parser.tab.c" break; case 79: -#line 521 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_APPOBJECT); } -#line 3060 "parser.tab.c" /* yacc.c:1646 */ +#line 522 "parser.y" + { (yyval.attr) = make_attr(ATTR_APPOBJECT); } +#line 3209 "parser.tab.c" break; case 80: -#line 522 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ASYNC); } -#line 3066 "parser.tab.c" /* yacc.c:1646 */ +#line 523 "parser.y" + { (yyval.attr) = make_attr(ATTR_ASYNC); } +#line 3215 "parser.tab.c" break; case 81: -#line 523 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); } -#line 3072 "parser.tab.c" /* yacc.c:1646 */ +#line 524 "parser.y" + { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); } +#line 3221 "parser.tab.c" break; case 82: -#line 524 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_BINDABLE); } -#line 3078 "parser.tab.c" /* yacc.c:1646 */ +#line 525 "parser.y" + { (yyval.attr) = make_attr(ATTR_BINDABLE); } +#line 3227 "parser.tab.c" break; case 83: -#line 525 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_BROADCAST); } -#line 3084 "parser.tab.c" /* yacc.c:1646 */ +#line 526 "parser.y" + { (yyval.attr) = make_attr(ATTR_BROADCAST); } +#line 3233 "parser.tab.c" break; case 84: -#line 526 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); } -#line 3090 "parser.tab.c" /* yacc.c:1646 */ +#line 527 "parser.y" + { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); } +#line 3239 "parser.tab.c" break; case 85: -#line 527 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); } -#line 3096 "parser.tab.c" /* yacc.c:1646 */ +#line 528 "parser.y" + { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); } +#line 3245 "parser.tab.c" break; case 86: -#line 528 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_CODE); } -#line 3102 "parser.tab.c" /* yacc.c:1646 */ +#line 529 "parser.y" + { (yyval.attr) = make_attr(ATTR_CODE); } +#line 3251 "parser.tab.c" break; case 87: -#line 529 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_COMMSTATUS); } -#line 3108 "parser.tab.c" /* yacc.c:1646 */ +#line 530 "parser.y" + { (yyval.attr) = make_attr(ATTR_COMMSTATUS); } +#line 3257 "parser.tab.c" break; case 88: -#line 530 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); } -#line 3114 "parser.tab.c" /* yacc.c:1646 */ +#line 531 "parser.y" + { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); } +#line 3263 "parser.tab.c" break; case 89: -#line 531 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ } -#line 3120 "parser.tab.c" /* yacc.c:1646 */ +#line 532 "parser.y" + { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ } +#line 3269 "parser.tab.c" break; case 90: -#line 532 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ } -#line 3126 "parser.tab.c" /* yacc.c:1646 */ +#line 533 "parser.y" + { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ } +#line 3275 "parser.tab.c" break; case 91: -#line 533 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_CONTROL); } -#line 3132 "parser.tab.c" /* yacc.c:1646 */ +#line 534 "parser.y" + { (yyval.attr) = make_attr(ATTR_CONTROL); } +#line 3281 "parser.tab.c" break; case 92: -#line 534 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DECODE); } -#line 3138 "parser.tab.c" /* yacc.c:1646 */ +#line 535 "parser.y" + { (yyval.attr) = make_attr(ATTR_DECODE); } +#line 3287 "parser.tab.c" break; case 93: -#line 535 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULT); } -#line 3144 "parser.tab.c" /* yacc.c:1646 */ +#line 536 "parser.y" + { (yyval.attr) = make_attr(ATTR_DEFAULT); } +#line 3293 "parser.tab.c" break; case 94: -#line 536 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); } -#line 3150 "parser.tab.c" /* yacc.c:1646 */ +#line 537 "parser.y" + { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); } +#line 3299 "parser.tab.c" break; case 95: -#line 537 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); } -#line 3156 "parser.tab.c" /* yacc.c:1646 */ +#line 538 "parser.y" + { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); } +#line 3305 "parser.tab.c" break; case 96: -#line 538 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); } -#line 3162 "parser.tab.c" /* yacc.c:1646 */ +#line 539 "parser.y" + { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); } +#line 3311 "parser.tab.c" break; case 97: -#line 539 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); } -#line 3168 "parser.tab.c" /* yacc.c:1646 */ +#line 540 "parser.y" + { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); } +#line 3317 "parser.tab.c" break; case 98: -#line 540 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); } -#line 3174 "parser.tab.c" /* yacc.c:1646 */ +#line 541 "parser.y" + { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); } +#line 3323 "parser.tab.c" break; case 99: -#line 541 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); } -#line 3180 "parser.tab.c" /* yacc.c:1646 */ +#line 542 "parser.y" + { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); } +#line 3329 "parser.tab.c" break; case 100: -#line 542 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); } -#line 3186 "parser.tab.c" /* yacc.c:1646 */ +#line 543 "parser.y" + { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); } +#line 3335 "parser.tab.c" break; case 101: -#line 543 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_DUAL); } -#line 3192 "parser.tab.c" /* yacc.c:1646 */ +#line 544 "parser.y" + { (yyval.attr) = make_attr(ATTR_DUAL); } +#line 3341 "parser.tab.c" break; case 102: -#line 544 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); } -#line 3198 "parser.tab.c" /* yacc.c:1646 */ +#line 545 "parser.y" + { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); } +#line 3347 "parser.tab.c" break; case 103: -#line 545 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ENCODE); } -#line 3204 "parser.tab.c" /* yacc.c:1646 */ +#line 546 "parser.y" + { (yyval.attr) = make_attr(ATTR_ENCODE); } +#line 3353 "parser.tab.c" break; case 104: -#line 546 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); } -#line 3210 "parser.tab.c" /* yacc.c:1646 */ +#line 547 "parser.y" + { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); } +#line 3359 "parser.tab.c" break; case 105: -#line 547 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); } -#line 3216 "parser.tab.c" /* yacc.c:1646 */ +#line 548 "parser.y" + { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); } +#line 3365 "parser.tab.c" break; case 106: -#line 548 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); } -#line 3222 "parser.tab.c" /* yacc.c:1646 */ +#line 549 "parser.y" + { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); } +#line 3371 "parser.tab.c" break; case 107: -#line 549 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); } -#line 3228 "parser.tab.c" /* yacc.c:1646 */ +#line 550 "parser.y" + { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); } +#line 3377 "parser.tab.c" break; case 108: -#line 550 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); } -#line 3234 "parser.tab.c" /* yacc.c:1646 */ +#line 551 "parser.y" + { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); } +#line 3383 "parser.tab.c" break; case 109: -#line 551 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_HANDLE); } -#line 3240 "parser.tab.c" /* yacc.c:1646 */ +#line 552 "parser.y" + { (yyval.attr) = make_attr(ATTR_HANDLE); } +#line 3389 "parser.tab.c" break; case 110: -#line 552 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); } -#line 3246 "parser.tab.c" /* yacc.c:1646 */ +#line 553 "parser.y" + { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); } +#line 3395 "parser.tab.c" break; case 111: -#line 553 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); } -#line 3252 "parser.tab.c" /* yacc.c:1646 */ +#line 554 "parser.y" + { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); } +#line 3401 "parser.tab.c" break; case 112: -#line 554 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); } -#line 3258 "parser.tab.c" /* yacc.c:1646 */ +#line 555 "parser.y" + { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); } +#line 3407 "parser.tab.c" break; case 113: -#line 555 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); } -#line 3264 "parser.tab.c" /* yacc.c:1646 */ +#line 556 "parser.y" + { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); } +#line 3413 "parser.tab.c" break; case 114: -#line 556 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); } -#line 3270 "parser.tab.c" /* yacc.c:1646 */ +#line 557 "parser.y" + { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); } +#line 3419 "parser.tab.c" break; case 115: -#line 557 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_HIDDEN); } -#line 3276 "parser.tab.c" /* yacc.c:1646 */ +#line 558 "parser.y" + { (yyval.attr) = make_attr(ATTR_HIDDEN); } +#line 3425 "parser.tab.c" break; case 116: -#line 558 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); } -#line 3282 "parser.tab.c" /* yacc.c:1646 */ +#line 559 "parser.y" + { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); } +#line 3431 "parser.tab.c" break; case 117: -#line 559 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); } -#line 3288 "parser.tab.c" /* yacc.c:1646 */ +#line 560 "parser.y" + { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); } +#line 3437 "parser.tab.c" break; case 118: -#line 560 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IGNORE); } -#line 3294 "parser.tab.c" /* yacc.c:1646 */ +#line 561 "parser.y" + { (yyval.attr) = make_attr(ATTR_IGNORE); } +#line 3443 "parser.tab.c" break; case 119: -#line 561 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); } -#line 3300 "parser.tab.c" /* yacc.c:1646 */ +#line 562 "parser.y" + { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); } +#line 3449 "parser.tab.c" break; case 120: -#line 562 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); } -#line 3306 "parser.tab.c" /* yacc.c:1646 */ +#line 563 "parser.y" + { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); } +#line 3455 "parser.tab.c" break; case 121: -#line 563 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); } -#line 3312 "parser.tab.c" /* yacc.c:1646 */ +#line 564 "parser.y" + { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); } +#line 3461 "parser.tab.c" break; case 122: -#line 564 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_IN); } -#line 3318 "parser.tab.c" /* yacc.c:1646 */ +#line 565 "parser.y" + { (yyval.attr) = make_attr(ATTR_IN); } +#line 3467 "parser.tab.c" break; case 123: -#line 565 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_INPUTSYNC); } -#line 3324 "parser.tab.c" /* yacc.c:1646 */ +#line 566 "parser.y" + { (yyval.attr) = make_attr(ATTR_INPUTSYNC); } +#line 3473 "parser.tab.c" break; case 124: -#line 566 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); } -#line 3330 "parser.tab.c" /* yacc.c:1646 */ +#line 567 "parser.y" + { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); } +#line 3479 "parser.tab.c" break; case 125: -#line 567 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); } -#line 3336 "parser.tab.c" /* yacc.c:1646 */ +#line 568 "parser.y" + { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); } +#line 3485 "parser.tab.c" break; case 126: -#line 568 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PARAMLCID); } -#line 3342 "parser.tab.c" /* yacc.c:1646 */ +#line 569 "parser.y" + { (yyval.attr) = make_attr(ATTR_PARAMLCID); } +#line 3491 "parser.tab.c" break; case 127: -#line 569 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_LICENSED); } -#line 3348 "parser.tab.c" /* yacc.c:1646 */ +#line 570 "parser.y" + { (yyval.attr) = make_attr(ATTR_LICENSED); } +#line 3497 "parser.tab.c" break; case 128: -#line 570 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_LOCAL); } -#line 3354 "parser.tab.c" /* yacc.c:1646 */ +#line 571 "parser.y" + { (yyval.attr) = make_attr(ATTR_LOCAL); } +#line 3503 "parser.tab.c" break; case 129: -#line 571 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_MAYBE); } -#line 3360 "parser.tab.c" /* yacc.c:1646 */ +#line 572 "parser.y" + { (yyval.attr) = make_attr(ATTR_MAYBE); } +#line 3509 "parser.tab.c" break; case 130: -#line 572 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_MESSAGE); } -#line 3366 "parser.tab.c" /* yacc.c:1646 */ +#line 573 "parser.y" + { (yyval.attr) = make_attr(ATTR_MESSAGE); } +#line 3515 "parser.tab.c" break; case 131: -#line 573 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NOCODE); } -#line 3372 "parser.tab.c" /* yacc.c:1646 */ +#line 574 "parser.y" + { (yyval.attr) = make_attr(ATTR_NOCODE); } +#line 3521 "parser.tab.c" break; case 132: -#line 574 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); } -#line 3378 "parser.tab.c" /* yacc.c:1646 */ +#line 575 "parser.y" + { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); } +#line 3527 "parser.tab.c" break; case 133: -#line 575 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NONCREATABLE); } -#line 3384 "parser.tab.c" /* yacc.c:1646 */ +#line 576 "parser.y" + { (yyval.attr) = make_attr(ATTR_NONCREATABLE); } +#line 3533 "parser.tab.c" break; case 134: -#line 576 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); } -#line 3390 "parser.tab.c" /* yacc.c:1646 */ +#line 577 "parser.y" + { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); } +#line 3539 "parser.tab.c" break; case 135: -#line 577 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NOTIFY); } -#line 3396 "parser.tab.c" /* yacc.c:1646 */ +#line 578 "parser.y" + { (yyval.attr) = make_attr(ATTR_NOTIFY); } +#line 3545 "parser.tab.c" break; case 136: -#line 578 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); } -#line 3402 "parser.tab.c" /* yacc.c:1646 */ +#line 579 "parser.y" + { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); } +#line 3551 "parser.tab.c" break; case 137: -#line 579 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OBJECT); } -#line 3408 "parser.tab.c" /* yacc.c:1646 */ +#line 580 "parser.y" + { (yyval.attr) = make_attr(ATTR_OBJECT); } +#line 3557 "parser.tab.c" break; case 138: -#line 580 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_ODL); } -#line 3414 "parser.tab.c" /* yacc.c:1646 */ +#line 581 "parser.y" + { (yyval.attr) = make_attr(ATTR_ODL); } +#line 3563 "parser.tab.c" break; case 139: -#line 581 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); } -#line 3420 "parser.tab.c" /* yacc.c:1646 */ +#line 582 "parser.y" + { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); } +#line 3569 "parser.tab.c" break; case 140: -#line 582 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); } -#line 3426 "parser.tab.c" /* yacc.c:1646 */ +#line 583 "parser.y" + { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); } +#line 3575 "parser.tab.c" break; case 141: -#line 583 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OPTIONAL); } -#line 3432 "parser.tab.c" /* yacc.c:1646 */ +#line 584 "parser.y" + { (yyval.attr) = make_attr(ATTR_OPTIONAL); } +#line 3581 "parser.tab.c" break; case 142: -#line 584 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_OUT); } -#line 3438 "parser.tab.c" /* yacc.c:1646 */ +#line 585 "parser.y" + { (yyval.attr) = make_attr(ATTR_OUT); } +#line 3587 "parser.tab.c" break; case 143: -#line 585 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); } -#line 3444 "parser.tab.c" /* yacc.c:1646 */ +#line 586 "parser.y" + { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); } +#line 3593 "parser.tab.c" break; case 144: -#line 586 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); } -#line 3450 "parser.tab.c" /* yacc.c:1646 */ +#line 587 "parser.y" + { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); } +#line 3599 "parser.tab.c" break; case 145: -#line 587 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); } -#line 3456 "parser.tab.c" /* yacc.c:1646 */ +#line 588 "parser.y" + { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); } +#line 3605 "parser.tab.c" break; case 146: -#line 588 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROPGET); } -#line 3462 "parser.tab.c" /* yacc.c:1646 */ +#line 589 "parser.y" + { (yyval.attr) = make_attr(ATTR_PROPGET); } +#line 3611 "parser.tab.c" break; case 147: -#line 589 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROPPUT); } -#line 3468 "parser.tab.c" /* yacc.c:1646 */ +#line 590 "parser.y" + { (yyval.attr) = make_attr(ATTR_PROPPUT); } +#line 3617 "parser.tab.c" break; case 148: -#line 590 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROPPUTREF); } -#line 3474 "parser.tab.c" /* yacc.c:1646 */ +#line 591 "parser.y" + { (yyval.attr) = make_attr(ATTR_PROPPUTREF); } +#line 3623 "parser.tab.c" break; case 149: -#line 591 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PROXY); } -#line 3480 "parser.tab.c" /* yacc.c:1646 */ +#line 592 "parser.y" + { (yyval.attr) = make_attr(ATTR_PROXY); } +#line 3629 "parser.tab.c" break; case 150: -#line 592 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_PUBLIC); } -#line 3486 "parser.tab.c" /* yacc.c:1646 */ +#line 593 "parser.y" + { (yyval.attr) = make_attr(ATTR_PUBLIC); } +#line 3635 "parser.tab.c" break; case 151: -#line 594 "parser.y" /* yacc.c:1646 */ - { expr_list_t *list = append_expr( NULL, (yyvsp[-3].expr) ); +#line 595 "parser.y" + { expr_list_t *list = append_expr( NULL, (yyvsp[-3].expr) ); list = append_expr( list, (yyvsp[-1].expr) ); (yyval.attr) = make_attrp(ATTR_RANGE, list); } -#line 3494 "parser.tab.c" /* yacc.c:1646 */ +#line 3643 "parser.tab.c" break; case 152: -#line 597 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_READONLY); } -#line 3500 "parser.tab.c" /* yacc.c:1646 */ +#line 598 "parser.y" + { (yyval.attr) = make_attr(ATTR_READONLY); } +#line 3649 "parser.tab.c" break; case 153: -#line 598 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); } -#line 3506 "parser.tab.c" /* yacc.c:1646 */ +#line 599 "parser.y" + { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); } +#line 3655 "parser.tab.c" break; case 154: -#line 599 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); } -#line 3512 "parser.tab.c" /* yacc.c:1646 */ +#line 600 "parser.y" + { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); } +#line 3661 "parser.tab.c" break; case 155: -#line 600 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_RESTRICTED); } -#line 3518 "parser.tab.c" /* yacc.c:1646 */ +#line 601 "parser.y" + { (yyval.attr) = make_attr(ATTR_RESTRICTED); } +#line 3667 "parser.tab.c" break; case 156: -#line 601 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_RETVAL); } -#line 3524 "parser.tab.c" /* yacc.c:1646 */ +#line 602 "parser.y" + { (yyval.attr) = make_attr(ATTR_RETVAL); } +#line 3673 "parser.tab.c" break; case 157: -#line 602 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); } -#line 3530 "parser.tab.c" /* yacc.c:1646 */ +#line 603 "parser.y" + { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); } +#line 3679 "parser.tab.c" break; case 158: -#line 603 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_SOURCE); } -#line 3536 "parser.tab.c" /* yacc.c:1646 */ +#line 604 "parser.y" + { (yyval.attr) = make_attr(ATTR_SOURCE); } +#line 3685 "parser.tab.c" break; case 159: -#line 604 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); } -#line 3542 "parser.tab.c" /* yacc.c:1646 */ +#line 605 "parser.y" + { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); } +#line 3691 "parser.tab.c" break; case 160: -#line 605 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_STRING); } -#line 3548 "parser.tab.c" /* yacc.c:1646 */ +#line 606 "parser.y" + { (yyval.attr) = make_attr(ATTR_STRING); } +#line 3697 "parser.tab.c" break; case 161: -#line 606 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); } -#line 3554 "parser.tab.c" /* yacc.c:1646 */ +#line 607 "parser.y" + { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); } +#line 3703 "parser.tab.c" break; case 162: -#line 607 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); } -#line 3560 "parser.tab.c" /* yacc.c:1646 */ +#line 608 "parser.y" + { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); } +#line 3709 "parser.tab.c" break; case 163: -#line 608 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); } -#line 3566 "parser.tab.c" /* yacc.c:1646 */ +#line 609 "parser.y" + { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); } +#line 3715 "parser.tab.c" break; case 164: -#line 609 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); } -#line 3572 "parser.tab.c" /* yacc.c:1646 */ +#line 610 "parser.y" + { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); } +#line 3721 "parser.tab.c" break; case 165: -#line 610 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_UIDEFAULT); } -#line 3578 "parser.tab.c" /* yacc.c:1646 */ +#line 611 "parser.y" + { (yyval.attr) = make_attr(ATTR_UIDEFAULT); } +#line 3727 "parser.tab.c" break; case 166: -#line 611 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); } -#line 3584 "parser.tab.c" /* yacc.c:1646 */ +#line 612 "parser.y" + { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); } +#line 3733 "parser.tab.c" break; case 167: -#line 612 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); } -#line 3590 "parser.tab.c" /* yacc.c:1646 */ +#line 613 "parser.y" + { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); } +#line 3739 "parser.tab.c" break; case 168: -#line 613 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); } -#line 3596 "parser.tab.c" /* yacc.c:1646 */ +#line 614 "parser.y" + { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); } +#line 3745 "parser.tab.c" break; case 169: -#line 614 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); } -#line 3602 "parser.tab.c" /* yacc.c:1646 */ +#line 615 "parser.y" + { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); } +#line 3751 "parser.tab.c" break; case 170: -#line 615 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_V1ENUM); } -#line 3608 "parser.tab.c" /* yacc.c:1646 */ +#line 616 "parser.y" + { (yyval.attr) = make_attr(ATTR_V1ENUM); } +#line 3757 "parser.tab.c" break; case 171: -#line 616 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attr(ATTR_VARARG); } -#line 3614 "parser.tab.c" /* yacc.c:1646 */ +#line 617 "parser.y" + { (yyval.attr) = make_attr(ATTR_VARARG); } +#line 3763 "parser.tab.c" break; case 172: -#line 617 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); } -#line 3620 "parser.tab.c" /* yacc.c:1646 */ +#line 618 "parser.y" + { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); } +#line 3769 "parser.tab.c" break; case 173: -#line 618 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); } -#line 3626 "parser.tab.c" /* yacc.c:1646 */ +#line 619 "parser.y" + { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); } +#line 3775 "parser.tab.c" break; case 174: -#line 619 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); } -#line 3632 "parser.tab.c" /* yacc.c:1646 */ +#line 620 "parser.y" + { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); } +#line 3781 "parser.tab.c" break; case 175: -#line 620 "parser.y" /* yacc.c:1646 */ - { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); } -#line 3638 "parser.tab.c" /* yacc.c:1646 */ +#line 621 "parser.y" + { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); } +#line 3787 "parser.tab.c" break; case 177: -#line 625 "parser.y" /* yacc.c:1646 */ - { if (!is_valid_uuid((yyvsp[0].str))) +#line 626 "parser.y" + { if (!is_valid_uuid((yyvsp[0].str))) error_loc("invalid UUID: %s\n", (yyvsp[0].str)); (yyval.uuid) = parse_uuid((yyvsp[0].str)); } -#line 3646 "parser.tab.c" /* yacc.c:1646 */ +#line 3795 "parser.tab.c" break; case 178: -#line 630 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__cdecl"); } -#line 3652 "parser.tab.c" /* yacc.c:1646 */ +#line 631 "parser.y" + { (yyval.str) = xstrdup("__cdecl"); } +#line 3801 "parser.tab.c" break; case 179: -#line 631 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__fastcall"); } -#line 3658 "parser.tab.c" /* yacc.c:1646 */ +#line 632 "parser.y" + { (yyval.str) = xstrdup("__fastcall"); } +#line 3807 "parser.tab.c" break; case 180: -#line 632 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__pascal"); } -#line 3664 "parser.tab.c" /* yacc.c:1646 */ +#line 633 "parser.y" + { (yyval.str) = xstrdup("__pascal"); } +#line 3813 "parser.tab.c" break; case 181: -#line 633 "parser.y" /* yacc.c:1646 */ - { (yyval.str) = xstrdup("__stdcall"); } -#line 3670 "parser.tab.c" /* yacc.c:1646 */ +#line 634 "parser.y" + { (yyval.str) = xstrdup("__stdcall"); } +#line 3819 "parser.tab.c" break; case 182: -#line 636 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 3676 "parser.tab.c" /* yacc.c:1646 */ +#line 637 "parser.y" + { (yyval.var_list) = NULL; } +#line 3825 "parser.tab.c" break; case 183: -#line 637 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } -#line 3682 "parser.tab.c" /* yacc.c:1646 */ +#line 638 "parser.y" + { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); } +#line 3831 "parser.tab.c" break; case 184: -#line 640 "parser.y" /* yacc.c:1646 */ - { attr_t *a = make_attrp(ATTR_CASE, append_expr( NULL, (yyvsp[-2].expr) )); +#line 641 "parser.y" + { attr_t *a = make_attrp(ATTR_CASE, append_expr( NULL, (yyvsp[-2].expr) )); (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 3691 "parser.tab.c" /* yacc.c:1646 */ +#line 3840 "parser.tab.c" break; case 185: -#line 644 "parser.y" /* yacc.c:1646 */ - { attr_t *a = make_attr(ATTR_DEFAULT); +#line 645 "parser.y" + { attr_t *a = make_attr(ATTR_DEFAULT); (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL); (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a ); } -#line 3700 "parser.tab.c" /* yacc.c:1646 */ +#line 3849 "parser.tab.c" break; case 186: -#line 650 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = NULL; } -#line 3706 "parser.tab.c" /* yacc.c:1646 */ +#line 651 "parser.y" + { (yyval.var_list) = NULL; } +#line 3855 "parser.tab.c" break; case 187: -#line 651 "parser.y" /* yacc.c:1646 */ - { (yyval.var_list) = (yyvsp[-1].var_list); } -#line 3712 "parser.tab.c" /* yacc.c:1646 */ +#line 652 "parser.y" + { (yyval.var_list) = (yyvsp[-1].var_list); } +#line 3861 "parser.tab.c" break; case 189: -#line 655 "parser.y" /* yacc.c:1646 */ - { if (!(yyvsp[0].var)->eval) +#line 656 "parser.y" + { if (!(yyvsp[0].var)->eval) (yyvsp[0].var)->eval = make_exprl(EXPR_NUM, 0 /* default for first enum entry */); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); } -#line 3721 "parser.tab.c" /* yacc.c:1646 */ +#line 3870 "parser.tab.c" break; case 190: -#line 659 "parser.y" /* yacc.c:1646 */ - { if (!(yyvsp[0].var)->eval) +#line 660 "parser.y" + { if (!(yyvsp[0].var)->eval) { var_t *last = LIST_ENTRY( list_tail((yyval.var_list)), var_t, entry ); enum expr_type type = EXPR_NUM; @@ -3732,733 +3881,733 @@ yyreduce: } (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); } -#line 3736 "parser.tab.c" /* yacc.c:1646 */ +#line 3885 "parser.tab.c" break; case 191: -#line 671 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = reg_const((yyvsp[-2].var)); +#line 672 "parser.y" + { (yyval.var) = reg_const((yyvsp[-2].var)); (yyval.var)->eval = (yyvsp[0].expr); (yyval.var)->type = type_new_int(TYPE_BASIC_INT, 0); } -#line 3745 "parser.tab.c" /* yacc.c:1646 */ +#line 3894 "parser.tab.c" break; case 192: -#line 675 "parser.y" /* yacc.c:1646 */ - { (yyval.var) = reg_const((yyvsp[0].var)); +#line 676 "parser.y" + { (yyval.var) = reg_const((yyvsp[0].var)); (yyval.var)->type = type_new_int(TYPE_BASIC_INT, 0); } -#line 3753 "parser.tab.c" /* yacc.c:1646 */ +#line 3902 "parser.tab.c" break; case 193: -#line 680 "parser.y" /* yacc.c:1646 */ - { (yyval.type) = type_new_enum((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } -#line 3759 "parser.tab.c" /* yacc.c:1646 */ +#line 681 "parser.y" + { (yyval.type) = type_new_enum((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); } +#line 3908 "parser.tab.c" break; case 194: -#line 683 "parser.y" /* yacc.c:1646 */ - { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } -#line 3765 "parser.tab.c" /* yacc.c:1646 */ +#line 684 "parser.y" + { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); } +#line 3914 "parser.tab.c" break; case 195: -#line 684 "parser.y" /* yacc.c:1646 */ - { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } -#line 3771 "parser.tab.c" /* yacc.c:1646 */ +#line 685 "parser.y" + { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); } +#line 3920 "parser.tab.c" break; case 196: -#line 687 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_expr(EXPR_VOID); } -#line 3777 "parser.tab.c" /* yacc.c:1646 */ +#line 688 "parser.y" + { (yyval.expr) = make_expr(EXPR_VOID); } +#line 3926 "parser.tab.c" break; case 198: -#line 691 "parser.y" /* yacc.c:1646 */ - { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); } -#line 3783 "parser.tab.c" /* yacc.c:1646 */ +#line 692 "parser.y" ... 5445 lines suppressed ...
3 years, 12 months
1
0
0
0
[reactos] 01/01: [DEVMGR] Report property changes by the device manager to the installer
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=65646a75a227b39d44679…
commit 65646a75a227b39d4467931840b439c3ca4cd5d6 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Fri Dec 25 19:14:09 2020 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Fri Dec 25 19:14:09 2020 +0100 [DEVMGR] Report property changes by the device manager to the installer --- dll/win32/devmgr/properties/advprop.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/dll/win32/devmgr/properties/advprop.cpp b/dll/win32/devmgr/properties/advprop.cpp index 27cd2faad2a..37c7d7ce4d2 100644 --- a/dll/win32/devmgr/properties/advprop.cpp +++ b/dll/win32/devmgr/properties/advprop.cpp @@ -3035,6 +3035,37 @@ Cleanup: } } + if (Ret != 1) + { + SP_DEVINSTALL_PARAMS_W DeviceInstallParams; + + DeviceInstallParams.cbSize = sizeof(DeviceInstallParams); + if (SetupDiGetDeviceInstallParamsW(DeviceInfoSet, + DeviceInfoData, + &DeviceInstallParams)) + { + SP_PROPCHANGE_PARAMS PropChangeParams; + PropChangeParams.ClassInstallHeader.cbSize = sizeof(PropChangeParams.ClassInstallHeader); + PropChangeParams.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE; + PropChangeParams.Scope = DICS_FLAG_GLOBAL; + PropChangeParams.StateChange = DICS_PROPCHANGE; + + SetupDiSetClassInstallParamsW(DeviceInfoSet, + DeviceInfoData, + (PSP_CLASSINSTALL_HEADER)&PropChangeParams, + sizeof(PropChangeParams)); + + SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, + DeviceInfoSet, + DeviceInfoData); + + DeviceInstallParams.FlagsEx &= ~DI_FLAGSEX_PROPCHANGE_PENDING; + SetupDiSetDeviceInstallParamsW(DeviceInfoSet, + DeviceInfoData, + &DeviceInstallParams); + } + } + if (DevAdvPropInfo != NULL) { if (DevAdvPropInfo->FreeDevPropSheets)
4 years
1
0
0
0
[reactos] 01/01: [SHELL32] spec: Fix SHGetAttributesFromDataObject() parameter types (#3317)
by Serge Gautherie
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bb01b94f83a8d55e00fd6…
commit bb01b94f83a8d55e00fd63d375fada87cbc9607f Author: Serge Gautherie <32623169+SergeGautherie(a)users.noreply.github.com> AuthorDate: Wed Dec 23 13:20:37 2020 +0100 Commit: GitHub <noreply(a)github.com> CommitDate: Wed Dec 23 15:20:37 2020 +0300 [SHELL32] spec: Fix SHGetAttributesFromDataObject() parameter types (#3317) Addendum to cdb48b8. CORE-17337 --- dll/win32/shell32/shell32.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dll/win32/shell32/shell32.spec b/dll/win32/shell32/shell32.spec index fc9df55855b..7457ec4eb37 100644 --- a/dll/win32/shell32/shell32.spec +++ b/dll/win32/shell32/shell32.spec @@ -457,7 +457,7 @@ 747 stdcall SHLimitInputEdit(ptr ptr) 748 stdcall -noname SHLimitInputCombo(ptr ptr) 749 stdcall -noname -version=0x501-0x502 SHGetShellStyleHInstance() -750 stdcall -noname SHGetAttributesFromDataObject(ptr long long long) +750 stdcall -noname SHGetAttributesFromDataObject(ptr long ptr ptr) 751 stub -noname SHSimulateDropOnClsid 752 stdcall -noname SHGetComputerDisplayNameW(long long long long) 753 stdcall -noname CheckStagingArea()
4 years
1
0
0
0
[reactos] 04/04: [UMANDLG] Define Globals variable in only one translation unit
by Jérôme Gardou
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b805a7dd50519e4efa4c8…
commit b805a7dd50519e4efa4c825529a41091d4db3e48 Author: Jérôme Gardou <jerome.gardou(a)reactos.org> AuthorDate: Wed Nov 25 12:50:08 2020 +0100 Commit: Jérôme Gardou <jerome.gardou(a)reactos.org> CommitDate: Tue Dec 22 13:15:01 2020 +0100 [UMANDLG] Define Globals variable in only one translation unit --- base/applications/utilman/umandlg/registry.c | 1 - 1 file changed, 1 deletion(-) diff --git a/base/applications/utilman/umandlg/registry.c b/base/applications/utilman/umandlg/registry.c index f00d8948221..663394c5532 100644 --- a/base/applications/utilman/umandlg/registry.c +++ b/base/applications/utilman/umandlg/registry.c @@ -11,7 +11,6 @@ /* GLOBALS ********************************************************************/ -UTILMAN_GLOBALS Globals; REGISTRY_DATA RegData; REGISTRY_SETTINGS Settings;
4 years
1
0
0
0
← Newer
1
2
3
4
5
6
7
...
14
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Results per page:
10
25
50
100
200