Граф коммитов

866 Коммитов

Автор SHA1 Сообщение Дата
James Teh 76ad0164ca Bug 1736742 part 1: Add missing a11y COM interfaces to Appx Manifest. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D129949
2021-11-05 06:25:44 +00:00
Riya d78a071ec8 Bug 1737016 - Add AVIF as a supported file type in AppxManifest.xml. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D129546
2021-10-27 16:44:23 +00:00
Jon Bauman c090a3c7b8 Bug 1735898 - Register as an AVIF handler. r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D129064
2021-10-20 20:23:22 +00:00
Nick Alexander 4f5281d096 Bug 1728638 - Parameters to set MSIX `Package/Identity/{Name,Publisher}` and `Package/Properties/PublisherDisplayName`. r=bhearsum
This is just rearranging some deck chairs as we hammer out details in
our MSIX package publication pipeline.

Differential Revision: https://phabricator.services.mozilla.com/D124264
2021-09-21 18:28:11 +00:00
Nick Alexander a918f3956d Bug 1728472 - Part 2: Restrict advertised languages in MSIX to allow-list from Windows. r=bhearsum,flod
Windows MSIX packages support a finite set of locales: see
https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages.
This patch encodes that list in
browser/installer/windows/msix/msix-all-locales.  Two ad-hoc
modifications were necessary: removing 'sr*' (Serbian) and 'uz*'
(Uzbek) in order for the resulting MSIX packages to install.

We distribute all of the langpacks supported by the release channel in
our MSIX, which is encoded in browser/locales/all-locales.  But we
only advertise support in the App manifest for the intersection of
that set and the set of locales supported by Windows.

We do so to avoid the following issue.  Suppose a user manually
installs a langpack that is not supported by Windows, and then updates
the installed MSIX package.  MSIX package upgrades are essentially
paveover installs, so there is no opportunity for Firefox to update
the langpack before the update.  But, since all langpacks are bundled
with the MSIX, that langpack will be up-to-date, preventing one class
of YSOD.

Differential Revision: https://phabricator.services.mozilla.com/D126175
2021-09-21 18:28:11 +00:00
Nick Alexander 963a2addf7 Bug 1728472 - Part 1: Advertise supported languages in MSIX packages. r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D124263
2021-09-21 18:28:10 +00:00
Adam Gashlin 0b45d0cf52 Bug 1730290 - Replace $LocalAppData in NSIS. r=bytesized,mhowell
1. $LocalAppData behavior changes in NSIS 3.02, previously it always
used CSIDL_LOCAL_APPDATA but it now depends on context, work around
that by directly calling SHGetSpecialFolderPathW.

2. Refactor several other calls to SHGetSpecialFolderPathW for
CSIDL_COMMON_APPDATA and CSIDL_PROGRAMS.

3. Remove broken default path fallback to $APPDATA. I was in this
code for 1. and realized it hadn't worked properly in the full
installer since bug 367539, and it must have never worked in the stub.

4. Remove unused CleanUpdateDirectories and DeleteRelativeProfiles
macros rather than trying to fix them.

Differential Revision: https://phabricator.services.mozilla.com/D125490
2021-09-14 21:10:26 +00:00
Nick Alexander 7d7e4d990b Bug 1724885 - Fix broken icons; differentiate Beta. r=mhowell
When relanding Bug 1709697, all of the icons ended up as 0-byte files.
I can't explain this; it's hard to achieve this with a rebase.  We
regenerate `Resources.pri` following the instructions in the
documentation.

This commit also moves to represent the package as "Mozilla Firefox",
which is consistent with how unpackaged versions appear in the Windows
UI.  In the start menu, the application continues to be represented as
"Firefox" (no "Mozilla" vendor).

Finally, this commit also differentiates "Firefox Beta" from "Firefox"
in a few select places (while not changing branding and iconography).

Differential Revision: https://phabricator.services.mozilla.com/D122411
2021-08-12 16:18:32 +00:00
Nick Alexander b71169f3ce Bug 1724247 - Specify full publisher subject in MSIX repackages. r=bhearsum
Installing the Nightly MSIX packages, signed with Mozilla's Nightly
key, yields an error: "Error in parsing the app package."  Unpacking
with `makeappx.exe` yields:
```
MakeAppx : error: Error info: error 8007000B: The app manifest publisher name (CN=Mozilla Corporation) must match the subject name of the signing certificate (CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US).
```

Previously, we allowed just the `CN` to vary; in this patch we make
the publisher be the entire publisher subject, and we update the
publisher details in the task definitions.

Differential Revision: https://phabricator.services.mozilla.com/D121896
2021-08-05 17:21:50 +00:00
Nick Alexander 2bb2a2efa8 Bug 1722980 - Add in-tree source documentation for MSIX repackaging. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D121232
2021-08-05 02:58:16 +00:00
Nick Alexander 39a58b572b Bug 1709697 - Allow to repackage into MSIX. r=firefox-build-system-reviewers,mhowell,bhearsum,glandium
Differential Revision: https://phabricator.services.mozilla.com/D116180
2021-08-05 02:58:14 +00:00
Narcis Beleuzu 00e6b46d6a Backed out 9 changesets (bug 1724030, bug 1721864, bug 1722980, bug 1712164, bug 1720190, bug 1712328, bug 1709697) for Windows repack bustages. CLOSED TREE
Backed out changeset bc7dff1c6f2c (bug 1724030)
Backed out changeset 9520d11c1ff4 (bug 1722980)
Backed out changeset 5d9ef490612f (bug 1712328)
Backed out changeset aaec04ed5ecb (bug 1720190)
Backed out changeset 3c5fbac7cc7f (bug 1721864)
Backed out changeset 3c1bccc04fb8 (bug 1709697)
Backed out changeset 6293b6ed5695 (bug 1709697)
Backed out changeset d824b2347ffd (bug 1709697)
Backed out changeset 888359c1dcc5 (bug 1712164)
2021-08-05 04:35:18 +03:00
Nick Alexander 2ae4b88a20 Bug 1722980 - Add in-tree source documentation for MSIX repackaging. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D121232
2021-08-04 13:54:37 +00:00
Nick Alexander 2608f3e51f Bug 1709697 - Allow to repackage into MSIX. r=firefox-build-system-reviewers,mhowell,bhearsum,glandium
Differential Revision: https://phabricator.services.mozilla.com/D116180
2021-08-04 13:54:35 +00:00
Rob Lemley a82a4bf011 Bug 1670147 - Set values for AccessibleHandler.dll CLSID/IIDs at configure time. r=Jamie,firefox-build-system-reviewers,glandium
Allow for downstream projects such as Thunderbird to set different GUIDs for
AccessibleHandler to avoid clashes when both applications are installed.
The GUIDs themselves can be defined in confvars.sh or in branding/configure.sh
depending on the specific needs of the application. Fallback GUIDs are in
old-configure.

Differential Revision: https://phabricator.services.mozilla.com/D118124
2021-07-26 13:43:36 +00:00
Nick Alexander dfa9a29716 Bug 1713393 - Remove version number from `DisplayName` in Firefox uninstall data on Windows. r=agashlin
The goal is to make it easier for admins to have a generic way to
locate Firefox for uninstall, without needing to know the target
version to uninstall.  The version in the `DisplayName` is extraneous:
it's in the `DisplayVersion` field, and users can see it when you
click on it in "Add/Remove Programs".  Automated consumers may prefer
to read the `Comments` field of the Firefox uninstall data instead,
which remains identical to the `DisplayName` before this change.

Differential Revision: https://phabricator.services.mozilla.com/D116648
2021-06-04 22:03:42 +00:00
Kirk Steuber 9d3986274c Bug 1698593 - Uninstall the Background Update Task from the Firefox uninstaller r=agashlin
Differential Revision: https://phabricator.services.mozilla.com/D114667
2021-05-10 19:47:14 +00:00
Gabriele Svelto d99df7cdb4 Bug 1682511 - Add the WER module to the installer and record its path in the Windows registry r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D107637
2021-04-07 07:55:23 +00:00
Adam Gashlin 6b6c4da4b5 Bug 1696772 - Don't use FILE_FLAG_DELETE_ON_CLOSE for multi-instance locks. r=nalexander,application-update-reviewers.
FILE_FLAG_DELETE_ON_CLOSE had the wrong semantics, rendering the lock
file unusable after it had been closed once.

Delete the lock file in the uninstaller as a simple alternative (given that
the lock file is not in a temporary location on Windows).

For a test I returned to the older form of
test_backgroundtask_update_sync_manager which initially exposed the issue:
It expects the background task to be able to detect the xpcshell instance
after running resetLock, which failed before this fix.
I also extended the original updateSyncManager test to run the second
copy twice, which also catches the issue.

Differential Revision: https://phabricator.services.mozilla.com/D109565
2021-03-24 20:36:06 +00:00
Nick Alexander f47a4b6764 Bug 1691951 - Make Windows install not register "ftp" protocol handler. r=application-update-reviewers,bytesized
For all channels, this commit:

1. stops registering the ftp protocol handler at install time;
2. actively unregisters the ftp protocol handler at postupdate time;
3. stops unregistering the ftp protocol handler at uninstall time.

The rationale for 3) is that by the time a `helper.exe` with this
change is in place, the `postupdate` step has already run and
unregistered the ftp protocol handler.

Differential Revision: https://phabricator.services.mozilla.com/D104735
2021-02-22 17:52:24 +00:00
Mitchell Hentges 08b3a902ec Bug 1687980: Make Windows quickstart docs more concise r=mhoye,sylvestre,andi
* Puts the docs in order, so that contributors aren't jumping to the
  middle of the page to install system tools, then back to the top to
  clone Firefox.
* Removes docs on MacPorts since it's being removed in bug 1688263.
* Removes step to manually install brew packages since that happens
   automatically in bootstrap now.
* Simplifies mercurial installation docs
* Removes unnecessary mozconfig-tweaking instructions
* Removes almost-always-unnecessary DEFINE and troubleshooting
  information.

Differential Revision: https://phabricator.services.mozilla.com/D102974
2021-02-16 17:48:11 +00:00
Adam Gashlin b5323ade8d Bug 1660198 - Part 3: Document installation_telemetry.json. r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D103243
2021-01-30 00:06:28 +00:00
Adam Gashlin 66e827987a Bug 1660198 - Part 1: Write installation telemetry. r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D103241
2021-01-28 18:28:20 +00:00
Adam Gashlin f949e155a3 Bug 1681574: Remove the old update agent skeleton. r=nalexander
I'm keeping the --enable-update-agent config option and the corresponding
MOZ_UPDATE_AGENT config flag and define, as these should still be useful.

As we never shipped this there is no need to keep anything around to
clean up the scheduled tasks.

Differential Revision: https://phabricator.services.mozilla.com/D99574
2020-12-15 19:00:25 +00:00
Adam Gashlin ad6acb40ef Bug 1681207: Remove unwanted WDBA shortcut on post update and uninstall. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D99303
2020-12-10 04:28:36 +00:00
Masatoshi Kimura 8b9e5e401d Bug 1652412 - Do not set as deault .pdf, .svg, ftp:, and mailto: handlers on Windows 7. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D98580
2020-12-03 23:05:01 +00:00
Nick Alexander 4d456498df Bug 1639613 - Pre: Fix potential typo: lastUsed -> lastused. r=mhowell
It's not 100% clear that this has any effect -- it might be that the
string is case insensitive -- but in any case let's keep our source
code uniform.

Differential Revision: https://phabricator.services.mozilla.com/D94774
2020-10-26 20:45:30 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Adam Gashlin 310b37b21a Bug 1461690 Part 4: Submit ping in uninstaller. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D93718
2020-10-20 23:24:08 +00:00
Adam Gashlin b6096a99da Bug 1667726 - Clean up custom controls when leaving Welcome page. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D93706
2020-10-16 15:44:19 +00:00
Ricky Stewart 362abcf949 Bug 1670357 - Remove `make` targets for cleaning: `clean`, `realclean`, `clobber`, `distclean`, `clobber_all`, `everything` r=firefox-build-system-reviewers,mhentges
The `clobber` targets are superseded by `mach clobber`, so we don't need them for any reason. The `clean` target is meant to get you to a post-`configure` state, but it doesn't really work, and if it's necessary for you to be in that state for some reason you can just clobber and re-`configure`, so it doesn't seem worth it to get it working again. Instead, delete all of them. Also delete `everything` which is not useful when `clobber` doesn't exist.

Differential Revision: https://phabricator.services.mozilla.com/D93514
2020-10-15 20:37:18 +00:00
Sylvestre Ledru cad53f4804 Bug 1588458 - Replace dxr links by searchfox in the code/test r=kats,sparky
Differential Revision: https://phabricator.services.mozilla.com/D92792
2020-10-08 14:02:40 +00:00
Molly Howell 8eb91f6860 Bug 1665195 - Also delete the UpdateLogs directory from the Firefox uninstaller. r=agashlin
Differential Revision: https://phabricator.services.mozilla.com/D90317
2020-09-15 23:41:50 +00:00
Michael Kaply 31316102d3 Bug 1656556 - Switch to device context as default for Firefox MSI. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D89186
2020-09-02 18:58:49 +00:00
Kirk Steuber b641fbf577 Bug 1658711 - Ensure that the PostUpdate task is called reliably r=mhowell
The PostUpdate task must always be called as the unelevated user, even if we didn't use the service, in order to ensure that we register the WDBA. Additionally, the PostUpdate task should always be run synchronously so that the elevated and unelevated PostUpdate tasks are guaranteed to run in order. This is important since the elevated PostUpdate unregisters the task and the unelevated PostUpdate re-registers it.

Differential Revision: https://phabricator.services.mozilla.com/D87509
2020-08-18 22:40:28 +00:00
Molly Howell 272f16a911 Bug 1654913 - Remove Maintenance Service UpdateLogs directory during uninstall. r=agashlin
Since bug 1510494, when the maintenance service is used, we create update log
and status files inside the service directory and then move them into the
regular update directory when finished. However, the directory those temp
files are stored in did not get added to the uninstallers, so it doesn't
get removed as it should.

This patch has two parts. First, the Firefox uninstaller now removes any log
files created for the installation it's uninstalling (there is only one
directory and the files for different installation are differentiated by name).
Second, the maintenace service uninstaller, when it gets run by the uninstaller
for the last copy of Firefox on the system, removes the UpdateLogs directory
itself, provided it is empty, which is should be at that point since all
installations have been removed and have cleaned up their own files.

Differential Revision: https://phabricator.services.mozilla.com/D85074
2020-07-29 23:35:48 +00:00
Sarah Bird d1626da38c Bug 1647501 - Rename "test slave" -> "test machine", r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D81908
2020-07-02 01:06:01 +00:00
Adam Gashlin 553b19d004 Bug 1598111 - Document install pings more completely. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D80307
2020-06-25 00:53:33 +00:00
Adam Gashlin e38a47a505 Bug 1633505 - Show refresh button within the uninstaller. r=mhowell
Detect a profile for the installation, if found offer refresh on welcome page:
- Replace text
- Add help link and button

Add a different prompt to close the browser for refresh.

When leaving the welcome page:
- via help link, launch a URL
- via Refresh button, launch Firefox with the necessary args

Add utility functions to launch the link and Firefox.

Remove the UN_CONFIRM_CLICK label and hide the subheading, this was an
addition to the design. Move down UN_CONFIRM_PAGE_TITLE to fill in the space.

Move the check for the install-specific profile to common.nsh from stub.nsi,
wrapped in stack ops to save regs and with _MOZFUNC_UN for uninstaller compat.

Move InitHashAppModelId to just after un.UninstallUnOnInitCommon (which sets
$INSTDIR correctly), so AUMID would be available in un.PreWelcome. I don't
think there's anything else that would change $INSTDIR in the uninstaller
so this should be ok.

Unrelated but adjacent cleanup: Remove inappropriate use of _MOZFUNC_UN
in CopyPostSigningData.

Differential Revision: https://phabricator.services.mozilla.com/D76435
2020-05-26 21:47:58 +00:00
Molly Howell d2fa14f4ef Bug 1638509 - Enable the limited PostUpdate to update the WDBA task. r=agashlin,bytesized
This also requires removing the registry value cleanup from the unregister-task
command and adding a new uninstall command which removes both the task and the
registry values, because this patch now runs unregister-task during updates to
remove the task before re-adding it, and that needs to leave the registry alone.

Differential Revision: https://phabricator.services.mozilla.com/D76354
2020-05-26 15:38:21 +00:00
Nick Alexander d83432b0af Bug 1629636 - Make Windows install not register "ftp" protocol handler for NIGHTLY_BUILD. r=mhowell
For builds with ftp disabled (see below), this commit:

1) stops registering the ftp protocol handler at install time;
2) actively unregisters the ftp protocol handler at postupdate time;
3) stops unregistering the ftp protocol handler at uninstall time.

The rationale for 3) is that by the time a `helper.exe` with this
change is in place, the postupdate step has already run and
unregistered the ftp protocol handler.  This could, of course, fail,
and a fallback would be nice.  However having a guarded block, just
like everywhere else, will make it much more likely that the complete
removal of the ftp protocol will also cull the uninstall code.  I
prefer making the latter cleanup more likely to be complete.

The bool pref that disables ftp functionality is
"network.ftp.enabled", and at this time that defaults to
!NIGHTLY_BUILD.  In the {un}install process, there's no way to inspect
that pref dynamically, so we use !NIGHTLY_BUILD as well.

This opens a race window for developers to change the pref default
without changing the {un}install conditional at the same time.  It
would be possible to close that window by introducing a new configure
subst but given the imminent removal of the ftp protocol entirely it
doesn't seem necessary.

Differential Revision: https://phabricator.services.mozilla.com/D74503
2020-05-20 22:49:44 +00:00
Nick Alexander f5a65553dc Bug 1506416 - Enable setting Firefox as default PDF reader on Windows. r=mhowell
Comparing to .webp, we already do two of three things needed.  This
arranges the last thing: registering the file association.

Differential Revision: https://phabricator.services.mozilla.com/D76244
2020-05-20 22:45:15 +00:00
Molly Howell 2caf2e9712 Bug 1636445 - Skip applying profile refresh button styles in high-contrast. r=agashlin
Differential Revision: https://phabricator.services.mozilla.com/D74417
2020-05-08 19:07:53 +00:00
Ricky Stewart 4d4b22b3de Bug 1599658 - Delete previous definition of py_action in Makefiles. Now py_action calls into Python 3 and py3_action doesn't exist. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72487
2020-05-05 20:04:30 +00:00
Ricky Stewart fd72a5d35e Bug 1633016 - Remove a bunch of references to PYTHON(2) in Makefiles r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72479
2020-05-05 19:53:22 +00:00
Bogdan Tara f137fa0613 Backed out 6 changesets (bug 1632916, bug 1599658, bug 1633037, bug 1633039, bug 1633016, bug 1632920) for SA bustages CLOSED TREE
Backed out changeset 332ce0963b4e (bug 1633039)
Backed out changeset a9904cbc40d9 (bug 1633037)
Backed out changeset d06b0ec349f8 (bug 1599658)
Backed out changeset 8fd300cad80f (bug 1633016)
Backed out changeset f8820941c703 (bug 1632916)
Backed out changeset ac9c2c8746ed (bug 1632920)
2020-05-02 01:49:29 +03:00