Skip to content

[Localization] Localization changes for OneLocBuild - #11395

Merged
tj-devel709 merged 26 commits into
dotnet:mainfrom
tj-devel709:LocalizationForOLB
May 7, 2021
Merged

[Localization] Localization changes for OneLocBuild#11395
tj-devel709 merged 26 commits into
dotnet:mainfrom
tj-devel709:LocalizationForOLB

Conversation

@tj-devel709

Copy link
Copy Markdown
Member

Co-Authored by @rolfbjarne

These are the changes to allow MSBuild and Mtouch to use the resx files that we will be receiving back from OneLocBuild.
We should be failing tests since these resx files are not yet translated by the Loc team.
Although most of the tests should not pass, I altered some values in the non-translated resx files (since we will override them anyways) and we can see those values getting picked up in the tests showing that the localization is taking place.

@tj-devel709 tj-devel709 added the not-notes-worthy Ignore for release notes label Apr 30, 2021
@tj-devel709 tj-devel709 added this to the Future milestone Apr 30, 2021
Comment thread tests/mtouch/LocalizationTests.cs Outdated
Comment thread tests/mtouch/LocalizationTests.cs Outdated
Comment thread Xamarin.iOS.sln
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dont link", "tests\linker\ios\dont link\dont link.csproj", "{839212D5-C25B-4284-AA96-59C3872B8184}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mtouch", "tests\mtouch\mtouch.csproj", "{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mtouchtests", "tests\mtouch\mtouchtests.csproj", "{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've created a separate PR with my changes, to not complicate this one too much: #11400

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to make sure I don't mess this up again haha are these the steps I should do?

  1. land your PR first
  2. 'git rm -cached' on the files that are in your PR
  3. fetch and merge main in my branch and push to this PR?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's right! You probably don't need step #2, but it shouldn't hurt either.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Comment on lines +21 to +24
<EmbeddedResource Update="MSBStrings.resx">
</EmbeddedResource>
<EmbeddedResource Include="MSBStrings.resx">
</EmbeddedResource>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you need the Update + Include entries, since nothing is updated, nor nothing new is included:

Suggested change
<EmbeddedResource Update="MSBStrings.resx">
</EmbeddedResource>
<EmbeddedResource Include="MSBStrings.resx">
</EmbeddedResource>

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried removing them, but the include creates the Xamarin.Localization.MSBuild.MSBStrings.resources and without this, the tests fail when trying to get the english dll. Therefore, I think Update can go away but include needs to stay?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or perhaps, I can change the Update for MSBStrings.resx a few lines above these to an Include?

Comment thread tools/mtouch/mtouch.csproj Outdated
@tj-devel709

Copy link
Copy Markdown
Member Author

Forgot to remove Rolf's changes he put in his PR, but I am going to wait til this build finishes to remove those files!

@tj-devel709 tj-devel709 added the do-not-merge Do not merge this pull request label Apr 30, 2021
@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

API Diff (from PR only) (no change)
Generator Diff (no change)

Test results

70 tests failed, 37 tests passed.

Failed tests

  • framework-test/Mac Catalyst/Debug: BuildFailure
  • framework-test/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • framework-test/tvOS - simulator/Debug: BuildFailure
  • framework-test/watchOS 32-bits - simulator/Debug: BuildFailure
  • xcframework-test/Mac Catalyst/Debug: BuildFailure
  • xcframework-test/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • xcframework-test/tvOS - simulator/Debug: BuildFailure
  • xcframework-test/watchOS 32-bits - simulator/Debug: BuildFailure
  • introspection/Mac Catalyst/Debug: BuildFailure
  • introspection/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • introspection/tvOS - simulator/Debug: BuildFailure
  • introspection/watchOS 32-bits - simulator/Debug: BuildFailure
  • dont link/Mac Catalyst/Debug: BuildFailure
  • dont link/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • dont link/iOS Unified 64-bits - simulator/Release: BuildFailure
  • dont link/tvOS - simulator/Debug: BuildFailure
  • dont link/tvOS - simulator/Release: BuildFailure
  • dont link/watchOS 32-bits - simulator/Debug: BuildFailure
  • dont link/watchOS 32-bits - simulator/Release: BuildFailure
  • link all/Mac Catalyst/Debug: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Release: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Debug [dotnet]: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Release [dotnet]: BuildFailure
  • link all/tvOS - simulator/Debug: BuildFailure
  • link all/tvOS - simulator/Release: BuildFailure
  • link all/tvOS - simulator/Debug [dotnet]: BuildFailure
  • link all/tvOS - simulator/Release [dotnet]: BuildFailure
  • link all/watchOS 32-bits - simulator/Debug: BuildFailure
  • link all/watchOS 32-bits - simulator/Release: BuildFailure
  • link sdk/Mac Catalyst/Debug: BuildFailure
  • link sdk/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • link sdk/iOS Unified 64-bits - simulator/Release: BuildFailure
  • link sdk/tvOS - simulator/Debug: BuildFailure
  • link sdk/tvOS - simulator/Release: BuildFailure
  • link sdk/watchOS 32-bits - simulator/Debug: BuildFailure
  • link sdk/watchOS 32-bits - simulator/Release: BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (LinkSdk): BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (static registrar): BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Release (all optimizations): BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (static registrar) [dotnet]: BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Release (all optimizations) [dotnet]: BuildFailure
  • monotouch-test/tvOS - simulator/Debug: BuildFailure
  • monotouch-test/tvOS - simulator/Debug (LinkSdk): BuildFailure
  • monotouch-test/tvOS - simulator/Debug (static registrar): BuildFailure
  • monotouch-test/tvOS - simulator/Release (all optimizations): BuildFailure
  • monotouch-test/tvOS - simulator/Debug (static registrar) [dotnet]: BuildFailure
  • monotouch-test/tvOS - simulator/Release (all optimizations) [dotnet]: BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Debug: BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Debug (LinkSdk): BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Debug (static registrar): BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Release (all optimizations): BuildFailure
  • fsharp/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • fsharp/tvOS - simulator/Debug: BuildFailure
  • fsharp/watchOS 32-bits - simulator/Debug: BuildFailure
  • interdependent-binding-projects/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • interdependent-binding-projects/tvOS - simulator/Debug: BuildFailure
  • interdependent-binding-projects/watchOS 32-bits - simulator/Debug: BuildFailure
  • mono-native-compat/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • mono-native-compat/iOS Unified Today Extension 64-bits - simulator/Debug: BuildFailure
  • mono-native-compat/tvOS - simulator/Debug: BuildFailure
  • mono-native-compat/watchOS 32-bits - simulator/Debug: BuildFailure
  • mono-native-unified/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • mono-native-unified/iOS Unified Today Extension 64-bits - simulator/Debug: BuildFailure
  • mono-native-unified/tvOS - simulator/Debug: BuildFailure
  • mono-native-unified/watchOS 32-bits - simulator/Debug: BuildFailure
  • MSBuild tests/Tasks: Failed (Execution failed with exit code 13)
  • MSBuild tests/Integration: Failed (Execution failed with exit code 60)
  • MTouch tests/NUnit: Failed (Execution failed with exit code 248)

Pipeline on Agent XAMBOT-1105.BigSur'
Merge c19e6fe into 4d93be6

@mandel-macaque

mandel-macaque commented May 3, 2021

Copy link
Copy Markdown
Contributor

@tj-devel709 fix those files on monday. I merge with main to remove possible conflicts, remember to pull in to your local branch!!!

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

API Diff (from PR only) (no change)
Generator Diff (no change)

Test results

70 tests failed, 37 tests passed.

Failed tests

  • framework-test/Mac Catalyst/Debug: BuildFailure
  • framework-test/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • framework-test/tvOS - simulator/Debug: BuildFailure
  • framework-test/watchOS 32-bits - simulator/Debug: BuildFailure
  • xcframework-test/Mac Catalyst/Debug: BuildFailure
  • xcframework-test/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • xcframework-test/tvOS - simulator/Debug: BuildFailure
  • xcframework-test/watchOS 32-bits - simulator/Debug: BuildFailure
  • introspection/Mac Catalyst/Debug: BuildFailure
  • introspection/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • introspection/tvOS - simulator/Debug: BuildFailure
  • introspection/watchOS 32-bits - simulator/Debug: BuildFailure
  • dont link/Mac Catalyst/Debug: BuildFailure
  • dont link/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • dont link/iOS Unified 64-bits - simulator/Release: BuildFailure
  • dont link/tvOS - simulator/Debug: BuildFailure
  • dont link/tvOS - simulator/Release: BuildFailure
  • dont link/watchOS 32-bits - simulator/Debug: BuildFailure
  • dont link/watchOS 32-bits - simulator/Release: BuildFailure
  • link all/Mac Catalyst/Debug: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Release: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Debug [dotnet]: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Release [dotnet]: BuildFailure
  • link all/tvOS - simulator/Debug: BuildFailure
  • link all/tvOS - simulator/Release: BuildFailure
  • link all/tvOS - simulator/Debug [dotnet]: BuildFailure
  • link all/tvOS - simulator/Release [dotnet]: BuildFailure
  • link all/watchOS 32-bits - simulator/Debug: BuildFailure
  • link all/watchOS 32-bits - simulator/Release: BuildFailure
  • link sdk/Mac Catalyst/Debug: BuildFailure
  • link sdk/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • link sdk/iOS Unified 64-bits - simulator/Release: BuildFailure
  • link sdk/tvOS - simulator/Debug: BuildFailure
  • link sdk/tvOS - simulator/Release: BuildFailure
  • link sdk/watchOS 32-bits - simulator/Debug: BuildFailure
  • link sdk/watchOS 32-bits - simulator/Release: BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (LinkSdk): BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (static registrar): BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Release (all optimizations): BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (static registrar) [dotnet]: BuildFailure
  • monotouch-test/iOS Unified 64-bits - simulator/Release (all optimizations) [dotnet]: BuildFailure
  • monotouch-test/tvOS - simulator/Debug: BuildFailure
  • monotouch-test/tvOS - simulator/Debug (LinkSdk): BuildFailure
  • monotouch-test/tvOS - simulator/Debug (static registrar): BuildFailure
  • monotouch-test/tvOS - simulator/Release (all optimizations): BuildFailure
  • monotouch-test/tvOS - simulator/Debug (static registrar) [dotnet]: BuildFailure
  • monotouch-test/tvOS - simulator/Release (all optimizations) [dotnet]: BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Debug: BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Debug (LinkSdk): BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Debug (static registrar): BuildFailure
  • monotouch-test/watchOS 32-bits - simulator/Release (all optimizations): BuildFailure
  • fsharp/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • fsharp/tvOS - simulator/Debug: BuildFailure
  • fsharp/watchOS 32-bits - simulator/Debug: BuildFailure
  • interdependent-binding-projects/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • interdependent-binding-projects/tvOS - simulator/Debug: BuildFailure
  • interdependent-binding-projects/watchOS 32-bits - simulator/Debug: BuildFailure
  • mono-native-compat/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • mono-native-compat/iOS Unified Today Extension 64-bits - simulator/Debug: BuildFailure
  • mono-native-compat/tvOS - simulator/Debug: BuildFailure
  • mono-native-compat/watchOS 32-bits - simulator/Debug: BuildFailure
  • mono-native-unified/iOS Unified 64-bits - simulator/Debug: BuildFailure
  • mono-native-unified/iOS Unified Today Extension 64-bits - simulator/Debug: BuildFailure
  • mono-native-unified/tvOS - simulator/Debug: BuildFailure
  • mono-native-unified/watchOS 32-bits - simulator/Debug: BuildFailure
  • MSBuild tests/Tasks: Failed (Execution failed with exit code 13)
  • MSBuild tests/Integration: Failed (Execution failed with exit code 60)
  • MTouch tests/NUnit: Failed (Execution failed with exit code 248)

Pipeline on Agent XAMBOT-1103.BigSur'
Merge 31b361b into 19482a7

@mandel-macaque

Copy link
Copy Markdown
Contributor

Test run does not look good :(

@tj-devel709

Copy link
Copy Markdown
Member Author

@mandel-macaque Yeaahhh I noticed, not really sure what's up with it :/

@rolfbjarne

Copy link
Copy Markdown
Member

This is the error:

MTOUCH : error MT0000: Unexpected error - Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new [/Users/builder/azdo/_work/1/s/xamarin-macios/tests/xharness/tmp-test-dir/dont link292/dont link-maccatalyst.csproj]
  System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "Errors.mtouch.resources" was correctly embedded or linked into assembly "mtouch" at compile time, or that all the satellite assemblies required are loadable and fully signed. (TaskId:235)
    at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing (System.String fileName) [0x00095] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/resources/manifestbasedresourcegroveler.cs:695  (TaskId:235)
    at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet (System.Globalization.CultureInfo culture, System.Collections.Generic.Dictionary`2[TKey,TValue] localResourceSets, System.Boolean tryParents, System.Boolean createIfNotExists, System.Threading.StackCrawlMark& stackMark) [0x000d9] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/resources/manifestbasedresourcegroveler.cs:160  (TaskId:235)
    at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo requestedCulture, System.Boolean createIfNotExists, System.Boolean tryParents, System.Threading.StackCrawlMark& stackMark) [0x00099] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/resources/resourcemanager.cs:815  (TaskId:235)
    at System.Resources.ResourceManager.InternalGetResourceSet (System.Globalization.CultureInfo culture, System.Boolean createIfNotExists, System.Boolean tryParents) [0x00002] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/resources/resourcemanager.cs:759  (TaskId:235)
    at System.Resources.ResourceManager.GetString (System.String name, System.Globalization.CultureInfo culture) [0x0005a] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/resources/resourcemanager.cs:1321  (TaskId:235)
    at Xamarin.Bundler.Errors.get_MX0009 () [0x00001] in /Users/builder/azdo/_work/1/s/xamarin-macios/tools/mtouch/Errors.Designer.cs:118  (TaskId:235)

Note the resource name it's complaining about: "Errors.mtouch.resources"

which is probably because you changed this line: https://github.com/xamarin/xamarin-macios/pull/11395/files#diff-f27f05df0e0185389a6be051b565792fa4c8141e0a6695cc9e63caa0715afec3R514

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

API Diff (from PR only) (no change)
Generator Diff (no change)

Test results

3 tests failed, 104 tests passed.

Failed tests

  • monotouch-test/iOS Unified 64-bits - simulator/Debug (static registrar): Failed
  • MSBuild tests/Tasks: Failed (Execution failed with exit code 13)
  • MTouch tests/NUnit: Failed (Execution failed with exit code 30)

Pipeline on Agent XAMBOT-1101.BigSur'
Merge ca1eb5a into a86bbc5

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

API Diff (from PR only) (no change)
Generator Diff (no change)

Test results

2 tests failed, 105 tests passed.

Failed tests

  • MSBuild tests/Tasks: Failed (Execution failed with exit code 13)
  • MTouch tests/NUnit: Failed (Execution failed with exit code 15)

Pipeline on Agent XAMBOT-1104.BigSur'
Merge 7c678ec into 6225cac

@spouliot spouliot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@tj-devel709

tj-devel709 commented May 5, 2021

Copy link
Copy Markdown
Member Author

Adding this issue here: #11454
I am adding ignores to the mtouch and msbuild localization tests since we will be missing msbuild
localization strings for a little bit as we transition to use OneLocBuild.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

API Diff (from PR only) (no change)
Generator Diff (no change)

Test results

4 tests failed, 103 tests passed.

Failed tests

  • link all/iOS Unified 64-bits - simulator/Debug [dotnet]: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Release [dotnet]: BuildFailure
  • link all/tvOS - simulator/Debug [dotnet]: BuildFailure
  • link all/tvOS - simulator/Release [dotnet]: BuildFailure

Pipeline on Agent XAMBOT-1100.BigSur
Merge 4a7247d into 50b68d4

@tj-devel709 tj-devel709 removed the do-not-merge Do not merge this pull request label May 6, 2021
@tj-devel709

Copy link
Copy Markdown
Member Author

Fails 4 tests due to this issue: #11456

  • link all/iOS Unified 64-bits - simulator/Debug [dotnet]: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Release [dotnet]: BuildFailure
  • link all/tvOS - simulator/Debug [dotnet]: BuildFailure
  • link all/tvOS - simulator/Release [dotnet]: BuildFailure

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

API Diff (from PR only) (no change)
Generator Diff (no change)

Test results

4 tests failed, 103 tests passed.

Failed tests

  • link all/iOS Unified 64-bits - simulator/Debug [dotnet]: BuildFailure
  • link all/iOS Unified 64-bits - simulator/Release [dotnet]: BuildFailure
  • link all/tvOS - simulator/Debug [dotnet]: BuildFailure
  • link all/tvOS - simulator/Release [dotnet]: BuildFailure

Pipeline on Agent XAMBOT-1097.BigSur'
Merge 7212ff5 into 4ba7bf3

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build] Tests passed on Build. ✅

Tests passed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

API Diff (from PR only) (no change)
Generator Diff (no change)

🎉 All 107 tests passed 🎉

Pipeline on Agent XAMBOT-1098.BigSur
Merge 7ab5b77 into 3b85075

@tj-devel709
tj-devel709 merged commit a154f30 into dotnet:main May 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not-notes-worthy Ignore for release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants