gitextract_330899_t/ ├── .gitattributes ├── .gitignore ├── AppSamples-iOS-TouchID-master/ │ ├── LICENSE │ ├── Podfile │ ├── active-directory-ios-native-appauth-b2c/ │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── GameTableViewController.h │ │ ├── GameTableViewController.m │ │ ├── Games.h │ │ ├── Games.m │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ ├── active-directory-ios-native-appauth-b2c.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── active-directory-ios-native-appauth-b2c.xcworkspace/ │ │ └── contents.xcworkspacedata │ └── readme.md ├── AzureFunctionsSamples/ │ ├── CalculatePlayerProfilePercentCompleteWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── CheckPlayerTagWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── LookUpLoyaltyWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── SendMailWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── host.json │ └── readme.md ├── CONTRIBUTING.md ├── ExploreAdmin/ │ └── New-AzureADB2CPolicyEngineApplications.ps1 ├── LICENSE ├── README.md ├── UserJourneyRecorder/ │ ├── Integrating a B2C policy with Azure Application Insights.docx │ ├── README.md │ ├── UserJourneyRecorder.sln │ └── UserJourneyRecorderWebApp/ │ ├── Global.asax │ ├── Global.asax.cs │ ├── Infrastructure/ │ │ ├── UserJourneyRecorderHttpHandler.cs │ │ ├── UserJourneyRecorderRouteHandler.cs │ │ └── Utils.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── UserJourneyRecorderWebApp.csproj │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── base64url_102.js │ ├── config_102.html │ ├── config_102.js │ ├── languages/ │ │ └── en-us_102.json │ ├── packages.config │ ├── trace_102.css │ └── trace_102.html ├── account-linking/ │ ├── ACCOUNTLINKING.xml │ ├── PASSWORDRESET.xml │ ├── PROFILEEDIT.xml │ ├── SignUpOrSignin.xml │ ├── TRUSTFRAMEWORKBASE.xml │ ├── TRUSTFRAMEWORKEXTENSIONS.xml │ └── readme.md ├── conditional-access-preview/ │ ├── IEF Policy sample with Conditional Access and Secure Pssword reset -not for prod Sep2019.xml │ ├── deprecated_B2CTenant.onmicrosoft.com-B2C_1A_PolicySampleV02.xml │ └── readme.md └── wingtipgamesb2c/ ├── .gitignore ├── AzureADB2CSamples.sln ├── Implementing an invitation flow, Sample by Kloud.docx ├── Integrating a B2C policy with Azure Application Insights.docx ├── Policies/ │ ├── b2ctechready.onmicrosoft.com_B2C_1A_activation.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_base.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_base_extensions.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_invitation.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_link.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_password_reset.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_profile_update_games.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_profile_update_music.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_in_billing.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_in_games_app_code.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_in_games_authy_code.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_in_games_email_code.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_in_games_email_phone.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_in_games_phone_code.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_up_games_app_code.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_up_games_authy_code.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_up_sign_in_games.xml │ ├── b2ctechready.onmicrosoft.com_B2C_1A_sign_up_sign_in_music.xml │ └── b2ctechready.onmicrosoft.com_B2C_1A_step_up.xml ├── Reports/ │ ├── B2CUserJourneyEvents.csv │ ├── B2CUserJourneyEvents.pbix │ └── B2CUserJourneyEvents.ps1 ├── Templates/ │ ├── dist/ │ │ ├── error.html │ │ ├── idpselection-signin.html │ │ ├── idpselection-signupsignin.html │ │ ├── idpselection.html │ │ ├── js/ │ │ │ ├── analytics.js │ │ │ ├── selfasserted-appfactor-registration.js │ │ │ ├── selfasserted-appfactor.js │ │ │ ├── selfasserted-listenerprofileupdate.js │ │ │ ├── selfasserted-playerprofileregistration-basic.js │ │ │ ├── selfasserted-playerprofileregistration-full.js │ │ │ └── selfasserted-playerprofileupdate.js │ │ ├── localaccount-activation.html │ │ ├── localaccount-discovery.html │ │ ├── localaccount-identification.html │ │ ├── localaccount-login-appcode.html │ │ ├── localaccount-login-authycode.html │ │ ├── localaccount-login-emailcode.html │ │ ├── localaccount-login-phonecode.html │ │ ├── localaccount-login.html │ │ ├── localaccount-passwordrecovery.html │ │ ├── localaccount-passwordreset.html │ │ ├── localaccount-passwordset.html │ │ ├── localaccount-registration.html │ │ ├── phonefactor.html │ │ ├── selfasserted-appfactor-registration.html │ │ ├── selfasserted-appfactor-verification.html │ │ ├── selfasserted-authyfactor.html │ │ ├── selfasserted-consent.html │ │ ├── selfasserted-listenerprofileupdate.html │ │ ├── selfasserted-playerprofileregistration-basic.html │ │ ├── selfasserted-playerprofileregistration-full.html │ │ ├── selfasserted-playerprofileupdate.html │ │ ├── signupsignin.html │ │ └── socialaccount-registration.html │ ├── gulpfile.js │ ├── package.json │ └── src/ │ ├── css/ │ │ ├── bootstrap.css │ │ └── global.css │ ├── error.html │ ├── idpselection-signin.html │ ├── idpselection-signupsignin.html │ ├── idpselection.html │ ├── js/ │ │ ├── analytics.js │ │ ├── selfasserted-appfactor-registration.js │ │ ├── selfasserted-appfactor.js │ │ ├── selfasserted-listenerprofileupdate.js │ │ ├── selfasserted-playerprofileregistration-basic.js │ │ ├── selfasserted-playerprofileregistration-full.js │ │ └── selfasserted-playerprofileupdate.js │ ├── localaccount-activation.html │ ├── localaccount-discovery.html │ ├── localaccount-identification.html │ ├── localaccount-login-appcode.html │ ├── localaccount-login-authycode.html │ ├── localaccount-login-emailcode.html │ ├── localaccount-login-phonecode.html │ ├── localaccount-login.html │ ├── localaccount-passwordrecovery.html │ ├── localaccount-passwordreset.html │ ├── localaccount-passwordset.html │ ├── localaccount-registration.html │ ├── phonefactor.html │ ├── selfasserted-appfactor-registration.html │ ├── selfasserted-appfactor-verification.html │ ├── selfasserted-authyfactor.html │ ├── selfasserted-consent.html │ ├── selfasserted-listenerprofileupdate.html │ ├── selfasserted-playerprofileregistration-basic.html │ ├── selfasserted-playerprofileregistration-full.html │ ├── selfasserted-playerprofileupdate.html │ ├── signupsignin.html │ └── socialaccount-registration.html ├── readme.md └── src/ ├── WingTipBillingWebApplication/ │ ├── .bowerrc │ ├── Api/ │ │ ├── Controllers/ │ │ │ └── OrdersController.cs │ │ └── Models/ │ │ └── Order.cs │ ├── Constants.cs │ ├── Controllers/ │ │ ├── AccountController.cs │ │ ├── HomeController.cs │ │ └── MetadataController.cs │ ├── Identity/ │ │ ├── ClaimsPrincipalHelper.cs │ │ └── Saml2/ │ │ └── FixedSaml2AuthnResponse.cs │ ├── IdentityExtensions.cs │ ├── Program.cs │ ├── Startup.cs │ ├── Views/ │ │ ├── Home/ │ │ │ ├── About.cshtml │ │ │ ├── Contact.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared/ │ │ │ ├── Error.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── WingTipBillingWebApplication.csproj │ ├── app.config │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bower.json │ ├── bundleconfig.json │ └── wwwroot/ │ ├── css/ │ │ └── site.css │ ├── js/ │ │ └── site.js │ └── lib/ │ ├── bootstrap/ │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── dist/ │ │ ├── css/ │ │ │ ├── bootstrap-theme.css │ │ │ └── bootstrap.css │ │ └── js/ │ │ ├── bootstrap.js │ │ └── npm.js │ ├── jquery/ │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── dist/ │ │ └── jquery.js │ ├── jquery-validation/ │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ └── dist/ │ │ ├── additional-methods.js │ │ └── jquery.validate.js │ └── jquery-validation-unobtrusive/ │ ├── .bower.json │ └── jquery.validate.unobtrusive.js ├── WingTipCommon/ │ ├── AspNetCore/ │ │ ├── Authentication/ │ │ │ └── OpenIdConnect/ │ │ │ ├── WingTipOpenIdConnectAppBuilderExtensions.cs │ │ │ ├── WingTipOpenIdConnectHandler.cs │ │ │ └── WingTipOpenIdConnectMiddleware.cs │ │ └── Http/ │ │ ├── HttpsExtensions.cs │ │ └── HttpsMiddleware.cs │ ├── Generators/ │ │ ├── IPasswordGenerator.cs │ │ ├── PasswordCharacters.cs │ │ ├── PasswordGenerator.cs │ │ └── RandomPasswordGenerator.cs │ ├── Identity/ │ │ ├── Migrations/ │ │ │ ├── 20170324053803_CreateDatabase.Designer.cs │ │ │ ├── 20170324053803_CreateDatabase.cs │ │ │ └── WingTipDbContextModelSnapshot.cs │ │ ├── WingTipDbContext.cs │ │ ├── WingTipUser.cs │ │ └── WingTipUserManager.cs │ ├── MigrationStatus.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Services/ │ │ ├── AuthenticationService.cs │ │ ├── GraphService.cs │ │ ├── IAuthenticationService.cs │ │ ├── IGraphService.cs │ │ ├── ISmtpService.cs │ │ └── SendGridSmtpService.cs │ ├── WingTipClaimTypes.cs │ ├── WingTipCommon.csproj │ ├── app.config │ └── packages.config ├── WingTipFunctionsApplication/ │ ├── CalculatePlayerProfilePercentCompleteWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── CheckEmailWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── CheckPlayerTagWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── CreateAndWaitForAuthyApprovalRequestWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── CreateAuthyUserWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── GenerateTotpWebHook/ │ │ ├── function.json │ │ ├── project.json │ │ └── run.csx │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── SendMailWebHook/ │ │ ├── function.json │ │ └── run.csx │ ├── VerifyTotpWebHook/ │ │ ├── function.json │ │ ├── project.json │ │ └── run.csx │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── WingTipFunctionsApplication.csproj │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── host.json │ └── packages.config ├── WingTipGamesWebApplication/ │ ├── .bowerrc │ ├── Api/ │ │ └── Controllers/ │ │ └── GamesController.cs │ ├── Configuration/ │ │ ├── ActivationControllerOptions.cs │ │ └── InvitationControllerOptions.cs │ ├── Constants.cs │ ├── Controllers/ │ │ ├── AccountController.cs │ │ ├── ActivationController.cs │ │ ├── BillingController.cs │ │ ├── DemoController.cs │ │ ├── HomeController.cs │ │ ├── InvitationController.cs │ │ └── MusicController.cs │ ├── Filters/ │ │ ├── CultureFilterAttribute.cs │ │ └── LocationFilterAttribute.cs │ ├── HtmlHelpers/ │ │ ├── DropDownListHelpers.cs │ │ └── NavbarHelper.cs │ ├── IdentityExtensions.cs │ ├── Models/ │ │ ├── Album.cs │ │ ├── Artist.cs │ │ ├── Game.cs │ │ └── Order.cs │ ├── Program.cs │ ├── Repositories/ │ │ ├── GameRepository.cs │ │ ├── Games.cs │ │ └── IGameRepository.cs │ ├── Services/ │ │ ├── FreeGeoIpGeolocationService.cs │ │ ├── IBillingService.cs │ │ ├── IGeolocationService.cs │ │ ├── IMusicService.cs │ │ ├── Location.cs │ │ ├── WingTipBillingService.cs │ │ └── WingTipMusicService.cs │ ├── Startup.cs │ ├── ViewModels/ │ │ ├── Activation/ │ │ │ └── RedeemedViewModel.cs │ │ ├── Billing/ │ │ │ └── IndexViewModel.cs │ │ ├── Home/ │ │ │ └── IndexViewModel.cs │ │ ├── Invitation/ │ │ │ ├── CreateViewModel.cs │ │ │ └── RedeemedViewModel.cs │ │ └── Music/ │ │ └── IndexViewModel.cs │ ├── Views/ │ │ ├── Account/ │ │ │ └── LinkError.cshtml │ │ ├── Activation/ │ │ │ ├── RedeemError.cshtml │ │ │ └── Redeemed.cshtml │ │ ├── Billing/ │ │ │ └── Index.cshtml │ │ ├── Demo/ │ │ │ └── Index.cshtml │ │ ├── Home/ │ │ │ └── Index.cshtml │ │ ├── Invitation/ │ │ │ ├── Create.cshtml │ │ │ ├── Created.cshtml │ │ │ ├── RedeemError.cshtml │ │ │ └── Redeemed.cshtml │ │ ├── Music/ │ │ │ └── Index.cshtml │ │ ├── Shared/ │ │ │ ├── Error.cshtml │ │ │ ├── _Layout.cshtml │ │ │ ├── _LoginPartial.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── WingTipGamesWebApplication.csproj │ ├── app.config │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bower.json │ ├── bundleconfig.json │ └── wwwroot/ │ ├── css/ │ │ ├── demo.css │ │ └── site.css │ ├── js/ │ │ └── site.js │ └── lib/ │ ├── bootstrap/ │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── dist/ │ │ ├── css/ │ │ │ ├── bootstrap-theme.css │ │ │ └── bootstrap.css │ │ └── js/ │ │ ├── bootstrap.js │ │ └── npm.js │ ├── jquery/ │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── dist/ │ │ └── jquery.js │ ├── jquery-validation/ │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ └── dist/ │ │ ├── additional-methods.js │ │ └── jquery.validate.js │ └── jquery-validation-unobtrusive/ │ ├── .bower.json │ └── jquery.validate.unobtrusive.js ├── WingTipIdentityWebApplication/ │ ├── Api/ │ │ ├── Controllers/ │ │ │ └── AccountController.cs │ │ └── Models/ │ │ ├── AccountCheckNonceErrorResponse.cs │ │ ├── AccountCheckNonceRequest.cs │ │ ├── AccountCheckPasswordRequest.cs │ │ ├── AccountCreateRequest.cs │ │ ├── AccountRecoverPasswordRequest.cs │ │ └── AccountResetPasswordRequest.cs │ ├── Authentication/ │ │ ├── BasicAuthenticationExtensions.cs │ │ └── BasicAuthenticationMiddleware.cs │ ├── MigrationStatus.cs │ ├── Program.cs │ ├── Startup.cs │ ├── WingTipIdentityWebApplication.csproj │ ├── app.config │ ├── appsettings.Development.json │ └── appsettings.json ├── WingTipMusicWebApplication/ │ ├── .bowerrc │ ├── Api/ │ │ └── Controllers/ │ │ └── AlbumsController.cs │ ├── Constants.cs │ ├── Controllers/ │ │ ├── AccountController.cs │ │ ├── DemoController.cs │ │ └── HomeController.cs │ ├── Filters/ │ │ ├── CultureFilterAttribute.cs │ │ └── LocationFilterAttribute.cs │ ├── HtmlHelpers/ │ │ ├── DropDownListHelpers.cs │ │ └── NavbarHelper.cs │ ├── IdentityExtensions.cs │ ├── Models/ │ │ ├── Album.cs │ │ └── Artist.cs │ ├── Program.cs │ ├── Repositories/ │ │ ├── AlbumRepository.cs │ │ ├── Albums.cs │ │ └── IAlbumRepository.cs │ ├── Services/ │ │ ├── FreeGeoIpGeolocationService.cs │ │ ├── IGeolocationService.cs │ │ └── Location.cs │ ├── Startup.cs │ ├── ViewModels/ │ │ └── Home/ │ │ └── IndexViewModel.cs │ ├── Views/ │ │ ├── Demo/ │ │ │ └── Index.cshtml │ │ ├── Home/ │ │ │ └── Index.cshtml │ │ ├── Shared/ │ │ │ ├── Error.cshtml │ │ │ ├── _Layout.cshtml │ │ │ ├── _LoginPartial.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── WingTipMusicWebApplication.csproj │ ├── app.config │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bower.json │ ├── bundleconfig.json │ └── wwwroot/ │ ├── css/ │ │ ├── demo.css │ │ └── site.css │ ├── js/ │ │ └── site.js │ └── lib/ │ ├── bootstrap/ │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── dist/ │ │ ├── css/ │ │ │ ├── bootstrap-theme.css │ │ │ └── bootstrap.css │ │ └── js/ │ │ ├── bootstrap.js │ │ └── npm.js │ ├── jquery/ │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── dist/ │ │ └── jquery.js │ ├── jquery-validation/ │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ └── dist/ │ │ ├── additional-methods.js │ │ └── jquery.validate.js │ └── jquery-validation-unobtrusive/ │ ├── .bower.json │ └── jquery.validate.unobtrusive.js ├── WingTipToysWebApplication/ │ ├── .bowerrc │ ├── Configuration/ │ │ └── UserControllerOptions.cs │ ├── Constants.cs │ ├── Controllers/ │ │ ├── AccountController.cs │ │ ├── AuditController.cs │ │ ├── HomeController.cs │ │ ├── ReportController.cs │ │ └── UserController.cs │ ├── HtmlHelpers/ │ │ └── NavbarHelper.cs │ ├── IdentityExtensions.cs │ ├── MigrationStatusExtensions.cs │ ├── Program.cs │ ├── Startup.cs │ ├── ViewModels/ │ │ ├── Audit/ │ │ │ ├── AuditEntryViewModel.cs │ │ │ └── IndexViewModel.cs │ │ ├── Report/ │ │ │ ├── B2CAuthenticationCountSummaryIndexViewModel.cs │ │ │ ├── B2CAuthenticationCountSummaryReportEntryViewModel.cs │ │ │ ├── B2CMfaRequestCountSummaryIndexViewModel.cs │ │ │ ├── B2CMfaRequestCountSummaryReportEntryViewModel.cs │ │ │ ├── B2CUserJourneySummaryEventsIndexViewModel.cs │ │ │ ├── B2CUserJourneySummaryEventsReportEntryViewModel.cs │ │ │ ├── TenantUserCountSummaryIndexViewModel.cs │ │ │ └── TenantUserCountSummaryReportEntryViewModel.cs │ │ └── User/ │ │ ├── ChangePasswordViewModel.cs │ │ ├── CreateViewModel.cs │ │ ├── IndexViewModel.cs │ │ └── UserViewModel.cs │ ├── Views/ │ │ ├── Audit/ │ │ │ ├── ApplicationIndex.cshtml │ │ │ └── UserIndex.cshtml │ │ ├── Home/ │ │ │ └── Index.cshtml │ │ ├── Report/ │ │ │ ├── B2CAuthenticationCountSummaryIndex.cshtml │ │ │ ├── B2CMfaRequestCountSummaryIndex.cshtml │ │ │ ├── B2CUserJourneySummaryEventsIndex.cshtml │ │ │ └── TenantUserCountSummaryIndex.cshtml │ │ ├── Shared/ │ │ │ ├── Error.cshtml │ │ │ ├── _Layout.cshtml │ │ │ ├── _LoginPartial.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── User/ │ │ │ ├── ChangePassword.cshtml │ │ │ ├── Create.cshtml │ │ │ └── Index.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ ├── WingTipToysWebApplication.csproj │ ├── app.config │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── bower.json │ ├── bundleconfig.json │ └── wwwroot/ │ ├── css/ │ │ └── site.css │ ├── js/ │ │ └── site.js │ └── lib/ │ ├── bootstrap/ │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── dist/ │ │ ├── css/ │ │ │ ├── bootstrap-theme.css │ │ │ └── bootstrap.css │ │ └── js/ │ │ ├── bootstrap.js │ │ └── npm.js │ ├── jquery/ │ │ ├── .bower.json │ │ ├── LICENSE.txt │ │ └── dist/ │ │ └── jquery.js │ ├── jquery-validation/ │ │ ├── .bower.json │ │ ├── LICENSE.md │ │ └── dist/ │ │ ├── additional-methods.js │ │ └── jquery.validate.js │ └── jquery-validation-unobtrusive/ │ ├── .bower.json │ └── jquery.validate.unobtrusive.js └── WingTipUserJourneyPlayerWebApplication/ ├── .bowerrc ├── Api/ │ └── Controllers/ │ └── StreamController.cs ├── AzureApplicationInsightsCredential.cs ├── Constants.cs ├── Controllers/ │ ├── ConfigController.cs │ └── TraceController.cs ├── Program.cs ├── Startup.cs ├── Views/ │ ├── Config/ │ │ └── Index.cshtml │ ├── Trace/ │ │ └── Index.cshtml │ └── _ViewStart.cshtml ├── WingTipUserJourneyPlayerWebApplication.csproj ├── app.config ├── appsettings.Development.json ├── appsettings.json ├── bower.json ├── bundleconfig.json └── wwwroot/ ├── css/ │ └── trace_102.css ├── js/ │ ├── base64url_102.js │ └── config_102.js └── languages/ └── en-us_102.json