headers: Regenerate with recent widl.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-headers/include/msopc.h b/mingw-w64-headers/include/msopc.h
index 2e036d6..ece3a09 100644
--- a/mingw-w64-headers/include/msopc.h
+++ b/mingw-w64-headers/include/msopc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 4.12.1 from include/msopc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/msopc.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -1064,6 +1064,8 @@
#define OPC_E_ZIP_FILE_HEADER_TOO_LARGE MAKE_HRESULT(1, FACILITY_OPC, 0x100e)
#define OPC_E_ZIP_MISSING_END_OF_CENTRAL_DIRECTORY MAKE_HRESULT(1, FACILITY_OPC, 0x100f)
#define OPC_E_ZIP_REQUIRES_64_BIT MAKE_HRESULT(1, FACILITY_OPC, 0x1010)
+#ifndef __MSOPC_LIBRARY_DEFINED__
+#define __MSOPC_LIBRARY_DEFINED__
DEFINE_GUID(LIBID_MSOPC, 0x3d8d6062, 0x2749, 0x442b, 0x9e,0x32, 0xe4,0x0e,0xf8,0x01,0xa7,0x66);
@@ -1307,33 +1309,33 @@
#endif /* __cplusplus */
#endif
-typedef enum __WIDL_msopc_generated_name_00000016 {
+typedef enum __WIDL_msopc_generated_name_00000025 {
OPC_CANONICALIZATION_NONE = 0,
OPC_CANONICALIZATION_C14N = 1,
OPC_CANONICALIZATION_C14N_WITH_COMMENTS = 2
} OPC_CANONICALIZATION_METHOD;
-typedef enum __WIDL_msopc_generated_name_00000017 {
+typedef enum __WIDL_msopc_generated_name_00000026 {
OPC_CERTIFICATE_IN_CERTIFICATE_PART = 0,
OPC_CERTIFICATE_IN_SIGNATURE_PART = 1,
OPC_CERTIFICATE_NOT_EMBEDDED = 2
} OPC_CERTIFICATE_EMBEDDING_OPTION;
-typedef enum __WIDL_msopc_generated_name_00000018 {
+typedef enum __WIDL_msopc_generated_name_00000027 {
OPC_COMPRESSION_NONE = -1,
OPC_COMPRESSION_NORMAL = 0,
OPC_COMPRESSION_MAXIMUM = 1,
OPC_COMPRESSION_FAST = 2,
OPC_COMPRESSION_SUPERFAST = 3
} OPC_COMPRESSION_OPTIONS;
-typedef enum __WIDL_msopc_generated_name_00000019 {
+typedef enum __WIDL_msopc_generated_name_00000028 {
OPC_READ_DEFAULT = 0x0,
OPC_VALIDATE_ON_LOAD = 0x1,
OPC_CACHE_ON_ACCESS = 0x2
} OPC_READ_FLAGS;
-typedef enum __WIDL_msopc_generated_name_0000001A {
+typedef enum __WIDL_msopc_generated_name_00000029 {
OPC_RELATIONSHIP_SELECT_BY_ID = 0,
OPC_RELATIONSHIP_SELECT_BY_TYPE = 1
} OPC_RELATIONSHIP_SELECTOR;
-typedef enum __WIDL_msopc_generated_name_0000001B {
+typedef enum __WIDL_msopc_generated_name_0000002A {
OPC_RELATIONSHIP_SIGN_USING_SELECTORS = 0,
OPC_RELATIONSHIP_SIGN_PART = 1
} OPC_RELATIONSHIPS_SIGNING_OPTION;
@@ -1341,7 +1343,7 @@
OPC_SIGNATURE_VALID = 0,
OPC_SIGNATURE_INVALID = -1
} OPC_SIGNATURE_VALIDATION_RESULT;
-typedef enum __WIDL_msopc_generated_name_0000001C {
+typedef enum __WIDL_msopc_generated_name_0000002B {
OPC_SIGNATURE_TIME_FORMAT_MILLISECONDS = 0,
OPC_SIGNATURE_TIME_FORMAT_SECONDS = 1,
OPC_SIGNATURE_TIME_FORMAT_MINUTES = 2,
@@ -1349,15 +1351,15 @@
OPC_SIGNATURE_TIME_FORMAT_MONTHS = 4,
OPC_SIGNATURE_TIME_FORMAT_YEARS = 5
} OPC_SIGNATURE_TIME_FORMAT;
-typedef enum __WIDL_msopc_generated_name_0000001D {
+typedef enum __WIDL_msopc_generated_name_0000002C {
OPC_STREAM_IO_READ = 1,
OPC_STREAM_IO_WRITE = 2
} OPC_STREAM_IO_MODE;
-typedef enum __WIDL_msopc_generated_name_0000001E {
+typedef enum __WIDL_msopc_generated_name_0000002D {
OPC_URI_TARGET_MODE_INTERNAL = 0,
OPC_URI_TARGET_MODE_EXTERNAL = 1
} OPC_URI_TARGET_MODE;
-typedef enum __WIDL_msopc_generated_name_0000001F {
+typedef enum __WIDL_msopc_generated_name_0000002E {
OPC_WRITE_DEFAULT = 0x0,
OPC_WRITE_FORCE_ZIP32 = 0x1
} OPC_WRITE_FLAGS;
@@ -5004,6 +5006,7 @@
#endif
#endif
+#endif /* __MSOPC_LIBRARY_DEFINED__ */
#endif
#endif
/* Begin additional prototypes for all interfaces */
diff --git a/mingw-w64-headers/include/wsdbase.h b/mingw-w64-headers/include/wsdbase.h
index fffad46..a342355 100644
--- a/mingw-w64-headers/include/wsdbase.h
+++ b/mingw-w64-headers/include/wsdbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 4.12.1 from include/wsdbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/wsdbase.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -161,7 +161,7 @@
#if WINVER >= 0x601
-typedef enum __WIDL_wsdbase_generated_name_00000005 {
+typedef enum __WIDL_wsdbase_generated_name_00000013 {
WSD_CONFIG_MAX_INBOUND_MESSAGE_SIZE = 1,
WSD_CONFIG_MAX_OUTBOUND_MESSAGE_SIZE = 2,
WSD_SECURITY_SSL_CERT_FOR_CLIENT_AUTH = 3,
diff --git a/mingw-w64-headers/include/xpsdigitalsignature.h b/mingw-w64-headers/include/xpsdigitalsignature.h
index 4a2b133..d51bbae 100644
--- a/mingw-w64-headers/include/xpsdigitalsignature.h
+++ b/mingw-w64-headers/include/xpsdigitalsignature.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 4.12.1 from include/xpsdigitalsignature.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/xpsdigitalsignature.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -112,6 +112,8 @@
#define XPS_E_MARKUP_COMPATIBILITY_ELEMENTS MAKE_HRESULT(1, FACILITY_XPS, 905)
#define XPS_E_OBJECT_DETACHED MAKE_HRESULT(1, FACILITY_XPS, 906)
#define XPS_E_INVALID_SIGNATUREBLOCK_MARKUP MAKE_HRESULT(1, FACILITY_XPS, 907)
+#ifndef __MSXPSSIG_LIBRARY_DEFINED__
+#define __MSXPSSIG_LIBRARY_DEFINED__
DEFINE_GUID(LIBID_MSXPSSIG, 0x8223a7eb, 0xc4d5, 0x474d, 0x9b,0xcc, 0xff,0x67,0x18,0x5e,0x64,0xa0);
@@ -171,11 +173,11 @@
#endif /* __cplusplus */
#endif
-typedef enum __WIDL_xpsdigitalsignature_generated_name_00000020 {
+typedef enum __WIDL_xpsdigitalsignature_generated_name_0000002F {
XPS_SIGN_FLAGS_NONE = 0x0,
XPS_SIGN_FLAGS_IGNORE_MARKUP_COMPATIBILITY = 0x1
} XPS_SIGN_FLAGS;
-typedef enum __WIDL_xpsdigitalsignature_generated_name_00000021 {
+typedef enum __WIDL_xpsdigitalsignature_generated_name_00000030 {
XPS_SIGN_POLICY_NONE = 0x0,
XPS_SIGN_POLICY_CORE_PROPERTIES = 0x1,
XPS_SIGN_POLICY_SIGNATURE_RELATIONSHIPS = 0x2,
@@ -183,7 +185,7 @@
XPS_SIGN_POLICY_DISCARD_CONTROL = 0x8,
XPS_SIGN_POLICY_ALL = 0xf
} XPS_SIGN_POLICY;
-typedef enum __WIDL_xpsdigitalsignature_generated_name_00000022 {
+typedef enum __WIDL_xpsdigitalsignature_generated_name_00000031 {
XPS_SIGNATURE_STATUS_INCOMPLIANT = 1,
XPS_SIGNATURE_STATUS_INCOMPLETE = 2,
XPS_SIGNATURE_STATUS_BROKEN = 3,
@@ -1497,6 +1499,7 @@
#endif
#endif
+#endif /* __MSXPSSIG_LIBRARY_DEFINED__ */
#endif
#endif
/* Begin additional prototypes for all interfaces */
diff --git a/mingw-w64-headers/include/xpsobjectmodel.h b/mingw-w64-headers/include/xpsobjectmodel.h
index 663c400..111254a 100644
--- a/mingw-w64-headers/include/xpsobjectmodel.h
+++ b/mingw-w64-headers/include/xpsobjectmodel.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 4.12.1 from include/xpsobjectmodel.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/xpsobjectmodel.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -951,54 +951,54 @@
#endif /* __cplusplus */
#endif
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000020 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_0000002F {
XPS_COLOR_INTERPOLATION_SCRGBLINEAR = 1,
XPS_COLOR_INTERPOLATION_SRGBLINEAR = 2
} XPS_COLOR_INTERPOLATION;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000021 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000030 {
XPS_COLOR_TYPE_SRGB = 1,
XPS_COLOR_TYPE_SCRGB = 2,
XPS_COLOR_TYPE_CONTEXT = 3
} XPS_COLOR_TYPE;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000022 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000031 {
XPS_DASH_CAP_FLAT = 1,
XPS_DASH_CAP_ROUND = 2,
XPS_DASH_CAP_SQUARE = 3,
XPS_DASH_CAP_TRIANGLE = 4
} XPS_DASH_CAP;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000023 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000032 {
XPS_FILL_RULE_EVENODD = 1,
XPS_FILL_RULE_NONZERO = 2
} XPS_FILL_RULE;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000024 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000033 {
XPS_FONT_EMBEDDING_NORMAL = 1,
XPS_FONT_EMBEDDING_OBFUSCATED = 2,
XPS_FONT_EMBEDDING_RESTRICTED = 3,
XPS_FONT_EMBEDDING_RESTRICTED_UNOBFUSCATED = 4
} XPS_FONT_EMBEDDING;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000025 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000034 {
XPS_IMAGE_TYPE_JPEG = 1,
XPS_IMAGE_TYPE_PNG = 2,
XPS_IMAGE_TYPE_TIFF = 3,
XPS_IMAGE_TYPE_WDP = 4,
XPS_IMAGE_TYPE_JXR = 5
} XPS_IMAGE_TYPE;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000026 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000035 {
XPS_INTERLEAVING_OFF = 1,
XPS_INTERLEAVING_ON = 2
} XPS_INTERLEAVING;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000027 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000036 {
XPS_LINE_CAP_FLAT = 1,
XPS_LINE_CAP_ROUND = 2,
XPS_LINE_CAP_SQUARE = 3,
XPS_LINE_CAP_TRIANGLE = 4
} XPS_LINE_CAP;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000028 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000037 {
XPS_LINE_JOIN_MITER = 1,
XPS_LINE_JOIN_BEVEL = 2,
XPS_LINE_JOIN_ROUND = 3
} XPS_LINE_JOIN;
-typedef enum __WIDL_xpsobjectmodel_generated_name_00000029 {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000038 {
XPS_OBJECT_TYPE_CANVAS = 1,
XPS_OBJECT_TYPE_GLYPHS = 2,
XPS_OBJECT_TYPE_PATH = 3,
@@ -1010,12 +1010,12 @@
XPS_OBJECT_TYPE_RADIAL_GRADIENT_BRUSH = 9,
XPS_OBJECT_TYPE_VISUAL_BRUSH = 10
} XPS_OBJECT_TYPE;
-typedef enum __WIDL_xpsobjectmodel_generated_name_0000002A {
+typedef enum __WIDL_xpsobjectmodel_generated_name_00000039 {
XPS_SEGMENT_STROKE_PATTERN_ALL = 1,
XPS_SEGMENT_STROKE_PATTERN_NONE = 2,
XPS_SEGMENT_STROKE_PATTERN_MIXED = 3
} XPS_SEGMENT_STROKE_PATTERN;
-typedef enum __WIDL_xpsobjectmodel_generated_name_0000002B {
+typedef enum __WIDL_xpsobjectmodel_generated_name_0000003A {
XPS_SEGMENT_TYPE_ARC_LARGE_CLOCKWISE = 1,
XPS_SEGMENT_TYPE_ARC_LARGE_COUNTERCLOCKWISE = 2,
XPS_SEGMENT_TYPE_ARC_SMALL_CLOCKWISE = 3,
@@ -1024,33 +1024,33 @@
XPS_SEGMENT_TYPE_LINE = 6,
XPS_SEGMENT_TYPE_QUADRATIC_BEZIER = 7
} XPS_SEGMENT_TYPE;
-typedef enum __WIDL_xpsobjectmodel_generated_name_0000002C {
+typedef enum __WIDL_xpsobjectmodel_generated_name_0000003B {
XPS_SPREAD_METHOD_PAD = 1,
XPS_SPREAD_METHOD_REFLECT = 2,
XPS_SPREAD_METHOD_REPEAT = 3
} XPS_SPREAD_METHOD;
-typedef enum __WIDL_xpsobjectmodel_generated_name_0000002D {
+typedef enum __WIDL_xpsobjectmodel_generated_name_0000003C {
XPS_STYLE_SIMULATION_NONE = 1,
XPS_STYLE_SIMULATION_ITALIC = 2,
XPS_STYLE_SIMULATION_BOLD = 3,
XPS_STYLE_SIMULATION_BOLDITALIC = 4
} XPS_STYLE_SIMULATION;
-typedef enum __WIDL_xpsobjectmodel_generated_name_0000002E {
+typedef enum __WIDL_xpsobjectmodel_generated_name_0000003D {
XPS_THUMBNAIL_SIZE_VERYSMALL = 1,
XPS_THUMBNAIL_SIZE_SMALL = 2,
XPS_THUMBNAIL_SIZE_MEDIUM = 3,
XPS_THUMBNAIL_SIZE_LARGE = 4
} XPS_THUMBNAIL_SIZE;
-typedef enum __WIDL_xpsobjectmodel_generated_name_0000002F {
+typedef enum __WIDL_xpsobjectmodel_generated_name_0000003E {
XPS_TILE_MODE_NONE = 1,
XPS_TILE_MODE_TILE = 2,
XPS_TILE_MODE_FLIPX = 3,
XPS_TILE_MODE_FLIPY = 4,
XPS_TILE_MODE_FLIPXY = 5
} XPS_TILE_MODE;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000030 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000040 {
XPS_COLOR_TYPE colorType;
- union {
+ union __WIDL_xpsobjectmodel_generated_name_0000003F {
struct {
UINT8 alpha;
UINT8 red;
@@ -1069,23 +1069,23 @@
} context;
} value;
} XPS_COLOR;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000031 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000041 {
FLOAT length;
FLOAT gap;
} XPS_DASH;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000032 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000042 {
LONG index;
FLOAT advanceWidth;
FLOAT horizontalOffset;
FLOAT verticalOffset;
} XPS_GLYPH_INDEX;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000033 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000043 {
UINT32 unicodeStringStart;
UINT16 unicodeStringLength;
UINT32 glyphIndicesStart;
UINT16 glyphIndicesLength;
} XPS_GLYPH_MAPPING;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000034 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000044 {
FLOAT m11;
FLOAT m12;
FLOAT m21;
@@ -1093,17 +1093,17 @@
FLOAT m31;
FLOAT m32;
} XPS_MATRIX;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000035 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000045 {
FLOAT x;
FLOAT y;
} XPS_POINT;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000036 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000046 {
FLOAT x;
FLOAT y;
FLOAT width;
FLOAT height;
} XPS_RECT;
-typedef struct __WIDL_xpsobjectmodel_generated_name_00000037 {
+typedef struct __WIDL_xpsobjectmodel_generated_name_00000047 {
FLOAT width;
FLOAT height;
} XPS_SIZE;
@@ -11618,6 +11618,8 @@
#endif /* __IXpsOMThumbnailGenerator_INTERFACE_DEFINED__ */
#endif
+#ifndef __MSXPS_LIBRARY_DEFINED__
+#define __MSXPS_LIBRARY_DEFINED__
DEFINE_GUID(LIBID_MSXPS, 0xb47491a0, 0xcf33, 0x4fe4, 0x9a,0x48, 0xb0,0xac,0xda,0xe2,0x07,0xe8);
@@ -11651,6 +11653,7 @@
#endif
#endif
+#endif /* __MSXPS_LIBRARY_DEFINED__ */
#endif
/* Begin additional prototypes for all interfaces */
diff --git a/mingw-w64-headers/include/xpsobjectmodel_1.h b/mingw-w64-headers/include/xpsobjectmodel_1.h
index b3370cd..f114e2a 100644
--- a/mingw-w64-headers/include/xpsobjectmodel_1.h
+++ b/mingw-w64-headers/include/xpsobjectmodel_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 4.12.1 from include/xpsobjectmodel_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/xpsobjectmodel_1.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -100,7 +100,7 @@
#endif /* __cplusplus */
#endif
-typedef enum __WIDL_xpsobjectmodel_1_generated_name_00000038 {
+typedef enum __WIDL_xpsobjectmodel_1_generated_name_00000048 {
XPS_DOCUMENT_TYPE_UNSPECIFIED = 1,
XPS_DOCUMENT_TYPE_XPS = 2,
XPS_DOCUMENT_TYPE_OPENXPS = 3
diff --git a/mingw-w64-headers/include/xpsprint.h b/mingw-w64-headers/include/xpsprint.h
index 119f36d..0a95513 100644
--- a/mingw-w64-headers/include/xpsprint.h
+++ b/mingw-w64-headers/include/xpsprint.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 4.12.1 from include/xpsprint.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/xpsprint.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -49,13 +49,13 @@
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if NTDDI_VERSION >= 0x06010000
-typedef enum __WIDL_xpsprint_generated_name_00000038 {
+typedef enum __WIDL_xpsprint_generated_name_00000048 {
XPS_JOB_IN_PROGRESS = 0,
XPS_JOB_COMPLETED = 1,
XPS_JOB_CANCELLED = 2,
XPS_JOB_FAILED = 3
} XPS_JOB_COMPLETION;
-typedef struct __WIDL_xpsprint_generated_name_00000039 {
+typedef struct __WIDL_xpsprint_generated_name_00000049 {
UINT32 jobId;
INT32 currentDocument;
INT32 currentPage;
diff --git a/mingw-w64-headers/include/xpsrassvc.h b/mingw-w64-headers/include/xpsrassvc.h
index ef89693..41b74fb 100644
--- a/mingw-w64-headers/include/xpsrassvc.h
+++ b/mingw-w64-headers/include/xpsrassvc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 4.12.1 from include/xpsrassvc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/xpsrassvc.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
@@ -95,12 +95,12 @@
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
-typedef enum __WIDL_xpsrassvc_generated_name_00000038 {
+typedef enum __WIDL_xpsrassvc_generated_name_00000048 {
XPSRAS_RENDERING_MODE_ANTIALIASED = 0,
XPSRAS_RENDERING_MODE_ALIASED = 1
} XPSRAS_RENDERING_MODE;
#if NTDDI_VERSION >= 0x06020000
-typedef enum __WIDL_xpsrassvc_generated_name_00000039 {
+typedef enum __WIDL_xpsrassvc_generated_name_00000049 {
XPSRAS_PIXEL_FORMAT_32BPP_PBGRA_UINT_SRGB = 1,
XPSRAS_PIXEL_FORMAT_64BPP_PRGBA_HALF_SCRGB = 2,
XPSRAS_PIXEL_FORMAT_128BPP_PRGBA_FLOAT_SCRGB = 3