问:
Unable to resolve module @babel/runtime/helpers/interopRequireDefault from index.js
I just cloned this repository: react-native-paper

but when I run on the root directory:

```<code>$ yarn install
</code>```

I get the following warnings:

```<code>D:\react-native-paper (master) (react-native-paper@2.4.0)
λ yarn install
yarn install v1.13.0
[1/4] Resolving packages...
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.26.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.26.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.0.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.0.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.7.2"
</code>```

Then, when I do:

```<code>$ cd example
$ yarn install
</code>```

I get the following output with more warnings:

```<code>yarn install v1.13.0
[1/4] Resolving packages...
warning Resolution field "create-react-context@0.2.3" is incompatible with requested version "create-react-context@0.2.2"
[2/4] Fetching packages...
info fsevents@1.2.4: The platform "win32" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/traveling-fastlane-darwin@1.5.0: The platform "win32" is incompatible with this module.
info "@expo/traveling-fastlane-darwin@1.5.0" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-darwin-ia32@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-darwin-ia32@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-darwin-ia32@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-darwin-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-darwin-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-freebsd-ia32@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-freebsd-ia32@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-freebsd-ia32@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-freebsd-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-freebsd-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-arm@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-arm@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-arm@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-linux-arm64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-arm64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-arm64@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-linux-ia32@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-ia32@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-ia32@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-linux-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-sunos-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-sunos-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-win32-ia32@2.2.8-beta.1: The CPU architecture "x64" is incompatible with this module.
info "@expo/ngrok-bin-win32-ia32@2.2.8-beta.1" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > create-react-context@0.2.3" has unmet peer dependency "prop-types@^15.0.0".
warning " > @expo/vector-icons@8.0.0" has unmet peer dependency "expo-font@^1.0.0".
warning "expo > react-native-reanimated@1.0.0-alpha.10" has incorrect peer dependency "react@16.0.0-alpha.6".
warning "expo > react-native-reanimated@1.0.0-alpha.10" has incorrect peer dependency "react-native@^0.44.1".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators@7.1.2" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/plugin-syntax-decorators@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-export-default-from@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-dynamic-import@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-export-default-from@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0". warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-arrow-functions@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-block-scoping@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-classes@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-computed-properties@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-destructuring@7.1.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-exponentiation-operator@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-for-of@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-function-name@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-literals@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-object-assign@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-parameters@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-display-name@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-source@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0". warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-regenerator@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-runtime@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-shorthand-properties@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-spread@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-sticky-regex@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-template-literals@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-unicode-regex@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-class-properties > @babel/plugin-syntax-class-properties@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-nullish-coalescing-operator > @babel/plugin-syntax-nullish-coalescing-operator@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-object-rest-spread > @babel/plugin-syntax-object-rest-spread@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-optional-catch-binding > @babel/plugin-syntax-optional-catch-binding@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-optional-chaining > @babel/plugin-syntax-optional-chaining@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-flow-strip-types > @babel/plugin-syntax-flow@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx > @babel/plugin-syntax-jsx@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript > @babel/plugin-syntax-typescript@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
</code>```

I pay specially attention to the above warnings because when I try to run the application with (inside directory: /example):

```<code>$ yarn start
</code>```

I get the following output on the terminal:

```<code>There is a new version of expo-cli available (2.6.14).
You are currently using expo-cli 2.3.8
Run `npm install -g expo-cli` to get the latest version
[23:26:13] Starting project at D:\react-native-paper\example
[23:26:23] Expo DevTools is running at http://localhost:19002
[23:26:23] Opening DevTools in the browser... (press shift-d to disable)
[23:27:19] Starting Metro Bundler on port 19001.
[23:27:32] Successfully ran `adb reverse`. Localhost URLs should work on the connected Android device.
[23:27:36] Tunnel ready.

  exp://192.168.1.194:19000

  [QR CODE HERE]

  To run the app with live reloading, choose one of:
  • Sign in as @napolev in Expo Client on Android or iOS. Your projects will automatically appear in the "Projects" tab.
  • Scan the QR code above with the Expo app (Android) or the Camera app (iOS).
  • Press a for Android emulator.
  • Press e to send a link to your phone with email/SMS.

Press ? to show a list of all available commands.
Logs for your project will appear below. Press Ctrl+C to exit.
[23:28:51] Unable to resolve "@babel/runtime/helpers/interopRequireDefault" from "..\src\index.js"
Building JavaScript bundle [=================================================================================================== ] 99%
</code>```

and also I get the following output on the mobile:

Unable to resolve module @babel/runtime/helpers/interopRequireDefault from index.js

as you can see on the image below:

Any idea on how to make this application run on the mobile?

Thanks!

答:
Please try to execute</p>
```<code>yarn add @babel/runtime
</code>```

Body:
I just cloned this repository: react-native-paper

but when I run on the root directory:

$ yarn install

I get the following warnings:

D:\react-native-paper (master) (react-native-paper@2.4.0)
λ yarn install
yarn install v1.13.0
[1/4] Resolving packages...
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.26.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.26.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.0.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.0.0"
warning Resolution field "babel-core@7.0.0-bridge.0" is incompatible with requested version "babel-core@^6.7.2"

Then, when I do:

$ cd example
$ yarn install

I get the following output with more warnings:

yarn install v1.13.0
[1/4] Resolving packages...
warning Resolution field "create-react-context@0.2.3" is incompatible with requested version "create-react-context@0.2.2"
[2/4] Fetching packages...
info fsevents@1.2.4: The platform "win32" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/traveling-fastlane-darwin@1.5.0: The platform "win32" is incompatible with this module.
info "@expo/traveling-fastlane-darwin@1.5.0" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-darwin-ia32@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-darwin-ia32@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-darwin-ia32@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-darwin-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-darwin-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-freebsd-ia32@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-freebsd-ia32@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-freebsd-ia32@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-freebsd-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-freebsd-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-arm@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-arm@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-arm@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-linux-arm64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-arm64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-arm64@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-linux-ia32@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-ia32@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-linux-ia32@2.2.8: The CPU architecture "x64" is incompatible with this module.
info @expo/ngrok-bin-linux-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-linux-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-sunos-x64@2.2.8: The platform "win32" is incompatible with this module.
info "@expo/ngrok-bin-sunos-x64@2.2.8" is an optional dependency and failed compatibility check. Excluding it from installation.
info @expo/ngrok-bin-win32-ia32@2.2.8-beta.1: The CPU architecture "x64" is incompatible with this module.
info "@expo/ngrok-bin-win32-ia32@2.2.8-beta.1" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > create-react-context@0.2.3" has unmet peer dependency "prop-types@^15.0.0".
warning " > @expo/vector-icons@8.0.0" has unmet peer dependency "expo-font@^1.0.0".
warning "expo > react-native-reanimated@1.0.0-alpha.10" has incorrect peer dependency "react@16.0.0-alpha.6".
warning "expo > react-native-reanimated@1.0.0-alpha.10" has incorrect peer dependency "react-native@^0.44.1".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators@7.1.2" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/plugin-syntax-decorators@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-export-default-from@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-dynamic-import@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-export-default-from@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0". warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-arrow-functions@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-block-scoping@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-classes@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-computed-properties@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-destructuring@7.1.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-exponentiation-operator@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-for-of@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-function-name@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-literals@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-object-assign@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-parameters@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-display-name@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-source@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0". warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-regenerator@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-runtime@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-shorthand-properties@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-spread@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-sticky-regex@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-template-literals@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript@7.1.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-unicode-regex@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-class-properties > @babel/plugin-syntax-class-properties@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-nullish-coalescing-operator > @babel/plugin-syntax-nullish-coalescing-operator@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-object-rest-spread > @babel/plugin-syntax-object-rest-spread@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-optional-catch-binding > @babel/plugin-syntax-optional-catch-binding@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-optional-chaining > @babel/plugin-syntax-optional-chaining@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-flow-strip-types > @babel/plugin-syntax-flow@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx > @babel/plugin-syntax-jsx@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript > @babel/plugin-syntax-typescript@7.0.0" has unmet peer dependency "@babel/core@^7.0.0-0".

I pay specially attention to the above warnings because when I try to run the application with (inside directory: /example):

$ yarn start

I get the following output on the terminal:

There is a new version of expo-cli available (2.6.14).
You are currently using expo-cli 2.3.8
Run `npm install -g expo-cli` to get the latest version
[23:26:13] Starting project at D:\react-native-paper\example
[23:26:23] Expo DevTools is running at http://localhost:19002
[23:26:23] Opening DevTools in the browser... (press shift-d to disable)
[23:27:19] Starting Metro Bundler on port 19001.
[23:27:32] Successfully ran `adb reverse`. Localhost URLs should work on the connected Android device.
[23:27:36] Tunnel ready.

  exp://192.168.1.194:19000

  [QR CODE HERE]

  To run the app with live reloading, choose one of:
  • Sign in as @napolev in Expo Client on Android or iOS. Your projects will automatically appear in the "Projects" tab.
  • Scan the QR code above with the Expo app (Android) or the Camera app (iOS).
  • Press a for Android emulator.
  • Press e to send a link to your phone with email/SMS.

Press ? to show a list of all available commands.
Logs for your project will appear below. Press Ctrl+C to exit.
[23:28:51] Unable to resolve "@babel/runtime/helpers/interopRequireDefault" from "..\src\index.js"
Building JavaScript bundle [=================================================================================================== ] 99%

and also I get the following output on the mobile:

Unable to resolve module @babel/runtime/helpers/interopRequireDefault from index.js

as you can see on the image below:

Any idea on how to make this application run on the mobile?

Thanks!

Body:
Please try to execute

yarn add @babel/runtime


来源: stackexchange

问:
java.util.Scanner does not return to Prompt
```<code>import java.util.Scanner;

class newClass {
    public static void main(String args[]) {
        Scanner s = new Scanner(System.in);
        while (s.hasNext()) {
            System.out.println(s.next());
        }
        s.close();
    }
}
</code>```

This program does not return to prompt (I have been running it through the Terminal). Why is that? How can I correct it?

答:
This program does not return to prompt (I have been running it through the Terminal). Why is that?

Because s.hasNext() will block until further input is available and will only return false if it encounters end of stream.

From the docs:

Returns true if this scanner has another token in its input. This method may block while waiting for input to scan.

On a unix system you can end the stream by typing Ctrl+D which correctly returns control to the prompt, (or terminate the whole program by typing Ctrl+C).

How can I correct it?

You can either

reserve some input string used for terminating the program, as suggested by JJ, or

you could rely on the user closing the input stream with Ctrl+D, or you could

enclose the loop in a try/catch and let another thread interrupt the main thread which then exits gracefully.

do System.in.close() programatically from another thread.

ContentLicense: CC BY-SA 3.0

Body:
import java.util.Scanner;

class newClass {
    public static void main(String args[]) {
        Scanner s = new Scanner(System.in);
        while (s.hasNext()) {
            System.out.println(s.next());
        }
        s.close();
    }
}

This program does not return to prompt (I have been running it through the Terminal). Why is that? How can I correct it?


问:
Pandas or Numpy, but I am looking to take a 500 row 1 column, I guess series, turn it in to a 100 row, 5 column. or comparable in sections
I am looking to take my 1 column and 500 row data, and make it either sets of 5, so 100 sets of 5. Or compare a series of 5 numbers to 5 numbers at a time ( chunks of 5 ) in the data.

I want to see how many times if any, a sequence might show up in the data, or fragments of the sequence and how often.

the numbers are from 1-69 and sets of 5. But my data is all one long column with no spaces.

I eventually want to make a list of the sets that contain 2 or more numbers with matches, but one step at a time, right.

Oh or would a 100x5 matrix work? I don't know how to do that either.

Thank you for your time.

答:
You can reshape a numpy array and create a dataframe from it. Below are 100x5 adn 5x100 examples</p>
```<code>df = pd.DataFrame({'data':[random.randrange(1,70) for _ in range(500)]})
pd.DataFrame(df['data'].to_numpy().reshape((100, 5)))
pd.DataFrame(df['data'].to_numpy().reshape((5, 100)))
</code>```

ContentLicense: CC BY-SA 4.0

Body:
You can reshape a numpy array and create a dataframe from it. Below are 100x5 adn 5x100 examples

df = pd.DataFrame({'data':[random.randrange(1,70) for _ in range(500)]})
pd.DataFrame(df['data'].to_numpy().reshape((100, 5)))
pd.DataFrame(df['data'].to_numpy().reshape((5, 100)))


问:
KeyCloak /userinfo not returning user info, returns what appears to be a token
Here is the flow I am attempting in postman.

Get access token
{{server}}/auth/realms/{{realm}}/protocol/openid-connect/token

I get the access token. I then run the next query

{{server}}/auth/realms/{{realm}}/protocol/openid-connect/userinfo

I put these in the headers
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer {{access_token}}

I get a random string in return
eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJnN0FHMmJXMmhmQzBLTHJ0S1NUV2V4eTBGWVhsYklybXVEdnF0aDF2MFpNIn0.eyJzdWIiOiIxOGI0OTJhMy0wOGFlLTQ2NjQtODBjNi1iZGQ5Nzk2ODdiMzQiLCJhdWQiOiJibGluZHNwb3QtYXV0aCIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9hdXRoL3JlYWxtcy9CbGluZHNwb3QifQ.UNyZ2AifgqK9NAiSVwWMFT4_EEleMBztodPHu19NrzIt0DUteK4gfYlgAf-Yfk6w3ue3TyjpD93HFlM-1AG2bHgIyIxI01IbEB2ew9b8xgLiexLrQkgQHIWWWFxSOqQCBo0VPgY3yi0ib3sqeBAcxpvfOhtvQuEH0lHdPFXh8DTJQL18Q3TAhTRpknpwIQ5mpjhaeIW2HXpExrPp6-35r2riPifS_nFNaTqPTSWAFHBiqFEa2_PnQcC6f09jGQYYGkjHnetuAdcmxmhskb59YYlqvRpvezi-Af9IHNhCDad0zomMJK5ajIYUcaXWpAuQZMhPp1OvTB79Olc-YUUOIg

答: To get userInfo as JSON response, make sure "User Info Signed Response Algorithm" is set to "unsigned" in your client settings in Keycloak.


问:
Rename an image before upload in angular
I'm working with image upload in angular. The image uploading part works fine but now the problem is I should rename the image before uploading.
I want to know if it will be easier to do so from the fronend or from the backend.
The framework used for frontend is angularand backend is nodejs.
Hope someone will help me with this since I dont have much experience with this framework
Thank you.

答:
i can show you an example of code i use to upload a profile image in nodeJS express backend as joosep has given an example for the frontend. my code is as follows:

```<code>exports.uploadImage = (req, res, next) => {
  const url = req.protocol + '://' + req.get('host')
  profileRepository
    .findOne({ _id: req.params.id })
    .then((response) => {
      const fetchedUser = response;
      fetchedUser.imagePath = url + '/images/' + req.file.filename;
      profileRepository
        .updateOne({ _id: req.params.id }, fetchedUser)
        .then((response) => {
          return res.status(200).json({
            message: 'profileimage updated',
          });
        })
        .catch((error) => {
          return res.status(500).json({
            message: 'uploading image failed',
          });
        });
    })
    .catch((error) => {
      return res.status(404).json({
        message: 'fetching user failed',
      });
    });
};
</code>```

as you can see i set the name for the image when assigining an imagepath for the fetchedUser. in the example i am just using the filename which comes from the frontend request but you can use any name/string you want instead :)

hopefully this can help you choosing the best implementation for your use case

Body:
i can show you an example of code i use to upload a profile image in nodeJS express backend as joosep has given an example for the frontend. my code is as follows:

exports.uploadImage = (req, res, next) => {
  const url = req.protocol + '://' + req.get('host')
  profileRepository
    .findOne({ _id: req.params.id })
    .then((response) => {
      const fetchedUser = response;
      fetchedUser.imagePath = url + '/images/' + req.file.filename;
      profileRepository
        .updateOne({ _id: req.params.id }, fetchedUser)
        .then((response) => {
          return res.status(200).json({
            message: 'profileimage updated',
          });
        })
        .catch((error) => {
          return res.status(500).json({
            message: 'uploading image failed',
          });
        });
    })
    .catch((error) => {
      return res.status(404).json({
        message: 'fetching user failed',
      });
    });
};

as you can see i set the name for the image when assigining an imagepath for the fetchedUser. in the example i am just using the filename which comes from the frontend request but you can use any name/string you want instead :)

hopefully this can help you choosing the best implementation for your use case


问:
Amcharts 4 : Disable single legend item programmatically
I just need to know how to disable a single legend item programmatically on chart reload (disable means: legend is shown greyed out and its linked curve is hidden), as I need to reload a chart with some new data using some back and forward arrows, but still need to remember the user preference or the state of legend items (on/off)

答:
You can just call hide on the series associated with that legend marker to hide the series/grey out the marker:

```<code>series.hide();
</code>```

Body:
You can just call hide on the series associated with that legend marker to hide the series/grey out the marker:

series.hide();


问:
Hadoop MapReduce function is giving an error. Streaming Command Failed
Saved mapper.py ,reducer.py, count_word_data.txt files in C:\BigData\Hadoop-3.2.2 directory.

Initial commands given

```<code>hadoop-3.2.2\bin\>hdfs fs -mkdir input

hadoop-3.2.2\bin\>hdfs fs -copyFromLocal C:\BigData\Hadoop-3.2.2\count_word_data.txt /input
</code>```

mapper.py

```<code>#!/usr/bin/python -O

import sys

for line in sys.stdin:
    line = line.strip()
    keys = line.split()
    for key in keys:
        value = 1
        print("{}".format(key)," {} ".format(value))
</code>```

reducer.py

```<code>#!/usr/bin/python -O

import sys

last_key = None
running_total = 0

for input_line in sys.stdin:
   input_line = input_line.strip()
   this_key, value = input_line.split("\t", 1)
   value = int(value)

   if last_key == this_key:
       running_total += value
   else:
       if last_key:
           print( "%s\t%d" % (last_key, running_total) )
       running_total = value
       last_key = this_key

if last_key == this_key:
   print( "%s\t%d" % (last_key, running_total) )
</code>```

To run these python files, I have used Hadoop command

```<code>Hadoop jar C:/BigData/hadoop-3.2.2/share/Hadoop/tools/lib/hadoop-streaming-3.2.2.jar -mapper “python C:/BigData/hadoop-3.2.2/mapper.py” -reducer  “C:/BigData/hadoop-3.2.2/reducer.py”  -input “input/count_word_data.txt”  -output “input/output”
</code>```

After that it is giving me this error

Though I have specified all the paths(Python,Hadoop,JAVA,SPARK) correctly in system environment variables.I dont know why I am facing this error.

```<code>2022-02-10 18:33:09,065 INFO Configuration.deprecation: mapred.job.id is deprecated. Instead, use mapreduce.job.id
2022-02-10 18:33:09,065 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
2022-02-10 18:33:09,066 INFO Configuration.deprecation: mapred.task.partition is deprecated. Instead, use mapreduce.task.partition
2022-02-10 18:33:09,075 ERROR streaming.PipeMapRed: configuration exception
java.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
        at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
        at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
</code>```

答:
The system cannot find the file specified

This problem is not directly related to Hadoop.

Either:

The error indicates that python is not installed (or on your Windows PATH). To fix this, make sure you can run python -V and it shows you the version that is installed.

It is referring to your mapper/reducer scripts, which need to be uploaded to HDFS, where the command will actually be ran. You'd do this with more options -files C:\path\to\mapper.py,C:\path\to\reducer.py.

You also do not need quotes on your input or output paths.

I will also point out that PySpark is arguably better/easier way to do word-count, and it doesn't require HDFS.

Body:
Saved mapper.py ,reducer.py, count_word_data.txt files in C:\BigData\Hadoop-3.2.2 directory.

Initial commands given

hadoop-3.2.2\bin\>hdfs fs -mkdir input

hadoop-3.2.2\bin\>hdfs fs -copyFromLocal C:\BigData\Hadoop-3.2.2\count_word_data.txt /input

mapper.py

#!/usr/bin/python -O

import sys

for line in sys.stdin:
    line = line.strip()
    keys = line.split()
    for key in keys:
        value = 1
        print("{}".format(key)," {} ".format(value))

reducer.py

#!/usr/bin/python -O

import sys

last_key = None
running_total = 0

for input_line in sys.stdin:
   input_line = input_line.strip()
   this_key, value = input_line.split("\t", 1)
   value = int(value)

   if last_key == this_key:
       running_total += value
   else:
       if last_key:
           print( "%s\t%d" % (last_key, running_total) )
       running_total = value
       last_key = this_key

if last_key == this_key:
   print( "%s\t%d" % (last_key, running_total) )

To run these python files, I have used Hadoop command

Hadoop jar C:/BigData/hadoop-3.2.2/share/Hadoop/tools/lib/hadoop-streaming-3.2.2.jar -mapper “python C:/BigData/hadoop-3.2.2/mapper.py” -reducer  “C:/BigData/hadoop-3.2.2/reducer.py”  -input “input/count_word_data.txt”  -output “input/output”

After that it is giving me this error

Though I have specified all the paths(Python,Hadoop,JAVA,SPARK) correctly in system environment variables.I dont know why I am facing this error.

2022-02-10 18:33:09,065 INFO Configuration.deprecation: mapred.job.id is deprecated. Instead, use mapreduce.job.id
2022-02-10 18:33:09,065 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
2022-02-10 18:33:09,066 INFO Configuration.deprecation: mapred.task.partition is deprecated. Instead, use mapreduce.task.partition
2022-02-10 18:33:09,075 ERROR streaming.PipeMapRed: configuration exception
java.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
        at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
        at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav


问:
Failed to create virtual environment in PyCharm
I have problem with create virtual environment in PyCharm.
Exactly, Python in version 3.10 was add to Path during installation and I use latest version PyCharm community.

Did anyone have a similar problem?

Adding Informations

How I create environment :

file -> New project

Location : D:\mm\projekty\pythonProject2

marked New virtual environment using ( virtualenv)

Location : D:\mm\projekty\pythonProject2\venv

Base interpreter : C:\Users\mm\AppData\Local\Programs\Python\Python310\python.exe

In CMD:

```<code>C:\Users\mm>python

Python 3.10.0 (tags/v3.10.0:b494f59, Oct  4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
</code>```

答:
There is a bug in Windows venv, which is known to be exposed if you install a VisualStudio 2022 runtime. If PyCharm uses venv and not another virtual environment (not sure as I don't use PyCharm) s See if my issue/workaround in this Q&A aligns with yours.

Edit: I realize that you are using virtualenv instead. However, virtualenv uses venv.EnvBuilder so the issue could still be related.

Body:
I have problem with create virtual environment in PyCharm.
Exactly, Python in version 3.10 was add to Path during installation and I use latest version PyCharm community.

Did anyone have a similar problem?

Adding Informations

How I create environment :

file -> New project

Location : D:\mm\projekty\pythonProject2

marked New virtual environment using ( virtualenv)

Location : D:\mm\projekty\pythonProject2\venv

Base interpreter : C:\Users\mm\AppData\Local\Programs\Python\Python310\python.exe

In CMD:

C:\Users\mm>python

Python 3.10.0 (tags/v3.10.0:b494f59, Oct  4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.


问:
How to create a text component where first word of sentence to be bold?
I'm trying to create a text component where first word of the sentence to be bold. Right now with my solution, when a user enter "Tips: favourite vacation", I get " Tips: favouritevacation", where rest of sentence becomes mess and no space is created after Tips:. This isn't elegant solution. I thought about creating another component like TextBold and use it like this < Text >< TextBold >Tips:< /TextBold > Your Vacation< /Text >, but this seems unnecessary. Is there a way to get this working within Text component alone? https://codesandbox.io/s/text-component-v2dbt?file=/src/App.tsx

```<code>import * as React from "react";

export interface TextProps {
  children?: string;
}

export const Text: React.FunctionComponent<TextProps> = ({
  children
}: TextProps) => {
  return (
    <>
      <span style={{ fontWeight: "bold" }}>{children?.split(" ")[0]}</span>
      <span>{children?.split(" ").slice(1)}</span>
    </>
  );
};

export default function App() {
  return (
    <div>
      <Text>Tips: favourite vacation</Text>
    </div>
  );
}
</code>```

答:
Try</p>
```<code><span style={{ fontWeight: "bold" }}>{children?.shift()}</span>
<span>{children?.split("").slice(1)}</span>
</code>```

Body:
I'm trying to create a text component where first word of the sentence to be bold. Right now with my solution, when a user enter "Tips: favourite vacation", I get " Tips: favouritevacation", where rest of sentence becomes mess and no space is created after Tips:. This isn't elegant solution. I thought about creating another component like TextBold and use it like this < Text >< TextBold >Tips:< /TextBold > Your Vacation< /Text >, but this seems unnecessary. Is there a way to get this working within Text component alone? https://codesandbox.io/s/text-component-v2dbt?file=/src/App.tsx

import * as React from "react";

export interface TextProps {
  children?: string;
}

export const Text: React.FunctionComponent<TextProps> = ({
  children
}: TextProps) => {
  return (
    <>
      {children?.split(" ")[0]}
      {children?.split(" ").slice(1)}
    </>
  );
};

export default function App() {
  return (

      <Text>Tips: favourite vacation</Text>

  );
}

Body:
Try

<span style={{ fontWeight: "bold" }}>{children?.shift()}</span>
<span>{children?.split("").slice(1)}</span>


问:
Running 'code .' in MacOS terminal no longer opens VSCode. Python error?
Previously, I've been able to open a directory in VS Code by running code . in the terminal. I'm not sure when it stopped working but recently it has. I'm running on MacOS 12.3 beta 2.

I have Python 3.9.10 installed via Homebrew. Brew says all the symlinks are linked but I'm not so sure. Just running regular python -V no longer is valid, I can only run via python3 -V

I have run the command from inside VS Code Shell Command: Install 'code' command in PATH multiple times to no avail.

答:
In macOS 12.3 beta Apple removed support for Python 2. Additionally
Python 3 no longer comes bundled with macOS. This causes the code
command to not work anymore.

makaracc has provided a solution:

cd /usr/local/bin

nano code

change python => python3 on the following line

```<code>- function realpath() { python -c ...
+ function realpath() { python3 -c ...
</code>```

And you can wait for the update.

You can refer to this page for more details.

Body:
In macOS 12.3 beta Apple removed support for Python 2. Additionally
Python 3 no longer comes bundled with macOS. This causes the code
command to not work anymore.

makaracc has provided a solution:

cd /usr/local/bin

nano code

change python => python3 on the following line

- function realpath() { python -c ...
+ function realpath() { python3 -c ...

And you can wait for the update.

You can refer to this page for more details.


问:
iOS iPhone 11 flashing black and white while browsler is constantly reloading: RBS Background assertion ConnectionTerminationWatchdog
I get a black & white flashing browser, which is constantly reloading after this error:

```<code>[ProcessSuspension] 0x1063b4740 - ProcessAssertion: Failed to acquire RBS Background assertion 'ConnectionTerminationWatchdog' for process because PID is invalid
[Process] 0x104028a18 - [pageProxyID=11, webPageID=12, PID=3734] WebPageProxy::processDidTerminate: (pid 3734), reason 3
[assertion] Error acquiring assertion: <Error Domain=RBSAssertionErrorDomain Code=3 "Target is not running or required target entitlement is missing" UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"Background" sourceEnvironment:"(null)">, NSLocalizedFailureReason=Target is not running or required target entitlement is missing}>
</code>```

The issue occurs only with iPhone 11 PRO and iPhone 11 Mini (real devices) and a cordova app on iOS 14.3, 14.4 and 14.5.
On emulator it works perfectly and on other real devices as well.

In my case the screen is flashing black and white if I open a dc-Tableview.js table (by adding and removing "diplay:none").

Related issues:

WKWebView is trying to run on background, although it's closed and should be disposed

https://github.com/apache/cordova-ios/issues/1103

https://forum.ionicframework.com/t/ios-background-issue/206463

https://developer.apple.com/forums/thread/677916?login=true&page=1#674912022

https://github.com/apache/cordova-plugin-wkwebview-engine/issues/55

System:

Cordova 10.0.0

Cordova-ios 6.2.0

iPhone 11 PRO / iPhone 11 Mini (it is woring on several other devices f.e. iPhone SE, also working on iPhone 11 PRO emulator)

iOS 14.5

Any thoughts how to fix this?

答: Solved for me in IOS 15.3 , just update your real device as the current xcode "13.2.1" emulators with the version 15.2</p>

Body:
I get a black & white flashing browser, which is constantly reloading after this error:

[ProcessSuspension] 0x1063b4740 - ProcessAssertion: Failed to acquire RBS Background assertion 'ConnectionTerminationWatchdog' for process because PID is invalid
[Process] 0x104028a18 - [pageProxyID=11, webPageID=12, PID=3734] WebPageProxy::processDidTerminate: (pid 3734), reason 3
[assertion] Error acquiring assertion: <Error Domain=RBSAssertionErrorDomain Code=3 "Target is not running or required target entitlement is missing" UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"Background" sourceEnvironment:"(null)">, NSLocalizedFailureReason=Target is not running or required target entitlement is missing}>

The issue occurs only with iPhone 11 PRO and iPhone 11 Mini (real devices) and a cordova app on iOS 14.3, 14.4 and 14.5.
On emulator it works perfectly and on other real devices as well.

In my case the screen is flashing black and white if I open a dc-Tableview.js table (by adding and removing "diplay:none").

Related issues:

WKWebView is trying to run on background, although it's closed and should be disposed

https://github.com/apache/cordova-ios/issues/1103

https://forum.ionicframework.com/t/ios-background-issue/206463

https://developer.apple.com/forums/thread/677916?login=true&page=1#674912022

https://github.com/apache/cordova-plugin-wkwebview-engine/issues/55

System:

Cordova 10.0.0

Cordova-ios 6.2.0

iPhone 11 PRO / iPhone 11 Mini (it is woring on several other devices f.e. iPhone SE, also working on iPhone 11 PRO emulator)

iOS 14.5

Any thoughts how to fix this?


问:
Mysql Join AND SUM
Please look to this picture

http://i.stack.imgur.com/A2RB2.jpg

i want to get

sum of money in table come

sum of money in table leave

inner join  emp using id

Thats my query

```<code>SELECT uid,SUM(money) FROM come
INNER JOIN emp ON(come.uid = emp.id)
WHERE emp.statue=1
GROUP BY come.uid
UNION
SELECT uid,SUM(money) FROM `leave`
INNER JOIN emp ON ( leave.uid = emp.id )
GROUP BY leave.uid
</code>```

and the result was this image

http://i.stack.imgur.com/xZtO3.jpg

答:
Try this

```<code>   select uid,sum(ComeTot),sum(LeaveTot)
   from
  (

    SELECT uid,SUM(money) as ComeTot ,0 as LeaveTot
    FROM come
    INNER JOIN emp ON(come.uid = emp.id) WHERE emp.statue=1
    GROUP BY come.uid
    UNION
    SELECT uid,0 ,SUM(money) FROM leave
    INNER JOIN emp ON ( leave.uid = emp.id )
    GROUP BY leave.uid
  ) xx

GROUP BY xx.uid
</code>```

I don't have mySQL installed on this PC, but this should get you close.   Depending on the result of the above, you might need to wrap the entire query above in another group by...

Title: Mysql Join AND SUM

Body:
Please look to this picture

http://i.stack.imgur.com/A2RB2.jpg

i want to get

sum of money in table come

sum of money in table leave

inner join  emp using id

Thats my query

SELECT uid,SUM(money) FROM come
INNER JOIN emp ON(come.uid = emp.id)
WHERE emp.statue=1
GROUP BY come.uid
UNION
SELECT uid,SUM(money) FROM `leave`
INNER JOIN emp ON ( leave.uid = emp.id )
GROUP BY leave.uid

and the result was this image

http://i.stack.imgur.com/xZtO3.jpg

Body:
Try this

   select uid,sum(ComeTot),sum(LeaveTot)
   from
  (

    SELECT uid,SUM(money) as ComeTot ,0 as LeaveTot
    FROM come
    INNER JOIN emp ON(come.uid = emp.id) WHERE emp.statue=1
    GROUP BY come.uid
    UNION
    SELECT uid,0 ,SUM(money) FROM leave
    INNER JOIN emp ON ( leave.uid = emp.id )
    GROUP BY leave.uid
  ) xx

GROUP BY xx.uid

I don't have mySQL installed on this PC, but this should get you close.   Depending on the result of the above, you might need to wrap the entire query above in another group by...


问:
Why does space appear at the top of listview?
recently i have making app and found problem on listview,

i want locationed container on the bottom and in it have listview.

and a space will appear on the top of the listview

i don't want space on the top of listview

how can i remove the space??

```<code>import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:run_flutter/controller.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MainPage(),
    );
  }
}

class MainPage extends StatelessWidget {
  const MainPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    TestController testController = TestController();
    return Scaffold(
      body: Container(
        width: Get.width,
        height: Get.height,
        child: Stack(
          children: [
            Positioned(
              bottom: 0,
              child: AnimatedContainer(
                height: 50,
                width: Get.width,
                color: Colors.amber,
                duration: Duration(milliseconds: 100),
                child: ListView(
                  children: [
                    Text("data"),
                  ],
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}
</code>```

答:
The reason is written at official ListView class specification.

https://api.flutter.dev/flutter/widgets/ListView-class.html#external-links:%7E:text=By%20default%2C%20ListView%20will%20automatically%20pad,link

By default, ListView will automatically pad the list's scrollable extremities to avoid partial obstructions indicated by MediaQuery's padding. To avoid this behavior, override with a zero padding property.

Try to like this.

```<code>ListView(
  padding: EdgeInsets.zero,
  ...
);
</code>```

Body:
recently i have making app and found problem on listview,

i want locationed container on the bottom and in it have listview.

and a space will appear on the top of the listview

i don't want space on the top of listview

how can i remove the space??

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:run_flutter/controller.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MainPage(),
    );
  }
}

class MainPage extends StatelessWidget {
  const MainPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    TestController testController = TestController();
    return Scaffold(
      body: Container(
        width: Get.width,
        height: Get.height,
        child: Stack(
          children: [
            Positioned(
              bottom: 0,
              child: AnimatedContainer(
                height: 50,
                width: Get.width,
                color: Colors.amber,
                duration: Duration(milliseconds: 100),
                child: ListView(
                  children: [
                    Text("data"),
                  ],
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Body:
The reason is written at official ListView class specification.

https://api.flutter.dev/flutter/widgets/ListView-class.html#external-links:%7E:text=By%20default%2C%20ListView%20will%20automatically%20pad,link

By default, ListView will automatically pad the list's scrollable extremities to avoid partial obstructions indicated by MediaQuery's padding. To avoid this behavior, override with a zero padding property.

Try to like this.

ListView(
  padding: EdgeInsets.zero,
  ...
);


问:
.net core 2.0 logging inside Kubernetes pod console
I wrote few web APIs in .net core 2.0 and deployed it using a docker container inside a Kubernetes cluster. I am using the below logging configuration but can't see any logs inside the Kubernetes pod console. Am I missing something here?:

Logging section in appsettings.json & appsettings.Development.json

```<code>{
  "Logging": {
    "IncludeScopes": true,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    },
    "Console": {
      "LogLevel": {
        "Default": "Information",
        "System": "Information",
        "Microsoft": "Information"
      }
    }
  }
}
</code>```

Inside Program.cs:

```<code>public static IWebHost BuildWebHost(string[] args)
{
    return new WebHostBuilder()
        .UseKestrel()
        .ConfigureAppConfiguration((hostingContext, config) =>
        {
            var env = hostingContext.HostingEnvironment;

            config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);

            if (env.IsDevelopment())
            {
                var appAssembly = Assembly.Load(new AssemblyName(env.ApplicationName));
                if (appAssembly != null)
                {
                    config.AddUserSecrets(appAssembly, optional: true);
                }
            }

            config.AddEnvironmentVariables();

            if (args != null)
            {
                config.AddCommandLine(args);
            }
        })
        .ConfigureLogging((hostingContext, logging) =>
        {
            logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
            logging.AddConsole();
            logging.AddDebug();
        })
        .UseDefaultServiceProvider((context, options) =>
        {
            options.ValidateScopes = context.HostingEnvironment.IsDevelopment();
        })
        .UseStartup<Startup>()
        .Build();
}
</code>```

Example of logging in other classes:

```<code>_logger.LogInformation("This log should go in kubernetes pod console");
</code>```

答:
Did you try adding "IncludeScopes": true under the Console key in your appsettings?

```<code>"Console": {
  "IncludeScopes": true
    "LogLevel": {
      "Default": "Information",
      "System": "Information",
      "Microsoft": "Information"
    }
}
</code>```

I was able to stream logs running this kubectl command:

kubectl logs --follow -c [containername] [podname]

Reponse from running pod:

```<code>←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:80
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Content root path: /app
</code>```

Body:
I wrote few web APIs in .net core 2.0 and deployed it using a docker container inside a Kubernetes cluster. I am using the below logging configuration but can't see any logs inside the Kubernetes pod console. Am I missing something here?:

Logging section in appsettings.json & appsettings.Development.json

{
  "Logging": {
    "IncludeScopes": true,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    },
    "Console": {
      "LogLevel": {
        "Default": "Information",
        "System": "Information",
        "Microsoft": "Information"
      }
    }
  }
}

Inside Program.cs:

public static IWebHost BuildWebHost(string[] args)
{
    return new WebHostBuilder()
        .UseKestrel()
        .ConfigureAppConfiguration((hostingContext, config) =>
        {
            var env = hostingContext.HostingEnvironment;

            config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);

            if (env.IsDevelopment())
            {
                var appAssembly = Assembly.Load(new AssemblyName(env.ApplicationName));
                if (appAssembly != null)
                {
                    config.AddUserSecrets(appAssembly, optional: true);
                }
            }

            config.AddEnvironmentVariables();

            if (args != null)
            {
                config.AddCommandLine(args);
            }
        })
        .ConfigureLogging((hostingContext, logging) =>
        {
            logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
            logging.AddConsole();
            logging.AddDebug();
        })
        .UseDefaultServiceProvider((context, options) =>
        {
            options.ValidateScopes = context.HostingEnvironment.IsDevelopment();
        })
        .UseStartup<Startup>()
        .Build();
}

Example of logging in other classes:

_logger.LogInformation("This log should go in kubernetes pod console");

Body:
Did you try adding "IncludeScopes": true under the Console key in your appsettings?

"Console": {
  "IncludeScopes": true
    "LogLevel": {
      "Default": "Information",
      "System": "Information",
      "Microsoft": "Information"
    }
}

I was able to stream logs running this kubectl command:

kubectl logs --follow -c [containername] [podname]

Reponse from running pod:

←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:80
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Hosting.Lifetime[0]
      Content root path: /app


问:
How to handle errors to dispatch a POST in redux
Hi I am new to Redux and looking how to handle errors to dispatch a POST using axios with thunk.  I am trying to catch any error coming from the extra reducers. I am using a console.log for error temporarily. Any feedback will be great! Here is a snip of my code:</p>
```<code>export const postInfo = createAsyncThunk(
  'info/postInfo'
  async (infoObject: InfoRequest) => {
    const response = await axios.post(`${url}/info`, infoObject);
    return response.data;
  }
);
...
extraReducers: (builder) => {
  builder
    ....
    .addCase(postInfo.rejected, (state, action) => {
      state.request.status = 'failed';
      state.request.error = action.error.message;
    })
}
...
const sendInfoRequest = async () => {
  try {
    const infoObjRequest: InfoRequest = {
      userId: 8,
      firstName: 'John',
      lastName: 'Smith'
    };
    await dispatch(postInfo(infoObjRequest));
  } catch (err) {
       // TODO: how to use error handling for rejected?
       console.log('rejected for post /info', err);
  }
};

</code>```

答:
You can do it by unwrapping-result-actions.

E.g.

index.ts:

```<code>import { configureStore, createAsyncThunk, createSlice, unwrapResult } from '@reduxjs/toolkit';

export const postInfo = createAsyncThunk('info/postInfo', async () => {
  throw new Error('get post info fails');
});
const postInfoSlice = createSlice({
  name: 'postInfo',
  initialState: {
    request: { status: 'idle', error: '' },
  },
  reducers: {},
  extraReducers: (builder) => {
    builder.addCase(postInfo.rejected, (state, action) => {
      state.request.status = 'failed';
      state.request.error = action.error.message as string;
    });
  },
});

const store = configureStore({ reducer: postInfoSlice.reducer });

const sendInfoRequest = async () => {
  try {
    await store.dispatch(postInfo()).unwrap();
  } catch (err) {
    console.log('rejected for post /info', err);
  }
};

sendInfoRequest();
</code>```

Execution result:

rejected for post /info {
  name: 'Error',
  message: 'get post info fails',
  stack: 'Error: get post info fails\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:4:9\n' +
    '    at step (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:33:23)\n' +
    '    at Object.next (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:14:53)\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:8:71\n' +
    '    at new Promise (<anonymous>)\n' +
    '    at __awaiter (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:4:12)\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:3:59\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js:1172:57\n' +
    '    at step (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js:38:23)\n' +
    '    at Object.next (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js:19:53)'
}
```
<p>Or, return a rejected value use <code>thunkAPI.rejectWithValue()</code> instead of throw error in thunk.</p>
```export const postInfo = createAsyncThunk('info/postInfo', async (_, thunkAPI) => {
  // throw new Error('get post info fails');
  return thunkAPI.rejectWithValue({ code: 2000, message: 'parameter invalid' });
});
```
<p>Execution result:</p>
<pre class="lang-sh prettyprint-override"><code>rejected for post /info { code: 2000, message: 'parameter invalid' }
</code>```

Body:
Hi I am new to Redux and looking how to handle errors to dispatch a POST using axios with thunk.  I am trying to catch any error coming from the extra reducers. I am using a console.log for error temporarily. Any feedback will be great! Here is a snip of my code:

export const postInfo = createAsyncThunk(
  'info/postInfo'
  async (infoObject: InfoRequest) => {
    const response = await axios.post(`${url}/info`, infoObject);
    return response.data;
  }
);
...
extraReducers: (builder) => {
  builder
    ....
    .addCase(postInfo.rejected, (state, action) => {
      state.request.status = 'failed';
      state.request.error = action.error.message;
    })
}
...
const sendInfoRequest = async () => {
  try {
    const infoObjRequest: InfoRequest = {
      userId: 8,
      firstName: 'John',
      lastName: 'Smith'
    };
    await dispatch(postInfo(infoObjRequest));
  } catch (err) {
       // TODO: how to use error handling for rejected?
       console.log('rejected for post /info', err);
  }
};

Body:
You can do it by unwrapping-result-actions.

E.g.

index.ts:

import { configureStore, createAsyncThunk, createSlice, unwrapResult } from '@reduxjs/toolkit';

export const postInfo = createAsyncThunk('info/postInfo', async () => {
  throw new Error('get post info fails');
});
const postInfoSlice = createSlice({
  name: 'postInfo',
  initialState: {
    request: { status: 'idle', error: '' },
  },
  reducers: {},
  extraReducers: (builder) => {
    builder.addCase(postInfo.rejected, (state, action) => {
      state.request.status = 'failed';
      state.request.error = action.error.message as string;
    });
  },
});

const store = configureStore({ reducer: postInfoSlice.reducer });

const sendInfoRequest = async () => {
  try {
    await store.dispatch(postInfo()).unwrap();
  } catch (err) {
    console.log('rejected for post /info', err);
  }
};

sendInfoRequest();

Execution result:

rejected for post /info {
  name: 'Error',
  message: 'get post info fails',
  stack: 'Error: get post info fails\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:4:9\n' +
    '    at step (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:33:23)\n' +
    '    at Object.next (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:14:53)\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:8:71\n' +
    '    at new Promise (<anonymous>)\n' +
    '    at __awaiter (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:4:12)\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/stackoverflow/71070359/index.ts:3:59\n' +
    '    at /Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js:1172:57\n' +
    '    at step (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js:38:23)\n' +
    '    at Object.next (/Users/dulin/workspace/github.com/mrdulin/redux-examples/packages/redux-toolkit-example/node_modules/@reduxjs/toolkit/dist/redux-toolkit.cjs.development.js:19:53)'
}

Or, return a rejected value use thunkAPI.rejectWithValue() instead of throw error in thunk.

export const postInfo = createAsyncThunk('info/postInfo', async (_, thunkAPI) => {
  // throw new Error('get post info fails');
  return thunkAPI.rejectWithValue({ code: 2000, message: 'parameter invalid' });
});

Execution result:

rejected for post /info { code: 2000, message: 'parameter invalid' }


问:
How to select next word after certain phrase? - Redshift SQL
Suppose I have a field with text that resembles:

```<code>{random text here} ABC DEF {my_variable_length_keyword} {random text here}
</code>```

What's the simplest way to select {my_variable_length_keyword}?

I've tried something like:

```<code>select
substring(my_field, charindex('ABC DEF', my_field) + len('ABC DEF'),
        len(my_field) - (charindex('ABC DEF', my_field) + len('ABC DEF')))
from my_table
</code>```

Any help would be amazing.

答:
```<code>SELECT trim('ABC DEF ' FROM regexp_substr(my_field, 'ABC DEF ([^ ]+)'))
FROM my_table
</code>```

Body:
Suppose I have a field with text that resembles:

{random text here} ABC DEF {my_variable_length_keyword} {random text here}

What's the simplest way to select {my_variable_length_keyword}?

I've tried something like:

select
substring(my_field, charindex('ABC DEF', my_field) + len('ABC DEF'),
        len(my_field) - (charindex('ABC DEF', my_field) + len('ABC DEF')))
from my_table

Any help would be amazing.


问:
Android Security Exception on imageView.setImageUri with album image Uri
The image source is a Uri which is stored in Firestore.
If a user saves their profile photo from either camera or album, it gets its Uri then stores as a string in the Firestore. There's no problem until this point.

I'll say the photo taken from Camera as CameraImage, and the photo chosen from the album as AlbumImage.

But when displaying the AlbumImage's Uri(as String) retrieved from Firestore, Security Exception is thrown.

Possible solutions I'm assuming are:

need to save the Uri in a different way.

need to load Uri in a different way.

Loding the image(error on this line):

```<code>iv_photo.setImageURI(Uri.parse(mUser.getPhotoString()));
</code>```

Activity for result:

```<code>Intent selectIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        selectIntent.setType("image/*");
        galleryResultLauncher.launch(selectIntent);
</code>```
```<code>    ActivityResultLauncher<Intent> galleryResultLauncher = registerForActivityResult(
            new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {

                @Override
                public void onActivityResult(ActivityResult result) {

                    if(result.getResultCode() == Activity.RESULT_OK){

                        Uri selectedImg = result.getData().getData();
                        iv_photo.setImageURI(selectedImg);
                        mUri = selectedImg.toString();
                    }
                }
            });
</code>```

Security Exception:

```<code>Permission Denial: opening provider com.google.android.apps.photos.contentprovider.impl.MediaContentProvider from ProcessRecord{c7fba1f 23624:com.example.seanlee_thefootballgallery_2201/u0a165} (pid=23624, uid=10165) that is not exported from UID 10118
</code>```

AlbumImage URIs is similar to this.

```<code>content://com.example.seanlee_thefootballgallery_2201/app_images/10-02-2022-09-17-01.jpg
</code>```

CameraImage URIs is similar to this.

```<code>content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F25/ORIGINAL/NONE/image%2Fjpeg/967503137
</code>```

Manifest:

```<code>    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="28" />
</code>```

答:
Solved.

Changing intent action from ACTION_PICK to ACTION_OPEN_DOCUMENT solved the issue.

Body:
The image source is a Uri which is stored in Firestore.
If a user saves their profile photo from either camera or album, it gets its Uri then stores as a string in the Firestore. There's no problem until this point.

I'll say the photo taken from Camera as CameraImage, and the photo chosen from the album as AlbumImage.

But when displaying the AlbumImage's Uri(as String) retrieved from Firestore, Security Exception is thrown.

Possible solutions I'm assuming are:

need to save the Uri in a different way.

need to load Uri in a different way.

Loding the image(error on this line):

iv_photo.setImageURI(Uri.parse(mUser.getPhotoString()));

Activity for result:

Intent selectIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        selectIntent.setType("image/*");
        galleryResultLauncher.launch(selectIntent);

    ActivityResultLauncher<Intent> galleryResultLauncher = registerForActivityResult(
            new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {

                @Override
                public void onActivityResult(ActivityResult result) {

                    if(result.getResultCode() == Activity.RESULT_OK){

                        Uri selectedImg = result.getData().getData();
                        iv_photo.setImageURI(selectedImg);
                        mUri = selectedImg.toString();
                    }
                }
            });

Security Exception:

Permission Denial: opening provider com.google.android.apps.photos.contentprovider.impl.MediaContentProvider from ProcessRecord{c7fba1f 23624:com.example.seanlee_thefootballgallery_2201/u0a165} (pid=23624, uid=10165) that is not exported from UID 10118

AlbumImage URIs is similar to this.

content://com.example.seanlee_thefootballgallery_2201/app_images/10-02-2022-09-17-01.jpg

CameraImage URIs is similar to this.

content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F25/ORIGINAL/NONE/image%2Fjpeg/967503137

Manifest:

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="28" />


问:
C (s)printf exploit, $hn and %10
when trying to follow a tutorial on string exploits in C, I had the following questions which I do not seem to find an answer to.

"If we were to pass the string AAAA%10$n, we would write the value 4 to the address 0x41414141!". This is an excerpt from a tutorial. But how come we write a 4? I do realize that AAAA in hex becomes 0x41414141 but then %10$n is written. What does this 10 mean, what does this dollar mean and where does the 4 come from?

The final solution to an exploit for a wargame is given below. It however seems I can completely drop the %238x (what was the purpose of this anyway?) and here the end of the string is %10$hn. what does 'hn' here mean? The C reference documentation refers to 'hn' as "unsigned short *". Is this even a datatype?

$(python -c 'print "\x40\x99\x04\x08%238x%10$hn"')

答: Adding to ctx's answer, the value 4 comes from the length of the string before the parameter %n; in this case, its AAAA is 4 characters long.

Title: C (s)printf exploit, $hn and %10


问:
How to switch from .then to async await in Vue JS
I am wondering how to switch the created function that is already asynchronours via .then, to async await.

```<code>created() {
    this.$http.get("wp/v2/posts").then(
      response => {
        for (let post in response.data) {
          this.posts.push(response.data[post]);
        }
        this.$store.dispatch({
          type: "updatePost",
          value: this.posts
        });
      },
      error => {
        alert(error);
      }
    );
}
</code>```

I could easily add async created() and await this.$http.get, but couldn't figure out on the error => {} part since the curly braces for responses will also be gone.

答:
Thanks for the suggestion on try and catch. Please correct me if I am wrong with this:</p>
```<code>async created() {
    const response = await this.$http.get("wp/v2/posts")

    try {
      for (let post in response.data) {
        this.posts.push(response.data[post]);
      }
      this.$store.dispatch({
        type: "updatePost",
        value: this.posts
      });
    }
    catch (error) {
      alert(error);
    }
}
</code>```

Body:
I am wondering how to switch the created function that is already asynchronours via .then, to async await.

created() {
    this.$http.get("wp/v2/posts").then(
      response => {
        for (let post in response.data) {
          this.posts.push(response.data[post]);
        }
        this.$store.dispatch({
          type: "updatePost",
          value: this.posts
        });
      },
      error => {
        alert(error);
      }
    );
}

I could easily add async created() and await this.$http.get, but couldn't figure out on the error => {} part since the curly braces for responses will also be gone.

Body:
Thanks for the suggestion on try and catch. Please correct me if I am wrong with this:

async created() {
    const response = await this.$http.get("wp/v2/posts")

    try {
      for (let post in response.data) {
        this.posts.push(response.data[post]);
      }
      this.$store.dispatch({
        type: "updatePost",
        value: this.posts
      });
    }
    catch (error) {
      alert(error);
    }
}


问:
Filtering a Wave
I am trying to write a function filter_wave(wave,1) and this will produce a new wave which is a smoothed version of the input wave. Following the rules below:

In the new wave, for every position i, it is the weighted sum of three positions of the original wave. Specifically, the new wave value in position i will be equal to

```<code>new_wave[i] = wave[i-1] * 0.2 + wave[i]*0.6 + wave[i+1]*0.2
</code>```

some of the conditions:

Let len(wave) be L. The above method will access wave[-1] and wave[L] which do NOT exist in the original wave. So, you can deem the values of wave[-1] and wave[L] as 0.

All the numbers in the new wave will be integers.

I have written the following code but not sure what are the issues exactly since the program keeps returning 0

```<code>def filter_wave(wave,times):
    new_wave = []
    for i in range(len(wave)):
        if wave[i-1] < wave[0]:
            return 0
        if wave[i+1] > len(wave):
            return 0
    new_wave = wave[i-1] * 0.2 + wave[i]*0.6 + wave[i+1]*0.2
    new_wave.insert(i,int(new_wave))
    return new_wave
</code>```

答:
There are better ways to do this, but this is parallel to your choices.

```<code>def filter_wave(wave,times):
    new_wave = []
    for i in range(len(wave)):
        if i == 0:
            prev = 0
        else:
            prev = wave[i-1]
        if i+1 >= len(wave):
            nxt = 0
        else:
            nxt = wave[i+1]
        new_wave.append( prev * 0.2 + wave[i] * 0.6 + nxt * 0.2 )
    return new_wave
</code>```

Alternative, which handles the endpoints outside the loop, thereby making the loop simpler:

```<code>def filter_wave(wave,times):
    new_wave = []
    new_wave.append( wave[0] * 0.6 + wave[1] * 0.2 )
    for i in range(1, len(wave)-1):
        new_wave.append( wave[i-1] * 0.2 + wave[i] * 0.6 + wave[i+1] * 0.2 )
    new_wave.append( wave[-2] * 0.2 + wave[-1] * 0.6 )
    return new_wave
</code>```

Title: Filtering a Wave

Body:
I am trying to write a function filter_wave(wave,1) and this will produce a new wave which is a smoothed version of the input wave. Following the rules below:

In the new wave, for every position i, it is the weighted sum of three positions of the original wave. Specifically, the new wave value in position i will be equal to

new_wave[i] = wave[i-1] * 0.2 + wave[i]*0.6 + wave[i+1]*0.2

some of the conditions:

Let len(wave) be L. The above method will access wave[-1] and wave[L] which do NOT exist in the original wave. So, you can deem the values of wave[-1] and wave[L] as 0.

All the numbers in the new wave will be integers.

I have written the following code but not sure what are the issues exactly since the program keeps returning 0

def filter_wave(wave,times):
    new_wave = []
    for i in range(len(wave)):
        if wave[i-1] < wave[0]:
            return 0
        if wave[i+1] > len(wave):
            return 0
    new_wave = wave[i-1] * 0.2 + wave[i]*0.6 + wave[i+1]*0.2
    new_wave.insert(i,int(new_wave))
    return new_wave

Body:
There are better ways to do this, but this is parallel to your choices.

def filter_wave(wave,times):
    new_wave = []
    for i in range(len(wave)):
        if i == 0:
            prev = 0
        else:
            prev = wave[i-1]
        if i+1 >= len(wave):
            nxt = 0
        else:
            nxt = wave[i+1]
        new_wave.append( prev * 0.2 + wave[i] * 0.6 + nxt * 0.2 )
    return new_wave

Alternative, which handles the endpoints outside the loop, thereby making the loop simpler:

def filter_wave(wave,times):
    new_wave = []
    new_wave.append( wave[0] * 0.6 + wave[1] * 0.2 )
    for i in range(1, len(wave)-1):
        new_wave.append( wave[i-1] * 0.2 + wave[i] * 0.6 + wave[i+1] * 0.2 )
    new_wave.append( wave[-2] * 0.2 + wave[-1] * 0.6 )
    return new_wave


问:
Is there a way to loop this in R?
I have 2 different group of matrices where the first group has data of 95 subjects with the name FC_sub-*.xlsx and the second group also with data of 95 subjects with the name SC_sub-*.xlsx. I need to do correlation between similar subjects in these 2 different groups. I know to do them individually. For eg:

SC_FC_sub_0152 <- corr.test(SC_sub_0152,FC_sub_0152, method="spearman", adjust="none")
SC_FC_sub_0225 <- corr.test(SC_sub_0225,FC_sub_0225, method="spearman", adjust="none")
```

but I couldn't write a code to loop through 2 different groups performing correlation on similar subjects. Is there any way to do this in R studio?

Any help would be appreciated, Thank you!

Title: Is there a way to loop this in R?

Body:
I have 2 different group of matrices where the first group has data of 95 subjects with the name FC_sub-*.xlsx and the second group also with data of 95 subjects with the name SC_sub-*.xlsx. I need to do correlation between similar subjects in these 2 different groups. I know to do them individually. For eg:

SC_FC_sub_0152 <- corr.test(SC_sub_0152,FC_sub_0152, method="spearman", adjust="none")
SC_FC_sub_0225 <- corr.test(SC_sub_0225,FC_sub_0225, method="spearman", adjust="none")

but I couldn't write a code to loop through 2 different groups performing correlation on similar subjects. Is there any way to do this in R studio?

Any help would be appreciated, Thank you!

Body:
You specified that there were exactly 95 in each. This answer is based on the assumption that matches are in the same row of the different files. (For example, let's say SC_sub_0152 is in row 10 in the data frame df1. Then FC_sub_0152 is in row 10 in the data frame df2. If that's not the case, let me know.

First I created sample data, I thought I would include this so you could see how the data is arranged.

# create enough data for 100 values for each of the 95 subjects
#   for each of the two "SC" and "FC"
set.seed(3525) # make rnorm repeatable
df1 = rnorm(95*100, 60, 5) %>%
  matrix(ncol = 95, nrow = 100) %>%
  as.data.frame()
df2 = rnorm(95*100, 98, 7) %>%
  matrix(ncol = 95, nrow = 100) %>%
  as.data.frame()

# rename with subjects' names
names(df1) <- paste0("SC_sub_",1001:1095)

names(df2) <- paste0("FC_sub_",1001:1095)

head(df1[ ,1:5])
#   SC_sub_1001 SC_sub_1002 SC_sub_1003 SC_sub_1004 SC_sub_1005
# 1    54.97210    55.71496    56.77082    61.78804    58.47530
# 2    59.56508    62.20298    64.72606    58.04266    64.10494
# 3    56.59274    59.87084    50.21309    57.48015    50.34556
# 4    56.91834    61.88379    59.12483    54.84310    66.01470
# 5    56.25455    51.98541    67.23616    57.86956    62.93199
# 6    62.91731    47.86165    66.02651    58.31986    59.51732
head(df2[ ,1:5])
#   FC_sub_1001 FC_sub_1002 FC_sub_1003 FC_sub_1004 FC_sub_1005
# 1    91.35180    93.69772   109.92090    81.96129    97.38721
# 2    87.34593    94.23049    95.68794    96.63895   102.92409
# 3    98.54663    91.52573    98.23197   107.08319    95.23934
# 4    95.99381   102.91114    92.83983   103.88144   103.91662
# 5    97.29054    81.85647   118.66778   108.90409   110.02502
# 6    95.07343    89.82221    97.14673   104.53310    92.81907

Then I mapped this data to collect Spearman's rank correlation coefficient. This creates a data frame with the name of the two subjects, the statistic, p value, and the rho value.

# if they are 1:1 in order already this works:
results = map_dfr(1:95,
                  .f = function(x){
                  test = cor.test(df1[, x],
                                  df2[, x],
                                  method = "spearman",
                                  adjust = "none")
                  data.frame(subjects = paste0("SC_FC_sub_",
                                               str_extract(names(df1)[x],
                                                           "\\d+")),
                             S = test$statistic,
                             p.value = test$p.value,
                             rho = test$estimate,
                             row.names = NULL)
                  })

head(results)
#         subjects      S    p.value          rho
# 1 SC_FC_sub_1001 141784 0.13826617  0.149210921
# 2 SC_FC_sub_1002 171962 0.75251341 -0.031875188
# 3 SC_FC_sub_1003 154588 0.47358280  0.072379238
# 4 SC_FC_sub_1004 203578 0.02690552 -0.221590159
# 5 SC_FC_sub_1005 167504 0.95961617 -0.005124512
# 6 SC_FC_sub_1006 183856 0.30613358 -0.103246325


问:
Sql - Using boolean logic in the where clause
i have a where clause that looks like this

```<code>WHERE
    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999)
    AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999)
</code>```

it is basically allowing filtering within ceratin ranges to be specified for a report
If values are omitted then they default to a very larg positive or negative number

The problem I have is that certain users don't have a Tolerance defined, which means their Tolerance percentage will always be zero,

so if the report specifed a criteria like this

```<code>set @GBPExposureUpper = -7500
    set @OnsideOffsideUpper = -3
    set @UsedToleranceUpper = -100
</code>```

then it would not include users who don't have a tolerance defined (as their tolerance will be zero - which is obviously larger than -100)

So I've created a bit field (@ShowNoSpecialTerms) which is controlled from a checkbox on the report which sets a flag to indicate that we want to addiionally include users who don't have a tolerance defined

When this is false we should use the filter conditions as normal

When this it is true, we should additionally include users who don't have a tolerance defined - these can be identified using the ToleranceLevel column

so the logic is kind of like

```<code>if (@ShowNoSpecialTerms = 0)

    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999)
    AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999)

...

if  (@ShowNoSpecialTerms = 1)
--then additionally bring back result where ToleranceLevel=0
</code>```

Have tried the following

```<code>WHERE
    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND (@ShowNoSpecialTerms = 0 OR
        UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999)
        AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999))
</code>```

This is half way to what I want - basically when    @ShowNoSpecialTerms = 1 it ignores the rest of the tolerance check

However, what I want is for it to return he results or the tolerance check PLUS those users who have a ToleranceLevel of zero

答:
have solved it:</p>

```<code>WHERE
    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND (
            -- it falls in this tolerance range
            (UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999) AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999))
            -- OR, if it falls outside of the range but the tolerance is zero AND we have asked these results to be additionally included
            OR(@ShowNoSpecialTerms = 1 AND ToleranceLevel = 0)
        )
</code>```

Body:
i have a where clause that looks like this

WHERE
    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999)
    AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999)

it is basically allowing filtering within ceratin ranges to be specified for a report
If values are omitted then they default to a very larg positive or negative number

The problem I have is that certain users don't have a Tolerance defined, which means their Tolerance percentage will always be zero,

so if the report specifed a criteria like this

set @GBPExposureUpper = -7500
    set @OnsideOffsideUpper = -3
    set @UsedToleranceUpper = -100

then it would not include users who don't have a tolerance defined (as their tolerance will be zero - which is obviously larger than -100)

So I've created a bit field (@ShowNoSpecialTerms) which is controlled from a checkbox on the report which sets a flag to indicate that we want to addiionally include users who don't have a tolerance defined

When this is false we should use the filter conditions as normal

When this it is true, we should additionally include users who don't have a tolerance defined - these can be identified using the ToleranceLevel column

so the logic is kind of like

if (@ShowNoSpecialTerms = 0)

    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999)
    AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999)

...

if  (@ShowNoSpecialTerms = 1)
--then additionally bring back result where ToleranceLevel=0

Have tried the following

WHERE
    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND (@ShowNoSpecialTerms = 0 OR
        UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999)
        AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999))

This is half way to what I want - basically when    @ShowNoSpecialTerms = 1 it ignores the rest of the tolerance check

However, what I want is for it to return he results or the tolerance check PLUS those users who have a ToleranceLevel of zero

Body:
have solved it:

WHERE
    OnSideOffSideTotal  < Isnull(@OnsideOffsideUpper, 9999999999999)
    AND OnSideOffSideTotal  > Isnull(@OnsideOffsideLower, -9999999999999)
    AND GbpExposureClientTotal < Isnull(@GBPExposureUpper, 9999999999999)
    AND GbpExposureClientTotal > Isnull(@GBPExposureLower, -9999999999999)
    AND (
            -- it falls in this tolerance range
            (UsedTolerancePercentage < Isnull(@UsedToleranceUpper, 9999999999999) AND UsedTolerancePercentage > Isnull(@UsedToleranceLower, -9999999999999))
            -- OR, if it falls outside of the range but the tolerance is zero AND we have asked these results to be additionally included
            OR(@ShowNoSpecialTerms = 1 AND ToleranceLevel = 0)
        )


问:
Internet facing on-Premise Dynamics 365 will only accept Windows Authentication login. Users require CRM email login access
Recently one of our Dynamics 365 On-Premise customers Version 1612 (9.0.20.7) had IFD configured with Active Directory Federation Service v10.

They are able to login with their windows authentication logins details but require to login with their Dynamics 365 email and password instead.

I'm not entirely familiar with AD-FS (I was not part of the IFD process) but there must be a way to setup alternative login for the user's email addresses.

Possible fixes I've encountered are:

This MS document that suggests setting up an alternative login ID using Powershell

It may be possible to edit the AD claim rules directly in ADFS to allow email logins but I am not familiar enough with ADFS to know if this would work.

If anyone could point me in the right direction that would be a massive help

答:
The user should be able to login to Dynamics365 using "<domain>\<username>" or "<username>@<UPN Suffix>"

The user UPN Suffix can be set in Active Directory on the Account tab of the User Object.

To add more options or to add email domain to the UPN Suffix open "Active Directory Domains and Trusts" right click "Active Directory Domains and Trusts [<Domain Server>]" then select "Properties"


问:
ASP.NET Core application can be run in .NET 4.7.2 environment?
I built an ASP.NET Core application, but I have a hosting server which allows .NET 4.7.2 version only.

Is it possible to deploy to that environment?

答:
As @marc_s already said that you cannot run .NET Core on .Net xxx
run time as two version has it's own runtime and they are different in
regards of its architecture.

If you have a .NET Core application, depending on its version, you could choose your runtime.

Here is the official release of all .NET Core versions:

Note

If you have any requirement where you need to communicate both .NET Core xxx version along with the Classic .NET xxx version, there is a way to build a bridge between them that is .NET Standard library.
The main goal behind .NET Standard was to establish greater uniformity in the .NET ecosystem. You can get more details in the official document here

Hope above explanation guided you accordingly.


问:
TransitGatewayRouteTableId for default TransitGatewayRouteTable
I am using the following settings for creating a transit gateway through CloudFormation.

```<code>AutoAcceptSharedAttachments: disable
DefaultRouteTableAssociation: enable
DefaultRouteTablePropagation: enable
</code>```

I want to know how can one get the "TransitGatewayRouteTableId" in this situation? It is a necessary property for creating a static route in the default transit gateway route table.

```<code>Type: AWS::EC2::TransitGatewayRoute
Properties:
  Blackhole: Boolean
  DestinationCidrBlock: String
  TransitGatewayAttachmentId: String
  TransitGatewayRouteTableId: String
</code>```

I have already tried the following !GetAtt intrinsic function but it doesn't work since it seems that the only return value for a transit gateway resource is the id https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html

TransitGatewayRouteTableId: !GetAtt TransitGateway.AssociationDefaultRouteTableId

答:
Thats an annoying limitation of the AWS::EC2::TransitGatewayRoute resource you will have to write a custom resource using a lambda function to retrieve AssociationDefaultRouteTableId, use the transit-gateway id value and pass it into custom resource lambda. If you're going to use python use describe-transit-gateways method https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_transit_gateways

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html

Body:
I am using the following settings for creating a transit gateway through CloudFormation.

AutoAcceptSharedAttachments: disable
DefaultRouteTableAssociation: enable
DefaultRouteTablePropagation: enable

I want to know how can one get the "TransitGatewayRouteTableId" in this situation? It is a necessary property for creating a static route in the default transit gateway route table.

Type: AWS::EC2::TransitGatewayRoute
Properties:
  Blackhole: Boolean
  DestinationCidrBlock: String
  TransitGatewayAttachmentId: String
  TransitGatewayRouteTableId: String

I have already tried the following !GetAtt intrinsic function but it doesn't work since it seems that the only return value for a transit gateway resource is the id https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html

TransitGatewayRouteTableId: !GetAtt TransitGateway.AssociationDefaultRouteTableId