diff --git a/CHANGELOG.md b/CHANGELOG.md index 15212df..4fedc59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog of `@reason-react-native/safe-area-context` +## 3.0.0 - 2020-06-20 + +- Switch to records for types +- Lots of breaking changes, see + [react-native-safe-area-context releases notes](https://github.com/th3rdwave/react-native-safe-area-context/releases) + and our README. We adjusted to v3. + ## 0.7.0 - 2020-02-29 - Use `bs-platform@7.2.0` diff --git a/README.md b/README.md index 7458f74..e4bef4c 100644 --- a/README.md +++ b/README.md @@ -50,17 +50,36 @@ your `bsconfig.json`. Something like ```reason type insets = { - . - "top": float, - "bottom": float, - "left": float, - "right": float, + top: float, + bottom: float, + left: float, + right: float, +}; +``` + +#### `ReactNativeSafeAreaContext.frame` + +```reason +type frame = { + x: float, + y: float, + width: float, + height: float, +}; +``` + +#### `ReactNativeSafeAreaContext.metrics` + +```reason +type metrics = { + insets, + frame, }; ``` ### Constants -#### `initialWindowSafeAreaInsets` +#### `initialWindowMetrics` See @@ -74,7 +93,7 @@ open ReactNativeSafeAreaContext; [@react.component] let make = () => { - + // your app... ; @@ -82,9 +101,22 @@ let make = () => { ``` See for -`initialSafeAreaInsets`. +`initialMetrics`. + +#### `ReactNativeSafeAreaContext.useSafeAreaInsets(): insets` + +```reason +open ReactNative; +open ReactNativeSafeAreaContext; + +[@react.component] +let make = () => { + let insets = useSafeAreaInsets(); + ; +} +``` -#### `ReactNativeSafeAreaContext.useSafeArea(): insets` +#### `ReactNativeSafeAreaContext.useSafeAreaFrame(): frame` ```reason open ReactNative; @@ -92,12 +124,12 @@ open ReactNativeSafeAreaContext; [@react.component] let make = () => { - let insets = useSafeArea(); - ; + let frame = useSafeAreaFrame(); + ; } ``` -#### `` +#### `` ```reason open ReactNative; @@ -105,10 +137,10 @@ open ReactNativeSafeAreaContext; [@react.component] let make = () => { - + // your component, handy for classes {insets => } - ; + ; } ``` diff --git a/package.json b/package.json index e77ba2f..3114b91 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "@reason-react-native/safe-area-context", - "version": "0.7.0", + "version": "3.0.0", "publishConfig": { "access": "public" }, "peerDependencies": { - "reason-react": "^0.7.0", - "reason-react-native": "^0.61.0", - "react-native-safe-area-context": "^0.7.0" + "react-native-safe-area-context": "^3.0.0", + "reason-react": "^0.8.0", + "reason-react-native": "^0.62.0" }, "repository": "https://github.com/reason-react-native/safe-area-context.git", "license": "MIT", @@ -38,13 +38,13 @@ "release": "npmpub" }, "devDependencies": { - "bs-platform": "^7.2.0", + "bs-platform": "^7.3.0", "husky": "^1.3.0", "lint-staged": "^10.1.1", "npmpub": "^5.0.0", "prettier": "^1.18.0", - "reason-react": "^0.7.0", - "reason-react-native": "^0.61.0" + "reason-react": "^0.8.0", + "reason-react-native": "^0.62.0" }, "prettier": { "trailingComma": "all", diff --git a/src/ReactNativeSafeAreaContext.bs.js b/src/ReactNativeSafeAreaContext.bs.js index 5d834e8..a601250 100644 --- a/src/ReactNativeSafeAreaContext.bs.js +++ b/src/ReactNativeSafeAreaContext.bs.js @@ -1,14 +1,25 @@ 'use strict'; -var View$ReactNative = require("reason-react-native/src/components/View.bs.js"); +var NativeElement$ReactNative = require("reason-react-native/src/elements/NativeElement.bs.js"); -var SafeAreaProvider = { }; +var Consumer = { }; + +var SafeAreaInsetsContext = { + Consumer: Consumer +}; + +var Consumer$1 = { }; -var SafeAreaConsumer = { }; +var SafeAreaFrameContext = { + Consumer: Consumer$1 +}; + +var SafeAreaProvider = { }; var SafeAreaView = { }; +exports.SafeAreaInsetsContext = SafeAreaInsetsContext; +exports.SafeAreaFrameContext = SafeAreaFrameContext; exports.SafeAreaProvider = SafeAreaProvider; -exports.SafeAreaConsumer = SafeAreaConsumer; exports.SafeAreaView = SafeAreaView; -/* View-ReactNative Not a pure module */ +/* NativeElement-ReactNative Not a pure module */ diff --git a/src/ReactNativeSafeAreaContext.re b/src/ReactNativeSafeAreaContext.re index e6814de..d84db18 100644 --- a/src/ReactNativeSafeAreaContext.re +++ b/src/ReactNativeSafeAreaContext.re @@ -1,39 +1,169 @@ type insets = { - . - "top": float, - "bottom": float, - "left": float, - "right": float, + top: float, + bottom: float, + left: float, + right: float, }; +type frame = { + x: float, + y: float, + width: float, + height: float, +}; + +type metrics = { + insets, + frame, +}; + +[@bs.module "react-native-safe-area-context"] +external initialWindowMetrics: metrics = "initialWindowMetrics"; + [@bs.module "react-native-safe-area-context"] -external initialWindowSafeAreaInsets: insets = "initialWindowSafeAreaInsets"; +external useSafeAreaInsets: unit => insets = "useSafeAreaInsets"; + +[@bs.module "react-native-safe-area-context"] +external useSafeAreaFrame: unit => frame = "useSafeAreaFrame"; + +module SafeAreaInsetsContext = { + module Consumer = { + [@react.component] + [@bs.module "react-native-safe-area-context"] + [@bs.scope "SafeAreaInsetsContext"] + external make: (~children: insets => React.element=?) => React.element = + "Consumer"; + }; +}; + +module SafeAreaFrameContext = { + module Consumer = { + [@react.component] + [@bs.module "react-native-safe-area-context"] + [@bs.scope "SafeAreaFrameContext"] + external make: (~children: frame => React.element=?) => React.element = + "Consumer"; + }; +}; module SafeAreaProvider = { + open ReactNative; + include NativeElement; + type edgeInsets = View.edgeInsets; + [@react.component] [@bs.module "react-native-safe-area-context"] external make: - (~initialSafeAreaInsets: insets, ~children: React.element=?) => + ( + ~initialMetrics: metrics=?, + // View props + ~accessibilityComponentType: [@bs.string] [ + | `none + | `button + | `radiobutton_checked + | `radiobutton_unchecked + ] + =?, + ~accessibilityElementsHidden: bool=?, + ~accessibilityHint: string=?, + ~accessibilityIgnoresInvertColors: bool=?, + ~accessibilityLabel: string=?, + ~accessibilityLiveRegion: [@bs.string] [ | `none | `polite | `assertive] + =?, + ~accessibilityRole: [@bs.string] [ + | `none + | `button + | `link + | `search + | `image + | `keyboardkey + | `text + | `adjustable + | `header + | `summary + | `imagebutton + | `article + | `banner + | `complementary + | `contentinfo + | `form + | `list + | `listitem + | `main + | `navigation + | `region + ] + =?, + ~accessibilityState: Accessibility.state=?, + ~accessibilityTraits: array(AccessibilityTrait.t)=?, + ~accessibilityValue: Accessibility.value=?, + ~accessibilityViewIsModal: bool=?, + ~accessible: bool=?, + ~collapsable: bool=?, + ~hitSlop: edgeInsets=?, + ~importantForAccessibility: [@bs.string] [ + | `auto + | `yes + | `no + | [@bs.as "no-hide-descendants"] + `noHideDescendants + ] + =?, + ~nativeID: string=?, + ~needsOffscreenAlphaCompositing: bool=?, + ~onAccessibilityEscape: unit => unit=?, + ~onAccessibilityTap: unit => unit=?, + ~onLayout: Event.layoutEvent => unit=?, + ~onMagicTap: unit => unit=?, + // Gesture Responder props + ~onMoveShouldSetResponder: Event.pressEvent => bool=?, + ~onMoveShouldSetResponderCapture: Event.pressEvent => bool=?, + ~onResponderEnd: Event.pressEvent => unit=?, + ~onResponderGrant: Event.pressEvent => unit=?, + ~onResponderMove: Event.pressEvent => unit=?, + ~onResponderReject: Event.pressEvent => unit=?, + ~onResponderRelease: Event.pressEvent => unit=?, + ~onResponderStart: Event.pressEvent => unit=?, + ~onResponderTerminate: Event.pressEvent => unit=?, + ~onResponderTerminationRequest: Event.pressEvent => bool=?, + ~onStartShouldSetResponder: Event.pressEvent => bool=?, + ~onStartShouldSetResponderCapture: Event.pressEvent => bool=?, + ~pointerEvents: [@bs.string] [ + | `auto + | `none + | [@bs.as "box-none"] `boxNone + | [@bs.as "box-only"] `boxOnly + ] + =?, + ~removeClippedSubviews: bool=?, + ~renderToHardwareTextureAndroid: bool=?, + ~shouldRasterizeIOS: bool=?, + ~style: Style.t=?, + ~testID: string=?, + ~children: React.element=?, + // React Native Web Props + ~onMouseDown: ReactEvent.Mouse.t => unit=?, + ~onMouseEnter: ReactEvent.Mouse.t => unit=?, + ~onMouseLeave: ReactEvent.Mouse.t => unit=?, + ~onMouseMove: ReactEvent.Mouse.t => unit=?, + ~onMouseOver: ReactEvent.Mouse.t => unit=?, + ~onMouseOut: ReactEvent.Mouse.t => unit=?, + ~onMouseUp: ReactEvent.Mouse.t => unit=? + ) => React.element = "SafeAreaProvider"; }; -[@bs.module "react-native-safe-area-context"] -external useSafeArea: unit => insets = "useSafeArea"; - -module SafeAreaConsumer = { - [@react.component] [@bs.module "react-native-safe-area-context"] - external make: (~children: insets => React.element=?) => React.element = - "SafeAreaConsumer"; -}; - module SafeAreaView = { open ReactNative; - include View; + include NativeElement; + type edgeInsets = View.edgeInsets; [@react.component] [@bs.module "react-native-safe-area-context"] external make: ( ~ref: ref=?, + ~edges: array(string)=?, + ~mode: [@bs.string] [ | `padding | `margin]=?, // View props ~accessibilityComponentType: [@bs.string] [ | `none @@ -60,10 +190,21 @@ module SafeAreaView = { | `header | `summary | `imagebutton + | `article + | `banner + | `complementary + | `contentinfo + | `form + | `list + | `listitem + | `main + | `navigation + | `region ] =?, - ~accessibilityStates: array(AccessibilityState.t)=?, + ~accessibilityState: Accessibility.state=?, ~accessibilityTraits: array(AccessibilityTrait.t)=?, + ~accessibilityValue: Accessibility.value=?, ~accessibilityViewIsModal: bool=?, ~accessible: bool=?, ~collapsable: bool=?, @@ -107,7 +248,15 @@ module SafeAreaView = { ~shouldRasterizeIOS: bool=?, ~style: Style.t=?, ~testID: string=?, - ~children: React.element=? + ~children: React.element=?, + // React Native Web Props + ~onMouseDown: ReactEvent.Mouse.t => unit=?, + ~onMouseEnter: ReactEvent.Mouse.t => unit=?, + ~onMouseLeave: ReactEvent.Mouse.t => unit=?, + ~onMouseMove: ReactEvent.Mouse.t => unit=?, + ~onMouseOver: ReactEvent.Mouse.t => unit=?, + ~onMouseOut: ReactEvent.Mouse.t => unit=?, + ~onMouseUp: ReactEvent.Mouse.t => unit=? ) => React.element = "SafeAreaView"; diff --git a/yarn.lock b/yarn.lock index acb113e..bfea841 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,17 +30,102 @@ dependencies: regenerator-runtime "^0.13.4" -"@octokit/rest@^14.0.7": - version "14.0.9" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-14.0.9.tgz#d5e0a00dcb78901dd7b2ef852acfc0aea7c479ef" - integrity sha512-irP9phKfTXEZIcW2R+VNCtGHZJrXMWmSYp6RRfFn4BtAqtDRXF5z9JxCEQlAhNBf6X1koNi5k49tIAAAEJNlVQ== - dependencies: - before-after-hook "^1.1.0" - debug "^3.1.0" - is-array-buffer "^1.0.0" - is-stream "^1.1.0" - lodash "^4.17.4" - url-template "^2.0.8" +"@octokit/auth-token@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.0.tgz#b64178975218b99e4dfe948253f0673cbbb59d9f" + integrity sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg== + dependencies: + "@octokit/types" "^2.0.0" + +"@octokit/core@^2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-2.4.3.tgz#f51c0c228e6aa01253f9452ba5a25dc20aee8577" + integrity sha512-9T91nYeBB7+PNK3oxOuA+6DXCPRvhJ80ke+NqhXirBjVtNepTKFJXoWPqguRSBQ+dkEVA8dZJMxfFzjz9yhiuA== + dependencies: + "@octokit/auth-token" "^2.4.0" + "@octokit/graphql" "^4.3.1" + "@octokit/request" "^5.3.1" + "@octokit/types" "^2.0.0" + before-after-hook "^2.1.0" + universal-user-agent "^5.0.0" + +"@octokit/endpoint@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.0.tgz#4c7acd79ab72df78732a7d63b09be53ec5a2230b" + integrity sha512-3nx+MEYoZeD0uJ+7F/gvELLvQJzLXhep2Az0bBSXagbApDvDW0LWwpnAIY/hb0Jwe17A0fJdz0O12dPh05cj7A== + dependencies: + "@octokit/types" "^2.0.0" + is-plain-object "^3.0.0" + universal-user-agent "^5.0.0" + +"@octokit/graphql@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.3.1.tgz#9ee840e04ed2906c7d6763807632de84cdecf418" + integrity sha512-hCdTjfvrK+ilU2keAdqNBWOk+gm1kai1ZcdjRfB30oA3/T6n53UVJb7w0L5cR3/rhU91xT3HSqCd+qbvH06yxA== + dependencies: + "@octokit/request" "^5.3.0" + "@octokit/types" "^2.0.0" + universal-user-agent "^4.0.0" + +"@octokit/plugin-paginate-rest@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.0.2.tgz#fee7a81a4cc7d03784aaf9225499dd6e27f6d01e" + integrity sha512-HzODcSUt9mjErly26TlTOGZrhf9bmF/FEDQ2zln1izhgmIV6ulsjsHmgmR4VZ0wzVr/m52Eb6U2XuyS8fkcR1A== + dependencies: + "@octokit/types" "^2.0.1" + +"@octokit/plugin-request-log@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" + integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== + +"@octokit/plugin-rest-endpoint-methods@3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.5.1.tgz#f8882cfb8d7e8cc1deb0b50813fe233468c61a8d" + integrity sha512-MBB4IKIbSUAc+novVCN6eAiP3i7tNzCfYxt7mW0j9hJ3rW88ng6MnJm6F235GAaAvwdHOjN+3AfRnIV1kE0/5Q== + dependencies: + "@octokit/types" "^2.0.1" + deprecation "^2.3.1" + +"@octokit/request-error@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.0.tgz#94ca7293373654400fbb2995f377f9473e00834b" + integrity sha512-rtYicB4Absc60rUv74Rjpzek84UbVHGHJRu4fNVlZ1mCcyUPPuzFfG9Rn6sjHrd95DEsmjSt1Axlc699ZlbDkw== + dependencies: + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.3.0", "@octokit/request@^5.3.1": + version "5.3.4" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.4.tgz#fbc950bf785d59da3b0399fc6d042c8cf52e2905" + integrity sha512-qyj8G8BxQyXjt9Xu6NvfvOr1E0l35lsXtwm3SopsYg/JWXjlsnwqLc8rsD2OLguEL/JjLfBvrXr4az7z8Lch2A== + dependencies: + "@octokit/endpoint" "^6.0.0" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + is-plain-object "^3.0.0" + node-fetch "^2.3.0" + once "^1.4.0" + universal-user-agent "^5.0.0" + +"@octokit/rest@^17.1.1": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-17.2.0.tgz#bdffe261d9d6fee5193953ae35772f7aecd57867" + integrity sha512-/r1yhGaGFCz/oghBkWKWQY36hpC1mG3ouAW6JHKgPzqOND02eZ1ZG+mJ98Ww3iq3SrFzyNHDAoyT7Er7iuut5A== + dependencies: + "@octokit/core" "^2.4.3" + "@octokit/plugin-paginate-rest" "^2.0.0" + "@octokit/plugin-request-log" "^1.0.0" + "@octokit/plugin-rest-endpoint-methods" "3.5.1" + +"@octokit/types@^2.0.0", "@octokit/types@^2.0.1": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.7.0.tgz#c57b75d993c2f80f4e7ed913a2f11d0502917b21" + integrity sha512-XGXXXccfWP+YYXNXtW7xS8b/J/EPDWfBXlMQIZWTZ7EcOA3o8ywhZqWcPb8MvbIcPP14duoIgnXpxXevNisRCQ== + dependencies: + "@types/node" ">= 8" "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" @@ -66,6 +151,11 @@ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/node@>= 8": + version "13.11.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.0.tgz#390ea202539c61c8fa6ba4428b57e05bc36dc47b" + integrity sha512-uM4mnmsIIPK/yeO+42F2RQhGUIs39K2RFmugcJANppXe6J1nvH87PvzPZYpza7Xhhs8Yn9yIAVdLZ84z61+0xQ== + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -140,10 +230,10 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -before-after-hook@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.4.0.tgz#2b6bf23dca4f32e628fd2747c10a37c74a4b484d" - integrity sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg== +before-after-hook@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== brace-expansion@^1.1.7: version "1.1.11" @@ -160,10 +250,10 @@ braces@^3.0.1: dependencies: fill-range "^7.0.1" -bs-platform@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-7.2.0.tgz#9b22a429313574de99e5a48e88224ae84ed64ee8" - integrity sha512-mgwsJ3C1nthhasoR1L3H/7+v7zuCybxI8rTrxl4aOJZfrEZSU2a3E7QTEFfB4gHpOJUvmC1/LkwQNlTTrHautg== +bs-platform@^7.3.0: + version "7.3.2" + resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-7.3.2.tgz#301f5c9b4e8cf5713cb60ca22e145e56e793affe" + integrity sha512-seJL5g4anK9la4erv+B2o2sMHQCxDF6OCRl9en3hbaUos/S3JsusQ0sPp4ORsbx5eXfHLYBwPljwKXlgpXtsgQ== caller-callsite@^2.0.0: version "2.0.0" @@ -335,13 +425,6 @@ date-fns@^1.27.2: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -354,6 +437,11 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -428,11 +516,6 @@ execa@^3.4.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execon@^1.2.0: - version "1.2.9" - resolved "https://registry.yarnpkg.com/execon/-/execon-1.2.9.tgz#6db11333dcc824f1f13e7317fed0d94a2f26491f" - integrity sha1-bbETM9zIJPHxPnMX/tDZSi8mSR8= - figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -503,11 +586,11 @@ get-stream@^5.0.0: pump "^3.0.0" github-release-from-changelog@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/github-release-from-changelog/-/github-release-from-changelog-2.1.0.tgz#7c6974862eff9ea3b5b96edffaeab711457e011e" - integrity sha512-3g8UfE3Ywls6NC5UlANXVfemSculsRRRU449sWCaHE7ekgdHoBE8EJwRunnWK1st5MZi7vn02aKAQ6yPdE5jMA== + version "2.1.1" + resolved "https://registry.yarnpkg.com/github-release-from-changelog/-/github-release-from-changelog-2.1.1.tgz#035b25d8d15521790da90d338de8d84b403d3197" + integrity sha512-7o9BNbAqGZ9A1lnnh9fPLpJy8ejhviogWO5MxIxCQPofYX1memFBAvOQGBUP28Iw13JUyYGacgk44riyEeHZog== dependencies: - grizzly "^3.0.3" + grizzly "^4.0.0" minimist "^1.2.0" glob@^6.0.1: @@ -522,9 +605,9 @@ glob@^6.0.1: path-is-absolute "^1.0.0" glob@^7.1.3: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -550,17 +633,17 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== -grizzly@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/grizzly/-/grizzly-3.0.4.tgz#960dddeb03d05a49e1d80c984792854f3af2c306" - integrity sha512-I+wP97IciZXIJJObJwyaUckOHdLl+XfjrZWI1pTO32e4gr3GLATOFhIg7gMVzK8dFi4Ue0f5CoeJd+ZMdhFQMA== +grizzly@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/grizzly/-/grizzly-4.0.3.tgz#deb7af15928169dcc76804e5b5d9b2ac72663bfb" + integrity sha512-yDavF67g2zYyxq5pMYv33Dv+6snKClgJLL3+0Dk7qABp5y5VNEkgp6K7qzfp8CcriWQFBN/uRHqmFskj7fcSmA== dependencies: - "@octokit/rest" "^14.0.7" + "@octokit/rest" "^17.1.1" checkup "^1.3.0" debug "^4.1.0" - execon "^1.2.0" minimist "^1.2.0" - readjson "^1.1.0" + readjson "^2.0.1" + try-catch "^3.0.0" has-ansi@^2.0.0: version "2.0.0" @@ -639,11 +722,6 @@ inherits@2: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -is-array-buffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-1.0.1.tgz#a4fac0cf325c1fad3f713e2b109eb241a907cf27" - integrity sha512-lj035IqdAwsodoRGs9/8+Kn3HPoz9CTuZbcw63afugWonxigvUVeHY5d6Ve1O+s1N3RCk7txo2TIWQLbU0SuNA== - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -690,6 +768,13 @@ is-observable@^1.1.0: dependencies: symbol-observable "^1.1.0" +is-plain-object@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" + integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== + dependencies: + isobject "^4.0.0" + is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" @@ -715,7 +800,12 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +isobject@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" + integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== + +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -823,11 +913,6 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -lodash@^4.17.4: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== - log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" @@ -851,13 +936,6 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - lru-cache@^4.0.0: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -866,6 +944,11 @@ lru-cache@^4.0.0: pseudomap "^1.0.2" yallist "^2.1.2" +macos-release@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" + integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -897,9 +980,9 @@ mimic-fn@^2.1.0: brace-expansion "^1.1.7" minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== mount-point@^3.0.0: version "3.0.0" @@ -920,6 +1003,11 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-fetch@^2.3.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + normalize-package-data@^2.3.2: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -972,7 +1060,7 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -1003,6 +1091,14 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= +os-name@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" + integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== + dependencies: + macos-release "^2.2.0" + windows-release "^3.1.0" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -1150,15 +1246,6 @@ prettier@^1.18.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== -prop-types@^15.6.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -1172,30 +1259,6 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -react-dom@>=16.8.1: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" - integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.18.0" - -react-is@^16.8.1: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" - integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== - -react@>=16.8.1: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" - integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - read-pkg@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" @@ -1205,25 +1268,22 @@ read-pkg@^4.0.1: parse-json "^4.0.0" pify "^3.0.0" -readjson@^1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/readjson/-/readjson-1.1.4.tgz#89501f648453dcda9b15399b3fb10c38249662c7" - integrity sha512-H4dRk2S67w3HtE1apnw5wlHpN9qkJ0pen0AcEvyAfnrPfskZIyUOYLXpfN6olDQZI+eUlxg0Yo4lJ2bymujOUA== +readjson@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/readjson/-/readjson-2.0.1.tgz#1822964dfd0bc0b49c8f983c192a9dd5309eb9e1" + integrity sha512-6WuJWYFKx9IVT0zogHlyRC6p+RttAC457garckmGQ8qKICT/xLVrpmvlwp8nTwPHzopbdXIJ593Df8AErIbgeQ== dependencies: - try-catch "^2.0.0" + try-catch "^3.0.0" -reason-react-native@^0.61.0: - version "0.61.0" - resolved "https://registry.yarnpkg.com/reason-react-native/-/reason-react-native-0.61.0.tgz#61579b309305b03c4cc7f44e9b6f2be3603474b4" - integrity sha512-HBkbeNFpIsyMZw0jj0YutX1RsujRfwhAtcxxN5tK9W8lClUedaUxzi5pIqmf6XsE02/23TOWh9tNXS0ltM8S2A== +reason-react-native@^0.62.0: + version "0.62.0" + resolved "https://registry.yarnpkg.com/reason-react-native/-/reason-react-native-0.62.0.tgz#0f10e442a5bbb1a05124c9f595fed79673b0218a" + integrity sha512-tq13KJHk0D0otBviH9DJvejdcncxhCu8qR+AAiOWq4oQBC0cm9Zrl6+h+Wi+80pc9Cbe8KyMhcZh9N7e/X2dFA== -reason-react@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/reason-react/-/reason-react-0.7.0.tgz#46a975c321e81cd51310d7b1a02418ca7667b0d6" - integrity sha512-czR/f0lY5iyLCki9gwftOFF5Zs40l7ZSFmpGK/Z6hx2jBVeFDmIiXB8bAQW/cO6IvtuEt97OmsYueiuOYG9XjQ== - dependencies: - react ">=16.8.1" - react-dom ">=16.8.1" +reason-react@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/reason-react/-/reason-react-0.8.0.tgz#a55143f95a872596c92b54595e7904c03ee7c9db" + integrity sha512-97AfK3eCF6vfP8rnbq3k6GgXsZt//OiPMINTUk5luJ8W0Wt/JaYsDG6eWKP8Zx3gPpxSU1EPjB1pUm6o6fBnFA== regenerator-runtime@^0.13.4: version "0.13.5" @@ -1282,14 +1342,6 @@ rxjs@^6.3.3: dependencies: tslib "^1.9.0" -scheduler@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" - integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -1476,20 +1528,29 @@ trash@^3.4.1: uuid "^2.0.1" xdg-trashdir "^2.0.0" -try-catch@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.1.tgz#a35d354187c422f291a0bcfd9eb77e3a4f90c1e5" - integrity sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg== +try-catch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-3.0.0.tgz#7996d8b89895e2e8ae62cbdbeb4fe17470f8131b" + integrity sha512-3uAqUnoemzca1ENvZ72EVimR+E8lqBbzwZ9v4CEbLjkaV3Q+FtdmPUt7jRtoSoTiYjyIMxEkf6YgUpe/voJ1ng== tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -url-template@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" - integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE= +universal-user-agent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557" + integrity sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg== + dependencies: + os-name "^3.1.0" + +universal-user-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9" + integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q== + dependencies: + os-name "^3.1.0" user-home@^2.0.0: version "2.0.0" @@ -1525,6 +1586,13 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +windows-release@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.0.tgz#dce167e9f8be733f21c849ebd4d03fe66b29b9f0" + integrity sha512-2HetyTg1Y+R+rUgrKeUEhAG/ZuOmTrI1NBb3ZyAGQMYmOJjBBPe4MTodghRkmLJZHwkuPi02anbeGP+Zf401LQ== + dependencies: + execa "^1.0.0" + wrap-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"