Commit graph

1213 commits

Author SHA1 Message Date
Katayama Hirofumi MZ d9b2edcc59 [MSPAINT] Add const to SelectionModel::SetSrcAndDestRectFromPoints parameters 2019-12-24 13:08:35 +09:00
Katayama Hirofumi MZ cf64f121f2 [MSPAINT] Refactor updateCanvasAndScrollbars 2019-12-24 04:30:25 +09:00
Katayama Hirofumi MZ a32212d96a [MSPAINT] Simplify choosecolor initialization 2019-12-24 04:18:40 +09:00
Katayama Hirofumi MZ 3a8c25d7f3 [MSPAINT] Simplify lfTextFont initialization 2019-12-24 04:17:02 +09:00
Katayama Hirofumi MZ 2acc689c58 [MSPAINT] Use hProgInstance for LoadImage 2019-12-24 04:13:43 +09:00
Katayama Hirofumi MZ 9879776950 [MSPAINT] Use correct type for custColors 2019-12-24 04:11:33 +09:00
Amine Khaldi 3cfeed64b1 [REG] Sync with Wine Staging 4.18. CORE-16441 2019-12-23 00:58:26 +01:00
Amine Khaldi e87b3957e4 [CSCRIPT][WSCRIPT] Sync with Wine Staging 4.18. CORE-16441 2019-12-23 00:58:01 +01:00
Eric Kohl 6c7878f35e [DNSAPI][DNSRSLVR] Implement DnsGetCacheDataTable() 2019-12-22 11:21:04 +01:00
Eric Kohl 6499cf9e1a [DNSRSLVR] Set proper flags for the hosts file entries 2019-12-21 22:12:55 +01:00
Eric Kohl 7908e2e41f [NETAPI32][WKSSVC] Implement NetGetJoinInformation using the workstation service 2019-12-15 19:53:23 +01:00
Hermès Bélusca-Maïto bfd8a84865
[BLUE] Improve initialization and interfacing with INBV.
CORE-15901

This fixes display reset transition when an external module acquired
INBV ownership and then released it, similarly to what was done in
commit 0ad65796 for VIDEOPRT.

For this a backup screenbuffer is used to store the contents of the
screen just before an INBV screen acquire transition, and these contents
are restored when it is detected that INBV ownership has been released.
Also, the active text font associated with the active console code-page
is restored, as well as the cursor state and shape.

In addition, any user of BLUE.SYS is now required to explicitly issue
a new IOCTL_CONSOLE_RESET_SCREEN to either enable or disable the screen.
This allows avoiding nasty unwanted screen mode switches when a handle
to the \Device\BlueScreen device is opened but no screen mode switch was
actually wanted - This "fixes" this annoyance on ReactOS and Windows,
when these are running witha VGA-compatible video driver and one wants
to look at properties of the \Device\BlueScreen device using
Sysinternals' WinObj.

Following this, we don't need to check anymore for explicit INBV
ownership by issuing calls to InbvCheckDisplayOwnership(), but instead
we check whether the screen has beeen manually enabled using the
aforementioned IOCTL. This partly supersedes commit 8b553a4b, and allows
fixing the second bug, namely that if we start ReactOS without the
/NOGUIBOOT option (and thus, INBV is active during boot), USETUP would
not show up anything because BLUE.SYS wouldn't display anything on screen.
See CORE-15901.

[USETUP][CONSRV] Call IOCTL_CONSOLE_RESET_SCREEN to tell BlueScreen device to enable the screen.
2019-12-15 03:37:52 +01:00
Bișoc George 14ebc0ba3d [OSK] Refactor the registry configuration code (#2096)
Rewrite LoadDataFromRegistry() and SaveDataToRegistry() as function helpers. With these, we'll be able to load and save data to registry on our choice.
2019-12-12 08:25:55 +09:00
Serge Gautherie 99f8ccdc7f [SETUPLIB] Fix 'MAX_USHORT' typo in a comment (#2144) 2019-12-10 13:16:46 +01:00
Serge Gautherie f6ad093801 [CMD] Fix 'MAX_ULONG' typo in a comment (#2143) 2019-12-10 13:16:26 +01:00
Tibor Lajos Füzi 74ec76df08 [TRANSLATION] Fix hungarian translation for usetup & syssetup to use formal addressing / conjugation (#2138) 2019-12-09 02:09:31 +01:00
Eric Kohl 989ee70d9d [WKSSVC] Implement parts of NetrJoinDomain2 to join a work group
NOTE: We can not connect to a work group yet!
2019-12-08 19:19:27 +01:00
Hermès Bélusca-Maïto 40db385716
[WINLOGON] Start the screensaver on the user desktop, since support for secure screensaver desktop is not completely implemented in Winlogon. CORE-16548 2019-12-08 02:27:21 +01:00
Katayama Hirofumi MZ 4c5b21f06c
[REGEDIT] Improve arrow button visual (#2133)
Add IDI_ARROW resource icon and use it for the arrow button.
2019-12-07 10:09:44 +09:00
Eric Kohl c35ebdfeb6 [DNSRSLVR] Add support for IP6 hosts file entries 2019-12-01 17:18:47 +01:00
Katayama Hirofumi MZ 6bf099a662 [ATTRIB] Delete unused variable 'szText' 2019-11-29 20:08:46 +09:00
Katayama Hirofumi MZ 189f648584
[CMDUTILS][ATTRIB] Support folder attributes (#2103)
CORE-16538
2019-11-29 20:03:19 +09:00
Serge Gautherie 3d84e25ac0 [CHARMAP] LoadSettings(): Properly use RegQueryValueEx() 2019-11-29 10:45:02 +03:00
Serge Gautherie 1fa2780796 [NETSTAT] Fix output formats and more (#1709)
* [NETSTAT] Restore expected output formats

"Revert" parts of bd3c852012.

CORE-16119

* [NETSTAT] Improve default and ICMPv4 output formats

* [NETSTAT] Fix a few typos, in output strings

* [NETSTAT] Output usage to StdErr

* [NETSTAT] Be more explicit about unimplemented -b/-t/-v options
2019-11-29 08:26:19 +01:00
Mas4hmad 9d1ce7c35c [TRANSLATION] Update Indonesian translation (#2037)
Update Indonesian translation for AVIFILE, CLIPBRD and USERENV.
2019-11-27 01:40:51 +01:00
Serge Gautherie 3bc93e9353 [MMC] DoSaveFileAs(): Respect szPath size (#2068)
CORE-11688
2019-11-27 07:24:51 +09:00
Eric Kohl 630f34a0d0 [DNSAPI][DNSRSLVR] Parse the hosts file when the resolver is initializing
- Move the hosts file handling from dnsapi.dll to the resolver service. Now, the hosts file is no longer parsed on each query.
- Add support for DNS_QUERY_WIRE_ONLY and DNS_QUERY_NO_WIRE_QUERY flags to R_ResolverQuery.
- GetCurrentTimeInSeconds() should return DWORD instead of DNS_STATUS.
2019-11-23 17:13:51 +01:00
Katayama Hirofumi MZ 34947add79 Revert [NOTEPAD] Add SBS_SIZEGRIP to status bar CORE-16528 2019-11-22 10:53:26 +09:00
Katayama Hirofumi MZ 1f2d4a78a1 [NOTEPAD] Add SBS_SIZEGRIP to status bar CORE-16528 2019-11-22 09:26:01 +09:00
Serge Gautherie 0f92924a99 [REACTOS] Use explicit StringCb*W() (#2069) 2019-11-21 00:47:06 +01:00
Serge Gautherie f3af9cfcf1 [NOTEPAD] StringCbPrintf() need sizeof(), not ARRAY_SIZE() (#2067) 2019-11-20 18:42:04 +01:00
Bișoc George 48d81f845d [OSK] Validate the registry value data on query (#2050)
Ensure that the value data we query on loading the registry configuration settings matches with its data size
2019-11-18 21:25:51 +01:00
Bișoc George 411a599610 [OSK] Reduce the delay when redrawing LED keyboard resources (#1385)
200 ms would mean that the LEDs redraw each 0,2 second and this adds a slight delay. This can be seen if you press the Num lock key (for example) many times in a row and the LED resources won't update instantly. Therefore reducing the value of uElapse should significantly decrease the delay and the LEDs should update in a realistic way. Furthermore, before invalidating the LED resource check the toggle state of the keys.
2019-11-18 21:24:45 +01:00
Eric Kohl 50605143f6 [IPCONFIG] Display missing record types and record names 2019-11-17 13:24:25 +01:00
Katayama Hirofumi MZ fa9145d305 [RAPPS] Improve Japanese translation 2019-11-17 19:46:56 +09:00
Katayama Hirofumi MZ 120457665c [NOTEPAD] Improve Japanese translation 2019-11-17 19:34:44 +09:00
Eric Kohl e196149b71 [IPCONFIG] Display non-zero type records only and improve error messages 2019-11-16 20:29:44 +01:00
Katayama Hirofumi MZ 1b7732093c
[CMD] Unquote string at pushd (#2031)
pushd command of cmd.exe didn't treat the quoted parameter correctly.
- Call StripQuotes in SetRootPath function.
- Fix typo of FEATURE_DIRECTORY_STACK.
This PR will enable "Command Prompt" here. CORE-12150
2019-11-15 11:51:58 +09:00
Tibor Lajos Füzi a3398a8e80 [USETUP] Hungarian translation fix (#2026) 2019-11-10 23:36:51 +01:00
Eric Kohl e92ad7f309 [IDL][DNSRSLVR] Use the stdcall calling convention for remote functions 2019-11-10 17:16:17 +01:00
Thomas Faber 5d85d534e0
[SMSS] When determining page file size, keep more free disk space. CORE-6839
64 MB used to be enough to at least finish 2nd stage, but that does not
always seem to be the case anymore. Leaving this little free space does
not make for a good user experience either way.
256 MB is still not much, but at least provides slightly more usability.
2019-11-10 16:28:38 +01:00
Eric Kohl 305035be7d [DNSRSLVR][DNSAPI] Enable the DNS resolver cache
- Fix the IDL file to return DNS records properly
- Reroute the DNS query call path: DNSQuery->R_ResolverQuery->Query_Main

DNS records get cached and 'ipconfig /flushdns' works as expected.

CORE-12159
2019-11-10 15:28:42 +01:00
Eric Kohl 2a2dd8f726 [UMPNPMGR] Add checks for the root device instance ID 2019-11-09 21:14:52 +01:00
Eric Kohl 8bf3f3feb9 [UMPNPMGR] Validate device instance IDs before use 2019-11-09 18:48:10 +01:00
Eric Kohl a743e33bd8 [UMPNPMGR] Implement PNP_RequestEjectPC() 2019-11-09 12:32:34 +01:00
Katayama Hirofumi MZ 142d16c8a0
[NOTEPAD] Prioritize ASCII over UTF-8 (#2006)
CORE-16467
2019-11-01 04:41:48 +09:00
Carlo Bramini 1f80221ce5 [NETWORK] Add italian translation for NET command. (#2005) 2019-10-31 19:28:50 +01:00
Carlo Bramini 89ce773534 [CMDUTILS] Add italian translation for eventcreate. (#2004) 2019-10-30 22:05:02 +01:00
Oleg Dubinskiy 786f5286a2 [UTILMAN] Add Ukrainian translation (#1998) 2019-10-30 22:04:31 +01:00
Tibor Lajos Füzi dde7113cfc [USETUP] Hungarian translation (#2002) 2019-10-28 15:26:30 +01:00
Eric Kohl d49d7b3282 [DNSRSLVR] Add the DNS Resolver Cache Service
Patch written by Peter Hater and Christoph von Wittich.

Slightly modified by me in order to
- fix bit-rot
- fix header include issues
- disable integration with dnsapi because of confusing use of DnsQweryEx().

Integration with dnsapi will follow in a future commit.

CORE-12159
2019-10-27 13:48:04 +01:00
Serge Gautherie e133817811 [CMAKE] Use modules instead of shared libraries
Follow-up to 23373acbb9.
2 missed cases: apisets, lunar.msstyles.
4 new cases: w32time, netplwiz, msxml3r, mizu.msstyles.
2019-10-27 09:51:28 +01:00
Eric Kohl f63310b056 [IPCONFIG] Revert changes that were not meant to be published yet 2019-10-27 09:33:27 +01:00
Eric Kohl 789edebfac [IPCONFIG][DNSAPI][SDK] Renamed DNSCACHEENTRY and fixed its type field(s)
Now, 'ipconfig /displaydns' displays A- and AAAA-records correctly.
2019-10-27 08:35:03 +01:00
Carlo Bramini 03bef6fcbf [CMDUTILS] Add italian translation for mode command. (#1992) 2019-10-26 22:17:48 +02:00
Robert Naumann ffa8ff7574 [SETUP/LIB] Fix wrong if() logic. CID1441307 2019-10-23 17:23:05 +02:00
Eric Kohl b0d4763f2b [IPCONFIG] Implement the /flushdns option and most of the /displaydns option 2019-10-20 23:24:28 +02:00
Mark Jansen 8ea04e276d
[FONTVIEW] Add /d option 2019-10-19 18:42:15 +02:00
Eric Kohl 13bb5e2317 [umpnpmgr][ndk] Implement PNP_RequestDeviceEject() and update unknown type in PLUGPLAY_CONTROL_QUERY_REMOVE_DATA 2019-10-15 22:40:06 +02:00
Eric Kohl 3d9a702d2b [UMPNPMGR] Implement PNP_QueryRemove() 2019-10-13 15:49:13 +02:00
Brock Mammen 3fee5d0e1c [EXPLORER] Fix right-click menu for taskbar clock (#1944)
CORE-16397
2019-10-09 01:18:36 +02:00
Mas4hmad f84bd4f393 [TRANSLATION] Add/Update Indonesian translations (#1904)
Add/Update Indonesian translations for CHARMAP, CMDUTILS-HELP, SERVMAN, SETUPAPI, SHELL32, SUBST, SYSSETUP, TASKMGR, USERINIT.
2019-10-08 17:03:14 +02:00
Carlo Bramini 3377b901b2 [CMDUTILS] Add italian translation for 'comp' utility. (#1931) 2019-10-08 16:52:30 +02:00
Eric Kohl 6bf7a8edfb [SNDVOL32] Fix a typo in the bass and treble slider code 2019-09-24 23:28:17 +02:00
Oleg Dubinskiy d4f2e4a378 [UTILMAN] Add Russian translation (#1934)
+ Update Copyright translation and the hotkey shortcut for the Cancel button.
Co-Authored-By: Stanislav Motylkov <x86corez@gmail.com>
2019-09-24 17:35:30 +02:00
Thomas Faber 4328daa6e4
[LABEL] Fix MSVC build. 2019-09-22 16:19:07 +02:00
Eric Kohl 87ecf824c0 [LABEL] Prompt the user to confirm the deletion of a volume label 2019-09-22 15:31:19 +02:00
Eric Kohl 6bfe4f68af [LABEL][CMD] Convert the label command to a standalone executable
CORE-9444
2019-09-22 14:51:23 +02:00
Katayama Hirofumi MZ 92443b4444
[USETUP] Improve Japanese translation (#1918) 2019-09-21 23:07:07 +09:00
Eric Kohl 432854ee18 [ATTRIB][CMD] Convert the 'attrib' command into a standalone executable
CORE-9444
2019-09-21 11:41:15 +02:00
Adam Słaboń c81af08f51 [TRANSLATION] Polish translation update (#1916)
Added translation for netstat, utilman and netplwiz. Updated translation of find, reg, rapps, regedit, sndvol32, usetup, hivesys, mmsys, openglcfg, powercfg, sysdm, shellext, browseui, devmgr, msgina, netcfgx, shell32, syssetup, shortcuts and vcdcontroltool.
2019-09-20 21:51:47 +02:00
Joachim Henze b9a2eee2f3 [USERINIT] Limit expanded Combobox height for LiveCD
v6 comboboxes default to displaying up to 30entries and
give a bad user experience in LiveCD
where we usually have low vertical screen resolution.
Therefore limit the height of the expanded boxes to
bring us close to how they were drawn before 0.4.12-dev-882-g
e3e173ffaa

Adding CBS_NOINTEGRALHEIGHT gives similar result for both:
comctl32 v5 and v6 comboboxes.

Similar commit for bootcd CORE-16252
went into 0.4.13-dev-740-g
8b67edd8fa
2019-09-20 18:18:19 +02:00
Eric Kohl 5539ca8d7e [IPCONFIG] Improve the 'Autoconfiguration Enabled' information
- Show 'Autoconfiguration Enabled' only if DHCP is enabled for the adapter.
- Retrieve and display the autoconfiguration state.
2019-09-20 09:25:49 +02:00
Joachim Henze d2976ca58e [EXPLORER] Mitigate CORE-15760 'system menu may close unexpectedly'
Looks like a race condition of the async part of SetForegroundWindow().

KVM https://reactos.org/testman/compare.php?ids=69065,69069
VBOX https://reactos.org/testman/compare.php?ids=69064,69068

I intend to merge that back into 0.4.12RC as well.
2019-09-20 00:11:10 +02:00
Brock Mammen 4d097cf8b4 [EXPLORER] Open search from start menu 2019-09-15 19:46:36 +03:00
Timo Kreuzer 85616bc8b2 [SETUP] Add support for archtitcure specific inf sections and use it for x64 computer type 2019-09-08 10:42:16 +02:00
Doug Lyons 1a31d8222d
[FIND] Return from the utility the success value from the FindString() function in all cases.
CORE-16356

Therefore the ERRORLEVEL value will be correctly set in accordance on
return from the utility in cmd.exe, and conditional tests based on this
returned value will succeed as they should.
2019-08-31 18:48:12 +02:00
Eric Kohl 0625eb3746 [SERVICES][ADVAPI32] Support the security process aka lsass.exe
- Reserve the pipe NtControlPipe0 for the security process.
- Count regular service control pipes from 1.
- Use I_ScIsSecurityProcess to identify the security process.
- Services.exe uses the SECURITY_SERVICES_STARTED event to notify the security process that NtControlPipe0 is ready for use.
2019-08-31 17:24:47 +02:00
Shy Zedaka 162e43d927 [TRANSLATION][UTILMAN] Translations for UTILMAN and some other stuff (#1880) 2019-08-27 13:04:34 +02:00
Jose Carlos Jesus d5dca45e51 [WIN32SS][USER][EXPLORER] Add/Update portuguese translation (#1882) 2019-08-26 21:01:41 +02:00
Carlo Bramini 055c5a9bb7 [CALC] Enable support for HTMLHELP (#1877)
Nowadays ReactOS includes support for htmlhelp.h and a working implementation of HHCTRL.OCX. Although current imported HHCTRL.OCX suffers of this issue:

https://bugs.winehq.org/show_bug.cgi?id=47379
See also CORE-15019

+ Revert 'intptr_t' to 'size_t'.
2019-08-26 16:14:01 +02:00
Ioannis Adamopoulos e419195d37 [HEADERS] Move some helpers from undocshell.h to shellutils.h as they didn't cover anything undocumented. Merge traycmd.h in undocshell.h as both contain just undocumented shell definitions. 2019-08-25 12:20:52 +03:00
Katayama Hirofumi MZ bfea773ee5 [SETUPLIB][USETUP] Fix build about switch 2019-08-25 12:07:31 +09:00
Hermès Bélusca-Maïto 59acff79e5
[SETUPLIB][USETUP] Slightly modify how and when the HW system partition is detected and used.
CORE-16274

SETUPLIB:
=========

- Find the system partition initially when we create the list of
  partitions.

- Split the old CheckActiveSystemPartition() helper in two helpers:
  FindSupportedSystemPartition() and SetActivePartition(). This allows
  simplifying slightly the former one, and allows the user, in an
  interactive situation, to decide whether the "supported system
  partition" found can actually be used or not.

- Remove the "OriginalSystemPartition" hack in the PARTLIST structure.
- Add a note regarding the SystemPartition member in PARTLIST.

USETUP:
=======

- Use the introduced helpers from above. If the "system" partition we
  are going to use, in case we install ReactOS on a fixed disk, is *NOT*
  the same as the original one (e.g. because it is detected to be not
  supported by ReactOS...), display an informative screen to the user
  and let him confirm whether or not he wants to change the partition.

If we install on a fixed disk, try to find a supported system partition
on the system. Otherwise if we install on a removable disk, use the
install partition as the system partition instead.

This allows providing a fix for CORE-16274.
2019-08-25 02:38:53 +02:00
Hermès Bélusca-Maïto 626c654a10
[SETUPLIB][USETUP] Code simplifications & fixes.
SETUPLIB:
=========

- Remove useless HiddenSectors member in PARTENTRY structure.
- InsertDiskRegion() helper returns a BOOLEAN success.
- CreateInsertBlankRegion() helper sets LogicalPartition.

- Simplify the InitializePartitionEntry() helper so that its PartEntry
  parameter is clearly the one that is being initialized (i.e. converted
  from a blank region to) an actual partition, and use the helper
  CreateInsertBlankRegion(). The calculations for the StartSector and
  SectorCount are exactly equivalent with the old version of this
  function. Also make it return a BOOLEAN success instead.
  + Add some extra validation checks.
  + Adjust CreatePrimaryPartition(), CreateExtendedPartition() and
    CreateLogicalPartition() in this regard.

- Better handling of "RAW"-mounted partitions: treat them as
  "Unformatted" only if they are RAW *AND* their PartitionType is one of
  those associated with FAT file-system. Otherwise we cannot decide
  whether they are indeed unformatted or have an unknown file-system on
  them, therefore treat them as the latter.
  In this regard, the IsSupportedActivePartition() helper should not
  look for FileSystem == RAW but instead only look whether the partition
  is Unformatted.

  This should help with situations similar to the one described in CORE-16274
  where a partition with a genuine file-system but not recognized by
  ReactOS (because we currently do not have the EXT2/3/4 filesystem
  driver loaded during 1st-stage setup due to commit 5a650f6b) and
  therefore mounted as RAW, was thought to be unformatted.

USETUP:
=======
- Use the "global" SystemPartition pointer: this is the "system"
  partition we will actually use. It can be different from the actual
  one of the computer, for example when we install ReactOS on a
  removable disk. This allows also to simplify the code.

- Remove the single-used DestinationDriveLetter variable.

- Remove BuildInstallPaths() helper and use InitDestinationPaths()
  directly instead.

- Always mention the disk where the partition being formatted is.
- Cleanup old code comments, add assertions here & there...
2019-08-25 02:38:52 +02:00
Mark Jansen 69cd1ebbbd
[TIMEOUT] Use Int32x32To64 instead of __emul 2019-08-20 22:31:55 +02:00
Mark Jansen cda2bc50eb
[RAPPS] Remove unused function definitions 2019-08-20 01:41:40 +02:00
Giannis Adamopoulos 1e201d7057
[RAPPS] CDownloadManager: Get rid of the implementation of IBindStatusCallback as we stopped using URLDownloadToFileW a decade ago 2019-08-20 00:43:49 +02:00
Giannis Adamopoulos db8f1d6f6a
[RAPPS] CDownloadManager: simplify canceling 2019-08-20 00:43:48 +02:00
Giannis Adamopoulos 6803490a4d
[RAPPS] factor CDownloaderProgress class out of CDownloadManager and CDownloadDialog 2019-08-20 00:43:48 +02:00
Giannis Adamopoulos 96fba571e0
[RAPPS] CDowloadingAppsListView: The download dialog doesn't use the layout engine so there is no need for it to be a CUiWindow 2019-08-20 00:43:48 +02:00
Giannis Adamopoulos 653894b972
[RAPPS] CMainWindow: use more atl 2019-08-20 00:43:48 +02:00
Giannis Adamopoulos 872289446d
[RAPPS] CMainWindow: remove unused functions , and the globals g_MainWindow and hListView 2019-08-20 00:43:48 +02:00
Giannis Adamopoulos 69bd96e09f
[RAPPS] CMainWindow: Make SelectedEnumType a member 2019-08-20 00:43:47 +02:00
Giannis Adamopoulos 8a401eb299
[RAPPS] CMainWindow: Move gui part of UninstallApplication in it 2019-08-20 00:43:47 +02:00
Giannis Adamopoulos 85d6055201
[RAPPS] CMainWindow: make szSearchPattern a member 2019-08-20 00:43:47 +02:00
Giannis Adamopoulos ba80f057c5
[RAPPS] CMainWindow: move RemoveAppFromRegistry in it 2019-08-20 00:43:47 +02:00
Giannis Adamopoulos 700f54c37b
[RAPPS] CMainWindow: Make EnumInstalledAppProc and EnumAvailableAppProc methods 2019-08-20 00:43:46 +02:00
Giannis Adamopoulos d8b773b190
[RAPPS] CAppRichEdit: Add a new class that handles filling the richtext control 2019-08-20 00:43:46 +02:00
Giannis Adamopoulos 1807dbfd6d
[RAPPS] Don't use CDownloadManager outside loaddlg.cpp 2019-08-20 00:43:46 +02:00