diff --git a/.gitignore b/.gitignore index 19655e7..d352933 100644 --- a/.gitignore +++ b/.gitignore @@ -84,7 +84,7 @@ yarn-error.log # CocoaPods Pods/ -dist/ +# dist/ - Commented out to allow Git dependencies to work # Debug log from lerna lerna-debug.log diff --git a/fixture/dist/App.d.ts b/fixture/dist/App.d.ts new file mode 100644 index 0000000..868779a --- /dev/null +++ b/fixture/dist/App.d.ts @@ -0,0 +1,4 @@ +/// +declare const App: () => JSX.Element; +export default App; +//# sourceMappingURL=App.d.ts.map \ No newline at end of file diff --git a/fixture/dist/App.d.ts.map b/fixture/dist/App.d.ts.map new file mode 100644 index 0000000..8a39b14 --- /dev/null +++ b/fixture/dist/App.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AAqDA,QAAA,MAAM,GAAG,mBA2BR,CAAC;AAEF,eAAe,GAAG,CAAC"} \ No newline at end of file diff --git a/fixture/dist/App.js b/fixture/dist/App.js new file mode 100644 index 0000000..27ff5e2 --- /dev/null +++ b/fixture/dist/App.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var native_1 = require("@react-navigation/native"); +var stack_1 = require("@react-navigation/stack"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var react_native_performance_lists_profiler_1 = require("@shopify/react-native-performance-lists-profiler"); +var client_1 = require("@apollo/client"); +var examples_1 = require("./examples"); +var PerformanceScreen_1 = tslib_1.__importDefault(require("./examples/PerformanceScreen")); +var FlatListScreen_1 = tslib_1.__importDefault(require("./examples/FlatListScreen")); +var constants_1 = require("./constants"); +var TabNavigator_1 = tslib_1.__importDefault(require("./examples/TabNavigator")); +var FastRenderPassesScreen_1 = tslib_1.__importDefault(require("./examples/FastRenderPassesScreen")); +var ConditionalRenderingScreen_1 = tslib_1.__importDefault(require("./examples/ConditionalRenderingScreen")); +var DrawerNavigator_1 = tslib_1.__importDefault(require("./examples/DrawerNavigator")); +var NestedNavigationScreen_1 = tslib_1.__importDefault(require("./examples/NestedNavigationScreen")); +var NestedContextScreen_1 = tslib_1.__importStar(require("./examples/NestedContextScreen")); +var Stack = (0, stack_1.createStackNavigator)(); +var NavigationTree = function () { + return (react_1.default.createElement(native_1.NavigationContainer, null, + react_1.default.createElement(Stack.Navigator, null, + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.EXAMPLES, component: examples_1.ExamplesScreen }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.PERFORMANCE, component: PerformanceScreen_1.default }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.TAB_NAVIGATOR, component: TabNavigator_1.default }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.DRAWER_NAVIGATOR, component: DrawerNavigator_1.default }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.FAST_RENDER_PASSES_SCREEN, component: FastRenderPassesScreen_1.default }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.CONDITIONAL_RENDERING_SCREEN, component: ConditionalRenderingScreen_1.default }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.FLAT_LIST_SCREEN, component: FlatListScreen_1.default }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.NESTED_NAVIGATION_SCREEN, component: NestedNavigationScreen_1.default }), + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.NESTED_PROFILER_CONTEXT, component: NestedProfilerNavigationTree, options: { headerShown: false } })))); +}; +function NestedProfilerNavigationTree() { + return (react_1.default.createElement(Stack.Navigator, null, + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.NESTED_CONTEXT_SCREEN, component: NestedContextScreen_1.default }), + react_1.default.createElement(Stack.Group, { screenOptions: { presentation: 'modal' } }, + react_1.default.createElement(Stack.Screen, { name: constants_1.NavigationKeys.INNER_NESTED_CONTEXT_SCREEN, component: NestedContextScreen_1.InnerNestedContextScreen })))); +} +var App = function () { + var apolloClient = (0, react_1.useMemo)(function () { + return new client_1.ApolloClient({ + uri: 'https://rickandmortyapi.com/graphql', + cache: new client_1.InMemoryCache(), + }); + }, []); + var onInteractiveCallback = (0, react_1.useCallback)(function (TTI, listName) { + console.log("".concat(listName, "'s TTI: ").concat(TTI)); + }, []); + var onBlankAreaCallback = (0, react_1.useCallback)(function (offsetStart, offsetEnd, listName) { + console.log("Blank area for ".concat(listName, ": ").concat(Math.max(offsetStart, offsetEnd))); + }, []); + return (react_1.default.createElement(react_1.default.Fragment, null, + react_1.default.createElement(client_1.ApolloProvider, { client: apolloClient }, + react_1.default.createElement(react_native_performance_1.PerformanceProfiler, { logLevel: react_native_performance_1.LogLevel.Debug }, + react_1.default.createElement(react_native_performance_lists_profiler_1.ListsProfiler, { onInteractive: onInteractiveCallback, onBlankArea: onBlankAreaCallback }, + react_1.default.createElement(NavigationTree, null)))))); +}; +exports.default = App; +//# sourceMappingURL=App.js.map \ No newline at end of file diff --git a/fixture/dist/App.js.map b/fixture/dist/App.js.map new file mode 100644 index 0000000..003af61 --- /dev/null +++ b/fixture/dist/App.js.map @@ -0,0 +1 @@ +{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/fixture/dist/constants.d.ts b/fixture/dist/constants.d.ts new file mode 100644 index 0000000..14f9069 --- /dev/null +++ b/fixture/dist/constants.d.ts @@ -0,0 +1,23 @@ +export declare const NavigationKeys: { + EXAMPLES: "Examples"; + PERFORMANCE: "Performance"; + TAB_NAVIGATOR: "TabNavigator"; + TAB_NAVIGATOR_SCREEN_1: "TabNavigatorScreen1"; + TAB_NAVIGATOR_SCREEN_2: "TabNavigatorScreen2"; + FAST_RENDER_PASSES_SCREEN: "FastRenderPassesScreen"; + CONDITIONAL_RENDERING_SCREEN: "ConditionalRenderingScreen"; + DRAWER_NAVIGATOR: "DrawerNavigator"; + DRAWER_NAVIGATOR_SCREEN_1: "DrawerNavigatorScreen1"; + DRAWER_NAVIGATOR_SCREEN_2: "DrawerNavigatorScreen2"; + FLAT_LIST_SCREEN: "FlatListScreen"; + NESTED_NAVIGATION_SCREEN: "NestedNavigationScreen"; + NESTED_PROFILER_CONTEXT: "NestedProfilerContext"; + NESTED_CONTEXT_SCREEN: "NestedContextScreen"; + INNER_NESTED_CONTEXT_SCREEN: "InnerNestedContextScreen"; +}; +declare type ValueOf = T[keyof T]; +export declare type RootStackParamList = { + [key in ValueOf]: undefined; +}; +export {}; +//# sourceMappingURL=constants.d.ts.map \ No newline at end of file diff --git a/fixture/dist/constants.d.ts.map b/fixture/dist/constants.d.ts.map new file mode 100644 index 0000000..7498958 --- /dev/null +++ b/fixture/dist/constants.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;CAgB1B,CAAC;AAEF,aAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,oBAAY,kBAAkB,GAAG;KAC9B,GAAG,IAAI,OAAO,CAAC,OAAO,cAAc,CAAC,GAAG,SAAS;CACnD,CAAC"} \ No newline at end of file diff --git a/fixture/dist/constants.js b/fixture/dist/constants.js new file mode 100644 index 0000000..15f2290 --- /dev/null +++ b/fixture/dist/constants.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NavigationKeys = void 0; +exports.NavigationKeys = { + EXAMPLES: 'Examples', + PERFORMANCE: 'Performance', + TAB_NAVIGATOR: 'TabNavigator', + TAB_NAVIGATOR_SCREEN_1: 'TabNavigatorScreen1', + TAB_NAVIGATOR_SCREEN_2: 'TabNavigatorScreen2', + FAST_RENDER_PASSES_SCREEN: 'FastRenderPassesScreen', + CONDITIONAL_RENDERING_SCREEN: 'ConditionalRenderingScreen', + DRAWER_NAVIGATOR: 'DrawerNavigator', + DRAWER_NAVIGATOR_SCREEN_1: 'DrawerNavigatorScreen1', + DRAWER_NAVIGATOR_SCREEN_2: 'DrawerNavigatorScreen2', + FLAT_LIST_SCREEN: 'FlatListScreen', + NESTED_NAVIGATION_SCREEN: 'NestedNavigationScreen', + NESTED_PROFILER_CONTEXT: 'NestedProfilerContext', + NESTED_CONTEXT_SCREEN: 'NestedContextScreen', + INNER_NESTED_CONTEXT_SCREEN: 'InnerNestedContextScreen', +}; +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/fixture/dist/constants.js.map b/fixture/dist/constants.js.map new file mode 100644 index 0000000..454c9d4 --- /dev/null +++ b/fixture/dist/constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,UAAmB;IAC7B,WAAW,EAAE,aAAsB;IACnC,aAAa,EAAE,cAAuB;IACtC,sBAAsB,EAAE,qBAA8B;IACtD,sBAAsB,EAAE,qBAA8B;IACtD,yBAAyB,EAAE,wBAAiC;IAC5D,4BAA4B,EAAE,4BAAqC;IACnE,gBAAgB,EAAE,iBAA0B;IAC5C,yBAAyB,EAAE,wBAAiC;IAC5D,yBAAyB,EAAE,wBAAiC;IAC5D,gBAAgB,EAAE,gBAAyB;IAC3C,wBAAwB,EAAE,wBAAiC;IAC3D,uBAAuB,EAAE,uBAAgC;IACzD,qBAAqB,EAAE,qBAA8B;IACrD,2BAA2B,EAAE,0BAAmC;CACjE,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/ConditionalRenderingScreen.d.ts b/fixture/dist/examples/ConditionalRenderingScreen.d.ts new file mode 100644 index 0000000..a2666d6 --- /dev/null +++ b/fixture/dist/examples/ConditionalRenderingScreen.d.ts @@ -0,0 +1,4 @@ +/// +declare const ConditionalRenderingScreen: () => JSX.Element; +export default ConditionalRenderingScreen; +//# sourceMappingURL=ConditionalRenderingScreen.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/ConditionalRenderingScreen.d.ts.map b/fixture/dist/examples/ConditionalRenderingScreen.d.ts.map new file mode 100644 index 0000000..63ad1cc --- /dev/null +++ b/fixture/dist/examples/ConditionalRenderingScreen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ConditionalRenderingScreen.d.ts","sourceRoot":"","sources":["../../src/examples/ConditionalRenderingScreen.tsx"],"names":[],"mappings":";AAwBA,QAAA,MAAM,0BAA0B,mBA2B/B,CAAC;AAEF,eAAe,0BAA0B,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/ConditionalRenderingScreen.js b/fixture/dist/examples/ConditionalRenderingScreen.js new file mode 100644 index 0000000..b44b26f --- /dev/null +++ b/fixture/dist/examples/ConditionalRenderingScreen.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_1 = require("react-native"); +var constants_1 = require("../constants"); +var useSimulatedSlowOperation_1 = tslib_1.__importDefault(require("./useSimulatedSlowOperation")); +var Child0 = function () { + return (react_1.default.createElement(react_native_1.View, null, + react_1.default.createElement(react_native_1.Text, { style: { color: 'red' } }, "Rendering component 0"))); +}; +var Child1 = function () { + return (react_1.default.createElement(react_native_1.View, null, + react_1.default.createElement(react_native_1.Text, { style: { color: 'blue' } }, "Rendering component 1"))); +}; +var ConditionalRenderingScreen = function () { + var _a = tslib_1.__read((0, react_1.useState)(0), 2), componentNumber = _a[0], setComponentNumber = _a[1]; + var slowOperation = (0, useSimulatedSlowOperation_1.default)({ + delaySeconds: 3, + result: 1, + }); + (0, react_1.useEffect)(function () { + var operation = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = setComponentNumber; + return [4 /*yield*/, slowOperation()]; + case 1: + _a.apply(void 0, [_b.sent()]); + return [2 /*return*/]; + } + }); + }); }; + operation(); + }, [slowOperation]); + var childView = componentNumber === 0 ? react_1.default.createElement(Child0, null) : react_1.default.createElement(Child1, null); + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: constants_1.NavigationKeys.CONDITIONAL_RENDERING_SCREEN, interactive: true, renderPassName: componentNumber === 0 ? 'interactive_0' : 'interactive_1' }, childView)); +}; +exports.default = ConditionalRenderingScreen; +//# sourceMappingURL=ConditionalRenderingScreen.js.map \ No newline at end of file diff --git a/fixture/dist/examples/ConditionalRenderingScreen.js.map b/fixture/dist/examples/ConditionalRenderingScreen.js.map new file mode 100644 index 0000000..dcf6c04 --- /dev/null +++ b/fixture/dist/examples/ConditionalRenderingScreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ConditionalRenderingScreen.js","sourceRoot":"","sources":["../../src/examples/ConditionalRenderingScreen.tsx"],"names":[],"mappings":";;;AAAA,oGAA4F;AAC5F,qDAAiD;AACjD,6CAAwC;AAExC,0CAA4C;AAE5C,kGAAoE;AAEpE,IAAM,MAAM,GAAG;IACb,OAAO,CACL,8BAAC,mBAAI;QACH,8BAAC,mBAAI,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,4BAA8B,CACpD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG;IACb,OAAO,CACL,8BAAC,mBAAI;QACH,8BAAC,mBAAI,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,4BAA8B,CACrD,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,0BAA0B,GAAG;IAC3B,IAAA,KAAA,eAAwC,IAAA,gBAAQ,EAAQ,CAAC,CAAC,IAAA,EAAzD,eAAe,QAAA,EAAE,kBAAkB,QAAsB,CAAC;IAEjE,IAAM,aAAa,GAAG,IAAA,mCAAyB,EAAC;QAC9C,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,CAAU;KACnB,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC;QACR,IAAM,SAAS,GAAG;;;;;wBAChB,KAAA,kBAAkB,CAAA;wBAAC,qBAAM,aAAa,EAAE,EAAA;;wBAAxC,kBAAmB,SAAqB,EAAC,CAAC;;;;aAC3C,CAAC;QAEF,SAAS,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,IAAM,SAAS,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,8BAAC,MAAM,OAAG,CAAC,CAAC,CAAC,8BAAC,MAAM,OAAG,CAAC;IAElE,OAAO,CACL,8BAAC,oEAA8B,IAC7B,UAAU,EAAE,0BAAc,CAAC,4BAA4B,EACvD,WAAW,QACX,cAAc,EAAE,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,IAExE,SAAS,CACqB,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,0BAA0B,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/DrawerNavigator.d.ts b/fixture/dist/examples/DrawerNavigator.d.ts new file mode 100644 index 0000000..95bd44f --- /dev/null +++ b/fixture/dist/examples/DrawerNavigator.d.ts @@ -0,0 +1,4 @@ +/// +declare const DrawerNavigator: () => JSX.Element; +export default DrawerNavigator; +//# sourceMappingURL=DrawerNavigator.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/DrawerNavigator.d.ts.map b/fixture/dist/examples/DrawerNavigator.d.ts.map new file mode 100644 index 0000000..ed31a9f --- /dev/null +++ b/fixture/dist/examples/DrawerNavigator.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DrawerNavigator.d.ts","sourceRoot":"","sources":["../../src/examples/DrawerNavigator.tsx"],"names":[],"mappings":";AA6EA,QAAA,MAAM,eAAe,mBAqBpB,CAAC;AAEF,eAAe,eAAe,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/DrawerNavigator.js b/fixture/dist/examples/DrawerNavigator.js new file mode 100644 index 0000000..0070b7f --- /dev/null +++ b/fixture/dist/examples/DrawerNavigator.js @@ -0,0 +1,58 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_1 = require("react-native"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var react_native_performance_navigation_drawer_1 = require("@shopify/react-native-performance-navigation-drawer"); +var constants_1 = require("../constants"); +var Drawer = (0, react_native_performance_navigation_drawer_1.createProfiledDrawerNavigator)(); +var GlobalStateContext = react_1.default.createContext(undefined); +var DrawerScreen = function (_a) { + var navigationKey = _a.navigationKey; + var screenName = constants_1.NavigationKeys[navigationKey]; + var globalState = (0, react_1.useContext)(GlobalStateContext); + var _b = (0, react_native_performance_1.useResetFlow)(), resetFlow = _b.resetFlow, componentInstanceId = _b.componentInstanceId; + var isFirstRender = (0, react_1.useRef)(true); + if (globalState !== undefined) { + if (isFirstRender.current) { + isFirstRender.current = false; + } + else { + resetFlow({ + destination: screenName, + }); + } + } + console.log("JS-rendering ".concat(screenName, ".")); + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { componentInstanceId: componentInstanceId, screenName: screenName, interactive: globalState !== undefined, renderPassName: globalState === undefined ? 'loading' : "interactive_".concat(globalState.counter) }, globalState && (react_1.default.createElement(react_1.default.Fragment, null, + react_1.default.createElement(react_native_1.Text, null, + "Hello ", + screenName, + ". Counter: ", + globalState.counter), + react_1.default.createElement(react_native_1.Button, { onPress: globalState.incrementCounter, title: "Increment counter" }))))); +}; +var DrawerScreen1 = function () { + return react_1.default.createElement(DrawerScreen, { navigationKey: "DRAWER_NAVIGATOR_SCREEN_1" }); +}; +var DrawerScreen2 = function () { + return react_1.default.createElement(DrawerScreen, { navigationKey: "DRAWER_NAVIGATOR_SCREEN_2" }); +}; +var DrawerNavigator = function () { + var _a = tslib_1.__read((0, react_1.useState)({ + counter: 0, + incrementCounter: function () { + setContextValue(function (currentContext) { + return tslib_1.__assign(tslib_1.__assign({}, currentContext), { counter: currentContext.counter + 1 }); + }); + }, + }), 2), contextValue = _a[0], setContextValue = _a[1]; + return (react_1.default.createElement(GlobalStateContext.Provider, { value: contextValue }, + react_1.default.createElement(Drawer.Navigator, null, + react_1.default.createElement(Drawer.Screen, { name: constants_1.NavigationKeys.DRAWER_NAVIGATOR_SCREEN_1, component: DrawerScreen1 }), + react_1.default.createElement(Drawer.Screen, { name: constants_1.NavigationKeys.DRAWER_NAVIGATOR_SCREEN_2, component: DrawerScreen2 })))); +}; +exports.default = DrawerNavigator; +//# sourceMappingURL=DrawerNavigator.js.map \ No newline at end of file diff --git a/fixture/dist/examples/DrawerNavigator.js.map b/fixture/dist/examples/DrawerNavigator.js.map new file mode 100644 index 0000000..6ed5575 --- /dev/null +++ b/fixture/dist/examples/DrawerNavigator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DrawerNavigator.js","sourceRoot":"","sources":["../../src/examples/DrawerNavigator.tsx"],"names":[],"mappings":";;;AAAA,qDAA0D;AAC1D,6CAA0C;AAC1C,8EAA+D;AAC/D,oGAA4F;AAC5F,kHAAkG;AAElG,0CAA4C;AAe5C,IAAM,MAAM,GAAG,IAAA,0EAA6B,GAAS,CAAC;AAOtD,IAAM,kBAAkB,GAAG,eAAK,CAAC,aAAa,CAA0B,SAAS,CAAC,CAAC;AAEnF,IAAM,YAAY,GAAG,UAAC,EAA6D;QAA5D,aAAa,mBAAA;IAClC,IAAM,UAAU,GAAG,0BAAc,CAAC,aAAa,CAAC,CAAC;IACjD,IAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,kBAAkB,CAAC,CAAC;IAE7C,IAAA,KAAmC,IAAA,uCAAY,GAAE,EAAhD,SAAS,eAAA,EAAE,mBAAmB,yBAAkB,CAAC;IAExD,IAAM,aAAa,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;SAC/B;aAAM;YACL,SAAS,CAAC;gBACR,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;SACJ;KACF;IAED,OAAO,CAAC,GAAG,CAAC,uBAAgB,UAAU,MAAG,CAAC,CAAC;IAE3C,OAAO,CACL,8BAAC,oEAA8B,IAC7B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,KAAK,SAAS,EACtC,cAAc,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAe,WAAW,CAAC,OAAO,CAAE,IAE3F,WAAW,IAAI,CACd;QACE,8BAAC,mBAAI;;YACI,UAAU;;YAAa,WAAW,CAAC,OAAO,CAC5C;QACP,8BAAC,qBAAM,IAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,EAAE,KAAK,EAAC,mBAAmB,GAAG,CAC1E,CACJ,CAC8B,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG;IACpB,OAAO,8BAAC,YAAY,IAAC,aAAa,EAAC,2BAA2B,GAAG,CAAC;AACpE,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG;IACpB,OAAO,8BAAC,YAAY,IAAC,aAAa,EAAC,2BAA2B,GAAG,CAAC;AACpE,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG;IAChB,IAAA,KAAA,eAAkC,IAAA,gBAAQ,EAAc;QAC5D,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE;YAChB,eAAe,CAAC,UAAA,cAAc;gBAC5B,6CACK,cAAc,KACjB,OAAO,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,IACnC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,IAAA,EAVK,YAAY,QAAA,EAAE,eAAe,QAUlC,CAAC;IAEH,OAAO,CACL,8BAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;QAC9C,8BAAC,MAAM,CAAC,SAAS;YACf,8BAAC,MAAM,CAAC,MAAM,IAAC,IAAI,EAAE,0BAAc,CAAC,yBAAyB,EAAE,SAAS,EAAE,aAAa,GAAI;YAC3F,8BAAC,MAAM,CAAC,MAAM,IAAC,IAAI,EAAE,0BAAc,CAAC,yBAAyB,EAAE,SAAS,EAAE,aAAa,GAAI,CAC1E,CACS,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/ExamplesScreen.d.ts b/fixture/dist/examples/ExamplesScreen.d.ts new file mode 100644 index 0000000..154969d --- /dev/null +++ b/fixture/dist/examples/ExamplesScreen.d.ts @@ -0,0 +1,3 @@ +/// +export declare const ExamplesScreen: () => JSX.Element; +//# sourceMappingURL=ExamplesScreen.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/ExamplesScreen.d.ts.map b/fixture/dist/examples/ExamplesScreen.d.ts.map new file mode 100644 index 0000000..6ca9750 --- /dev/null +++ b/fixture/dist/examples/ExamplesScreen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExamplesScreen.d.ts","sourceRoot":"","sources":["../../src/examples/ExamplesScreen.tsx"],"names":[],"mappings":";AAQA,eAAO,MAAM,cAAc,mBAkE1B,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/ExamplesScreen.js b/fixture/dist/examples/ExamplesScreen.js new file mode 100644 index 0000000..9780020 --- /dev/null +++ b/fixture/dist/examples/ExamplesScreen.js @@ -0,0 +1,80 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExamplesScreen = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +var react_native_1 = require("react-native"); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var native_1 = require("@react-navigation/native"); +var constants_1 = require("../constants"); +var ExamplesScreen = function () { + var navigate = (0, react_native_performance_navigation_1.useProfiledNavigation)().navigate; + var navigation = (0, native_1.useNavigation)(); + var renderTimeoutMillisOverride = function (screenName) { + return screenName === constants_1.NavigationKeys.PERFORMANCE ? 6 * 1000 : undefined; + }; + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: constants_1.NavigationKeys.EXAMPLES, interactive: true }, + react_1.default.createElement(react_native_1.StatusBar, { barStyle: "dark-content" }), + react_1.default.createElement(react_native_1.FlatList, { keyExtractor: function (item) { return item.destination; }, data: [ + { title: 'Performance', destination: constants_1.NavigationKeys.PERFORMANCE }, + { title: 'Tab Navigator', destination: constants_1.NavigationKeys.TAB_NAVIGATOR }, + { + title: 'Drawer Navigator', + destination: constants_1.NavigationKeys.DRAWER_NAVIGATOR, + }, + { + title: 'Fast Render Passes Screen', + destination: constants_1.NavigationKeys.FAST_RENDER_PASSES_SCREEN, + }, + { + title: 'Nested Navigation Screen', + destination: constants_1.NavigationKeys.NESTED_NAVIGATION_SCREEN, + }, + { + title: 'Conditional Rendering Screen', + destination: constants_1.NavigationKeys.CONDITIONAL_RENDERING_SCREEN, + }, + { + title: 'FlatList Screen', + destination: constants_1.NavigationKeys.FLAT_LIST_SCREEN, + }, + { + title: 'Nested Context Screen', + destination: constants_1.NavigationKeys.NESTED_PROFILER_CONTEXT, + }, + ], renderItem: function (_a) { + var item = _a.item; + return (react_1.default.createElement(react_native_1.TouchableOpacity, { style: styles.row, onPress: function (uiEvent) { + if (item.destination === constants_1.NavigationKeys.NESTED_PROFILER_CONTEXT) { + navigation.navigate(item.destination); + } + else { + navigate({ + source: constants_1.NavigationKeys.EXAMPLES, + uiEvent: uiEvent, + renderTimeoutMillisOverride: renderTimeoutMillisOverride(item.destination), + }, item.destination); + } + } }, + react_1.default.createElement(react_native_1.Text, { style: styles.rowTitle }, item.title), + react_1.default.createElement(react_native_1.Image, { style: styles.arrow, source: require('../assets/ic-arrow.png') }))); + } }))); +}; +exports.ExamplesScreen = ExamplesScreen; +var styles = react_native_1.StyleSheet.create({ + row: { + padding: 16, + backgroundColor: '#FFF', + borderBottomWidth: 1, + borderBottomColor: '#EFEFEF', + flexDirection: 'row', + justifyContent: 'space-between', + }, + rowTitle: { + fontSize: 18, + }, + arrow: { + resizeMode: 'center', + }, +}); +//# sourceMappingURL=ExamplesScreen.js.map \ No newline at end of file diff --git a/fixture/dist/examples/ExamplesScreen.js.map b/fixture/dist/examples/ExamplesScreen.js.map new file mode 100644 index 0000000..1037405 --- /dev/null +++ b/fixture/dist/examples/ExamplesScreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ExamplesScreen.js","sourceRoot":"","sources":["../../src/examples/ExamplesScreen.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/fixture/dist/examples/FastRenderPassesScreen.d.ts b/fixture/dist/examples/FastRenderPassesScreen.d.ts new file mode 100644 index 0000000..6346ee0 --- /dev/null +++ b/fixture/dist/examples/FastRenderPassesScreen.d.ts @@ -0,0 +1,4 @@ +/// +declare const FastRenderPassesScreen: () => JSX.Element; +export default FastRenderPassesScreen; +//# sourceMappingURL=FastRenderPassesScreen.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/FastRenderPassesScreen.d.ts.map b/fixture/dist/examples/FastRenderPassesScreen.d.ts.map new file mode 100644 index 0000000..b7ab365 --- /dev/null +++ b/fixture/dist/examples/FastRenderPassesScreen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FastRenderPassesScreen.d.ts","sourceRoot":"","sources":["../../src/examples/FastRenderPassesScreen.tsx"],"names":[],"mappings":";AAwDA,QAAA,MAAM,sBAAsB,mBAqB3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/FastRenderPassesScreen.js b/fixture/dist/examples/FastRenderPassesScreen.js new file mode 100644 index 0000000..bcf01df --- /dev/null +++ b/fixture/dist/examples/FastRenderPassesScreen.js @@ -0,0 +1,64 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag")); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var react_native_1 = require("react-native"); +var native_1 = require("@react-navigation/native"); +var client_1 = require("@apollo/client"); +var constants_1 = require("../constants"); +var AllRickAndMortyCharacters = (0, graphql_tag_1.default)(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n query AllRickAndMortyCharacters {\n characters {\n results {\n name\n }\n }\n }\n"], ["\n query AllRickAndMortyCharacters {\n characters {\n results {\n name\n }\n }\n }\n"]))); +function useRickAndMortyData() { + var _this = this; + var client = (0, client_1.useApolloClient)(); + var _a = tslib_1.__read((0, react_1.useState)({ queryState: 'loading' }), 2), _b = _a[0], response = _b.response, queryState = _b.queryState, setQueryState = _a[1]; + var doQuery = (0, react_1.useCallback)(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { + var cacheResponse, error_1, networkResponse; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 2, , 3]); + return [4 /*yield*/, client.query({ + query: AllRickAndMortyCharacters, + fetchPolicy: 'cache-only', + })]; + case 1: + cacheResponse = _a.sent(); + if (cacheResponse.data.characters !== undefined) { + setQueryState({ response: cacheResponse.data, queryState: 'cache' }); + } + return [3 /*break*/, 3]; + case 2: + error_1 = _a.sent(); + return [3 /*break*/, 3]; + case 3: return [4 /*yield*/, client.query({ + query: AllRickAndMortyCharacters, + fetchPolicy: 'network-only', + })]; + case 4: + networkResponse = _a.sent(); + setQueryState({ response: networkResponse.data, queryState: 'network' }); + return [2 /*return*/]; + } + }); + }); }, [client]); + return { + doQuery: doQuery, + response: response, + queryState: queryState, + }; +} +var FastRenderPassesScreen = function () { + var _a = useRickAndMortyData(), queryState = _a.queryState, doQuery = _a.doQuery; + var interactive = queryState !== 'loading'; + var renderPassName = queryState; + (0, native_1.useFocusEffect)((0, react_1.useCallback)(function () { + doQuery(); + }, [doQuery])); + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: constants_1.NavigationKeys.FAST_RENDER_PASSES_SCREEN, interactive: interactive, renderPassName: renderPassName }, + react_1.default.createElement(react_native_1.Text, null, renderPassName))); +}; +exports.default = FastRenderPassesScreen; +var templateObject_1; +//# sourceMappingURL=FastRenderPassesScreen.js.map \ No newline at end of file diff --git a/fixture/dist/examples/FastRenderPassesScreen.js.map b/fixture/dist/examples/FastRenderPassesScreen.js.map new file mode 100644 index 0000000..d48ace5 --- /dev/null +++ b/fixture/dist/examples/FastRenderPassesScreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FastRenderPassesScreen.js","sourceRoot":"","sources":["../../src/examples/FastRenderPassesScreen.tsx"],"names":[],"mappings":";;;AAAA,qDAAmD;AACnD,oEAA8B;AAC9B,oGAA4F;AAC5F,6CAAkC;AAClC,mDAAwD;AACxD,yCAA+C;AAE/C,0CAA4C;AAE5C,IAAM,yBAAyB,OAAG,qBAAG,2LAAA,+GAQpC,IAAA,CAAC;AAIF,SAAS,mBAAmB;IAA5B,iBAiCC;IAhCC,IAAM,MAAM,GAAG,IAAA,wBAAe,GAAE,CAAC;IAE3B,IAAA,KAAA,eAA0C,IAAA,gBAAQ,EAGrD,EAAC,UAAU,EAAE,SAAS,EAAC,CAAC,IAAA,EAHpB,UAAsB,EAArB,QAAQ,cAAA,EAAE,UAAU,gBAAA,EAAG,aAAa,QAGjB,CAAC;IAE5B,IAAM,OAAO,GAAG,IAAA,mBAAW,EAAC;;;;;;oBAEF,qBAAM,MAAM,CAAC,KAAK,CAAC;4BACvC,KAAK,EAAE,yBAAyB;4BAChC,WAAW,EAAE,YAAY;yBAC1B,CAAC,EAAA;;oBAHI,aAAa,GAAG,SAGpB;oBACF,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;wBAC/C,aAAa,CAAC,EAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC,CAAC;qBACpE;;;;;wBAKqB,qBAAM,MAAM,CAAC,KAAK,CAAC;wBACzC,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EAAE,cAAc;qBAC5B,CAAC,EAAA;;oBAHI,eAAe,GAAG,SAGtB;oBACF,aAAa,CAAC,EAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC,CAAC;;;;SACxE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO;QACL,OAAO,SAAA;QACP,QAAQ,UAAA;QACR,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAED,IAAM,sBAAsB,GAAG;IACvB,IAAA,KAAwB,mBAAmB,EAAE,EAA5C,UAAU,gBAAA,EAAE,OAAO,aAAyB,CAAC;IAEpD,IAAM,WAAW,GAAG,UAAU,KAAK,SAAS,CAAC;IAC7C,IAAM,cAAc,GAAG,UAAU,CAAC;IAElC,IAAA,uBAAc,EACZ,IAAA,mBAAW,EAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CACd,CAAC;IAEF,OAAO,CACL,8BAAC,oEAA8B,IAC7B,UAAU,EAAE,0BAAc,CAAC,yBAAyB,EACpD,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;QAE9B,8BAAC,mBAAI,QAAE,cAAc,CAAQ,CACE,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,sBAAsB,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/FlatListScreen.d.ts b/fixture/dist/examples/FlatListScreen.d.ts new file mode 100644 index 0000000..b816cd6 --- /dev/null +++ b/fixture/dist/examples/FlatListScreen.d.ts @@ -0,0 +1,4 @@ +/// +declare const FlatListScreen: () => JSX.Element; +export default FlatListScreen; +//# sourceMappingURL=FlatListScreen.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/FlatListScreen.d.ts.map b/fixture/dist/examples/FlatListScreen.d.ts.map new file mode 100644 index 0000000..c1d3a1c --- /dev/null +++ b/fixture/dist/examples/FlatListScreen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FlatListScreen.d.ts","sourceRoot":"","sources":["../../src/examples/FlatListScreen.tsx"],"names":[],"mappings":";AAWA,QAAA,MAAM,cAAc,mBAuBnB,CAAC;AAWF,eAAe,cAAc,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/FlatListScreen.js b/fixture/dist/examples/FlatListScreen.js new file mode 100644 index 0000000..ef6a4ab --- /dev/null +++ b/fixture/dist/examples/FlatListScreen.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var react_native_performance_lists_profiler_1 = require("@shopify/react-native-performance-lists-profiler"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_1 = require("react-native"); +var constants_1 = require("../constants"); +var generateArray = function (size) { + return Array.from(Array(size).keys()); +}; +var FlatListScreen = function () { + var data = (0, react_1.useRef)(generateArray(3000)).current; + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: constants_1.NavigationKeys.FLAT_LIST_SCREEN, interactive: true }, + react_1.default.createElement(react_native_performance_lists_profiler_1.FlatListPerformanceView, { listName: "FlatList" }, + react_1.default.createElement(react_native_1.FlatList, { keyExtractor: function (item) { + return item.toString(); + }, renderItem: function (_a) { + var item = _a.item; + var backgroundColor = item % 2 === 0 ? '#00a1f1' : '#ffbb00'; + return (react_1.default.createElement(react_native_1.View, { style: [styles.container, { backgroundColor: backgroundColor }] }, + react_1.default.createElement(react_native_1.Text, null, + "Cell Id: ", + item))); + }, data: data })))); +}; +var styles = react_native_1.StyleSheet.create({ + container: { + justifyContent: 'space-around', + alignItems: 'center', + height: 120, + backgroundColor: '#00a1f1', + }, +}); +exports.default = FlatListScreen; +//# sourceMappingURL=FlatListScreen.js.map \ No newline at end of file diff --git a/fixture/dist/examples/FlatListScreen.js.map b/fixture/dist/examples/FlatListScreen.js.map new file mode 100644 index 0000000..4690348 --- /dev/null +++ b/fixture/dist/examples/FlatListScreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FlatListScreen.js","sourceRoot":"","sources":["../../src/examples/FlatListScreen.tsx"],"names":[],"mappings":";;;AAAA,oGAA4F;AAC5F,4GAAyF;AACzF,qDAAoC;AACpC,6CAA8D;AAE9D,0CAA4C;AAE5C,IAAM,aAAa,GAAG,UAAC,IAAY;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,IAAM,cAAc,GAAG;IACrB,IAAM,IAAI,GAAG,IAAA,cAAM,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAEjD,OAAO,CACL,8BAAC,oEAA8B,IAAC,UAAU,EAAE,0BAAc,CAAC,gBAAgB,EAAE,WAAW;QACtF,8BAAC,iEAAuB,IAAC,QAAQ,EAAC,UAAU;YAC1C,8BAAC,uBAAQ,IACP,YAAY,EAAE,UAAA,IAAI;oBAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzB,CAAC,EACD,UAAU,EAAE,UAAC,EAAM;wBAAL,IAAI,UAAA;oBAChB,IAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/D,OAAO,CACL,8BAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAC,eAAe,iBAAA,EAAC,CAAC;wBAChD,8BAAC,mBAAI;;4BAAW,IAAI,CAAQ,CACvB,CACR,CAAC;gBACJ,CAAC,EACD,IAAI,EAAE,IAAI,GACV,CACsB,CACK,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,cAAc,EAAE,cAAc;QAC9B,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,GAAG;QACX,eAAe,EAAE,SAAS;KAC3B;CACF,CAAC,CAAC;AAEH,kBAAe,cAAc,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/NestedContextScreen.d.ts b/fixture/dist/examples/NestedContextScreen.d.ts new file mode 100644 index 0000000..ce942d9 --- /dev/null +++ b/fixture/dist/examples/NestedContextScreen.d.ts @@ -0,0 +1,11 @@ +/// +/** + * NOTE: This screen shouldn't be used as an example since we don't generally recommend mixing multiple profilers. + * Nested profilers only make sense when transitioning between JS and native layers in a hybrid use case. + * For example, in brown-field apps, gradually adopting React Native. + * Please stick with only profiler per App if there is no serious matter to do otherwise. + */ +declare const NestedContextScreen: () => JSX.Element; +export declare const InnerNestedContextScreen: () => JSX.Element; +export default NestedContextScreen; +//# sourceMappingURL=NestedContextScreen.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/NestedContextScreen.d.ts.map b/fixture/dist/examples/NestedContextScreen.d.ts.map new file mode 100644 index 0000000..9c9b27e --- /dev/null +++ b/fixture/dist/examples/NestedContextScreen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NestedContextScreen.d.ts","sourceRoot":"","sources":["../../src/examples/NestedContextScreen.tsx"],"names":[],"mappings":";AAQA;;;;;GAKG;AAEH,QAAA,MAAM,mBAAmB,mBAaxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,mBASpC,CAAC;AAEF,eAAe,mBAAmB,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/NestedContextScreen.js b/fixture/dist/examples/NestedContextScreen.js new file mode 100644 index 0000000..bd423b2 --- /dev/null +++ b/fixture/dist/examples/NestedContextScreen.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.InnerNestedContextScreen = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var react_native_1 = require("react-native"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var constants_1 = require("../constants"); +/** + * NOTE: This screen shouldn't be used as an example since we don't generally recommend mixing multiple profilers. + * Nested profilers only make sense when transitioning between JS and native layers in a hybrid use case. + * For example, in brown-field apps, gradually adopting React Native. + * Please stick with only profiler per App if there is no serious matter to do otherwise. + */ +var NestedContextScreen = function () { + var navigate = (0, react_native_performance_navigation_1.useProfiledNavigation)().navigate; + return (react_1.default.createElement(react_native_performance_1.PerformanceProfiler, { logLevel: react_native_performance_1.LogLevel.Debug }, + react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: constants_1.NavigationKeys.NESTED_CONTEXT_SCREEN, interactive: true }, + react_1.default.createElement(react_native_1.Button, { title: "Present new screen inside nested Profiler Context", onPress: function () { return navigate(constants_1.NavigationKeys.INNER_NESTED_CONTEXT_SCREEN); } })))); +}; +var InnerNestedContextScreen = function () { + var text = 'This is a screen rendered in a nested Profiler Context\n\n You should see no errors in the logs'; + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: constants_1.NavigationKeys.INNER_NESTED_CONTEXT_SCREEN, interactive: true }, + react_1.default.createElement(react_native_1.View, { style: styles.textContainer }, + react_1.default.createElement(react_native_1.Text, { style: styles.text }, text)))); +}; +exports.InnerNestedContextScreen = InnerNestedContextScreen; +exports.default = NestedContextScreen; +var styles = react_native_1.StyleSheet.create({ + text: { + textAlignVertical: 'center', + textAlign: 'center', + fontSize: 18, + }, + textContainer: { + flex: 1, + justifyContent: 'center', + }, +}); +//# sourceMappingURL=NestedContextScreen.js.map \ No newline at end of file diff --git a/fixture/dist/examples/NestedContextScreen.js.map b/fixture/dist/examples/NestedContextScreen.js.map new file mode 100644 index 0000000..3703390 --- /dev/null +++ b/fixture/dist/examples/NestedContextScreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NestedContextScreen.js","sourceRoot":"","sources":["../../src/examples/NestedContextScreen.tsx"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAC1B,oGAAmH;AACnH,6CAA4D;AAE5D,8EAAgF;AAEhF,0CAAgE;AAEhE;;;;;GAKG;AAEH,IAAM,mBAAmB,GAAG;IACnB,IAAA,QAAQ,GAAI,IAAA,2DAAqB,GAAuD,SAAhF,CAAiF;IAEhG,OAAO,CACL,8BAAC,8CAAmB,IAAC,QAAQ,EAAE,mCAAQ,CAAC,KAAK;QAC3C,8BAAC,oEAA8B,IAAC,UAAU,EAAE,0BAAc,CAAC,qBAAqB,EAAE,WAAW;YAC3F,8BAAC,qBAAM,IACL,KAAK,EAAC,mDAAmD,EACzD,OAAO,EAAE,cAAM,OAAA,QAAQ,CAAC,0BAAc,CAAC,2BAA2B,CAAC,EAApD,CAAoD,GACnE,CAC6B,CACb,CACvB,CAAC;AACJ,CAAC,CAAC;AAEK,IAAM,wBAAwB,GAAG;IACtC,IAAM,IAAI,GAAG,iGAAiG,CAAC;IAC/G,OAAO,CACL,8BAAC,oEAA8B,IAAC,UAAU,EAAE,0BAAc,CAAC,2BAA2B,EAAE,WAAW;QACjG,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa;YAC/B,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAG,IAAI,CAAQ,CAClC,CACwB,CAClC,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,wBAAwB,4BASnC;AAEF,kBAAe,mBAAmB,CAAC;AAEnC,IAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,iBAAiB,EAAE,QAAQ;QAC3B,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,EAAE;KACb;IACD,aAAa,EAAE;QACb,IAAI,EAAE,CAAC;QACP,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/NestedNavigationScreen.d.ts b/fixture/dist/examples/NestedNavigationScreen.d.ts new file mode 100644 index 0000000..e84ad96 --- /dev/null +++ b/fixture/dist/examples/NestedNavigationScreen.d.ts @@ -0,0 +1,4 @@ +/// +declare const NestedNavigationScreen: () => JSX.Element; +export default NestedNavigationScreen; +//# sourceMappingURL=NestedNavigationScreen.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/NestedNavigationScreen.d.ts.map b/fixture/dist/examples/NestedNavigationScreen.d.ts.map new file mode 100644 index 0000000..4897a15 --- /dev/null +++ b/fixture/dist/examples/NestedNavigationScreen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NestedNavigationScreen.d.ts","sourceRoot":"","sources":["../../src/examples/NestedNavigationScreen.tsx"],"names":[],"mappings":";AAOA,QAAA,MAAM,sBAAsB,mBAW3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/NestedNavigationScreen.js b/fixture/dist/examples/NestedNavigationScreen.js new file mode 100644 index 0000000..b71b4a8 --- /dev/null +++ b/fixture/dist/examples/NestedNavigationScreen.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var react_native_1 = require("react-native"); +var constants_1 = require("../constants"); +var NestedNavigationScreen = function () { + var push = (0, react_native_performance_navigation_1.useProfiledNavigation)().push; + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: constants_1.NavigationKeys.NESTED_NAVIGATION_SCREEN, interactive: true }, + react_1.default.createElement(react_native_1.Button, { title: "Navigate to NestedNavigationScreen", onPress: function () { return push(constants_1.NavigationKeys.NESTED_NAVIGATION_SCREEN); } }))); +}; +exports.default = NestedNavigationScreen; +//# sourceMappingURL=NestedNavigationScreen.js.map \ No newline at end of file diff --git a/fixture/dist/examples/NestedNavigationScreen.js.map b/fixture/dist/examples/NestedNavigationScreen.js.map new file mode 100644 index 0000000..1857738 --- /dev/null +++ b/fixture/dist/examples/NestedNavigationScreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NestedNavigationScreen.js","sourceRoot":"","sources":["../../src/examples/NestedNavigationScreen.tsx"],"names":[],"mappings":";;;AAAA,wDAA0B;AAC1B,oGAAmH;AACnH,6CAAoC;AAGpC,0CAAgE;AAEhE,IAAM,sBAAsB,GAAG;IACtB,IAAA,IAAI,GAAI,IAAA,2DAAqB,GAAuD,KAAhF,CAAiF;IAE5F,OAAO,CACL,8BAAC,oEAA8B,IAAC,UAAU,EAAE,0BAAc,CAAC,wBAAwB,EAAE,WAAW;QAC9F,8BAAC,qBAAM,IACL,KAAK,EAAC,oCAAoC,EAC1C,OAAO,EAAE,cAAM,OAAA,IAAI,CAAC,0BAAc,CAAC,wBAAwB,CAAC,EAA7C,CAA6C,GAC5D,CAC6B,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,sBAAsB,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/PerformanceScreen.d.ts b/fixture/dist/examples/PerformanceScreen.d.ts new file mode 100644 index 0000000..1e69518 --- /dev/null +++ b/fixture/dist/examples/PerformanceScreen.d.ts @@ -0,0 +1,4 @@ +/// +declare const PerformanceScreen: () => JSX.Element; +export default PerformanceScreen; +//# sourceMappingURL=PerformanceScreen.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/PerformanceScreen.d.ts.map b/fixture/dist/examples/PerformanceScreen.d.ts.map new file mode 100644 index 0000000..6e66d02 --- /dev/null +++ b/fixture/dist/examples/PerformanceScreen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceScreen.d.ts","sourceRoot":"","sources":["../../src/examples/PerformanceScreen.tsx"],"names":[],"mappings":";AAkCA,QAAA,MAAM,iBAAiB,mBAsFtB,CAAC;AAcF,eAAe,iBAAiB,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/PerformanceScreen.js b/fixture/dist/examples/PerformanceScreen.js new file mode 100644 index 0000000..0bbc400 --- /dev/null +++ b/fixture/dist/examples/PerformanceScreen.js @@ -0,0 +1,111 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_1 = require("react-native"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag")); +var react_native_gesture_handler_1 = require("react-native-gesture-handler"); +var client_1 = require("@apollo/client"); +var constants_1 = require("../constants"); +var useSimulatedSlowOperation_1 = tslib_1.__importDefault(require("./useSimulatedSlowOperation")); +var useCountdownTimer_1 = tslib_1.__importDefault(require("./useCountdownTimer")); +var RENDER_DELAY_SECONDS = 5; +var AllRickAndMortyCharacters = (0, graphql_tag_1.default)(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n query AllRickAndMortyCharacters {\n characters {\n results {\n name\n }\n }\n }\n"], ["\n query AllRickAndMortyCharacters {\n characters {\n results {\n name\n }\n }\n }\n"]))); +var PerformanceScreen = function () { + var navigation = (0, react_native_performance_navigation_1.useProfiledNavigation)(); + var _a = tslib_1.__read((0, react_1.useState)(), 2), simulatedSlowData = _a[0], setSimulatedSlowData = _a[1]; + var _b = tslib_1.__read((0, useCountdownTimer_1.default)({ + durationSeconds: RENDER_DELAY_SECONDS, + }), 2), secondsLeft = _b[0], restartTimer = _b[1]; + var simulatedSlowOperation = (0, useSimulatedSlowOperation_1.default)({ + delaySeconds: RENDER_DELAY_SECONDS, + result: '', + }); + var rickAndMortyQueryResult = (0, client_1.useQuery)(AllRickAndMortyCharacters); + var _c = (0, react_native_performance_1.useResetFlow)(), resetFlow = _c.resetFlow, componentInstanceId = _c.componentInstanceId; + (0, react_1.useEffect)(function () { + (function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var data; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, simulatedSlowOperation()]; + case 1: + data = _a.sent(); + setSimulatedSlowData(data); + return [2 /*return*/]; + } + }); + }); })(); + }, [simulatedSlowOperation]); + var rendered = rickAndMortyQueryResult.data !== undefined && simulatedSlowData !== undefined; + var goHome = (0, react_1.useCallback)(function (uiEvent) { + navigation.navigate({ uiEvent: uiEvent }, { name: constants_1.NavigationKeys.EXAMPLES, params: {} }); + }, [navigation]); + var RenderedBody = (0, react_1.useMemo)(function () { + return (react_1.default.createElement(react_native_gesture_handler_1.ScrollView, null, + react_1.default.createElement(react_native_1.Text, { style: styles.helperText }, + "Rendered: ", + JSON.stringify({ simulatedSlowData: simulatedSlowData })), + react_1.default.createElement(react_native_1.Text, { style: styles.helperText }, + "All Rick and Morty characters: ", + JSON.stringify(rickAndMortyQueryResult.data)))); + }, [simulatedSlowData, rickAndMortyQueryResult]); + var WaitingBody = (0, react_1.useMemo)(function () { + return (react_1.default.createElement(react_1.default.Fragment, null, + react_1.default.createElement(react_native_1.ActivityIndicator, null), + react_1.default.createElement(react_native_1.Text, { style: styles.helperText }, + "Rendering in: ", + secondsLeft, + " seconds."))); + }, [secondsLeft]); + var renderStateProps; + if (rendered) { + renderStateProps = { + interactive: true, + }; + } + else { + renderStateProps = { + interactive: false, + renderPassName: "loading_".concat(RENDER_DELAY_SECONDS - secondsLeft), + }; + } + var onFakePullToRefresh = (0, react_1.useCallback)(function (uiEvent) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var data; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + resetFlow({ uiEvent: uiEvent, destination: constants_1.NavigationKeys.PERFORMANCE, renderTimeoutMillisOverride: 6 * 1000 }); + restartTimer(); + setSimulatedSlowData(undefined); + rickAndMortyQueryResult.refetch(); + return [4 /*yield*/, simulatedSlowOperation()]; + case 1: + data = _a.sent(); + setSimulatedSlowData(data); + return [2 /*return*/]; + } + }); + }); }, [resetFlow, restartTimer, rickAndMortyQueryResult, simulatedSlowOperation]); + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, tslib_1.__assign({ screenName: constants_1.NavigationKeys.PERFORMANCE }, renderStateProps, { componentInstanceId: componentInstanceId }), + react_1.default.createElement(react_native_1.Button, { onPress: onFakePullToRefresh, title: "Simulate Pull-to-refresh" }), + react_1.default.createElement(react_native_1.Button, { title: "Go to home", onPress: goHome }), + react_1.default.createElement(react_native_1.StatusBar, { barStyle: "dark-content" }), + react_1.default.createElement(react_native_1.SafeAreaView, { style: styles.container }, rendered ? RenderedBody : WaitingBody))); +}; +var styles = react_native_1.StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + margin: 64, + }, + helperText: { + margin: 16, + textAlign: 'center', + }, +}); +exports.default = PerformanceScreen; +var templateObject_1; +//# sourceMappingURL=PerformanceScreen.js.map \ No newline at end of file diff --git a/fixture/dist/examples/PerformanceScreen.js.map b/fixture/dist/examples/PerformanceScreen.js.map new file mode 100644 index 0000000..9eee819 --- /dev/null +++ b/fixture/dist/examples/PerformanceScreen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceScreen.js","sourceRoot":"","sources":["../../src/examples/PerformanceScreen.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/fixture/dist/examples/TabNavigator.d.ts b/fixture/dist/examples/TabNavigator.d.ts new file mode 100644 index 0000000..9cac5d1 --- /dev/null +++ b/fixture/dist/examples/TabNavigator.d.ts @@ -0,0 +1,4 @@ +/// +declare const TabNavigator: () => JSX.Element; +export default TabNavigator; +//# sourceMappingURL=TabNavigator.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/TabNavigator.d.ts.map b/fixture/dist/examples/TabNavigator.d.ts.map new file mode 100644 index 0000000..5cf2b0d --- /dev/null +++ b/fixture/dist/examples/TabNavigator.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TabNavigator.d.ts","sourceRoot":"","sources":["../../src/examples/TabNavigator.tsx"],"names":[],"mappings":";AA6EA,QAAA,MAAM,YAAY,mBAiCjB,CAAC;AAEF,eAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/TabNavigator.js b/fixture/dist/examples/TabNavigator.js new file mode 100644 index 0000000..532f62e --- /dev/null +++ b/fixture/dist/examples/TabNavigator.js @@ -0,0 +1,63 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_1 = require("react-native"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var react_native_performance_navigation_1 = require("@shopify/react-native-performance-navigation"); +var react_native_performance_navigation_bottom_tabs_1 = require("@shopify/react-native-performance-navigation-bottom-tabs"); +var constants_1 = require("../constants"); +var _a = (0, react_native_performance_navigation_bottom_tabs_1.createProfiledBottomTabNavigator)(), Tab = _a.Tab, buildProfiledBottomTabBarButton = _a.buildProfiledBottomTabBarButton; +var GlobalStateContext = react_1.default.createContext(undefined); +var TabScreen = function (_a) { + var navigationKey = _a.navigationKey; + var screenName = constants_1.NavigationKeys[navigationKey]; + var globalState = (0, react_1.useContext)(GlobalStateContext); + var _b = (0, react_native_performance_1.useResetFlow)(), resetFlow = _b.resetFlow, componentInstanceId = _b.componentInstanceId; + var isFirstRender = (0, react_1.useRef)(true); + if (globalState !== undefined) { + if (isFirstRender.current) { + isFirstRender.current = false; + } + else { + console.log("Resetting flow for screen: ".concat(screenName)); + resetFlow({ + destination: screenName, + }); + } + } + console.log("JS-rendering ".concat(screenName, ".")); + return (react_1.default.createElement(react_native_performance_navigation_1.ReactNavigationPerformanceView, { screenName: screenName, interactive: globalState !== undefined, renderPassName: globalState === undefined ? 'loading' : "interactive_".concat(globalState.counter), componentInstanceId: componentInstanceId }, globalState && (react_1.default.createElement(react_1.default.Fragment, null, + react_1.default.createElement(react_native_1.Text, null, + "Hello ", + screenName, + ". Counter: ", + globalState.counter), + react_1.default.createElement(react_native_1.Button, { onPress: globalState.incrementCounter, title: "Increment counter" }))))); +}; +var TabScreen1 = function () { + return react_1.default.createElement(TabScreen, { navigationKey: "TAB_NAVIGATOR_SCREEN_1" }); +}; +var TabScreen2 = function () { + return react_1.default.createElement(TabScreen, { navigationKey: "TAB_NAVIGATOR_SCREEN_2" }); +}; +var TabNavigator = function () { + var _a = tslib_1.__read((0, react_1.useState)({ + counter: 0, + incrementCounter: function () { + setContextValue(function (currentContext) { + return tslib_1.__assign(tslib_1.__assign({}, currentContext), { counter: currentContext.counter + 1 }); + }); + }, + }), 2), contextValue = _a[0], setContextValue = _a[1]; + return (react_1.default.createElement(GlobalStateContext.Provider, { value: contextValue }, + react_1.default.createElement(Tab.Navigator, null, + react_1.default.createElement(Tab.Screen, { name: constants_1.NavigationKeys.TAB_NAVIGATOR_SCREEN_1, component: TabScreen1, options: { + tabBarButton: buildProfiledBottomTabBarButton(), + } }), + react_1.default.createElement(Tab.Screen, { name: constants_1.NavigationKeys.TAB_NAVIGATOR_SCREEN_2, component: TabScreen2, options: { + tabBarButton: buildProfiledBottomTabBarButton(), + } })))); +}; +exports.default = TabNavigator; +//# sourceMappingURL=TabNavigator.js.map \ No newline at end of file diff --git a/fixture/dist/examples/TabNavigator.js.map b/fixture/dist/examples/TabNavigator.js.map new file mode 100644 index 0000000..5cbdca3 --- /dev/null +++ b/fixture/dist/examples/TabNavigator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TabNavigator.js","sourceRoot":"","sources":["../../src/examples/TabNavigator.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/fixture/dist/examples/index.d.ts b/fixture/dist/examples/index.d.ts new file mode 100644 index 0000000..777f369 --- /dev/null +++ b/fixture/dist/examples/index.d.ts @@ -0,0 +1,2 @@ +export { ExamplesScreen } from './ExamplesScreen'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/index.d.ts.map b/fixture/dist/examples/index.d.ts.map new file mode 100644 index 0000000..9569857 --- /dev/null +++ b/fixture/dist/examples/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC"} \ No newline at end of file diff --git a/fixture/dist/examples/index.js b/fixture/dist/examples/index.js new file mode 100644 index 0000000..7e4209e --- /dev/null +++ b/fixture/dist/examples/index.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExamplesScreen = void 0; +var ExamplesScreen_1 = require("./ExamplesScreen"); +Object.defineProperty(exports, "ExamplesScreen", { enumerable: true, get: function () { return ExamplesScreen_1.ExamplesScreen; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/fixture/dist/examples/index.js.map b/fixture/dist/examples/index.js.map new file mode 100644 index 0000000..63e0e1d --- /dev/null +++ b/fixture/dist/examples/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAAxC,gHAAA,cAAc,OAAA"} \ No newline at end of file diff --git a/fixture/dist/examples/useCountdownTimer.d.ts b/fixture/dist/examples/useCountdownTimer.d.ts new file mode 100644 index 0000000..479b064 --- /dev/null +++ b/fixture/dist/examples/useCountdownTimer.d.ts @@ -0,0 +1,4 @@ +export default function useCountdownTimer({ durationSeconds }: { + durationSeconds: number; +}): [number, () => void]; +//# sourceMappingURL=useCountdownTimer.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/useCountdownTimer.d.ts.map b/fixture/dist/examples/useCountdownTimer.d.ts.map new file mode 100644 index 0000000..2e8834c --- /dev/null +++ b/fixture/dist/examples/useCountdownTimer.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useCountdownTimer.d.ts","sourceRoot":"","sources":["../../src/examples/useCountdownTimer.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAC,eAAe,EAAC,EAAE;IAAC,eAAe,EAAE,MAAM,CAAA;CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CA4B5G"} \ No newline at end of file diff --git a/fixture/dist/examples/useCountdownTimer.js b/fixture/dist/examples/useCountdownTimer.js new file mode 100644 index 0000000..9864f61 --- /dev/null +++ b/fixture/dist/examples/useCountdownTimer.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = require("react"); +function useCountdownTimer(_a) { + var durationSeconds = _a.durationSeconds; + var _b = tslib_1.__read((0, react_1.useState)(durationSeconds), 2), secondsLeft = _b[0], setSecondsLeft = _b[1]; + var _c = tslib_1.__read((0, react_1.useState)(0), 2), restartCounter = _c[0], setRestartCounter = _c[1]; + (0, react_1.useEffect)(function () { + setSecondsLeft(durationSeconds); + var intervalId = setInterval(function () { + setSecondsLeft(function (currentSecondsLeft) { + var newSecondsLeft = currentSecondsLeft - 1; + if (newSecondsLeft <= 0) { + clearInterval(intervalId); + } + return newSecondsLeft; + }); + }, 1000); + return function () { + clearInterval(intervalId); + }; + }, [durationSeconds, restartCounter]); + var restart = (0, react_1.useCallback)(function () { + setRestartCounter(function (counter) { return counter + 1; }); + setSecondsLeft(durationSeconds); + }, [durationSeconds]); + return [secondsLeft, restart]; +} +exports.default = useCountdownTimer; +//# sourceMappingURL=useCountdownTimer.js.map \ No newline at end of file diff --git a/fixture/dist/examples/useCountdownTimer.js.map b/fixture/dist/examples/useCountdownTimer.js.map new file mode 100644 index 0000000..a04ac68 --- /dev/null +++ b/fixture/dist/examples/useCountdownTimer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useCountdownTimer.js","sourceRoot":"","sources":["../../src/examples/useCountdownTimer.ts"],"names":[],"mappings":";;;AAAA,+BAAuD;AAEvD,SAAwB,iBAAiB,CAAC,EAA4C;QAA3C,eAAe,qBAAA;IAClD,IAAA,KAAA,eAAgC,IAAA,gBAAQ,EAAC,eAAe,CAAC,IAAA,EAAxD,WAAW,QAAA,EAAE,cAAc,QAA6B,CAAC;IAC1D,IAAA,KAAA,eAAsC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAA,EAAhD,cAAc,QAAA,EAAE,iBAAiB,QAAe,CAAC;IAExD,IAAA,iBAAS,EAAC;QACR,cAAc,CAAC,eAAe,CAAC,CAAC;QAEhC,IAAM,UAAU,GAAG,WAAW,CAAC;YAC7B,cAAc,CAAC,UAAA,kBAAkB;gBAC/B,IAAM,cAAc,GAAG,kBAAkB,GAAG,CAAC,CAAC;gBAC9C,IAAI,cAAc,IAAI,CAAC,EAAE;oBACvB,aAAa,CAAC,UAAU,CAAC,CAAC;iBAC3B;gBACD,OAAO,cAAc,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO;YACL,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IAEtC,IAAM,OAAO,GAAG,IAAA,mBAAW,EAAC;QAC1B,iBAAiB,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,GAAG,CAAC,EAAX,CAAW,CAAC,CAAC;QAC1C,cAAc,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AA5BD,oCA4BC"} \ No newline at end of file diff --git a/fixture/dist/examples/useSimulatedSlowOperation.d.ts b/fixture/dist/examples/useSimulatedSlowOperation.d.ts new file mode 100644 index 0000000..b20bd7f --- /dev/null +++ b/fixture/dist/examples/useSimulatedSlowOperation.d.ts @@ -0,0 +1,5 @@ +export default function useSimulatedSlowOperation({ delaySeconds, result, }: { + delaySeconds: number; + result: T; +}): () => Promise; +//# sourceMappingURL=useSimulatedSlowOperation.d.ts.map \ No newline at end of file diff --git a/fixture/dist/examples/useSimulatedSlowOperation.d.ts.map b/fixture/dist/examples/useSimulatedSlowOperation.d.ts.map new file mode 100644 index 0000000..96682a5 --- /dev/null +++ b/fixture/dist/examples/useSimulatedSlowOperation.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useSimulatedSlowOperation.d.ts","sourceRoot":"","sources":["../../src/examples/useSimulatedSlowOperation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,CAAC,EAAE,EACnD,YAAY,EACZ,MAAM,GACP,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC;CACX,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAUnB"} \ No newline at end of file diff --git a/fixture/dist/examples/useSimulatedSlowOperation.js b/fixture/dist/examples/useSimulatedSlowOperation.js new file mode 100644 index 0000000..a2a2ea2 --- /dev/null +++ b/fixture/dist/examples/useSimulatedSlowOperation.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var react_1 = require("react"); +function useSimulatedSlowOperation(_a) { + var delaySeconds = _a.delaySeconds, result = _a.result; + return (0, react_1.useCallback)(function () { + var promise = new Promise(function (resolve) { + setTimeout(function () { + resolve(result); + }, delaySeconds * 1000); + }); + return promise; + }, [delaySeconds, result]); +} +exports.default = useSimulatedSlowOperation; +//# sourceMappingURL=useSimulatedSlowOperation.js.map \ No newline at end of file diff --git a/fixture/dist/examples/useSimulatedSlowOperation.js.map b/fixture/dist/examples/useSimulatedSlowOperation.js.map new file mode 100644 index 0000000..7f8928d --- /dev/null +++ b/fixture/dist/examples/useSimulatedSlowOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useSimulatedSlowOperation.js","sourceRoot":"","sources":["../../src/examples/useSimulatedSlowOperation.ts"],"names":[],"mappings":";;AAAA,+BAAkC;AAElC,SAAwB,yBAAyB,CAAI,EAMpD;QALC,YAAY,kBAAA,EACZ,MAAM,YAAA;IAKN,OAAO,IAAA,mBAAW,EAAC;QACjB,IAAM,OAAO,GAAG,IAAI,OAAO,CAAI,UAAA,OAAO;YACpC,UAAU,CAAC;gBACT,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7B,CAAC;AAhBD,4CAgBC"} \ No newline at end of file diff --git a/fixture/dist/tsconfig.tsbuildinfo b/fixture/dist/tsconfig.tsbuildinfo new file mode 100644 index 0000000..fec90e2 --- /dev/null +++ b/fixture/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@react-navigation/routers/lib/typescript/src/types.d.ts","../../node_modules/@react-navigation/routers/lib/typescript/src/commonactions.d.ts","../../node_modules/@react-navigation/routers/lib/typescript/src/baserouter.d.ts","../../node_modules/@react-navigation/routers/lib/typescript/src/tabrouter.d.ts","../../node_modules/@react-navigation/routers/lib/typescript/src/drawerrouter.d.ts","../../node_modules/@react-navigation/routers/lib/typescript/src/stackrouter.d.ts","../../node_modules/@react-navigation/routers/lib/typescript/src/index.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/types.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/basenavigationcontainer.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/createnavigationcontainerref.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/createnavigatorfactory.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/currentrendercontext.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/findfocusedroute.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/getactionfromstate.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/getfocusedroutenamefromroute.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/getpathfromstate.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/getstatefrompath.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontainerrefcontext.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontext.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/navigationhelperscontext.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/navigationroutecontext.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/usefocuseffect.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/useisfocused.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/usenavigation.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationbuilder.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationcontainerref.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationstate.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/useroute.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/validatepathconfig.d.ts","../../node_modules/@react-navigation/core/lib/typescript/src/index.d.ts","../../node_modules/@types/react-native/globals.d.ts","../../node_modules/@types/react-native/legacy-properties.d.ts","../../node_modules/@types/react-native/batchedbridge.d.ts","../../node_modules/@types/react-native/devtools.d.ts","../../node_modules/@types/react-native/launchscreen.d.ts","../../node_modules/@types/react-native/index.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/uselinkto.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/link.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/types.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/navigationcontainer.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/servercontext.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/servercontainer.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/theming/darktheme.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/theming/defaulttheme.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/theming/themeprovider.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/theming/usetheme.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/uselinkbuilder.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/uselinkprops.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/usescrolltotop.d.ts","../../node_modules/@react-navigation/native/lib/typescript/src/index.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/background.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/types.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/getdefaultheaderheight.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/getheadertitle.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/header.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackbutton.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackcontext.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackground.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerheightcontext.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/headershowncontext.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/headertitle.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/header/useheaderheight.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/missingicon.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/platformpressable.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/resourcesavingview.d.ts","../../node_modules/react-native-safe-area-context/lib/typescript/safearea.types.d.ts","../../node_modules/react-native-safe-area-context/lib/typescript/safeareacontext.d.ts","../../node_modules/react-native-safe-area-context/lib/typescript/safeareaview.d.ts","../../node_modules/react-native-safe-area-context/lib/typescript/initialwindow.d.ts","../../node_modules/react-native-safe-area-context/lib/typescript/index.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/safeareaprovidercompat.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/screen.d.ts","../../node_modules/@react-navigation/elements/lib/typescript/src/index.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/types.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/cardstyleinterpolators.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/headerstyleinterpolators.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/transitionpresets.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/transitionspecs.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/navigators/createstacknavigator.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/views/header/header.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/views/stack/stackview.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/utils/cardanimationcontext.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/directions.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/state.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/gesturehandlerroothoc.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/gesturehandlerrootview.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/toucheventtype.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/typeutils.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gesturehandlercommon.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/flinggesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/forcetouchgesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturestatemanager.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/longpressgesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/pangesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/pinchgesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/rotationgesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/tapgesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/nativeviewgesturehandler.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/forcetouchgesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/pangesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/pinchgesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/createnativewrapper.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/reanimatedwrapper.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturecomposition.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturedetector.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/flinggesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/longpressgesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/rotationgesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/tapgesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/nativegesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/manualgesture.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gestureobjects.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturehandlerbutton.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturebuttons.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablenativefeedback.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablenativefeedback.android.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/generictouchable.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablewithoutfeedback.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchableopacity.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablehighlight.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/index.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturecomponents.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gesturehandlertypescompat.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/swipeable.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/components/drawerlayout.d.ts","../../node_modules/react-native-gesture-handler/lib/typescript/index.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/utils/gesturehandlerrefcontext.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/utils/usecardanimation.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/utils/usegesturehandlerref.d.ts","../../node_modules/@react-navigation/stack/lib/typescript/src/index.d.ts","../../packages/react-native-performance/dist/bridgedeventtimestamp.d.ts","../../packages/react-native-performance/dist/state-machine/states/state.d.ts","../../packages/react-native-performance/dist/state-machine/states/rendered.d.ts","../../packages/react-native-performance/dist/state-machine/states/renderaborted.d.ts","../../packages/react-native-performance/dist/state-machine/states/started.d.ts","../../packages/react-native-performance/dist/state-machine/states/mounted.d.ts","../../packages/react-native-performance/dist/state-machine/states/unmounted.d.ts","../../packages/react-native-performance/dist/exceptions/performanceprofilererror.d.ts","../../packages/react-native-performance/dist/exceptions/rendertimeouterror.d.ts","../../packages/react-native-performance/dist/exceptions/performanceprofileruninitializederror.d.ts","../../packages/react-native-performance/dist/exceptions/screenprofilernotstartederror.d.ts","../../packages/react-native-performance/dist/exceptions/nativemodulenotfounderror.d.ts","../../packages/react-native-performance/dist/exceptions/index.d.ts","../../packages/react-native-performance/dist/state-machine/states/state-utils.d.ts","../../packages/react-native-performance/dist/state-machine/states/index.d.ts","../../packages/react-native-performance/dist/utils/matches-pattern.d.ts","../../packages/react-native-performance/dist/utils/error-handler.d.ts","../../packages/react-native-performance/dist/utils/promisecontroller.d.ts","../../packages/react-native-performance/dist/utils/native-performance-module.d.ts","../../packages/react-native-performance/dist/utils/inmemorycounter.d.ts","../../packages/react-native-performance/dist/utils/logger.d.ts","../../packages/react-native-performance/dist/utils/index.d.ts","../../packages/react-native-performance/dist/renderpassreport.d.ts","../../packages/react-native-performance/dist/context/reportobserver.d.ts","../../packages/react-native-performance/dist/context/performanceprofiler.d.ts","../../packages/react-native-performance/dist/context/index.d.ts","../../packages/react-native-performance/dist/performancemeasureview.d.ts","../../packages/react-native-performance/dist/gestureresponderevent.d.ts","../../packages/react-native-performance/dist/hooks/flowcommonargs.d.ts","../../packages/react-native-performance/dist/hooks/usestartprofiler.d.ts","../../packages/react-native-performance/dist/hooks/useresetflow.d.ts","../../packages/react-native-performance/dist/hooks/useprofilerstate.d.ts","../../packages/react-native-performance/dist/hooks/userenderpassreport.d.ts","../../packages/react-native-performance/dist/hooks/useprofilerstatechangelistener.d.ts","../../packages/react-native-performance/dist/hooks/index.d.ts","../../packages/react-native-performance/dist/state-machine/controller/statecontroller.d.ts","../../packages/react-native-performance/dist/state-machine/controller/disabledstatecontroller.d.ts","../../packages/react-native-performance/dist/state-machine/controller/enabledstatecontroller.d.ts","../../packages/react-native-performance/dist/state-machine/controller/state-controller-context.d.ts","../../packages/react-native-performance/dist/state-machine/controller/usestatecontrollerinitializer.d.ts","../../packages/react-native-performance/dist/state-machine/controller/errorhandlerstatecontroller.d.ts","../../packages/react-native-performance/dist/state-machine/controller/index.d.ts","../../packages/react-native-performance/dist/state-machine/index.d.ts","../../packages/react-native-performance/dist/index.d.ts","../../packages/react-native-performance-lists-profiler/dist/listsprofilerprops.d.ts","../../packages/react-native-performance-lists-profiler/dist/flatlistperformanceview.d.ts","../../packages/react-native-performance-lists-profiler/dist/flashlistperformanceview.d.ts","../../packages/react-native-performance-lists-profiler/dist/listsprofiler.d.ts","../../packages/react-native-performance-lists-profiler/dist/index.d.ts","../../node_modules/graphql/version.d.ts","../../node_modules/graphql/jsutils/maybe.d.ts","../../node_modules/graphql/language/source.d.ts","../../node_modules/graphql/jsutils/objmap.d.ts","../../node_modules/graphql/jsutils/path.d.ts","../../node_modules/graphql/jsutils/promiseorvalue.d.ts","../../node_modules/graphql/language/kinds.d.ts","../../node_modules/graphql/language/tokenkind.d.ts","../../node_modules/graphql/language/ast.d.ts","../../node_modules/graphql/language/location.d.ts","../../node_modules/graphql/error/graphqlerror.d.ts","../../node_modules/graphql/language/directivelocation.d.ts","../../node_modules/graphql/type/directives.d.ts","../../node_modules/graphql/type/schema.d.ts","../../node_modules/graphql/type/definition.d.ts","../../node_modules/graphql/execution/execute.d.ts","../../node_modules/graphql/graphql.d.ts","../../node_modules/graphql/type/scalars.d.ts","../../node_modules/graphql/type/introspection.d.ts","../../node_modules/graphql/type/validate.d.ts","../../node_modules/graphql/type/assertname.d.ts","../../node_modules/graphql/type/index.d.ts","../../node_modules/graphql/language/printlocation.d.ts","../../node_modules/graphql/language/lexer.d.ts","../../node_modules/graphql/language/parser.d.ts","../../node_modules/graphql/language/printer.d.ts","../../node_modules/graphql/language/visitor.d.ts","../../node_modules/graphql/language/predicates.d.ts","../../node_modules/graphql/language/index.d.ts","../../node_modules/graphql/execution/subscribe.d.ts","../../node_modules/graphql/execution/values.d.ts","../../node_modules/graphql/execution/index.d.ts","../../node_modules/graphql/subscription/index.d.ts","../../node_modules/graphql/utilities/typeinfo.d.ts","../../node_modules/graphql/validation/validationcontext.d.ts","../../node_modules/graphql/validation/validate.d.ts","../../node_modules/graphql/validation/specifiedrules.d.ts","../../node_modules/graphql/validation/rules/executabledefinitionsrule.d.ts","../../node_modules/graphql/validation/rules/fieldsoncorrecttyperule.d.ts","../../node_modules/graphql/validation/rules/fragmentsoncompositetypesrule.d.ts","../../node_modules/graphql/validation/rules/knownargumentnamesrule.d.ts","../../node_modules/graphql/validation/rules/knowndirectivesrule.d.ts","../../node_modules/graphql/validation/rules/knownfragmentnamesrule.d.ts","../../node_modules/graphql/validation/rules/knowntypenamesrule.d.ts","../../node_modules/graphql/validation/rules/loneanonymousoperationrule.d.ts","../../node_modules/graphql/validation/rules/nofragmentcyclesrule.d.ts","../../node_modules/graphql/validation/rules/noundefinedvariablesrule.d.ts","../../node_modules/graphql/validation/rules/nounusedfragmentsrule.d.ts","../../node_modules/graphql/validation/rules/nounusedvariablesrule.d.ts","../../node_modules/graphql/validation/rules/overlappingfieldscanbemergedrule.d.ts","../../node_modules/graphql/validation/rules/possiblefragmentspreadsrule.d.ts","../../node_modules/graphql/validation/rules/providedrequiredargumentsrule.d.ts","../../node_modules/graphql/validation/rules/scalarleafsrule.d.ts","../../node_modules/graphql/validation/rules/singlefieldsubscriptionsrule.d.ts","../../node_modules/graphql/validation/rules/uniqueargumentnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquedirectivesperlocationrule.d.ts","../../node_modules/graphql/validation/rules/uniquefragmentnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueinputfieldnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueoperationnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquevariablenamesrule.d.ts","../../node_modules/graphql/validation/rules/valuesofcorrecttyperule.d.ts","../../node_modules/graphql/validation/rules/variablesareinputtypesrule.d.ts","../../node_modules/graphql/validation/rules/variablesinallowedpositionrule.d.ts","../../node_modules/graphql/validation/rules/loneschemadefinitionrule.d.ts","../../node_modules/graphql/validation/rules/uniqueoperationtypesrule.d.ts","../../node_modules/graphql/validation/rules/uniquetypenamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueenumvaluenamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquefielddefinitionnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueargumentdefinitionnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquedirectivenamesrule.d.ts","../../node_modules/graphql/validation/rules/possibletypeextensionsrule.d.ts","../../node_modules/graphql/validation/rules/custom/nodeprecatedcustomrule.d.ts","../../node_modules/graphql/validation/rules/custom/noschemaintrospectioncustomrule.d.ts","../../node_modules/graphql/validation/index.d.ts","../../node_modules/graphql/error/syntaxerror.d.ts","../../node_modules/graphql/error/locatederror.d.ts","../../node_modules/graphql/error/index.d.ts","../../node_modules/graphql/utilities/getintrospectionquery.d.ts","../../node_modules/graphql/utilities/getoperationast.d.ts","../../node_modules/graphql/utilities/getoperationroottype.d.ts","../../node_modules/graphql/utilities/introspectionfromschema.d.ts","../../node_modules/graphql/utilities/buildclientschema.d.ts","../../node_modules/graphql/utilities/buildastschema.d.ts","../../node_modules/graphql/utilities/extendschema.d.ts","../../node_modules/graphql/utilities/lexicographicsortschema.d.ts","../../node_modules/graphql/utilities/printschema.d.ts","../../node_modules/graphql/utilities/typefromast.d.ts","../../node_modules/graphql/utilities/valuefromast.d.ts","../../node_modules/graphql/utilities/valuefromastuntyped.d.ts","../../node_modules/graphql/utilities/astfromvalue.d.ts","../../node_modules/graphql/utilities/coerceinputvalue.d.ts","../../node_modules/graphql/utilities/concatast.d.ts","../../node_modules/graphql/utilities/separateoperations.d.ts","../../node_modules/graphql/utilities/stripignoredcharacters.d.ts","../../node_modules/graphql/utilities/typecomparators.d.ts","../../node_modules/graphql/utilities/assertvalidname.d.ts","../../node_modules/graphql/utilities/findbreakingchanges.d.ts","../../node_modules/graphql/utilities/typedquerydocumentnode.d.ts","../../node_modules/graphql/utilities/index.d.ts","../../node_modules/graphql/index.d.ts","../../node_modules/ts-invariant/lib/invariant.d.ts","../../node_modules/@apollo/client/utilities/globals/dev.d.ts","../../node_modules/@apollo/client/utilities/globals/maybe.d.ts","../../node_modules/@apollo/client/utilities/globals/global.d.ts","../../node_modules/@apollo/client/utilities/globals/index.d.ts","../../node_modules/@apollo/client/utilities/graphql/directives.d.ts","../../node_modules/@apollo/client/utilities/graphql/fragments.d.ts","../../node_modules/@apollo/client/utilities/graphql/getfromast.d.ts","../../node_modules/@apollo/client/utilities/graphql/storeutils.d.ts","../../node_modules/@apollo/client/utilities/graphql/transform.d.ts","../../node_modules/@graphql-typed-document-node/core/dist/index.d.ts","../../node_modules/@wry/trie/lib/trie.d.ts","../../node_modules/@apollo/client/cache/core/types/cache.d.ts","../../node_modules/@apollo/client/cache/inmemory/entitystore.d.ts","../../node_modules/@apollo/client/cache/inmemory/types.d.ts","../../node_modules/@apollo/client/cache/inmemory/fixpolyfills.d.ts","../../node_modules/@apollo/client/cache/inmemory/reactivevars.d.ts","../../node_modules/@apollo/client/cache/inmemory/inmemorycache.d.ts","../../node_modules/@apollo/client/cache/inmemory/object-canon.d.ts","../../node_modules/@apollo/client/cache/inmemory/readfromstore.d.ts","../../node_modules/@apollo/client/cache/inmemory/writetostore.d.ts","../../node_modules/@apollo/client/cache/inmemory/policies.d.ts","../../node_modules/@apollo/client/cache/core/types/common.d.ts","../../node_modules/@apollo/client/cache/core/types/dataproxy.d.ts","../../node_modules/@apollo/client/cache/core/cache.d.ts","../../node_modules/@apollo/client/cache/inmemory/helpers.d.ts","../../node_modules/@apollo/client/cache/index.d.ts","../../node_modules/@apollo/client/utilities/policies/pagination.d.ts","../../node_modules/zen-observable-ts/module.d.ts","../../node_modules/symbol-observable/index.d.ts","../../node_modules/@apollo/client/utilities/observables/observable.d.ts","../../node_modules/@apollo/client/utilities/common/objects.d.ts","../../node_modules/@apollo/client/utilities/common/mergedeep.d.ts","../../node_modules/@apollo/client/utilities/common/clonedeep.d.ts","../../node_modules/@apollo/client/utilities/common/maybedeepfreeze.d.ts","../../node_modules/@apollo/client/utilities/observables/iteration.d.ts","../../node_modules/@apollo/client/utilities/observables/asyncmap.d.ts","../../node_modules/@apollo/client/utilities/observables/concast.d.ts","../../node_modules/@apollo/client/utilities/observables/subclassing.d.ts","../../node_modules/@apollo/client/utilities/common/arrays.d.ts","../../node_modules/@apollo/client/utilities/common/errorhandling.d.ts","../../node_modules/@apollo/client/utilities/common/canuse.d.ts","../../node_modules/@apollo/client/utilities/common/compact.d.ts","../../node_modules/@apollo/client/utilities/common/makeuniqueid.d.ts","../../node_modules/@apollo/client/utilities/common/stringifyfordisplay.d.ts","../../node_modules/@apollo/client/utilities/common/mergeoptions.d.ts","../../node_modules/@apollo/client/utilities/types/isstrictlyany.d.ts","../../node_modules/@apollo/client/utilities/index.d.ts","../../node_modules/@apollo/client/link/core/types.d.ts","../../node_modules/@apollo/client/link/core/apollolink.d.ts","../../node_modules/@apollo/client/link/core/empty.d.ts","../../node_modules/@apollo/client/link/core/from.d.ts","../../node_modules/@apollo/client/link/core/split.d.ts","../../node_modules/@apollo/client/link/core/concat.d.ts","../../node_modules/@apollo/client/link/core/execute.d.ts","../../node_modules/@apollo/client/link/core/index.d.ts","../../node_modules/@apollo/client/link/http/parseandcheckhttpresponse.d.ts","../../node_modules/@apollo/client/link/http/serializefetchparameter.d.ts","../../node_modules/@apollo/client/link/http/selecthttpoptionsandbody.d.ts","../../node_modules/@apollo/client/link/http/checkfetcher.d.ts","../../node_modules/@apollo/client/link/http/createsignalifsupported.d.ts","../../node_modules/@apollo/client/link/http/selecturi.d.ts","../../node_modules/@apollo/client/link/http/createhttplink.d.ts","../../node_modules/@apollo/client/link/http/httplink.d.ts","../../node_modules/@apollo/client/link/http/rewriteuriforget.d.ts","../../node_modules/@apollo/client/link/http/index.d.ts","../../node_modules/@apollo/client/core/networkstatus.d.ts","../../node_modules/@apollo/client/link/utils/fromerror.d.ts","../../node_modules/@apollo/client/link/utils/topromise.d.ts","../../node_modules/@apollo/client/link/utils/frompromise.d.ts","../../node_modules/@apollo/client/link/utils/throwservererror.d.ts","../../node_modules/@apollo/client/link/utils/validateoperation.d.ts","../../node_modules/@apollo/client/link/utils/createoperation.d.ts","../../node_modules/@apollo/client/link/utils/transformoperation.d.ts","../../node_modules/@apollo/client/link/utils/index.d.ts","../../node_modules/@apollo/client/errors/index.d.ts","../../node_modules/@apollo/client/core/queryinfo.d.ts","../../node_modules/@apollo/client/core/localstate.d.ts","../../node_modules/@apollo/client/core/types.d.ts","../../node_modules/@apollo/client/core/watchqueryoptions.d.ts","../../node_modules/@apollo/client/core/querymanager.d.ts","../../node_modules/@apollo/client/core/observablequery.d.ts","../../node_modules/@apollo/client/core/apolloclient.d.ts","../../node_modules/graphql-tag/lib/index.d.ts","../../node_modules/@apollo/client/core/index.d.ts","../../node_modules/@apollo/client/react/context/apolloconsumer.d.ts","../../node_modules/@apollo/client/react/ssr/getdatafromtree.d.ts","../../node_modules/@apollo/client/react/ssr/rendertostringwithdata.d.ts","../../node_modules/@apollo/client/react/types/types.d.ts","../../node_modules/@apollo/client/react/ssr/renderpromises.d.ts","../../node_modules/@apollo/client/react/ssr/index.d.ts","../../node_modules/@apollo/client/react/context/apollocontext.d.ts","../../node_modules/@apollo/client/react/context/apolloprovider.d.ts","../../node_modules/@apollo/client/react/context/index.d.ts","../../node_modules/@apollo/client/react/hooks/useapolloclient.d.ts","../../node_modules/@apollo/client/react/hooks/uselazyquery.d.ts","../../node_modules/@apollo/client/react/hooks/usemutation.d.ts","../../node_modules/@apollo/client/react/hooks/usequery.d.ts","../../node_modules/@apollo/client/react/hooks/usesubscription.d.ts","../../node_modules/@apollo/client/react/hooks/usereactivevar.d.ts","../../node_modules/@apollo/client/react/hooks/index.d.ts","../../node_modules/@apollo/client/react/parser/index.d.ts","../../node_modules/@apollo/client/react/index.d.ts","../../node_modules/@apollo/client/index.d.ts","../../packages/react-native-performance-navigation/dist/useprofilednavigation.d.ts","../../packages/react-native-performance-navigation/dist/reactnavigationperformanceview.d.ts","../../packages/react-native-performance-navigation/dist/index.d.ts","../src/constants.ts","../src/examples/examplesscreen.tsx","../src/examples/index.ts","../src/examples/usesimulatedslowoperation.ts","../src/examples/usecountdowntimer.ts","../src/examples/performancescreen.tsx","../src/examples/flatlistscreen.tsx","../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/types.d.ts","../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/navigators/createbottomtabnavigator.d.ts","../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/views/bottomtabbar.d.ts","../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/views/bottomtabview.d.ts","../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/utils/bottomtabbarheightcontext.d.ts","../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/utils/usebottomtabbarheight.d.ts","../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/index.d.ts","../../packages/react-native-performance-navigation-bottom-tabs/dist/createprofiledbottomtabnavigator.d.ts","../../packages/react-native-performance-navigation-bottom-tabs/dist/index.d.ts","../src/examples/tabnavigator.tsx","../src/examples/fastrenderpassesscreen.tsx","../src/examples/conditionalrenderingscreen.tsx","../../node_modules/@react-navigation/drawer/lib/typescript/src/types.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/navigators/createdrawernavigator.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawercontent.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawercontentscrollview.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/views/draweritem.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/views/draweritemlist.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawertogglebutton.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawerview.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/drawergesturecontext.d.ts","../../node_modules/react-native-reanimated/lib/reanimated2/globals.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/hook/commontypes.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/commontypes.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/commontypes.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/util.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/easing.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/timing.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/spring.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/decay.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/delay.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/repeat.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/sequence.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/styleanimation.d.ts","../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/index.d.ts","../../node_modules/react-native-reanimated/react-native-reanimated.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/drawerprogresscontext.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/getdrawerstatusfromstate.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/usedrawerprogress.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/usedrawerstatus.d.ts","../../node_modules/@react-navigation/drawer/lib/typescript/src/index.d.ts","../../packages/react-native-performance-navigation-drawer/dist/createprofileddrawernavigator.d.ts","../../packages/react-native-performance-navigation-drawer/dist/index.d.ts","../src/examples/drawernavigator.tsx","../src/examples/nestednavigationscreen.tsx","../src/examples/nestedcontextscreen.tsx","../src/app.tsx","../../node_modules/@types/aria-query/index.d.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/ms/index.d.ts","../../node_modules/@types/debug/index.d.ts","../../node_modules/@types/fined/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/hammerjs/index.d.ts","../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../node_modules/rxjs/dist/types/internal/types.d.ts","../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenext.d.ts","../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../node_modules/rxjs/dist/types/operators/index.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../node_modules/rxjs/dist/types/testing/index.d.ts","../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../node_modules/rxjs/dist/types/internal/config.d.ts","../../node_modules/rxjs/dist/types/index.d.ts","../../node_modules/@types/inquirer/lib/objects/choice.d.ts","../../node_modules/@types/inquirer/lib/objects/separator.d.ts","../../node_modules/@types/inquirer/lib/objects/choices.d.ts","../../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../node_modules/@types/inquirer/lib/prompts/base.d.ts","../../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../node_modules/@types/inquirer/lib/prompts/input.d.ts","../../node_modules/@types/inquirer/lib/prompts/list.d.ts","../../node_modules/@types/inquirer/lib/prompts/number.d.ts","../../node_modules/@types/inquirer/lib/prompts/password.d.ts","../../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../node_modules/@types/inquirer/lib/utils/events.d.ts","../../node_modules/@types/inquirer/lib/utils/readline.d.ts","../../node_modules/@types/inquirer/lib/utils/utils.d.ts","../../node_modules/@types/through/index.d.ts","../../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../node_modules/@types/inquirer/index.d.ts","../../node_modules/@types/invariant/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../node_modules/pretty-format/build/types.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/types.d.ts","../../node_modules/jest-diff/build/difflines.d.ts","../../node_modules/jest-diff/build/printdiffs.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/liftoff/index.d.ts","../../node_modules/@types/lockfile/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/lodash.isequal/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/minipass/index.d.ts","../../node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/reactcss/index.d.ts","../../node_modules/@types/react-color/lib/components/alpha/alpha.d.ts","../../node_modules/@types/react-color/lib/components/block/block.d.ts","../../node_modules/@types/react-color/lib/components/common/checkboard.d.ts","../../node_modules/@types/react-color/lib/components/chrome/chrome.d.ts","../../node_modules/@types/react-color/lib/components/circle/circle.d.ts","../../node_modules/@types/react-color/lib/components/compact/compact.d.ts","../../node_modules/@types/react-color/lib/components/github/github.d.ts","../../node_modules/@types/react-color/lib/components/hue/hue.d.ts","../../node_modules/@types/react-color/lib/components/material/material.d.ts","../../node_modules/@types/react-color/lib/components/photoshop/photoshop.d.ts","../../node_modules/@types/react-color/lib/components/sketch/sketch.d.ts","../../node_modules/@types/react-color/lib/components/slider/slider.d.ts","../../node_modules/@types/react-color/lib/components/swatches/swatches.d.ts","../../node_modules/@types/react-color/lib/components/twitter/twitter.d.ts","../../node_modules/@types/react-color/lib/components/common/colorwrap.d.ts","../../node_modules/@types/react-color/index.d.ts","../../node_modules/@types/react-dom/index.d.ts","../../node_modules/@types/react-test-renderer/index.d.ts","../../node_modules/@types/resize-observer-browser/index.d.ts","../../node_modules/@types/scheduler/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/tar/index.d.ts","../../node_modules/@types/url-join/index.d.ts","../../node_modules/@types/websocket/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"0bcebfaf66be25c793d0281a8dce761bc078d203f02c573e6ee3b844a5ad7fbc","affectsGlobalScope":true},"853e8de4f530cfb0aa87082e3e1a2ea8e66805dce0668a5761bdd92145939b99","7c9e664e9c75c46b3f1cf006d34d2f49392ac265bf4417e0b465422693d4950c","12ecd7d96b7209ad27d566cfb4b04d73489287375a67d6a11fb2fecc03cc4789","32693e15180b6e6dcae50cd9719623a1aaf866d77bb5f3933a35e9b7fec3d1fd","1891eea6eb86a8b0850ef7570ae5aeafe905351150234b1a66fb24e5a1673b92","bd4db3a73abc07b4dda1e6bf976dc48e8e4e0fafdfc217b0339d3132f27e3517","6a87e68ee8b64da2c7747aec468d0f01ef2f0f9364159192dce1cda1bfab526e",{"version":"9af55bd8dfc2cd9187af5bbb17d25aa87cd93cb92158ea82334600e1d00076df","affectsGlobalScope":true},"977ef7423f6df4dcf70144712833da7922293e37813293db43a728f482d25abd","0debb34aee907e610f311f90b8ea7a672e95f30826abeaadc2b31af4076c9344","b0474fec7c45a73eca31ad530914fc587ebddeed29f69f96653d9afc4144da45","717c85e439a2e28054138caa84613aa81252448a4a9f4f4c8e66cf430f399cf9","19bace661c2611c1ae473e95fba01e7f2ba898e14833585e97004dd13ffdaeda","ee4bd23ee28835ad3ca59a947632cb95260f3024b79a553b4844f230ad3219fb","3003d045b098f9f972dd88da5f02849aa77f08d7da5908a615e7d7c54b22414a","3aa528047246293a8834a527380b33e5d24ad71e9fd4bbcc2cef279ae89661f5","c6ff3e1388330aa2a43cf6373198298b1551ea4a8bb317e62ecfd559a8e5327c","a109bab41468dc2b6cf8e54cf4c3a4816cf254ead4ab82af17f2f8d63bea14fa","a7eec4015f9f31540f7a0c5e5bb27024d656ae818052edcf72f8eb450277574e","45016de701bf4c613b68e2722e07f3d44dc5d3785bc042736caad77e6eb8617f","d7ee2ba7aff83a473c8326c68b20f1e0c3ff19c41ae5fdc6b77914de30cf154e","948355e572a01fac5781b65489e7c0ac98656f760ed3ad57721a55a344d1315e","9ebbaba0e0405c1de896520d4fb403abf8d8ee72d26f002d4ae880b04e3fe504","85e99a85fd074f07f336054fedba0c10762b100f10c28ecaf7d978b73ef9acdb","3f1636597988f8f596a657e7331ae56a0dca70fbe5db585370a6a7adceab7b24","ce4505fec4d5ccce704bd761032150ac777220e86ca4a7076680f9d5cb4c4c9b","c9e05ecfec6e590fadd1cb10ae1d21641ca3a8ec5665af7f671772198e7b21c7","13a57c395e9c3f521f5dbb3f5402bd292a021256add5b82423dd72eaca430682","c4fe4b713057e24f416d3d1f31b3dd3e7e4076ac45df9a0ad84b39e4f752cf76","343f8c8644cd42c657fc895df563a7769253657fcfe1a2a307dfd592652b2cdd",{"version":"4452f559618410bd9950973795fa657dbf3411cdc55c4c3460c5bab189903863","affectsGlobalScope":true},"9e9df0ee50fc117b15fd7815162a41c46e95996b513e4107b433d3e37dbe2ce8",{"version":"efd32b1ab5e3897f64ed3d0f236657c3c9c7bcc669449e608ebee1ad9dbe396a","affectsGlobalScope":true},"7fb3279c4bf36d993b1e8b339cded5908f7b2ec1b6e0ac2feaa842b5b6b143f1","234b97ac9af46707f2315ff395a9b340d37b7dbc8290d91f5d6bd97189d220f3",{"version":"6cb5e3d3f0babcdca611a20b4bd29f0e604a0ae6bb618da4452d299876cb493d","affectsGlobalScope":true},"f3d6d4879bea27563245f9b0421554822a4f336b4e7b838daa6f6c4515e41ee0","fbad7ab4fc3bfb02492f83780b7d03427d54a797be4465ee17b46a5dc1edd9a4","c71069baf888f362df77457285435eaae6b0b3e25a884c78977fcec52755bbea",{"version":"f3d06e4c44ae3e14ef517f5a3a6d9aab826afdc444936605d39d0d6c6bdcad0f","affectsGlobalScope":true},"6e2cbb13f526e6f7c70ea3a4bdc9634301f018fa3965f2dde7f1d37a8e5c7e9c","2fd3c27eab8f2e941560b8f1d9b2480d558a3bfecb9f7450478a758c9ce96cb0","528e7087c8e41701cd1af78e52bdc107553eeb44245885c5cd92b2dd3209a6b4","48f3e2543105da93484b51b1979764f345befa92e4d2031109cf2297739c3c95","b08950d68c97431fb98c2f6faa5da8b012d49145559c8218416be5ec3214c521","2f2275fb011f92825710c151ae9cd29d9aa1dedbcd99fcdd412dbbe644757e4d","fded4150da5c204dd68ce7603bc36950d6a24f7768d7848df3ff232889213616","226082a839dcbf67c6a3a18fb5a3cb18da8717e9d206bdedeb40d9ee42bcfe55","c80485ad77f4334be594e36c75613d3e31143d5d09571f325de21a6a21de8438","7eb52bdd7cc31bd8af7b9100e2c6e9a222dc2d2bcc37d3c292fe26f32e54bba3","f50ef5f47d7aece6712d7f7a9bb5a67a5af5e0b96dfe1b69e11fca1431b27bda","8270071907f956a9fcba08bd3044de174f502c43b9c9d8c54ef600192e3d5555","1a4e3125dea970c58422dfb1fed65a7d3e78809fc3f1a571fd179ea94dc9fef7","08490a869d0d773a9288d5fee53c8ce7eb6e46c3d1693a030376b9aa3eca6021","073f34ebf2acc760156ab0b24426e0bb12b1db45e1e73ba15182759101d6c348","91b77e9e5380f7e054a24fdd3968e27b596b3939d237bcad9f75b4c39774fe7c","308ec62578820dbee8f81f0b38019a426bf0d8dd76dc57a5a105ebfee66ea6fe","7fa70306bf3c594f11d33437a962ee050da57a5efdc899832c60faaa1f45241d","d200a64d39e13df62f59cf5238fc3abf0aaaae56e64c525e394d4b5f83083626","3f57a7f28d91f553645e3868edaeb5847ad2239e3dd8b5e40d6b0aef0c2c5fe9","22a2db87cd2bbc494ad650bee6b3bff5f2f960446a2fd7e86e95f637387d15e2","33ebc3edebdb7a38d3f7aa860ab6e37b829026f6c8b309d5c701ff953fc667a0","59951460d7ea18f277f26169a8052ef1be66276353b757894739c20232a0905e","116ae87a1fe342d0080acf156e6587b0b9337b731474915ca7c8b6243f3f23a4","59420b4d732c5b744155f3a61c97bb8c70126efb7ec93890cd645a2a8c65e29c","8372014ebc6b5b4b6702066ce98a995405c1de3a63ebcd113df3a6c30c01f7d9","504aab95c09e8573cfb3e8f96ba3b4d5acce1a2d5d4ff4f6d6eff5ef171f3879","fec8edc9d955969b814a7e75a7b409a1c5d0541876d01c9aa4b6f5c2fc5e0ebd","d45bc498046ac0f0bc015424165a70d42724886e352e76ba1d460ebc431239a5","9f638d020ab5712be98b527859598539c36737e98a1a4954785d2eb7d9f8e6f8","71ab0aff99915707e1108f34eb54a943c0b05d8a52bccdc28ab8e99b932e001e","56c4def5d7225993cc7e160e234bab0ba6c3e499bf8797c78998c08a58b2d590","96f9a7d6123c2f992a4451d7620a98060dd3fe52d4939d310db9aeae208bb79a","c6397d8bfce4fc8f18b06080d55d5c8d32b808a8d30b4287ba2e3f17ea275fad","a2b9c2405381aa25bd2a1d4f7d5aeb3aa86affa66d1b37853127d5bb3edd3b51","f7d667eb805813228d879a961b983af9640e1576cb73b06bcc145059b83cb595","50544dde242a1efae74eff6031be1faf4202091e61b4420d53f90dd6cfcd2af0","2eddccab68fa76b14a1e81a61f22eaf2e18282c2192bb1f1622ab64022157010","4472868c563353015c460eaf4d8831abc759ee62bda064b4b2280b6531661374","573c2df45d3a276bf5b1a22fff88be3885f54779d1a2227b55b59dcf218d094b","de162c0f97c8c3ad21c3d3f914e4cc8c02d5c95db30474da0f5d2d6efb95079f","add541722d624067b739fbb42dc1485fbe279149b778138d62373f3d27e769d4","4b8345efdd5dc7502b81855fecf605340dfe8274cb1157aec58f71f623e88a03","df6cd476b620c9c5a9dfae9fec4b147522526aaeb6f4df3cc45a17e4111d9b92","d80cb8c9b60b53d7ae762c123c3bc5c01a83518ab0269c733615cfefa970c4fb","fd27a5b548c59327a5afe1978bf179fe659d30b9b2e043a844a35e9f5ad20085","6e8244892cf2921e40833d70e66dbb5f6f3d96c33eadf86419a9d7f5acc084aa","53415c79b44ee2735f1d0b32740771fb89ae7b40e52d3a68e77a8dbba0618aa6","82827b485c06ed4fda67411fcf1c1e615a3e047646c6dd621586293ec7e1af57","ef5e97f8489199efe0c02f4e2f8d6e05cf5eda34709fa11008ba82c018b12708","073c529c6a252bafc396f7312e79d01ec606b8ad7b4a5410807bf30f55342166","10615d6dc7af89bd014776cb9c1be3028cbb7e18fd9fb35e79017d39641d7cba","a43aa2f2a09ff3f6b34943408aabdaa24421568fb31ffa887b60f435d39a59da","2549348c1761f6e8b24e26d504785b409d85b2556f777616297a60ad82d86f6c","63463f601176768b41977705a02054863096df72f91d85a2cf97dc9dc18fd6d4","c60de75e439c4dfb388d93198cad6ba9a4eecc9c9d421f08000af0424f29949f","9da8977c7c3d04895533d0884f168d673fb05974eae020daf5e01cac5d2b06be","376dbce3a78c5bdf50fd4a2e0accdc5657bf674a1d2697db668151777e39bc3d","f00e97bc11eeeff9af6330966538c7c2f6d5d082ef68e7d44c7a93e0057eb27d","fffe1a864e6469ab5bfc18c43ea3f4e732b7b18679a0758ab5652b06311f1e36","1cbcab4ea8e62939e2d9c4cb08481294cdf013aaceba2fa9284f7555c06572f2","480edafee29b071cc079852d71705cf95a55b1424810890b888ca303a8035176","9301927e69fee77c414ccd0f39c3528e44bd32589500a361cabbeda3d7e74ba5","300c505727bb6c8d46bbb23455b6d54192ef47e6c2835bc38ed0852449b7a667","4764f810685bf6d2319de3829b7ca0076286ac6105b6dfe951aa89252f6ba322","e8e369cdd2445d8ce2489147ddcd50532aa2060d65c85d69ab99aa0367a667b5","e10c516efab55f2dda33c900337b82dadd450b9d9cc7c3d75d0266c710b3cf26","e3672066731508733fd9b14b52b8f282627d9323c967e46541786d897c39ee14","ee77e6910dbb28fe00048d9c72373207599086131a3a397569da259881a2cf28","29ae0eff843b8309dafefa5d37b6e7a2d2dcc348fb6cda4be1cbd42a2808802c","d2eddc655fa3da93eb15c82eb45b84c8f8c7124368aa6cfc73651c46b62fb35b","c41c457144296be976fa42f779bddb6899b88732cc7a8b8d53c8efc6a51f4ddc","cfeaa026659bf2590e9dcf70263ebdc5f83b0a28619d486cc5855198d884cb55","4b3dd49c2b3c01050bc256e16f152130321f354159cf35df5089fc8b5117101b","695afa410a680d4e81d60dbd02781a2d1c827b875e705dec03bec13179f464ab","e58c3a81e2e13959ca7b48c2b15a3885d60a3b372a0eab444961bb2024f0ef43","5fde5256d563e8dc543f48dd956c69d5b2b4b1148c8943ee99bd3a70996fa0fb","eebff2b7ec06777806ea1501ffa27c40478cf7375920e36ec284dea3f5f2ae0e","754c96d6ca2a563e9c811511d4fac851c1a46341f4b4f5d15dfe080066350f8a","6478ecd4339cc8c1cc64ea677d348e3faacd84d26304b5555c573765b876f531","f1ec842a22698baedbfe18fafba50d25a073aa1108c384bad5cedfe244fbedaf","ab863eb7b0d3e24d15c1c71620d841714ff5bf3fcbd0d22b2830c55f6a933642","13150948d46f755df79717399efd380cd548139e3fd0e8cd492a612a8b7e8168","c3e47fbc5e7299aeac06ea95558eeff42e4432bf880cc9979f3c8e5e90f494d8","d50778cb817bfe8058fbf72fb909eb43630797a7277e1d3ef71a3569b0f1e741","1214a9f808988f1fb06d653c11ce6352eff3f46b524cd527f4437b7d72859df2","1ac1d1d80b9ce0737641b2601dc516483bf88eab9697232eebc5b103b37002e5","9c0fdefa73b91ba34be738ae473ba452bc70eb3ea9c9e1099feb2a7b69cdaacd","6143f80a29a7811061094405b8c3fe55e61cf76bce2f427eeff69aac0daa8413","46061732d4ef04b0b33116603a91979585f5660c9b62ae6b39f1085ecbdc3406","7b85388c5be25a084bbe14373730481a4be30c3bcfed94607a9b00c27f693976","ee536bd51fc7506d657410fbde758ab4d40b97e951d0cfb1b6b9a8519b96470f","98984be4cf06e2b98c4d1e716c8947dde9a361e78248991a0e700a27ad60cae3","4fe80c4ae5fdb35a460ea2dd6c2bc77f749e715ed077c17c93484733d599ba8b","225d0b51e116ff456eac4f60c07eac69bdc34f7d871857119f86bf18902eb637","b463182753818bfe6243c10f368a4fe23690b9a14afe1987ba128e921e972d4e","55a3c61dc5e3a49dc2b2b778570eca69e58adbc8d47d1625ff258d08b5fbbec4","7b1abacf3026d07661aefaff0c4173eea2bbde44c78f7c235bb32f8e89b52a4e","730580aacdf4fd4b3f9026e1daa5a0bb8206f9d885efdcd48faf7e3fd1f176a2","61f51337e218369f43418a6b5f0322b2f7ef4058efcdd806e117327fb7c317d9","754f5742cebb9e2c4b80c7fdb48b0a451742f457e0b11d1bdaf9bebfd15b1bd3","4ad416d6e516596b0d832a63464eeba454dd42058967454f0e620c6654cb4718","5d24e76974ddd464dbc64200707583a86156a5de1826e6a8d9b859f5aa7fd6aa","a77f57d3d4168408e86106568b16401324d3ee24f76e82e9411e6293a7327a43","9b83911a2205057bd5441d65fffd8aa1c67be599bcadd79257dc5dd3f03cc066","7e8ece79a406114ef22c9e1d2b096444b53d0462fdcfe13293fc49658a1e2495","630481dcad21c800a47d0781c676939cdd790adbf44580b972acfc628acff2b3","0ee059bfe12c2ba24bc45a3aeaaf8dd7c23b7e1c7d33c8684cc965e341d560a9","6f6038075edc2c610a28329974d4a31c2d63e5a38f88ad77016bcaeedb20901e","a41edc66a5901fe040f9539c9307ba56d27e4fb51726cd24dbc2384b38cfed2b","9921e2f27911f95d5093e24c771be30b2e2dc88dc5e6fc04c5da9521fd389171","0b059f5acc0276ac2ce366c724fc9df977ce83e90a7e4623b816605df1d103b7","c83b4293304cb0087415274289f2b763589e788666f435c434b5b101bcf6e0ac","82268ac018b3cc502a58e2ca7e401f1a3400e07d43e359ac6a5eff46b13cace1","01acf071976b74e3f150eac8eb63810c34725969aabf62bb8d5ea170dcabd2ea","62a78f6255a478a07cd2c343c0202202c8ebafec18babe5e4744504707d4f45a","2ef4b128b41b5d67acf22b25ccb20a3e67c3911d1bca015eed2dc8f4ce9b04ae","54dce06cf85f42b9f890e600e3aca791039144670fed9511abc4b7e25ead4e4e","ac11e3bfa7dd8bba4d83cb9036014b86a4a289eae9d30ffa17173832c32c543e","e52519a1296f2426a28e3ebd963fb8c550602dfa2332fbca09069ea424d37d0e","2f5ff4904731ff15bcba43a18c10027f574cbf775d0fa46e2d912813a6b6fabf","cca6ad520eefaeac3d1dd53f2d462b6a9b989163e8f55226cb5daed6995ad833","48a038f6cd7b90b3aff80c6616b15a32d8db097ef40de7a2e0af928e73debe33","1481efaf734ebc17dff8a9d029a1e40f5461e1eba8e528a589c7c4e7b06c7378","a78a32bdebd36e8df8b958fafe51f4dbe8526f3726c19d0ca7a469eba0460195","b2a09b208de226397e3c34a2b1aa1f1d803a383a73ba576398c43bb46b1907ac","5393f796f62eb2876548ff438abeb8d54247e8e99dc63b967fa6b8f9ff43c5cb","5787cd691600e36ae3b1d0f934f1bdcb0d60c32eb10eba1d12cfc8a550217c54","ce6a24574c85e7bdb4864ebfdd76f2eb83495e1c0e4d68248916aca0b3c605cc","e7232bda9c724a1250a50be467bc60c34841f5aa865e1092c8f1e908d54bbed5","4f86429ea485232fe968b67830ff91c6f4428cde20ba7bd345dccfb2e6adb181","7e12247bc4005a3c10637eb497c7da92d4ec9f18f1248872c093cb096c29a195","c9ed5b5ded8a29caa1423e73c5a2160b04d867fec1f4895de9cca98bfbdc39ad","12b2e6bbf993963db507bd2f020214e200144790c274d047e599cf79a7f95644","aff60b0046a4345264cc8913f24387d961cb373000bfda9e7fa0c22378f5b900","dea87cd2be2357f257ed4d4577f59e51e3f0716c42f3f31e07a9f96a28607a70","2fbe01bc635ee855f1de8e6a661b9bb4ef65b19fe40e9cfb7fbd8f2d24db326c","3b9a35d88dd81ed6b53725e3f2918e38ea84b71d1c4674a58cd0a988be839c4b","6ebca3a0ed92053a8ae0d7070f317b4209a1bbd7db1efca5279edc283b779e0f","fd961be306ecc598d1c1b35d59ae53363db2b8c7bfef16610b3a3ee5b4504483","78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","f473be7c909dbd10c40f013e70da40f24648b2abb01025436fe0a0eecd0e83be","c98583f02275727ead0256c97298c15fb77a1c1e473b03c3b61291c63c66d385","9a7904e39add402d71343ac8de5303e990d9abb1fc703c64991c655b718267a5","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","1e1ed5600d80406a10428e349af8b6f09949cd5054043ea8588903e8f9e8d705","7920b8aa27a7b6a90bf9f5dc21eedac7f38ca8717ebe70495ab616eb52b3247b","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","da679a5bb46df3c6d84f637f09e6689d6c2d07e907ea16adc161e4529a4954d6","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","391d72e39677e72ba87f890f7a6e53a1830a07bf3fdd6128fe59ac028d7817a1","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","0a13027e3939d08a00e8bf5a99500c9bcafed3d58d7da856093af83add1fb102","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","c62947664e97a5f6502834551b0a66873f5580019e1a00500fa02c2f52ef3d0e","b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","5baadaca408128671536b3cb77fea44330e169ada70ce50b902c8d992fe64cf1","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","08b603e3737ff32a685eefca3e7f21324b8b868f3322416cef759f8a54d234ef","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","7fc9b18b6aafa8a1fc1441670c6c9da63e3d7942c7f451300c48bafd988545e9","200a7b7eb3163da4327412c650e43fbe66c73604a23a694f95ede53c250bfc3b","f254a186c5fc9355b388d5e1643b9f85cb3a84c03d48b0ce7297a352db0b367d","a960dc35ca7a0854d06432d698547debe3a4760438deea197fde8a3ff2101180","5b3386f2d01b9af3d84e1854845ef04b26f742c6337fd0e855a987333f8240df","45f238c699f946ac07f7e7eb7f1ae65b7da6323b8146a7cf5b3fd775b8c00b11","fd7059d47830c465f3a32f1928bd61f7ccb62dac8089ecea0c5b2b365afd9b64","f26f3b22a0ce930bf8e6eb27806db849f616784527a93269c2e3861e875815e8","2c309164cb0e2c526d1d275589679024e669a77ada61d5ec7a3ec93b8cbd542c","353ff6badc7a53ba2487f4eb074bd5d0b41db4984134e507b1f6f766780b82fb","55ac490a5bdc6da1941875c26371e1e94a73b0593ae26509df4c0b6616ad674f","233fc0209343fa04c2a458537b4aaed00bed49f5db212a1fe5200dcee6e2fa4e","b830de197c8889ab5f03fc2211c2e1cee4478c4a5ceb05af2eaea23d9af3af0a","b62564be4535552ed34c9cececa78a0da7dd5447351e195e8cefaada1ba21129","4c9d4f0962f0caf85200c783d97f7049c5e58a48c6a5825e51fc6f0b974b0e9d","d737fc71b51b3e6c591e3edba25062644bbc95696240460adf5c9109df763fe5","b3dec0879e876086c6bd5d93b671bf3a034da7712ea60b6e815f1de987df060a","50134fabe24e7eb552897d84d2eaefc923d7577a5fef9427e268c469d8cdc7e1","00d3b08e4ea2d4d02e180810c9f6b03be1977d9d2ea5389141d3363efcd58f3c","5c7b4d69e9d49382954fb7c46b9e368b517b11a5f55f34e66b8fd9951fed6d34","47ca4f700d7cbd844259cb0fb35fbe484fdef7b794a6c60c3c8dfe02ad4be3b2","a34a4b7870a629ef38a8912c8ed915d7300fc555ebb75eaae4e1c502222628bb","f91a4509eb86e40562a7befcfbe7fe10776612196f44a4c9e0aada159b903b6d","f8555900075ce2073dedb0818960ea42b52d18e5729b44a6dc75c43bbd088ed1","dbd825417d2051294de6b53445bef43b0527e200d78e1a8ae6cfaf818da50278","c2bbb1290dfda842dc0b66a9d50da29972b5bcafd3d4b124a74cef3d3d2af610","efba682f8523e9957fe6a8c0a2630b2e24f45d53e448cd60500269e5cbf3d251","b2c46988d6d7d3d0da5cc2fa0c80e8a4adcb309071d4264ba6d30f2d67cd642c","ab218a7d41436bd2cae6bcbf7371bc9321786471de9997816e549184c3bdc335","9b51dd74a388c13e157c457cc39d59dc2aae2134f6a21cc6b695219932cb8817",{"version":"db06f4cdf70e3689f0cd5a96a6836f34024ad61e8dd01473560ebbcae09c532b","affectsGlobalScope":true},"6c71a186369074378653c84fe944b269db54501e33e790791d59a106482aae86","41db1e358120ce74584d9cf596344db2702f305b649c6c8c55ad4e27c440eaf1","ffb162ad0b1e5c1d9882a81a6af2ee94db93dc4f9fcfeb5e5a7a1025a40c1a24","d18cafabd6456b23ebcf11198c9c056a56361facb07977c653cce50a6ba184f9","29cce97240f57803d3ebbd2dce484634ff8646088287203d461dd97ae29cc692","29bfbafb7d1b80882c83b108f5242bd78aaad7fefc464fda5f571ffe6d8c5a99","a93475d7baca260e4db85215cfa6e59b2357e1f526b056b18ed9c4493e7b80c3","22439dda560fdbd61a07a52b12a58dd167b1116bb3a4f3ca5aeb954de594810c","820a5ca18bb09bc50ebd1856794e9dfbc5a7f855f610e6f9d59cbe3b9e1a7c8f","364524cd4d5db23c9d6aaaa9a8fb2f6d067fb39122728b78efed43055677bdbe","746b1ad552967231e762f8742671ad1f700e3dc3e259aa5def3a1f7f31135aff","e11cf956b17e2f7287e14c05d3790f34afc54d1d54b4c74b69b8c1849109feed","3e79b1b6beb23ce850766d185e632d24442afbd54667891c2e052c3ba93062d1","25978fa21b2728d3277888d33df9272738605df94140b4b0c883cf352ec31ca6","c9e5c708eb84894b985071080652da531d4b27ca8cb60963521270239cfe8c20","37d03426db10f974cc01937c9d121c99d9272ffa801d18fe90c4c91c6c98311b","89561071bc9d84d0d763b929dc34b0920365cd79d5f2a264b4b22a1f211c61d4","d762a442207965c55ed3185731d4a66fafdc0262c623d16ffb214acac18e3b4a","63d3ddfad484b1e3c3e4a3890fa312721064c8570c437081e597b8941a9b0be3","074d0c29700bd9667bc549f460ce2097132e13b2cfafac16be9dbe38756adc17","d20248b40c769f2957741b1fde5580cb2d4cb4c28651f7fd250eb02fa6c98f09","514791e8c0e59bd61576e76f61db12272e949bab76a3af11ccedfb75be3d4794","ad17364042b079f3c14b7d29eac304bcfe25cceb3565b4973f387bf1d5d27782","fccb69b68f78d7fbba625c31a5622a0682dbf8e88b51fd03ea50e721ca596296","2daed8a6f384d9bbfda7a08ad51f194ea391e1a4a581ab8c6af08822d2e1d86e","2f2dca6bd4f2f67a44848a53407e8b19ad36d0fe78b938b612494794d15e4139","b7ebd94ed755d68d46fdb6f1e3c031eb72c8942a08dc9bf4afbc5586d3efbb27","ff5fad599a44994948615b02ab9a4b10215fb631ecbc4d6e0fc8943ba8452d5a","363ae6ba6e8903b1972f9d9b9a57e69df939b2b7294a760ea4bccf2756e48f74","59e117fad3dc25be31325b8595d65e4fad0a323519b244f7095735b29740798e","3245a023245b2174422c427b2826ec5d28e689665b32dfe717b9921f13503c40","ba1380651f4f31c52a3b68dfbd2e820de6bb64de494930b6e990e99f1296edc9","e4dca3b5d2b2f31cfbbeeeefa2a5d2e909c61c00f17aa7be9fc396170981e368","131fdc917c4eec9e3b03d1ccd9a1154ca03cce5c9b3abc5e12677a5234c1ece8","e32e499cdb189c52a79433d0715e822419b6581199df2e93974378269ea7d528","b0b83a5d3e15193408b4145b8e27ffea7666c0a163e9f5f7e95ef960363d9fe1","c754af99b43287268ab8d94c69f0f9005ef3b029a0d35001d2af3297f8cf9f28","dfa584f5099cb5deee0c65137055b520473a23d9e20041bcbc107f2e9592cf14","f5800d0a2b11c8338d1205543f7352850deb101ba2372eb395839a60f9132d94","228700f3848072c320cf259ad6092013128639fd4f28d50a009f7409329865aa","3e7f64156b20e71249be6e8ce2f4ec5eaf265bd82156b75623a9c1044b11ddf5","70d7baad641e61f0e2f32dfb089aae0ffee36080ba0d1405c8be8b740421ea92","0e96ef72a2d31523a5eed98ceccd861e08ec69469fc269e7248e45c4fc66bcf8","6e83430621d62e7a87b205819bcb5ed54bc356e83f20a8654f12e3d43613acce","c18aa3cdf4ca66da764a7bb6a51118674cfcfe18b7dae7024b5080d03fb9e5a5","e20cf252e9c517654604ac4ceea19a0fc1259f24cc89c5e656ea33faa523aedb","95fe56d192ce6f1ca4948005eb47d0cfb68bd6227346a9aa12e7b838c553557e","b1f1ebc4e1589420d6a0586b1d8612802efd03f8a54b375fd1917fdf5a637581","95328498dcf755c3919f360e07c000018c1b54da1bbcc2b36c993364148fc00e","a5a16e2cf88ada37ed679ba577123f9711dc3ae44eb9edd6a4b91a0b896f1b07","66f9b646daa404710fa555328e9f161c87120a7b2c9dd2c5ef034acf8615b316","19cef1c1bd6bc0a7a0f67902cb46deb38371207ede06e87fe1df0d7c48dd7b3a","9b482c62894ce3717b901074eba991994a31aa8fa42f8e0df11a3d7302154303","5dcd41aeb5f7119177adab46147589a1618f2b35bd976e6c3a20ec328f58d1bd","18093dd86562c6177af8fb0a5d711ce38a642a944c2f2ba8f876fa7d53aba928","24b77ccef75bd2bd25deb2acfc4723b75d171ed92fe18178b3457073e592a90a","061febff29c5d278119380274e549c882f294b14b2d27e7e8d6b5085797e6a60","5673d28d9adb6209ba1120bfd5bacbfd27e50df4167eb7b7576c6a38f6d82049","0cbaf146205362864870bb5771dd48561d5f8ed5430a7c14bcb03b9077bdd2ed","fb17e6f5c2e6225822052b596c2ccd0888bc6922a9678394b66ec71875830da2","62c8953f06da3b62d7c6b52bc4d47a04c16484ee8f69aedb85ef35737719d1fe","2771f18413bee37bc63b861f663a843947c86ccfc858e2d0cd83a62c6f1da1af","31ac42673f115c2a476cdb344626de64627dc12fc4212d963b0426bab3ec9610","bf233e782dbbf53cc572be908504bf4c075459cef8af4b81a6b56de19e966946","17708f8c8f046446915bea2dd0ab7daeb27716fed357d7253e049630e1f35216","2e24db9d5d15503950332d50f520eaaf694a1a2bdc44a2c576a5558e3445aa6f","217199191521b6913e6778f0fd8c8c5dbeaa2948cbda7f64d12c048be9a69234","090cc50c200b4f70a623fce993700d832621970604b07eae3812525f15f666a6","327dce4f7a8a708865565ef6ed316c727072c498a5f6c9fe0097969ff2789980","633c8d4a118ecb39643de5c1220eb9ae464531af9b49bde0457ad4332f26d438","d424df4b3e74363be2c8e33f5f3aac859120d4b62b7243af1a3c1d15d7106fc2","696cfd8e9589d34ddedc239183efa681cfbf47110722abea5568288f4da55c44","9500809b0594a0597c1699829b1d59717a12c37d8d767759f063d4a3c622d7fa","a47553afcd47d59dc10b5b3b0e6f0c607db4f8b81a3c7acda13326572837a79f","206017497b51b8f3f71a208f0387481852b47dd07774a684aac1259a11293203","61432c69196d0447e8de4158fcd4e3550f1e16852cf0d35d1c1d14183c575760","0cbe122e32204869de231a2242d28b388de8de12810c9a3a7bc3411374f79ae1",{"version":"5936074062e3b5e41a401136ffb31c9e3abef7ab7c92609f02c118cf73f52e85","signature":"ba403ed8bdba2bb87cae4b17225b226c08c271ef8f064224dacd71f572073551"},{"version":"935e7b533281a8ded99eedbccccaa30a929dfaec6c1caa03e817a30e04d8aa85","signature":"350cf9656c6558ea1c655491b353456ad765608594d5067d7a0a0e84601f652b"},{"version":"9bcba1b6b30225d643e9cc8d9edb6ade2aa4db4a6cdf995b956801a84aac32e9","signature":"4a46376dbfedd3d1a1511ca6000ac57fa2981cc476fca4ff5ab6a57816dbf09d"},{"version":"d68af5ae817744cc034d00f8c4a8bbc2471462fddab008ea75591d954ee8cda3","signature":"0fef29233081bf56c2bfd674dff5a9d1a0728d8dc62c5e0fbe8bfdcde2e7dabd"},{"version":"8bf60f8abd5f86d3edfb468535bffb8691ce6ea59417d95fea677ddac92ef0f6","signature":"cf7fee0977b15c04d6f4f047bc22bdb2fe5421957c957352f42875892927cd68"},{"version":"39a30d96761d6ea2e0eebce57d4f4d6238d85ce30b21db5dc414d2e74f1a6ba6","signature":"a053a04cb590f491ec8eec783cd0278827a698a4dade832f12ffa4cb6ff39fbd"},{"version":"9c562014201dd6d1724389a0d211a5e8e882a95deb4670ca02166824ed7edeaa","signature":"3bc38f8867a7b2824f12d266ad6489e66d73cda2f4a58c5d2cd5e864f31d54be"},"948e354b708bf13c63a76c15fe9876896ffbbe266a4d8a746cbc0c8cdac1ae09","bcedbc92cc8d73daa5647a4bfec7bb90877dea25c97483c392ae90b2f5cadfe0","aceb0fa166193791a4c527c8b8075b3bcd0b07e43aa6fec1edce2b3595eb8c0c","9209c613ff21ed0f101b11dee5791d74ea4a10456c08e59090c13bcc745bf4bf","a9528740f1ed7f4638027f743bad4f8733b5aadc5b921983bea1762c2d4434e0","e7a4ffce64998a9ceda8f26e8600277bff2952a0a604d2282df7958714aa8961","20750d6f3d55f6d13cb97c82b4ee606fece01c2ef99e5b28cf3d05a08726dba7","f0dff3e967537dece2e1cc938831cc4eca8fc4fd6c8155b60d6eb3022862f1b5","394d4a22a4ee2b90198b1bf04aabeba3661d9becd33f070c07ccb25effe7680b",{"version":"baa4dcaa6ec4dedb0154794d2e9d3ebbd34fafe5ec4b2d4dbb68f93386b937d8","signature":"0a97b059954430b66905d6ce29ae6f837ce8443ba16f8c713384cff45103342d"},{"version":"c389394e01131db343abb7301d8e88d1b0e98e1e2c579e42e832b19c9a8ab7e9","signature":"fa7b6804857342dc48573d80f6e2e0d3b3071d56b9eba731016aadf40f3e32f7"},{"version":"1b81d59698c32acb0b3b1944a4298b62d78c4c80a9e4119c297751438bbc6f90","signature":"c848b6f66a54894b80ceadf2eeb781e2d5289c67ca1288c2f41ede875b9aec5d"},"9f9453ea1cdad17b108c582dc1029b0c32ca2fcb927465583480ba410cd7c5a6","ded3fd157925a342102992bbedb14f512724b0e1616fb563aff0a53787eb0cac","524f5085a1942a7e9d306938e189bad8db873825804dfb39393a0b663a3824a4","7ba49bafa081c92e7886edc4bc445bd95726a8e6d8d60814e142e55ce182a586","ff3904fdfb803062bd013cad44d9cc2c0647cc974cdb9d12e00187465e1163a3","ff6ae2fedd50c216bf2db88c7390ce4f915ce8f6bb8bcf1bd578a5d69be13a1b","e72ca5f1d2f623950abfb990cee24f4f6a2b63778449e1d0e5b061139da86fc4","67f03637f779dd4f8375cf0035c023cf30e783a4ea2831f48d8592a774b637f7","9a8a0264895c1161389ee67c3c614a30c5141f85d27e88a5a3277af9163f26dc",{"version":"cf7888177228191759989aa5419ad13bdd6c3e619bd209dadaefc5fc37334aa4","affectsGlobalScope":true},"a9da8e3c4ea049fdf414d22de0803930f8db9963a2ba639f47f879078b1ca01d","2a289d4237ae127b1264360f6b4def536947d0f134d1cf54197ae2edaf66c856","dcf9241606f8b8d7d80269557841a427b129a68ebc6ed20c1e59f2ac559b327c","b107732e35c55b4e2cd25af20df81a747b2da9558c8882ec4882abdb69d8249d","0bf863732582768fd9a60ecd01950af1efbea97d261770f48b12d6fde2c96229","85b98a349dc0e084c285d24b1ed09d77c3082e570ca1206a95b10b8e85b5db45","d7087e80d95bb50ddfc73f654c9635dca66c3e441bfc5c055ac055e1ffa4d89f","0bcd0f2197ce881248e62de7072be035b1d81fe7e3eeba6def7de2f65d92abd3","53a45f9038ffc9245d5762d81bd8f18004144ef84e4fb82079d67f301f43580c","89be7ba121f6c918c594dab0d145499cbcf8ba78134392747199cba5b149d346","b2527cfbafe9aef442f2923059089241de9136ff0b6d4c3d8f04a47238423f21","ae21795d5f56f9df8ac381ce2c429451e1aa0dc9f844aaff964924eb31fb8b0f","bc1de126fa9dcb40e9dbf4b251a19d844dba8ae450d24e2ebc1f2a4334711794","b35a912500beace307797108aa36b308b306cf1ef2df21a9b717f45b4785f65e","0493a7f6515da5cf2561bbefe9528015a2352ccb4e1f7c2b5c853a3429bd0793","bdebd66b3b33a94c59c3096cc82a2d9af71cb91b76de55aba0c6e394cb9cc48f","34b16e3c369d4c9eb44f487afdce34bea30cdb288422f4a9a4c74d0c3dc40edb","6af01ee0c86eeded9d09506b578cca85b41d2e26961cfd2841060c96089cecc7","3604e5ad6dd906923bbec8e911af25a9e9f1f2583e38d346fc91b5652b35aa0e","4d5c3009883ce39c1568534d832ecdbee80db6104a1e6f76e0dec6e8e7b56316","34b246e635002375f6d38def63216c32d272757a94d4e18091c066613aaa92fa",{"version":"b52c01e80b23b85a459a311a123d6eb38d0ba1d2bfaff50c9cc5b9823269b96c","signature":"45c5412a50b6ac841efb12e1a9b718c34c7b0e5f3b3f9c3e9f860486d2824916"},{"version":"4397f5fb9dddebe944fce1252955713bd3dbb6f00d58e38868dda737f943baa8","signature":"29f832d2b462091f132721a7f07ce7a39d305953739c24061984be89ca47a75f"},{"version":"6d0d9796e89083c99f20c5b06631891ef0f5a257742172fa1f85c8ff83cf095c","signature":"cc51a8253c05e6b33de69c1f3f63e23469acd1e7324ce6ffe7970aa17304bf19"},{"version":"39a9824c1db65a669d09bfc0c0c4faa80d04b6170c4b02bc6758d44caa01b285","signature":"090a10ba1f9c8d6eff3e3a9d2fa385dbc7499ef411632245564ba0da0daf7a31"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","a3ca095da123d2d556d663733932d71874e6c4b4874c76118463dedea4b0d2ad","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"d8d60d4636de5437353a773942766c22956a4d61b4c6b254092a51a71e4e1bed","e3fd84e6470b7e0679c4073ee5ce971d324182486dde5a49b67cae29168b51d2","dd8331d0a5190a4735ce6c152e420230188c4966067a756673c36dd7ba72b10e","90d88ef5d0e8d585711a8ec68c01d262818f3425fea095fea345b81ec8c09a36",{"version":"d57e7ff5243e0dcd04cf2edf9ad9520af40edd6eba31c14c3f405f0c437fa379","affectsGlobalScope":true},"0f882d4ae58f431454030289154feb0132e1b00ca5c3197c6b749bd098aed73a","7ff7f4632a6e7b6872fb1843f3c0df495b49840eae2a23c6fbc943f863da8c29","d267771149e172ade39e3ef96b4063209d5a7e8291702fe03983aa52f2b3d5f6","a78590b0efcef281236e3234520c348d63be1d4561b63b20e6c3b6fc18b37dfb","4d59c6a10b6c79a0927c79efa89b3c9f71d174ec14ec2792076cfd2330d0cf8e","a496f51933422872de22729b7a0233589325a1a1707cccd05cd914098944a202","fa43bf91102ffc4cfa22b73c7dca50023f99fc0bb15f7fb6201d98e31ab112dd","06a38095ad4368314366bc08f7cbc0fe274ef7321ec611005d0bdd9c6565e4d5","4599793db9aed9b84677f0ca1cf7ef3c69bb91cda4fe4329cbab778ca4d80a58","ad0028f96921778931fb8419d8de33b10908314fa99699de1702020f69235da1","ccd2a35321c0786bd3808042dc43b960cac13f2cc660ac37a0087e12bc97d2fc","df524ed01de4f19efb44bded628dbba9f840148be4b6cfe096e29d4b01589de3","2e3981b9cee48174ff85ae15019fd72933f7023a4ed05094740f7e6f7775623c","836ebdc3b9e4c006acc4f405b7e558e56d47830e05c40d991b1e27fe8bc91157","2cc6b617c6120ba64b5778ccd4b74c951adc3a3941bb6b39f47d48701c44af39","eca02b99615a8f1652e21399d832618e38bf166c0747c9247349bc901a2f7741","7f7d6d42e5780e86f5b860a6f95179fae06a368b3af28c1c4230397c47021a59","4740a7d11ab3b381be0f269f1903fb3ff226a2fba55a01756b2997e67cd853f2","863dbc4e77f0353e6f9d6bc0e2b4622d5c07ff6f099ff66cafd7924b2ff4dd3f","bf034a18ed7e2a058f9e48c4c2480a124138fbd3586a80c77736a9ec079d12a8","f88758992a0bf13d095520aacd4381fb456ff121fb9aa184e6eb0eecb26cfadc","c249e9ae33bfcad97deec3c73c9ed2656e112fbdf22deace0b39724be6a5dcf0","d8b45924965c0c4fc0b946c0b6d597aa8d5de9cdf5c727e3d39422d17efec438","d07ea953cfea0c4bd11641912846bd955f4fd26ad2b7b8a279d69c7ab9cb3add","feddabf6ab0eb191e721f0126f3db8688db97c77a1234968bde7a2d70c4ae513","dbbda62ea5f4d1f8b40cc2b7e2e2fae424abbb4715a04a3659cb8b317f7b228b","1eef6a64835182ce1f4934a366e937120e2e2107b12360436fdf35e99b3ae703","7f5cb3a03588ed46d52a6c2138315d930cd6ffb5c2134247cd07bc23cbea0b5a","7797f4c91491dcb0f21fa318fd8a1014990d5a72f8a32de2af06eb4d4476a3b5","f39fb20b83c3f9853c13d4ac95533760979d3023c0a5affe2c0a62d91ab3afd8","e4fca08aed8afb32bb8643d7469810bc8681115fe398e56a028df9e73b2d867f","2622639d24718ddfccc33a9a6daf5a2dd94d540ca41e3da00fe365d2c3f25db3","078966067552650f44ca96c68eddbb8539f30ee48a9ab3f24abdcf0a4037b535","2cd6250c43dba360377481c98d48db6ab1532a7527339edb0deffddc28ba66b1","7a9d600990fbe263a23daebed9ba1bbc5761e45679a7e2b2774a42756ef077a2","66bc155515fbea8c31a4efccbbac44de7c037b01f3aa00b76312cf7252725d30","5703288ddbfc4f7845cdbf80c6af17c8cde2a228757479796c2378b1662fcd48","0dfd353f0c16dd5107a7e0713dc52d0a2538293b0a0eac6000a017f9c0a60b56","9cd683a4663ef4d9c6486f1b8a34c73bdbc344d69490931bfe2fbcada12ab35b","42f6a409bad5259ece69df25d2b8ace2ff2ade45fe6386ee45203bdd9329f971","8b86677943235a5e5952f9371f7dfe89a9975651c56c74d58e090cb69bf6f2b4","2eb162efd6dba5972b9f8f85141d900d09da4fba23864f287f98f9890a05e95f","3f878fb5be9ebe8bd0ac5c22515d42b8b72d3745ef7617e73e9b2548ccbdf54b","e9ed562b7599c8c8c01595891480a30f9945a93a46456d22ee67ebf346b7538a","e7bf975a98cecefe2e8902fb7da9314675ecdce553aea722aaec97327668e18b","3d36f93648518338c875d9f77a8eab52905365483dbb3afe43ed68f1b712b67c","4fa54df9184d291bd78b36f5063372042cd995460e906cb14014e40d1442a326","b4e32bd5e3b493e4ea6b5ec69a4c02aa1fdaa78e1df9a863bb07604de8f9d123","f6bd1aa152ca2b5064e06282ee3137842ae6825b6b09aa89a2ff063b976a56f3","bce2390bb3a76f8bf2ba4397c66db5277bf3e698ee614347e5eb79d7fc0942c6","fbdc8d7cc7daf4101bf567512c67fb990d8fe300e0ba7f213171192177f44aa0","298e0da6d858e39fc0c1eebfa4f5c8af487868c6f2e98c3ef800537d402fb5c3","3b6457fb3866562d279377f923cf3758c80ed7bfcc19414b72a24d0a98188e0c","4fb5d7efb3520b92c1b767ce18968057c5e70886d7fb3416c487231df9275af9","df2303a61eb57b2717d17123e82bc0f3fd60f6e4673cb5506192dfe23c9480bf","b104960f4c5f807535ab43282356b2fe29c5d14a02035c623ac2012be3d5f76c","a35ca245eb852b70b20300546443abb1fcbac6e5066e4baaa092af4ea614d9b5","55da140feab55f10a538a9879a97c4be3df4934cbd679665c91a7263a86095e1","1a39e51e3362aec7d4edec9b317ff83916fe0471f86ddf2d3ef3af5952e87d9e","4b3f36b96f129a8e125c91d41a05f711e73b3285f80bceb3a1aecb13c97c4502","852779920fc4220bc42ec6d3c9b6164e23ea9371a788531b48b4005fe0cb4392","9a82e1b959524c1abfeeb024ee1a400234130a341f2b90a313ce4e37833b7dd2","515b97cede17d91c9669cc1c7fb7a8a5f0a5f2d8999f925a5f70b4ebea93723e","08e8e57241f874bdbf69ab2b65cb0ee18b4183d5c9452937da49b934fc679c4b","7a5bfc619b1ad803f11c50668574b16baba8f0e8ce1c3e8ebf16421e910474d2","644addd4811636da491c9546654bc005ba8599f23df6d731d91eba86f3137fc2","a9249493114b181814728cbfeb7234738193a4169b654ec4705d48d7a4d25222","aad6f20d6eb01192ae02294361faa6e1f320d72447b56f433db853bbe80b15ca","876fbedec2f494eb6f834ce8636b07d581c657d205d81a3ba894eff0facc6b84","58527aa45f11c9b259a6a9d78b397f35020bfbb104f4d3bb177039b5c18146bd","91b8b61d45b5d22f3458a4ac82e03b464a0926bab795a920fe0eca805ec476eb","2744532f8fb960eb78497ac660db719f503a10c801f87131d26fd9cbef75dcef","6884287c54891ac19cfbe056f3ed29cab1732a00dec69bd3b140ce62c11783c6","393dc8619d7e27653d5e4eafe99ec5501a6b043db50d805c2d40465a50b857e0","cb46657d3237f80742d5701ebcced8f6e5cf8938442354387d6c77d7048dfae6","9caced628452876da272decb56b3f4c18d9aa66b413be5b1ce322933aa1362b6","661f322e45545a554e4ffc38db6c4068a66e1323baf66acb0d8a9fa28195a669","91d70dce48c2a2bb55f0b851cf1bdba4202f107f1e8fdf45f94ff6be4b8e8f99","ce978e20a6f26f606b535f0d6deb384ae6a73f8d0bd0dfca0925f5317cad1f25","f2d3567210ca4d559d8297d6c4402599c93e3bc7485054192d38db5e132fbc0a","887d8058aeeade45984fdb8696147078bc630d3fea15ab2b7baacde0fe281fb7","ad27aa59d346179ac449bd3077d245f213152879e4027356306ccf1722d61d51","ea546a7ed9eaa71ba78d4d392509dadea4bafed283269dd6c4b09e7d8824e986","4ec0f2a141a9ae7d3557b8efe630ac2021bc3a9ac61238b59293f4cf2f196e82","b2db743c71652e03c52d51445af58d0af3316231faa92b66018b29c7ba975f6c","0863a5876c85fbaffbb8ec8aeda8b5042deb6932616139706d2b82cde9d3f7c7","1294b8ecdd212362323f349dd83b5c94ea77bfee4dad24fc290980a3c8af6ce3","ba9c46725e2a0bd9df59d3a1e801cc60f90db3ef7817131c53945dce2b8c0c56","281d373eeabf80c4851f8de991e6abe4d385c30379d80897bbc3df3dcac99cee","624c5dce95672d9dcca40d9d9d82ef855f5f902292f43aa265cc8fd963c6ce84","8a48d9c6184992d1c3ed5daa55f83d708c37582916926a5555a900608f804b60","605dd288c636cf9b5317fe76dec75d3c7fb855fdcd3ee8cb4fea7d7091ca6fb4","e6d6ba51e1280c00199ae4a4ab19df78f965df81e21aa1f608a9dd21219ea798","b5a615b0ad865ffa562980a10bda162ac1744fd363b4edc2cfc664222071cbcf","bbccd721363897950a55ce09529503f25a69522e5c91a22679b66e941e5f8654","d3a1e70795c38d7851b6e4f3b441c5ffdae171d6e2576a2204b7d79059aeea66","d7b8d41887c5fccfe19802c4336d34348b752abf0d98839575699d71deff60be","063fe3004728b8516a4d799ee16f9a71801ba24e0443dd98638cef1bd4353a7c","b8a0236f47d9037efdaf93da602415ae425dababe097fc92f83fd47ce9aaa69f","fab7912fc3ff45fce2f5d5febc9494c4d0a85d6c63fff68f21e4669c32eaacb9","f6c3fcb9d75d8aea778236fd9327ceb935b41865dbf3beac698be77e0ae9018d","b20bc124abd8ee572d0d756713ff987b116cdae908a6fcbc40e80d4b999f56b4","a599f3f450ad62c3fdc0c3fd25cddcc9332ffb44327087947d48914a8da81364","645dff895168aa82350c9aa60aa0b3621b84289fef043be842f45a9c6c0ac6e2","f068ff5b7fb3bdc5380e0c677e21de829bd25cdac63a9b083fdc220fcb225280","09d2fdca6ea6c135897a26976ad3c0db724adaf23ef4e38ad852b1d8efef1ae6","15de5b7739bf7e40213a200853bf78455ee5958af08eda786605a54a7f25ade6","f3acb439e08f0c2c78c712a876dc6c2080302c46916f1d63b7dbe509616ce9ae","37862e711637ebd927907a82cbf0143ea30e95eb165df554926c43936b1d77a9","89e253db2c2cc9a510c521f14dd2b1aae4de2556ee5159ad8d118d3587e3a880","3d0a172cee184a0f4111a7bd7fbb8729af3f54b30c06a2677d85c20ea9c811ab","d6a07e5e8dee6dc63c7ecd9c21756babf097e1537fbc91ddfec17328a063f65d","6fdc88b1287c276b55b7f7c4c7b49587813c763eea9751ce0baf0a7e61cd5d89","6a02443704052768bd021f24783aa104b02ae4444e9b735317bf13c6b857a11e","37987b0fe9800cf25473c882ce07bccdab2763c5681c1a2d16816aead46aa8d1","c84c03c721154068e1a60d83e9e85819bd3ef70b824ac2edc498aa31c06e5781","c23a403716784b53cf6ce9ffff9dcdb959b7cacdf115294a3377d96b6df1e161","c96fb6a0c1e879f95634ab0ff439cbb6fff6227b26bbf0153bef9ed0aabba60d","db936079fe6396aad9bf7ad0479ffc9220cec808a26a745baebb5f9e2ef9dbc7","06bc0b9cc7bf0b92534f1517fe5adde1f23f60cc6cc5c59f8e1c65db48a40067","919a753b0cbb12ccc606c62e2d34884d75a48ba19b1dda497c72621b11dac088","2c27e33ee0bf722988da00abd582cc9b806ce3fd9153a864800a339ad13f3fcf","92d7b3a5aa5dc872e54cbad2a7094b3ea4f72c7901de1d07b4c334ff658297f0","7a52922b38e9686d5bdc6e75774929eec6688d26c1dfe4a03ddec77ede468e87","aa5efca2833d89b55248f1889a6433dab1b1f41768e9a75f8ce35f9bf56c5ec4","0ba3b34cbe39c6fe3ba89f7f6559f10c05f78cd5368477d9c95d25c390b65931","4e82f599b0cff3741e5a4f45889d04753a8bb3b0f95d0f3328bcfbb4f995b2a1","8354bb3a9465dc2e9ccb848564945e0818d3698b2844cfd69b0435080871fd25","1218398da7c8dc4add10bdb3aa2856aad54b123d847eaf574d1d694ac269bfb5","189014f3213ee7457dbeea04dca10ca5d9ed2062cd39641aca5f3b4c75de9d99","b637cd92688a6cdf4f8f184ff529dc2bc7f15692828e2c0c66a60e6972f400c7","7061e83d6792897077bcac039fccf7325234004769f591c63a8cf8478bf551bb","f2d2c194c4c6ba8cfbacf893e371cd8482102b368c1a5ea4771fc956bd0a6a19","277a358d61376fce7ac3392402909c96cf6a0a613146549fc0165ccff953e012","50614c808e099a1d4413786f3783d9eeaaa74b267f2c87fcf8a893287e91c301","f4cb6530f248e87cefa74ef623206fec805f6252f885f8e14ef3d1a5872cef2d","38c332caadd8391566552395d592076470a5e7423f70964620eabf05c02907cd","eb17b5bf1fc763a644c21d76572c0e41e351c3f6dfcde649428d5d829f7294d2","cb124162c87b29ff5121e3ee5bb29c782f101e0135d6c2644ab1b31d530a435e","406d6f5d3707c488362fb40d1c1f8a7b0a42b70554b427160185d93e430228f5","2e9776410c5bc290d9432a9215c67398a273e514a79b9e15f32ecddfde8a03be","313ff8df074b81d3e4f088ff3a3a06df3d9b0d0c7f55469ccc2ac887ecb6b867","c718475bca06806cc243e77777641cb67ba68f2c57321a4773ebb47760a3bcf2","96e6bf811343caab5112b68880905c5d20d9257054afac6c18e718a4c549ed27","a2793bc73ba63ca7d259cb0f0b61d0023820170d08a1f9715006c8042d060165","d5011b38165771fdf75a9a06d6d379a1fc7edd7eb695ebdc52319fb6e3c6d81f","88417fb19d339304e9616a38ea513251047c9e300c81f9467fc317df8a582e71","3e8e2d132f726dddbda57819f5391504e585cb3beab6b32203064e7e40618583","6e23627cd3f10418b5b2db102fdcf557b75f2837f266d88afac6b18f333bb1bc","866046dcea88f23d766a65487ee7870c4cf8285a4c75407c80a5c26ed250ef8d","019f4f1cbc781cc15c6173f8be5ef907405722194ab297127b3c3426e5368339","41f4413eac08210dfc1b1cdb5891ad08b05c79f5038bdf8c06e4aedaa85b943d","c79f1c8b51d8475dde8d2973f740f43ca34b1f0a95d93649cd76c1ee20abba19","35f0d2bd2c5c05c0cb19095bf5b7c44365b1c88efe6285370855b90417277a64","8264b129f4c4eb4799703f8e5ee2223a184d1cdbfc782158b1f40a88a4435a1f","527ddda6f8be1279f3294714534c49d6e90f238cea325519882ebf88d7ec5bd2","b23877792e8bd00271d0ec5d401b68e4228540a4316de3d9dfb697b955c161a4","35b2eb1de01633db90d41abe93730b29984856fcc840b4c2801bfd3761a2097b","1fd5a6eb7fc5159b80a848cbe718eae07a97998c5e5382c888904248cf58e26f","2a6b4655a6edce9e07c7d826848f72533c9991d40bc36e3f85558ad20e87ce2d","6e3d29fdc96ebbb2ac672d2dae710c689c1ea0d0e9469e0847616f3c38fd085f","d505055b8fadd42da235c85947911d8d198ad70c5f5775991e7821d4f89c90f5","8b5a5852099dca7d7e7a7cef6d681dc1586aafacdb963ca180fe5cabbfa3a24b","0d1aa3341d1ad2064adada71c5d01a2f572e4aac09410e5616d90894105a0eb9","52494ca5a884da3bf11b8165ab31429715f0970d9c6383240c5666f4bd713e01","162fafa2291749df2ab4516854aa781fcee1d9fca2ecd85fb48ae794c0700ce2","b4b9b51ee6f6309cda2e539245235a8caeca2b1d6bf12b5e5c162d17333c450f","d2ffe8356f060b88c1c5cf1fa874a4b779fb87fd1977084876e8be9eab6bf485","c76053984b39150d00ade365b096a8bc21a4a7f2ee9e0a926711b00f8e7bf701","956b510767e3d6f362ea5800510635197723737af5d19ae07ee987ea4a90bfa5","cd1a8ff61f5063d7e6e2094e25d35c90b499961b63911f2f4ae0ff5555c2b4d7","1cf09b5945779e9bc75c4dcd805fb149c28fc90da3335186ef620647a3c540e1","9cdc0b9a313090ec45b34ea1eb02fbace433f509e753634b043e9b83038261e6","c93474cff0088351a65d3cad24037874a26a5371a48528563e56efe31cb3d8bb","b4580df8ea7f62d7b06588001952bf69426e6b03cf3d2569f5f608e45f29ba08","de27f7bb9be9d8a2b4557ec6503b8a315f74d598ce9a0ab81b5ed5610e1a8e81","fe3c378dcefa7ed8b21bd6822f5d7838b1119836da75ae1e1fb485d27b8ffb62","7365bf3333d4277b6fe374ed055624e5ec080dbb919e2d78f1cb75a3f1a4b4f6","a5fbf3bc5c16ab5c84465ba7a043a4bee4c2b20bd3633d50d80118a3844edbaf","0923e4ac8c894ad507bd2daee0df66b699de88467201381ece011ba5a080e1ff","e4f6626f827ea509255647e1b6db82145a2eb1a6b46202655e7d9bb19145c33b","26e23972c40f378f0301d8d7025ea895557c2865a1a31c8ea9c3fff0dbc27075","bfddbff94132b423ad1d71bdbefb1d388c21a74ac1a8742df9324e5bf6109058","bece6bfb1d236c41747834f9a7e579be18ce54cb034f54f4ae1ea618faeb5708","0e59cf55095972c87a7cb1363dd482e40322be78b9b4c7a710cba60a596eb935","c52acb7126fe8bf136a21908caa39a9a302950b87aa6971908f9e1c29c0fa19a","11e8eb54177783e97659925f09c7000a69311305161acc7d0f51cec9ec3fac20","f915c5b0118fbb957f69f42617c0d1671047db55121c4dfe61c14729050410a7","b707f3ea2029672e11d198485581a9309226eab53dbab21db74d8db3526d0663","bd5001702011525d057662a666fe601fac56067d69528d7b4ef4dab83ef6d73c","ad4fafe8ec02d836df20a48e81156cf5323d591026b8f677535b5832022268d8","bd0a3ebf3935ff6be6d1d79dba461a63c758085d232065219a09b72cf1ede3d6","7f5c4b14f6698408e9d05ae73aeb7ecef75c27734e04fb5337a742eafbfd50c7","faffbf4dbc1e3a09dc6e54629fe20390ec001476a67fa3d40edb3f2910c0e051","6a8b556617e07a1ca3052d1e70e9236b4e171a0b08d09054eaef8826ad5d18b6","b71ebbdd422b094f638fb958c10d7ef8260df87a2305a54db0296381406c50a6","8a01a5903999938c6af690d388789931c6c6862bd89033f6113fa894ced34dd4","46e30c27f13d79cf3aea3221e3201bd7ae961ff548a4ddbfd3ae2da54478a4ec","8a70850984a40caf2b1007674fdb7340041498e2ab90f36b2d68c0bf403e0b16","616ea4ff77f89fe59032df6f80ebdf5f40789419341de9b25d2946485c85ad05","de2d4b9daf5db51547d44fdc1163fa037ec6acfcb58ad4698a62d3453b6f44f9","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","ca6646a7786dd130c0615882d16e4d2df116c47da2eba44142426cb76bd16b46","72cfa60ebbb814cb1c38b35c903fbf8cf3c822b24c9df6d9260b65116fbbe799","07082818c2de24059137c6d53eafd75aa25ca8e5060227b199d998b1fa5fd4e2","b33e88c91d23e9d85ce5eb12c339daed090674db53050f00fe9446c6bbcea502","6acf8a984c2728906edeba2098c5c51f44a4520bc4a48c65b973bd785537178f","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3ca3179dd4772b596ed81df8bb9c541e1416d86343c582a105013b20925de051","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","524ee68b6177f628d5356976603b37a36859541b22629d7d6d2e7b20bdebb60d","23c77af9fdadb3569d425dbc7bbf06a118a4b02bd9db14b7abfafc3183d58bb6","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","429b6df7d7b94389bd42cfdf39bccea903acd3628498cec6172302801fbeac89","ebe77545478bf39a23059a3b0ea03d2c0e502d9c8e1122015e19213cd0815097","ad8c69f4a471cafdf093acdcdf3b444ae56b227b92024ae45f8c9c9c8be8afcc","71a6149f67a64b55baeddb83e5254e9e017c80c15a260d6f6b3a12deb3a575ed","6c881abb4a0e7579a9d5b63a7e4da3d98b094adf0f1d1fa75bbe433b9f3d7c27","66d6844502d7764a8e02b632228c4c5a95f7cac7bce1a0db07f0dcc377d3755b","2e1be3fee9ccef82555b2f039e8e100e0a176ee2d18b0de95e7da6a61e1e360a","5c48fc6096e361e639c1d0a9f7f066242bf757ace84843582d29c6813563055a","bebac54845e03ea36044fab99b5a51266cec2492fcd8a95bde6d5527a3174732","ef141fd0ac854fc92cbc9a13cd25a0ac87b3961f70d516f191bb3e29d3b183fe","a90c6f5554bd74f63aaf03751e6b79d01a457b59339b03d308c16af8f266cf47","7d5d42c18c62ef137b8830b7de8432b466c8f4d93fa8476ac36d2f69114fad1e","484faf958ae025f8d1ce6cb9c75e12c2148190efc22151299d14d10e3601cbba","66ddf54cc3d66cdab1b69e6879af9876bbc30030f85e51ba8a73223339e65b85","734166f6ae00b52512304c153644963fd93cd152620231ea7a0560802c968d28","15ce0cfa537ada25e07633617a993a8e02827939c2128d39c010739f28a0379c","a3868158152cc946c27c5e7b7803537c14cada9bb442c96c759c66b0d01f9eca","00ee901c4135af0d5688bee246d1e42ef7421cec93c32587e4814f744b95e2e8","af30b8feae6399905adeb5c938558e666dc81113ccf38032722583b95a65f9ab","60aaac5fb1858fbd4c4eb40e01706eb227eed9eca5c665564bd146971280dbd3",{"version":"b40add723ee9828e126ff18a0a2fb5124958ff911e1836bfe461916e434bd051","affectsGlobalScope":true},"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","d9c5f8d21771758700d7b6eeef796700b99c643a5818195cf0d01bed98407df1","4266ccd2cf1d6a281efd9c7ddf9efd7daecf76575364148bd233e18919cac3ed","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"jsx":2,"noEmitOnError":false,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strictNullChecks":true,"target":1,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[43,48,98,179,223,228,432,436,438,441,442,452,453,454,486,487,488,543],[43,543],[43,48,80,84,435,436,439,543],[43,48,80,84,223,435,436,485,543],[43,48,80,84,98,179,435,436,543],[43,48,80,84,98,412,432,435,436,543],[43,48,80,84,228,435,436,543],[43,437,543],[43,48,80,84,179,223,435,436,543],[43,48,80,84,179,435,436,543],[43,48,80,84,175,223,412,432,435,436,439,440,543],[43,48,80,84,223,435,436,451,543],[43,48,543],[328,341,352,376,543],[351,352,353,543],[328,350,376,543],[328,339,351,543],[333,341,342,343,345,346,347,350,351,352,353,354,376,543],[340,341,343,350,351,376,543],[543],[328,343,350,376,543],[328,341,343,345,350,353,376,543],[333,543],[328,343,346,349,351,376,543],[413,543],[328,341,343,346,347,351,376,543],[328,342,350,351,353,376,543],[328,343,346,348,376,413,543],[328,355,376,384,394,406,407,408,410,543],[329,343,355,376,384,394,395,403,404,406,407,408,410,411,412,543],[328,355,376,384,407,411,543],[351,355,376,395,404,405,407,408,409,543],[328,355,376,384,395,404,407,408,409,410,543],[328,355,376,384,395,405,406,407,408,410,411,543],[328,339,355,376,384,395,404,405,406,408,410,543],[328,339,355,384,407,410,543],[328,333,394,403,543],[413,431,543],[376,377,543],[378,543],[333,377,378,379,380,381,382,383,543],[328,376,543],[333,384,387,543],[384,387,543],[333,385,386,387,388,389,390,391,392,393,543],[384,543],[387,543],[328,384,543],[376,543],[333,396,397,398,399,400,401,402,543],[48,413,543],[48,413,419,543],[333,414,420,421,543],[333,423,424,425,426,427,428,543],[328,339,413,417,543],[413,417,423,543],[328,333,339,413,417,543],[333,417,422,429,430,543],[328,543],[48,543],[415,416,418,543],[48,413,417,543],[48,328,339,376,384,404,413,543],[361,543],[360,543],[329,330,331,332,543],[328,335,543],[333,334,335,336,337,338,356,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,543],[359,543],[357,358,543],[355,543],[491,543],[443,444,445,446,447,448,543],[48,98,443,543],[48,80,84,98,118,121,543],[48,80,84,98,118,443,543],[48,55,56,543],[56,543],[55,543],[55,56,543],[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,543],[48,55,543],[455,456,457,458,459,460,461,462,463,479,480,481,482,543],[48,98,455,543],[48,80,84,98,121,175,543],[48,478,543],[98,543],[478,543],[48,455,543],[48,80,84,543],[100,543],[48,100,543],[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,119,120,543],[48,80,84,118,543],[48,80,84,98,543],[78,85,86,87,88,90,91,92,93,94,95,96,97,543],[48,78,80,84,85,543],[48,78,87,543],[48,87,89,543],[87,543],[48,87,543],[78,543],[49,543],[49,52,543],[49,50,51,52,53,54,543],[49,50,543],[50,543],[122,123,124,125,126,127,128,129,130,176,177,178,543],[48,98,122,543],[122,543],[48,80,84,98,121,543],[48,122,543],[48,175,543],[179,543],[491,492,493,494,495,543],[491,493,543],[497,543],[516,543,550],[530,543,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,762,763],[543,764],[543,742,743,764],[530,543,741,745,764],[530,543,746,747,764],[530,543,746,764],[530,543,741,746,764],[530,543,752,764],[530,543,764],[543,760,761,764],[543,741,761,764],[530,543,741],[543,745],[530,543],[543,741,764],[543,766],[543,767],[543,772,777],[499,515,543,550],[543,795],[543,783,785,786,787,788,789,790,791,792,793,794,795],[543,783,784,786,787,788,789,790,791,792,793,794,795],[543,784,785,786,787,788,789,790,791,792,793,794,795],[543,783,784,785,787,788,789,790,791,792,793,794,795],[543,783,784,785,786,788,789,790,791,792,793,794,795],[543,783,784,785,786,787,789,790,791,792,793,794,795],[543,783,784,785,786,787,788,790,791,792,793,794,795],[543,783,784,785,786,787,788,789,791,792,793,794,795],[543,783,784,785,786,787,788,789,790,792,793,794,795],[543,783,784,785,786,787,788,789,790,791,793,794,795],[543,783,784,785,786,787,788,789,790,791,792,794,795],[543,783,784,785,786,787,788,789,790,791,792,793,795],[543,783,784,785,786,787,788,789,790,791,792,793,794],[515,543,550],[518,542,543,550,800,801],[500,543],[503,543],[504,509,543],[505,515,516,523,532,542,543],[505,506,515,523,543],[507,543],[508,509,516,524,543],[509,532,539,543],[510,512,515,523,543],[511,543],[512,513,543],[514,515,543],[515,543],[515,516,517,532,542,543],[515,516,517,532,543],[543,547],[518,523,532,542,543],[515,516,518,519,523,532,539,542,543],[518,520,532,539,542,543],[500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549],[515,521,543],[522,542,543],[512,515,523,532,543],[524,543],[525,543],[503,526,543],[527,541,543,547],[528,543],[529,543],[515,530,543],[530,531,543,545],[515,532,533,534,543],[532,534,543],[532,533,543],[535,543],[536,543],[515,537,538,543],[537,538,543],[509,523,532,539,543],[540,543],[523,541,543],[504,518,529,542,543],[509,543],[532,543,544],[543,545],[543,546],[504,509,515,517,526,532,542,543,545,547],[532,543,548],[48,543,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821],[48,543,806,822],[48,543,822],[82,543],[48,79,80,81,82,83,543],[80,84,543],[44,45,46,47,543],[543,827,866],[543,827,851,866],[543,866],[543,827],[543,827,852,866],[543,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865],[543,852,866],[515,532,543,548,550,799],[532,543,550],[515,518,520,523,542,543,550],[543,871],[518,532,543,550],[237,412,543],[230,231,237,238,543],[239,303,304,543],[230,237,239,543],[231,239,543],[230,232,233,234,237,239,242,243,543],[233,244,258,259,543],[230,237,242,243,244,543],[230,232,237,239,241,242,243,543],[230,231,242,243,244,543],[229,245,250,257,260,261,302,305,327,543],[230,543],[231,235,236,543],[231,235,236,237,238,240,251,252,253,254,255,256,543],[231,236,237,543],[231,543],[230,231,236,237,239,252,543],[237,543],[231,237,238,543],[235,237,543],[244,258,543],[230,232,233,234,237,242,543],[230,237,240,243,543],[233,241,242,243,246,247,248,249,543],[243,543],[230,232,237,239,241,243,543],[239,242,543],[239,543],[230,237,243,543],[231,237,242,253,543],[242,306,543],[239,243,543],[237,242,543],[242,543],[230,240,543],[230,237,543],[237,242,243,543],[262,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,543],[242,243,543],[232,237,543],[230,237,241,242,243,255,543],[230,232,237,243,543],[230,232,237,543],[263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,543],[255,263,543],[263,543],[230,237,239,242,262,263,543],[230,237,239,241,242,243,255,262,543],[543,770,773],[543,770,773,774,775],[543,772],[543,769,776],[543,771],[48,80,84,142,543],[48,80,84,146,162,543],[48,80,84,146,543],[80,84,163,543],[48,80,84,137,146,165,543],[164,167,168,169,543],[48,80,84,166,543],[48,166,543],[48,146,543],[48,137,543],[48,132,135,136,543],[137,138,139,141,142,143,144,145,146,163,543],[138,147,543],[137,139,147,543],[137,138,139,140,141,142,143,144,145,146,543],[147,543],[48,147,152,153,543],[147,148,149,150,153,155,156,157,158,159,160,543],[141,147,543],[137,147,543],[146,147,543],[137,142,147,543],[137,143,147,543],[137,144,147,543],[145,147,543],[131,132,133,134,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,163,170,171,172,173,174,543],[466,543],[466,467,543],[467,468,470,471,472,473,474,475,476,543],[466,469,543],[80,84,465,543],[48,80,84,175,464,466,467,477,543],[114,115,116,117,543],[114,543],[48,80,84,114,543],[48,114,543],[543,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,570,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,610,611,612,613,614,615,616,617,618,619,621,623,624,625,626,627,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,673,674,675,677,685,687,688,689,690,691,692,694,695,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740],[543,599],[543,555,558],[543,557],[543,557,558],[543,554,555,556,558],[543,555,557,558,714],[543,558],[543,554,557,599],[543,557,558,714],[543,557,722],[543,555,557,558],[543,567],[543,590],[543,611],[543,557,558,599],[543,558,606],[543,557,558,599,617],[543,557,558,617],[543,558,658],[543,558,599],[543,554,558,676],[543,554,558,677],[543,698],[543,683,684],[543,693],[543,683],[543,554,558,676,683],[543,676,677,684],[543,696],[543,554,558,683,684],[543,556,557,558],[543,554,558],[543,555,557,677,678,679,680],[543,599,677,678,679,680],[543,677,679],[543,557,678,679,681,682,685],[543,554,557],[543,558,700],[543,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,600,601,602,603,604,605,607,608,609,610,611,612,613,614,615,616,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674],[543,686],[48,224,543],[225,226,227,543],[48,52,55,78,80,84,223,443,449,543],[450,543],[48,52,55,78,455,483,543],[484,543],[433,434,543],[48,223,543],[98,223,543],[204,543],[48,201,203,543],[202,543],[187,188,189,190,191,543],[187,543],[181,187,543],[207,543],[208,209,210,211,212,213,543],[194,543],[208,543],[192,194,201,202,205,206,207,214,222,543],[215,543],[192,194,207,215,543],[181,201,207,215,543],[215,216,217,218,219,220,543],[48,215,543],[192,194,207,543],[201,215,543],[194,221,543],[181,182,183,184,185,186,193,543],[181,543],[181,184,192,543],[180,543],[195,196,197,198,199,200,543],[437]],"referencedMap":[[489,1],[436,2],[454,3],[486,4],[437,5],[453,6],[442,7],[438,8],[488,9],[487,10],[441,11],[452,12],[440,13],[439,13],[353,14],[341,15],[351,16],[352,17],[355,18],[342,19],[344,20],[354,21],[346,22],[347,23],[350,24],[345,25],[348,26],[343,27],[349,28],[411,29],[413,30],[406,31],[395,20],[410,32],[405,33],[409,34],[407,35],[408,36],[404,37],[432,38],[378,39],[382,40],[379,40],[383,40],[380,40],[384,41],[381,40],[377,42],[388,20],[391,43],[389,20],[392,44],[394,45],[385,46],[393,47],[387,48],[390,46],[386,23],[401,46],[396,49],[398,49],[403,50],[399,20],[397,49],[402,46],[400,46],[414,51],[420,52],[421,51],[422,53],[429,54],[423,25],[424,55],[425,55],[426,56],[428,25],[427,57],[431,58],[430,59],[415,60],[419,61],[418,62],[416,60],[417,63],[368,20],[370,20],[362,20],[371,64],[369,59],[372,20],[363,23],[361,65],[374,25],[360,20],[373,20],[330,20],[332,20],[333,66],[331,20],[334,59],[335,59],[336,59],[337,67],[338,59],[376,68],[365,69],[366,69],[364,69],[359,70],[367,69],[356,71],[375,20],[493,72],[491,20],[339,59],[449,73],[444,74],[443,75],[447,60],[448,20],[445,76],[446,74],[57,77],[58,78],[59,77],[60,60],[61,79],[62,80],[63,79],[64,80],[65,80],[78,81],[66,77],[67,77],[68,77],[69,82],[56,82],[70,20],[71,20],[72,78],[73,77],[74,78],[75,79],[76,80],[77,20],[483,83],[456,84],[455,85],[463,60],[479,86],[480,87],[481,88],[482,87],[457,89],[458,90],[459,90],[460,84],[461,60],[462,84],[99,90],[101,91],[102,91],[103,92],[104,92],[105,60],[106,90],[107,60],[108,60],[109,90],[110,20],[121,93],[111,90],[112,90],[113,90],[119,94],[120,95],[100,90],[98,96],[86,97],[88,98],[90,99],[89,60],[91,100],[92,100],[93,101],[94,87],[87,102],[95,20],[96,97],[85,20],[97,60],[51,103],[50,103],[53,104],[55,105],[54,106],[52,106],[49,107],[179,108],[127,109],[123,110],[124,110],[125,110],[126,110],[122,111],[130,112],[176,113],[177,114],[178,113],[128,112],[129,109],[490,20],[496,115],[492,72],[494,116],[495,72],[498,117],[499,20],[551,118],[552,118],[553,20],[764,119],[742,120],[744,121],[743,120],[746,122],[748,123],[749,124],[750,125],[751,123],[752,124],[753,123],[754,126],[755,124],[756,123],[761,127],[762,128],[763,129],[757,130],[747,131],[758,132],[745,132],[759,133],[765,20],[766,20],[767,134],[768,135],[778,136],[779,20],[780,20],[781,137],[782,20],[796,138],[784,139],[785,140],[783,141],[786,142],[787,143],[788,144],[789,145],[790,146],[791,147],[792,148],[793,149],[794,150],[795,151],[797,20],[798,20],[799,152],[497,20],[801,20],[802,153],[500,154],[501,154],[503,155],[504,156],[505,157],[506,158],[507,159],[508,160],[509,161],[510,162],[511,163],[512,164],[513,164],[514,165],[515,166],[516,167],[517,168],[502,169],[549,20],[518,170],[519,171],[520,172],[550,173],[521,174],[522,175],[523,176],[524,177],[525,178],[526,179],[527,180],[528,181],[529,182],[530,183],[531,184],[532,185],[534,186],[533,187],[535,188],[536,189],[537,190],[538,191],[539,192],[540,193],[541,194],[542,195],[543,196],[544,197],[545,198],[546,199],[547,200],[548,201],[803,20],[804,20],[805,20],[46,20],[822,202],[807,203],[808,203],[810,203],[811,203],[809,60],[821,204],[812,203],[813,203],[814,203],[815,203],[816,203],[817,203],[818,203],[819,203],[820,203],[823,60],[81,20],[82,205],[79,20],[84,206],[83,20],[80,207],[824,60],[44,20],[48,208],[806,60],[825,20],[826,20],[47,20],[851,209],[852,210],[827,211],[830,211],[849,209],[850,209],[840,212],[839,212],[837,209],[832,209],[845,209],[843,209],[847,209],[831,209],[844,209],[848,209],[833,209],[834,209],[846,209],[828,209],[835,209],[836,209],[838,209],[842,209],[853,213],[841,209],[829,209],[866,214],[865,20],[860,213],[862,215],[861,213],[854,213],[855,213],[857,213],[859,213],[863,215],[864,215],[856,215],[858,215],[867,20],[868,216],[760,217],[869,20],[870,218],[871,20],[872,219],[340,20],[45,20],[800,220],[412,221],[239,222],[305,223],[304,224],[303,225],[244,226],[260,227],[258,228],[259,229],[245,230],[328,231],[230,20],[232,20],[233,232],[234,20],[237,233],[240,20],[257,234],[235,20],[252,235],[238,236],[253,237],[256,238],[254,238],[251,239],[231,20],[236,20],[255,240],[261,241],[249,20],[243,242],[241,243],[250,244],[247,245],[246,245],[242,246],[248,247],[324,248],[318,249],[311,250],[310,251],[319,252],[320,238],[312,253],[325,254],[306,255],[307,256],[308,257],[327,258],[309,251],[313,254],[314,259],[321,260],[322,236],[323,259],[326,238],[315,257],[262,261],[316,262],[317,263],[302,264],[300,265],[301,265],[266,265],[267,265],[268,265],[269,265],[270,265],[271,265],[272,265],[273,265],[292,265],[274,265],[275,265],[276,265],[277,265],[278,265],[279,265],[299,265],[280,265],[281,265],[282,265],[297,265],[283,265],[298,265],[284,265],[295,265],[296,265],[285,265],[286,265],[287,265],[293,265],[294,265],[288,265],[289,265],[290,265],[291,265],[265,266],[264,267],[263,268],[229,20],[770,20],[774,269],[776,270],[775,269],[773,271],[777,272],[769,20],[772,273],[771,20],[174,274],[163,275],[171,276],[162,277],[173,274],[166,278],[170,279],[169,280],[165,280],[164,207],[168,280],[167,281],[131,20],[133,90],[134,90],[151,282],[138,283],[139,283],[137,284],[172,285],[155,286],[148,287],[147,288],[153,289],[154,290],[161,291],[140,20],[156,292],[160,293],[159,294],[149,295],[150,296],[152,283],[157,297],[158,298],[141,283],[146,283],[142,283],[143,283],[144,283],[145,283],[175,299],[132,20],[135,20],[136,20],[464,20],[467,300],[472,300],[473,301],[477,302],[474,301],[475,301],[471,300],[476,301],[470,303],[468,301],[466,304],[469,20],[465,20],[478,305],[118,306],[117,307],[114,90],[115,308],[116,309],[741,310],[714,20],[692,311],[690,311],[740,312],[705,313],[704,313],[606,314],[557,315],[712,314],[713,314],[715,316],[716,314],[717,317],[617,318],[718,314],[689,314],[719,314],[720,319],[721,314],[722,313],[723,320],[724,314],[725,314],[726,314],[727,314],[728,313],[729,314],[730,314],[731,314],[732,314],[733,321],[734,314],[735,314],[736,314],[737,314],[738,314],[556,312],[559,317],[560,317],[561,314],[562,317],[563,317],[564,317],[565,317],[566,314],[568,322],[569,317],[567,317],[570,317],[571,317],[572,317],[573,317],[574,317],[575,317],[576,314],[577,317],[578,317],[579,317],[580,317],[581,317],[582,314],[583,317],[584,314],[585,317],[586,317],[587,317],[588,317],[589,314],[591,323],[590,317],[592,317],[593,317],[594,317],[595,317],[596,321],[597,314],[598,314],[612,324],[600,325],[601,317],[602,317],[603,314],[604,317],[605,317],[607,326],[608,317],[609,317],[610,317],[611,317],[613,317],[614,317],[615,317],[616,317],[618,327],[619,317],[620,317],[621,317],[622,314],[623,317],[624,328],[625,328],[626,328],[627,314],[628,317],[629,317],[630,317],[635,317],[631,317],[632,314],[633,317],[634,314],[636,314],[637,317],[638,317],[639,314],[640,314],[641,317],[642,314],[643,317],[644,317],[645,314],[646,317],[647,317],[648,317],[649,317],[650,317],[651,317],[652,317],[653,317],[654,317],[655,317],[656,317],[657,317],[658,317],[659,329],[660,317],[661,317],[662,317],[663,317],[664,317],[665,317],[666,314],[667,314],[668,314],[669,314],[670,314],[671,317],[672,317],[673,317],[674,317],[691,330],[739,314],[677,331],[676,332],[699,333],[698,334],[694,335],[693,334],[695,336],[684,337],[683,338],[697,339],[696,336],[685,340],[599,341],[555,342],[554,317],[688,20],[681,343],[682,344],[679,20],[680,345],[678,317],[686,346],[558,347],[706,20],[707,20],[700,20],[703,313],[702,20],[708,20],[709,20],[701,348],[710,20],[711,20],[675,349],[687,350],[358,20],[329,20],[43,20],[8,20],[9,20],[11,20],[10,20],[2,20],[12,20],[13,20],[14,20],[15,20],[16,20],[17,20],[18,20],[19,20],[3,20],[4,20],[23,20],[20,20],[21,20],[22,20],[24,20],[25,20],[26,20],[5,20],[27,20],[28,20],[29,20],[30,20],[6,20],[31,20],[32,20],[33,20],[34,20],[7,20],[35,20],[40,20],[41,20],[36,20],[37,20],[38,20],[39,20],[1,20],[42,20],[357,20],[226,60],[225,351],[228,352],[227,351],[224,60],[450,353],[451,354],[484,355],[485,356],[435,357],[434,358],[433,359],[180,20],[205,360],[204,361],[203,362],[192,363],[191,364],[187,20],[189,364],[188,365],[190,364],[207,20],[208,366],[214,367],[211,368],[213,368],[212,362],[210,369],[209,369],[223,370],[206,60],[202,20],[216,371],[217,372],[220,373],[221,374],[218,375],[215,376],[219,377],[222,378],[194,379],[185,380],[183,380],[182,380],[184,380],[193,381],[181,382],[186,380],[196,60],[201,383],[199,20],[200,20],[195,20],[198,20],[197,20]],"exportedModulesMap":[[438,384],[353,14],[341,15],[351,16],[352,17],[355,18],[342,19],[344,20],[354,21],[346,22],[347,23],[350,24],[345,25],[348,26],[343,27],[349,28],[411,29],[413,30],[406,31],[395,20],[410,32],[405,33],[409,34],[407,35],[408,36],[404,37],[432,38],[378,39],[382,40],[379,40],[383,40],[380,40],[384,41],[381,40],[377,42],[388,20],[391,43],[389,20],[392,44],[394,45],[385,46],[393,47],[387,48],[390,46],[386,23],[401,46],[396,49],[398,49],[403,50],[399,20],[397,49],[402,46],[400,46],[414,51],[420,52],[421,51],[422,53],[429,54],[423,25],[424,55],[425,55],[426,56],[428,25],[427,57],[431,58],[430,59],[415,60],[419,61],[418,62],[416,60],[417,63],[368,20],[370,20],[362,20],[371,64],[369,59],[372,20],[363,23],[361,65],[374,25],[360,20],[373,20],[330,20],[332,20],[333,66],[331,20],[334,59],[335,59],[336,59],[337,67],[338,59],[376,68],[365,69],[366,69],[364,69],[359,70],[367,69],[356,71],[375,20],[493,72],[491,20],[339,59],[449,73],[444,74],[443,75],[447,60],[448,20],[445,76],[446,74],[57,77],[58,78],[59,77],[60,60],[61,79],[62,80],[63,79],[64,80],[65,80],[78,81],[66,77],[67,77],[68,77],[69,82],[56,82],[70,20],[71,20],[72,78],[73,77],[74,78],[75,79],[76,80],[77,20],[483,83],[456,84],[455,85],[463,60],[479,86],[480,87],[481,88],[482,87],[457,89],[458,90],[459,90],[460,84],[461,60],[462,84],[99,90],[101,91],[102,91],[103,92],[104,92],[105,60],[106,90],[107,60],[108,60],[109,90],[110,20],[121,93],[111,90],[112,90],[113,90],[119,94],[120,95],[100,90],[98,96],[86,97],[88,98],[90,99],[89,60],[91,100],[92,100],[93,101],[94,87],[87,102],[95,20],[96,97],[85,20],[97,60],[51,103],[50,103],[53,104],[55,105],[54,106],[52,106],[49,107],[179,108],[127,109],[123,110],[124,110],[125,110],[126,110],[122,111],[130,112],[176,113],[177,114],[178,113],[128,112],[129,109],[490,20],[496,115],[492,72],[494,116],[495,72],[498,117],[499,20],[551,118],[552,118],[553,20],[764,119],[742,120],[744,121],[743,120],[746,122],[748,123],[749,124],[750,125],[751,123],[752,124],[753,123],[754,126],[755,124],[756,123],[761,127],[762,128],[763,129],[757,130],[747,131],[758,132],[745,132],[759,133],[765,20],[766,20],[767,134],[768,135],[778,136],[779,20],[780,20],[781,137],[782,20],[796,138],[784,139],[785,140],[783,141],[786,142],[787,143],[788,144],[789,145],[790,146],[791,147],[792,148],[793,149],[794,150],[795,151],[797,20],[798,20],[799,152],[497,20],[801,20],[802,153],[500,154],[501,154],[503,155],[504,156],[505,157],[506,158],[507,159],[508,160],[509,161],[510,162],[511,163],[512,164],[513,164],[514,165],[515,166],[516,167],[517,168],[502,169],[549,20],[518,170],[519,171],[520,172],[550,173],[521,174],[522,175],[523,176],[524,177],[525,178],[526,179],[527,180],[528,181],[529,182],[530,183],[531,184],[532,185],[534,186],[533,187],[535,188],[536,189],[537,190],[538,191],[539,192],[540,193],[541,194],[542,195],[543,196],[544,197],[545,198],[546,199],[547,200],[548,201],[803,20],[804,20],[805,20],[46,20],[822,202],[807,203],[808,203],[810,203],[811,203],[809,60],[821,204],[812,203],[813,203],[814,203],[815,203],[816,203],[817,203],[818,203],[819,203],[820,203],[823,60],[81,20],[82,205],[79,20],[84,206],[83,20],[80,207],[824,60],[44,20],[48,208],[806,60],[825,20],[826,20],[47,20],[851,209],[852,210],[827,211],[830,211],[849,209],[850,209],[840,212],[839,212],[837,209],[832,209],[845,209],[843,209],[847,209],[831,209],[844,209],[848,209],[833,209],[834,209],[846,209],[828,209],[835,209],[836,209],[838,209],[842,209],[853,213],[841,209],[829,209],[866,214],[865,20],[860,213],[862,215],[861,213],[854,213],[855,213],[857,213],[859,213],[863,215],[864,215],[856,215],[858,215],[867,20],[868,216],[760,217],[869,20],[870,218],[871,20],[872,219],[340,20],[45,20],[800,220],[412,221],[239,222],[305,223],[304,224],[303,225],[244,226],[260,227],[258,228],[259,229],[245,230],[328,231],[230,20],[232,20],[233,232],[234,20],[237,233],[240,20],[257,234],[235,20],[252,235],[238,236],[253,237],[256,238],[254,238],[251,239],[231,20],[236,20],[255,240],[261,241],[249,20],[243,242],[241,243],[250,244],[247,245],[246,245],[242,246],[248,247],[324,248],[318,249],[311,250],[310,251],[319,252],[320,238],[312,253],[325,254],[306,255],[307,256],[308,257],[327,258],[309,251],[313,254],[314,259],[321,260],[322,236],[323,259],[326,238],[315,257],[262,261],[316,262],[317,263],[302,264],[300,265],[301,265],[266,265],[267,265],[268,265],[269,265],[270,265],[271,265],[272,265],[273,265],[292,265],[274,265],[275,265],[276,265],[277,265],[278,265],[279,265],[299,265],[280,265],[281,265],[282,265],[297,265],[283,265],[298,265],[284,265],[295,265],[296,265],[285,265],[286,265],[287,265],[293,265],[294,265],[288,265],[289,265],[290,265],[291,265],[265,266],[264,267],[263,268],[229,20],[770,20],[774,269],[776,270],[775,269],[773,271],[777,272],[769,20],[772,273],[771,20],[174,274],[163,275],[171,276],[162,277],[173,274],[166,278],[170,279],[169,280],[165,280],[164,207],[168,280],[167,281],[131,20],[133,90],[134,90],[151,282],[138,283],[139,283],[137,284],[172,285],[155,286],[148,287],[147,288],[153,289],[154,290],[161,291],[140,20],[156,292],[160,293],[159,294],[149,295],[150,296],[152,283],[157,297],[158,298],[141,283],[146,283],[142,283],[143,283],[144,283],[145,283],[175,299],[132,20],[135,20],[136,20],[464,20],[467,300],[472,300],[473,301],[477,302],[474,301],[475,301],[471,300],[476,301],[470,303],[468,301],[466,304],[469,20],[465,20],[478,305],[118,306],[117,307],[114,90],[115,308],[116,309],[741,310],[714,20],[692,311],[690,311],[740,312],[705,313],[704,313],[606,314],[557,315],[712,314],[713,314],[715,316],[716,314],[717,317],[617,318],[718,314],[689,314],[719,314],[720,319],[721,314],[722,313],[723,320],[724,314],[725,314],[726,314],[727,314],[728,313],[729,314],[730,314],[731,314],[732,314],[733,321],[734,314],[735,314],[736,314],[737,314],[738,314],[556,312],[559,317],[560,317],[561,314],[562,317],[563,317],[564,317],[565,317],[566,314],[568,322],[569,317],[567,317],[570,317],[571,317],[572,317],[573,317],[574,317],[575,317],[576,314],[577,317],[578,317],[579,317],[580,317],[581,317],[582,314],[583,317],[584,314],[585,317],[586,317],[587,317],[588,317],[589,314],[591,323],[590,317],[592,317],[593,317],[594,317],[595,317],[596,321],[597,314],[598,314],[612,324],[600,325],[601,317],[602,317],[603,314],[604,317],[605,317],[607,326],[608,317],[609,317],[610,317],[611,317],[613,317],[614,317],[615,317],[616,317],[618,327],[619,317],[620,317],[621,317],[622,314],[623,317],[624,328],[625,328],[626,328],[627,314],[628,317],[629,317],[630,317],[635,317],[631,317],[632,314],[633,317],[634,314],[636,314],[637,317],[638,317],[639,314],[640,314],[641,317],[642,314],[643,317],[644,317],[645,314],[646,317],[647,317],[648,317],[649,317],[650,317],[651,317],[652,317],[653,317],[654,317],[655,317],[656,317],[657,317],[658,317],[659,329],[660,317],[661,317],[662,317],[663,317],[664,317],[665,317],[666,314],[667,314],[668,314],[669,314],[670,314],[671,317],[672,317],[673,317],[674,317],[691,330],[739,314],[677,331],[676,332],[699,333],[698,334],[694,335],[693,334],[695,336],[684,337],[683,338],[697,339],[696,336],[685,340],[599,341],[555,342],[554,317],[688,20],[681,343],[682,344],[679,20],[680,345],[678,317],[686,346],[558,347],[706,20],[707,20],[700,20],[703,313],[702,20],[708,20],[709,20],[701,348],[710,20],[711,20],[675,349],[687,350],[358,20],[329,20],[43,20],[8,20],[9,20],[11,20],[10,20],[2,20],[12,20],[13,20],[14,20],[15,20],[16,20],[17,20],[18,20],[19,20],[3,20],[4,20],[23,20],[20,20],[21,20],[22,20],[24,20],[25,20],[26,20],[5,20],[27,20],[28,20],[29,20],[30,20],[6,20],[31,20],[32,20],[33,20],[34,20],[7,20],[35,20],[40,20],[41,20],[36,20],[37,20],[38,20],[39,20],[1,20],[42,20],[357,20],[226,60],[225,351],[228,352],[227,351],[224,60],[450,353],[451,354],[484,355],[485,356],[435,357],[434,358],[433,359],[180,20],[205,360],[204,361],[203,362],[192,363],[191,364],[187,20],[189,364],[188,365],[190,364],[207,20],[208,366],[214,367],[211,368],[213,368],[212,362],[210,369],[209,369],[223,370],[206,60],[202,20],[216,371],[217,372],[220,373],[221,374],[218,375],[215,376],[219,377],[222,378],[194,379],[185,380],[183,380],[182,380],[184,380],[193,381],[181,382],[186,380],[196,60],[201,383],[199,20],[200,20],[195,20],[198,20],[197,20]],"semanticDiagnosticsPerFile":[489,436,454,486,437,453,442,438,488,487,441,452,440,439,353,341,351,352,355,342,344,354,346,347,350,345,348,343,349,411,413,406,395,410,405,409,407,408,404,432,378,382,379,383,380,384,381,377,388,391,389,392,394,385,393,387,390,386,401,396,398,403,399,397,402,400,414,420,421,422,429,423,424,425,426,428,427,431,430,415,419,418,416,417,368,370,362,371,369,372,363,361,374,360,373,330,332,333,331,334,335,336,337,338,376,365,366,364,359,367,356,375,493,491,339,449,444,443,447,448,445,446,57,58,59,60,61,62,63,64,65,78,66,67,68,69,56,70,71,72,73,74,75,76,77,483,456,455,463,479,480,481,482,457,458,459,460,461,462,99,101,102,103,104,105,106,107,108,109,110,121,111,112,113,119,120,100,98,86,88,90,89,91,92,93,94,87,95,96,85,97,51,50,53,55,54,52,49,179,127,123,124,125,126,122,130,176,177,178,128,129,490,496,492,494,495,498,499,551,552,553,764,742,744,743,746,748,749,750,751,752,753,754,755,756,761,762,763,757,747,758,745,759,765,766,767,768,778,779,780,781,782,796,784,785,783,786,787,788,789,790,791,792,793,794,795,797,798,799,497,801,802,500,501,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,502,549,518,519,520,550,521,522,523,524,525,526,527,528,529,530,531,532,534,533,535,536,537,538,539,540,541,542,543,544,545,546,547,548,803,804,805,46,822,807,808,810,811,809,821,812,813,814,815,816,817,818,819,820,823,81,82,79,84,83,80,824,44,48,806,825,826,47,851,852,827,830,849,850,840,839,837,832,845,843,847,831,844,848,833,834,846,828,835,836,838,842,853,841,829,866,865,860,862,861,854,855,857,859,863,864,856,858,867,868,760,869,870,871,872,340,45,800,412,239,305,304,303,244,260,258,259,245,328,230,232,233,234,237,240,257,235,252,238,253,256,254,251,231,236,255,261,249,243,241,250,247,246,242,248,324,318,311,310,319,320,312,325,306,307,308,327,309,313,314,321,322,323,326,315,262,316,317,302,300,301,266,267,268,269,270,271,272,273,292,274,275,276,277,278,279,299,280,281,282,297,283,298,284,295,296,285,286,287,293,294,288,289,290,291,265,264,263,229,770,774,776,775,773,777,769,772,771,174,163,171,162,173,166,170,169,165,164,168,167,131,133,134,151,138,139,137,172,155,148,147,153,154,161,140,156,160,159,149,150,152,157,158,141,146,142,143,144,145,175,132,135,136,464,467,472,473,477,474,475,471,476,470,468,466,469,465,478,118,117,114,115,116,741,714,692,690,740,705,704,606,557,712,713,715,716,717,617,718,689,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,556,559,560,561,562,563,564,565,566,568,569,567,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,591,590,592,593,594,595,596,597,598,612,600,601,602,603,604,605,607,608,609,610,611,613,614,615,616,618,619,620,621,622,623,624,625,626,627,628,629,630,635,631,632,633,634,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,691,739,677,676,699,698,694,693,695,684,683,697,696,685,599,555,554,688,681,682,679,680,678,686,558,706,707,700,703,702,708,709,701,710,711,675,687,358,329,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,357,226,225,228,227,224,450,451,484,485,435,434,433,180,205,204,203,192,191,187,189,188,190,207,208,214,211,213,212,210,209,223,206,202,216,217,220,221,218,215,219,222,194,185,183,182,184,193,181,186,196,201,199,200,195,198,197]},"version":"4.7.2"} \ No newline at end of file diff --git a/package.json b/package.json index 1829fa8..ad367b1 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,10 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/Shopify/react-native-performance.git" + "url": "git+https://github.com/moonpay/react-native-performance.git" }, "bugs": { - "url": "https://github.com/Shopify/react-native-performance/issues" + "url": "https://github.com/moonpay/react-native-performance/issues" }, "publishConfig": { "access": "restricted" @@ -61,7 +61,7 @@ "resolutions": { "@types/react": "17.0.44" }, - "homepage": "https://github.com/Shopify/react-native-performance#readme", + "homepage": "https://github.com/moonpay/react-native-performance#readme", "workspaces": { "packages": [ "packages/*", diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.d.ts b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.d.ts new file mode 100644 index 0000000..3df7ec8 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.d.ts @@ -0,0 +1,14 @@ +/// +interface FlashListPerformanceViewProps { + /** + * Name of the list. Used for distinguishing between lists in the `ListsProfiler`. + */ + listName: string; + children: JSX.Element; +} +/** + * Wrap your `FlashList` with this component. + */ +declare const FlashListPerformanceView: ({ listName, children }: FlashListPerformanceViewProps) => JSX.Element; +export default FlashListPerformanceView; +//# sourceMappingURL=FlashListPerformanceView.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.d.ts.map b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.d.ts.map new file mode 100644 index 0000000..48ef051 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FlashListPerformanceView.d.ts","sourceRoot":"","sources":["../src/FlashListPerformanceView.tsx"],"names":[],"mappings":";AAKA,UAAU,6BAA6B;IACrC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,QAAA,MAAM,wBAAwB,2BAA0B,6BAA6B,gBAgBpF,CAAC;AACF,eAAe,wBAAwB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.js b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.js new file mode 100644 index 0000000..c4d67cf --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var ListsProfilerContext_1 = require("./ListsProfilerContext"); +var FlashListPerformanceViewNativeComponent_1 = require("./FlashListPerformanceViewNativeComponent"); +/** + * Wrap your `FlashList` with this component. + */ +var FlashListPerformanceView = function (_a) { + var listName = _a.listName, children = _a.children; + var time = (0, react_1.useRef)(Date.now()).current; + var listsProfilerController = (0, react_1.useContext)(ListsProfilerContext_1.ListsProfilerContext); + return (react_1.default.createElement(FlashListPerformanceViewNativeComponent_1.FlashListPerformanceViewNativeComponent, { style: { flex: 1 }, onInteractive: function (_a) { + var nativeEvent = _a.nativeEvent; + listsProfilerController.onInteractive(nativeEvent.timestamp - time, listName); + }, onBlankAreaEvent: function (_a) { + var nativeEvent = _a.nativeEvent; + listsProfilerController.onBlankArea(nativeEvent.offsetStart, nativeEvent.offsetEnd, listName); + } }, children)); +}; +exports.default = FlashListPerformanceView; +//# sourceMappingURL=FlashListPerformanceView.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.js.map b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.js.map new file mode 100644 index 0000000..4f427ca --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceView.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FlashListPerformanceView.js","sourceRoot":"","sources":["../src/FlashListPerformanceView.tsx"],"names":[],"mappings":";;;AAAA,qDAAgD;AAEhD,+DAA4D;AAC5D,qGAAkG;AAUlG;;GAEG;AACH,IAAM,wBAAwB,GAAG,UAAC,EAAmD;QAAlD,QAAQ,cAAA,EAAE,QAAQ,cAAA;IACnD,IAAM,IAAI,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC;IACxC,IAAM,uBAAuB,GAAG,IAAA,kBAAU,EAAC,2CAAoB,CAAC,CAAC;IACjE,OAAO,CACL,8BAAC,iFAAuC,IACtC,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,EAChB,aAAa,EAAE,UAAC,EAAa;gBAAZ,WAAW,iBAAA;YAC1B,uBAAuB,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChF,CAAC,EACD,gBAAgB,EAAE,UAAC,EAAa;gBAAZ,WAAW,iBAAA;YAC7B,uBAAuB,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChG,CAAC,IAEA,QAAQ,CAC+B,CAC3C,CAAC;AACJ,CAAC,CAAC;AACF,kBAAe,wBAAwB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.d.ts b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.d.ts new file mode 100644 index 0000000..a8a36e1 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.d.ts @@ -0,0 +1,22 @@ +import { StyleProp, ViewStyle } from 'react-native'; +interface OnInteractiveEvent { + nativeEvent: { + timestamp: number; + }; +} +interface OnBlankAreaEvent { + nativeEvent: { + offsetStart: number; + offsetEnd: number; + }; +} +declare type OnInteractiveHandler = (event: OnInteractiveEvent) => void; +declare type OnBlankAreaEventHandler = (event: OnBlankAreaEvent) => void; +interface FlashListPerformanceViewNativeComponentProps { + onInteractive: OnInteractiveHandler; + onBlankAreaEvent: OnBlankAreaEventHandler; + style: StyleProp; +} +declare const FlashListPerformanceViewNativeComponent: import("react-native").HostComponent; +export { FlashListPerformanceViewNativeComponent }; +//# sourceMappingURL=FlashListPerformanceViewNativeComponent.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.d.ts.map b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.d.ts.map new file mode 100644 index 0000000..38f1565 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FlashListPerformanceViewNativeComponent.d.ts","sourceRoot":"","sources":["../src/FlashListPerformanceViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAE1E,UAAU,kBAAkB;IAC1B,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,aAAK,oBAAoB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAChE,aAAK,uBAAuB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEjE,UAAU,4CAA4C;IACpD,aAAa,EAAE,oBAAoB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,QAAA,MAAM,uCAAuC,oFACqD,CAAC;AACnG,OAAO,EAAC,uCAAuC,EAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.js b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.js new file mode 100644 index 0000000..9d038ae --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FlashListPerformanceViewNativeComponent = void 0; +var react_native_1 = require("react-native"); +var FlashListPerformanceViewNativeComponent = (0, react_native_1.requireNativeComponent)('FlashListPerformanceView'); +exports.FlashListPerformanceViewNativeComponent = FlashListPerformanceViewNativeComponent; +//# sourceMappingURL=FlashListPerformanceViewNativeComponent.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.js.map b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.js.map new file mode 100644 index 0000000..9002176 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlashListPerformanceViewNativeComponent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FlashListPerformanceViewNativeComponent.js","sourceRoot":"","sources":["../src/FlashListPerformanceViewNativeComponent.ts"],"names":[],"mappings":";;;AAAA,6CAA0E;AAwB1E,IAAM,uCAAuC,GAC3C,IAAA,qCAAsB,EAA+C,0BAA0B,CAAC,CAAC;AAC3F,0FAAuC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.d.ts b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.d.ts new file mode 100644 index 0000000..3237b91 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.d.ts @@ -0,0 +1,15 @@ +/// +import ListsProfilerProps from './ListsProfilerProps'; +interface FlatListPerformanceViewProps { + /** + * Name of the list. Used for distinguishing between lists in the `ListsProfiler`. + */ + listName: string; + children: JSX.Element; +} +/** + * Wrap your `FlatList` with this component. + */ +declare const FlatListPerformanceView: ({ children, listName, onInteractive, onBlankArea, }: FlatListPerformanceViewProps & ListsProfilerProps) => JSX.Element; +export default FlatListPerformanceView; +//# sourceMappingURL=FlatListPerformanceView.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.d.ts.map b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.d.ts.map new file mode 100644 index 0000000..ec722db --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FlatListPerformanceView.d.ts","sourceRoot":"","sources":["../src/FlatListPerformanceView.tsx"],"names":[],"mappings":";AAQA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,UAAU,4BAA4B;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,QAAA,MAAM,uBAAuB,wDAK1B,4BAA4B,GAAG,kBAAkB,gBA0BnD,CAAC;AACF,eAAe,uBAAuB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.js b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.js new file mode 100644 index 0000000..ff805bf --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var ListsProfilerContext_1 = require("./ListsProfilerContext"); +var FlatListPerformanceViewNativeComponent_1 = require("./FlatListPerformanceViewNativeComponent"); +/** + * Wrap your `FlatList` with this component. + */ +var FlatListPerformanceView = function (_a) { + var children = _a.children, listName = _a.listName, _b = _a.onInteractive, onInteractive = _b === void 0 ? function () { } : _b, _c = _a.onBlankArea, onBlankArea = _c === void 0 ? function () { } : _c; + var time = (0, react_1.useRef)(Date.now()).current; + var listsProfilerController = (0, react_1.useContext)(ListsProfilerContext_1.ListsProfilerContext); + var onInteractiveCallback = (0, react_1.useCallback)(function (_a) { + var nativeEvent = _a.nativeEvent; + var tti = nativeEvent.timestamp - time; + onInteractive(tti, listName); + listsProfilerController.onInteractive(tti, listName); + }, [listsProfilerController, onInteractive, listName, time]); + var onBlankAreaCallback = (0, react_1.useCallback)(function (_a) { + var nativeEvent = _a.nativeEvent; + onBlankArea(nativeEvent.offsetStart, nativeEvent.offsetEnd, listName); + listsProfilerController.onBlankArea(nativeEvent.offsetStart, nativeEvent.offsetEnd, listName); + }, [onBlankArea, listsProfilerController, listName]); + return (react_1.default.createElement(FlatListPerformanceViewNativeComponent_1.FlatListPerformanceViewNativeComponent, { onInteractive: onInteractiveCallback, onBlankAreaEvent: onBlankAreaCallback }, children)); +}; +exports.default = FlatListPerformanceView; +//# sourceMappingURL=FlatListPerformanceView.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.js.map b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.js.map new file mode 100644 index 0000000..45b8257 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceView.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FlatListPerformanceView.js","sourceRoot":"","sources":["../src/FlatListPerformanceView.tsx"],"names":[],"mappings":";;;AAAA,qDAA6D;AAE7D,+DAA4D;AAC5D,mGAIkD;AAWlD;;GAEG;AACH,IAAM,uBAAuB,GAAG,UAAC,EAKmB;QAJlD,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,qBAAwB,EAAxB,aAAa,mBAAG,cAAO,CAAC,KAAA,EACxB,mBAAsB,EAAtB,WAAW,mBAAG,cAAO,CAAC,KAAA;IAEtB,IAAM,IAAI,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC;IACxC,IAAM,uBAAuB,GAAG,IAAA,kBAAU,EAAC,2CAAoB,CAAC,CAAC;IACjE,IAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,UAAC,EAAiC;YAAhC,WAAW,iBAAA;QACX,IAAM,GAAG,GAAG,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QACzC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7B,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC,EACD,CAAC,uBAAuB,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,CACzD,CAAC;IACF,IAAM,mBAAmB,GAAG,IAAA,mBAAW,EACrC,UAAC,EAA+B;YAA9B,WAAW,iBAAA;QACX,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtE,uBAAuB,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChG,CAAC,EACD,CAAC,WAAW,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CACjD,CAAC;IACF,OAAO,CACL,8BAAC,+EAAsC,IACrC,aAAa,EAAE,qBAAqB,EACpC,gBAAgB,EAAE,mBAAmB,IAEpC,QAAQ,CAC8B,CAC1C,CAAC;AACJ,CAAC,CAAC;AACF,kBAAe,uBAAuB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.d.ts b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.d.ts new file mode 100644 index 0000000..5a18ef6 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.d.ts @@ -0,0 +1,20 @@ +export interface OnInteractiveEvent { + nativeEvent: { + timestamp: number; + }; +} +export interface OnBlankAreaEvent { + nativeEvent: { + offsetStart: number; + offsetEnd: number; + }; +} +declare type OnInteractiveHandler = (event: OnInteractiveEvent) => void; +declare type OnBlankAreaEventHandler = (event: OnBlankAreaEvent) => void; +interface FlatListPerformanceViewNativeComponentProps { + onInteractive: OnInteractiveHandler; + onBlankAreaEvent: OnBlankAreaEventHandler; +} +declare const FlatListPerformanceViewNativeComponent: import("react-native").HostComponent; +export { FlatListPerformanceViewNativeComponent }; +//# sourceMappingURL=FlatListPerformanceViewNativeComponent.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.d.ts.map b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.d.ts.map new file mode 100644 index 0000000..dcb2066 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FlatListPerformanceViewNativeComponent.d.ts","sourceRoot":"","sources":["../src/FlatListPerformanceViewNativeComponent.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,aAAK,oBAAoB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAChE,aAAK,uBAAuB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEjE,UAAU,2CAA2C;IACnD,aAAa,EAAE,oBAAoB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;CAC3C;AAED,QAAA,MAAM,sCAAsC,mFACoD,CAAC;AACjG,OAAO,EAAC,sCAAsC,EAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.js b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.js new file mode 100644 index 0000000..199ea62 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FlatListPerformanceViewNativeComponent = void 0; +var react_native_1 = require("react-native"); +var FlatListPerformanceViewNativeComponent = (0, react_native_1.requireNativeComponent)('FlatListPerformanceView'); +exports.FlatListPerformanceViewNativeComponent = FlatListPerformanceViewNativeComponent; +//# sourceMappingURL=FlatListPerformanceViewNativeComponent.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.js.map b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.js.map new file mode 100644 index 0000000..59f4036 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/FlatListPerformanceViewNativeComponent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FlatListPerformanceViewNativeComponent.js","sourceRoot":"","sources":["../src/FlatListPerformanceViewNativeComponent.tsx"],"names":[],"mappings":";;;AAAA,6CAAoD;AAuBpD,IAAM,sCAAsC,GAC1C,IAAA,qCAAsB,EAA8C,yBAAyB,CAAC,CAAC;AACzF,wFAAsC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfiler.d.ts b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.d.ts new file mode 100644 index 0000000..a86606c --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.d.ts @@ -0,0 +1,9 @@ +/// +import ListsProfilerProps from './ListsProfilerProps'; +/** + * Wrap your app with this component to get events from all the lists wrapped with their performance view. + * For example, `FlatList` must be wrapped in the `FlatListPerformanceView`. + */ +declare const ListsProfiler: ({ onInteractive, onBlankArea, children }: ListsProfilerProps) => JSX.Element; +export default ListsProfiler; +//# sourceMappingURL=ListsProfiler.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfiler.d.ts.map b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.d.ts.map new file mode 100644 index 0000000..d199346 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ListsProfiler.d.ts","sourceRoot":"","sources":["../src/ListsProfiler.tsx"],"names":[],"mappings":";AAIA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAetD;;;GAGG;AACH,QAAA,MAAM,aAAa,6CAAkE,kBAAkB,gBAyCtG,CAAC;AAEF,eAAe,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfiler.js b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.js new file mode 100644 index 0000000..ba58bd4 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_flipper_1 = require("react-native-flipper"); +var ListsProfilerContext_1 = require("./ListsProfilerContext"); +var bootstrapPlugin = function () { + return new Promise(function (resolve) { + (0, react_native_flipper_1.addPlugin)({ + getId: function () { return '@shopify/react-native-performance'; }, + onConnect: function (connection) { + return resolve(connection); + }, + onDisconnect: function () { }, + runInBackground: function () { return true; }, + }); + }); +}; +/** + * Wrap your app with this component to get events from all the lists wrapped with their performance view. + * For example, `FlatList` must be wrapped in the `FlatListPerformanceView`. + */ +var ListsProfiler = function (_a) { + var _b = _a.onInteractive, onInteractive = _b === void 0 ? function () { } : _b, _c = _a.onBlankArea, onBlankArea = _c === void 0 ? function () { } : _c, children = _a.children; + var connection; + bootstrapPlugin() + .then(function (conn) { + connection = conn; + }) + .catch(function (error) { + throw error; + }); + var onInteractiveCallback = (0, react_1.useCallback)(function (TTI, listName) { + onInteractive(TTI, listName); + connection === null || connection === void 0 ? void 0 : connection.send('newListTTIData', { + TTI: TTI, + listName: listName, + }); + }, [connection, onInteractive]); + var onBlankAreaCallback = (0, react_1.useCallback)(function (offsetStart, offsetEnd, listName) { + onBlankArea(offsetStart, offsetEnd, listName); + var blankArea = Math.max(Math.max(offsetStart, offsetEnd), 0); + connection === null || connection === void 0 ? void 0 : connection.send('newBlankData', { + offset: blankArea, + listName: listName, + }); + }, [connection, onBlankArea]); + return (react_1.default.createElement(ListsProfilerContext_1.ListsProfilerContextProvider, { value: { + onInteractive: onInteractiveCallback, + onBlankArea: onBlankAreaCallback, + } }, children)); +}; +exports.default = ListsProfiler; +//# sourceMappingURL=ListsProfiler.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfiler.js.map b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.js.map new file mode 100644 index 0000000..60c0003 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfiler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ListsProfiler.js","sourceRoot":"","sources":["../src/ListsProfiler.tsx"],"names":[],"mappings":";;;AAAA,qDAAyC;AACzC,6DAAwD;AAExD,+DAAoE;AAGpE,IAAM,eAAe,GAAG;IACtB,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;QACxB,IAAA,gCAAS,EAAC;YACR,KAAK,EAAE,cAAM,OAAA,mCAAmC,EAAnC,CAAmC;YAChD,SAAS,EAAE,UAAA,UAAU;gBACnB,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YACD,YAAY,EAAE,cAAO,CAAC;YACtB,eAAe,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,IAAM,aAAa,GAAG,UAAC,EAAgF;QAA/E,qBAAwB,EAAxB,aAAa,mBAAG,cAAO,CAAC,KAAA,EAAE,mBAAsB,EAAtB,WAAW,mBAAG,cAAO,CAAC,KAAA,EAAE,QAAQ,cAAA;IAChF,IAAI,UAAiD,CAAC;IACtD,eAAe,EAAE;SACd,IAAI,CAAC,UAAA,IAAI;QACR,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC;SACD,KAAK,CAAC,UAAA,KAAK;QACV,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,IAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,UAAC,GAAW,EAAE,QAAgB;QAC5B,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7B,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,gBAAgB,EAAE;YACjC,GAAG,KAAA;YACH,QAAQ,UAAA;SACT,CAAC,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,aAAa,CAAC,CAC5B,CAAC;IACF,IAAM,mBAAmB,GAAG,IAAA,mBAAW,EACrC,UAAC,WAAmB,EAAE,SAAiB,EAAE,QAAgB;QACvD,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,MAAM,EAAE,SAAS;YACjB,QAAQ,UAAA;SACT,CAAC,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B,CAAC;IACF,OAAO,CACL,8BAAC,mDAA4B,IAC3B,KAAK,EAAE;YACL,aAAa,EAAE,qBAAqB;YACpC,WAAW,EAAE,mBAAmB;SACjC,IAEA,QAAQ,CACoB,CAChC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.d.ts b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.d.ts new file mode 100644 index 0000000..1cb2965 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.d.ts @@ -0,0 +1,9 @@ +import React from 'react'; +interface ListsProfilerController { + onInteractive: (TTI: number, listName: string) => void; + onBlankArea: (offsetStart: number, offsetEnd: number, listName: string) => void; +} +export declare const ListsProfilerContext: React.Context; +export declare const ListsProfilerContextProvider: React.Provider; +export {}; +//# sourceMappingURL=ListsProfilerContext.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.d.ts.map b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.d.ts.map new file mode 100644 index 0000000..dc685d0 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ListsProfilerContext.d.ts","sourceRoot":"","sources":["../src/ListsProfilerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,uBAAuB;IAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjF;AAED,eAAO,MAAM,oBAAoB,wCAG/B,CAAC;AAEH,eAAO,MAAM,4BAA4B,yCAAgC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.js b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.js new file mode 100644 index 0000000..bc33c10 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ListsProfilerContextProvider = exports.ListsProfilerContext = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +exports.ListsProfilerContext = react_1.default.createContext({ + onInteractive: function () { }, + onBlankArea: function () { }, +}); +exports.ListsProfilerContextProvider = exports.ListsProfilerContext.Provider; +//# sourceMappingURL=ListsProfilerContext.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.js.map b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.js.map new file mode 100644 index 0000000..27ab8b3 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerContext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ListsProfilerContext.js","sourceRoot":"","sources":["../src/ListsProfilerContext.tsx"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAOb,QAAA,oBAAoB,GAAG,eAAK,CAAC,aAAa,CAA0B;IAC/E,aAAa,EAAE,cAAO,CAAC;IACvB,WAAW,EAAE,cAAO,CAAC;CACtB,CAAC,CAAC;AAEU,QAAA,4BAA4B,GAAG,4BAAoB,CAAC,QAAQ,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.d.ts b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.d.ts new file mode 100644 index 0000000..2017bc3 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.d.ts @@ -0,0 +1,19 @@ +/// +interface ListsProfilerProps { + /** + * Triggered when a list wrapped in a list performance view becomes interactive. + * @param TTI: Reported time-to-interactive + * @param listName - Name of the list that triggered the event defined in the list performance view + */ + onInteractive?: (TTI: number, listName: string) => void; + /** + * Triggered when a list wrapped in a list performance view is scrolled and reports a blank area. + * @param offsetStart - Offset at the beginning of the list (top when the list is vertical) + * @param offsetEnd - Offset at the end of the list (bottom when the list is vertical) + * @param listName - Name of the list that triggered the event defined in the list performance view + */ + onBlankArea?: (offsetStart: number, offsetEnd: number, listName: string) => void; + children: JSX.Element; +} +export default ListsProfilerProps; +//# sourceMappingURL=ListsProfilerProps.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.d.ts.map b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.d.ts.map new file mode 100644 index 0000000..7e1790a --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ListsProfilerProps.d.ts","sourceRoot":"","sources":["../src/ListsProfilerProps.ts"],"names":[],"mappings":";AAAA,UAAU,kBAAkB;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACjF,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED,eAAe,kBAAkB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.js b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.js new file mode 100644 index 0000000..60fb6a5 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=ListsProfilerProps.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.js.map b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.js.map new file mode 100644 index 0000000..2b990cd --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/ListsProfilerProps.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ListsProfilerProps.js","sourceRoot":"","sources":["../src/ListsProfilerProps.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/index.d.ts b/packages/react-native-performance-lists-profiler/dist/index.d.ts new file mode 100644 index 0000000..2a5b752 --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/index.d.ts @@ -0,0 +1,4 @@ +export { default as FlatListPerformanceView } from './FlatListPerformanceView'; +export { default as FlashListPerformanceView } from './FlashListPerformanceView'; +export { default as ListsProfiler } from './ListsProfiler'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/index.d.ts.map b/packages/react-native-performance-lists-profiler/dist/index.d.ts.map new file mode 100644 index 0000000..2503b2a --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/index.js b/packages/react-native-performance-lists-profiler/dist/index.js new file mode 100644 index 0000000..7b1e8df --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/index.js @@ -0,0 +1,13 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ListsProfiler = exports.FlashListPerformanceView = exports.FlatListPerformanceView = void 0; +var FlatListPerformanceView_1 = require("./FlatListPerformanceView"); +Object.defineProperty(exports, "FlatListPerformanceView", { enumerable: true, get: function () { return __importDefault(FlatListPerformanceView_1).default; } }); +var FlashListPerformanceView_1 = require("./FlashListPerformanceView"); +Object.defineProperty(exports, "FlashListPerformanceView", { enumerable: true, get: function () { return __importDefault(FlashListPerformanceView_1).default; } }); +var ListsProfiler_1 = require("./ListsProfiler"); +Object.defineProperty(exports, "ListsProfiler", { enumerable: true, get: function () { return __importDefault(ListsProfiler_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/index.js.map b/packages/react-native-performance-lists-profiler/dist/index.js.map new file mode 100644 index 0000000..94a869d --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA6E;AAArE,mJAAA,OAAO,OAA2B;AAC1C,uEAA+E;AAAvE,qJAAA,OAAO,OAA4B;AAC3C,iDAAyD;AAAjD,+HAAA,OAAO,OAAiB"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/dist/tsconfig.tsbuildinfo b/packages/react-native-performance-lists-profiler/dist/tsconfig.tsbuildinfo new file mode 100644 index 0000000..1e4d33b --- /dev/null +++ b/packages/react-native-performance-lists-profiler/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../src/listsprofilercontext.tsx","../../../node_modules/@types/react-native/globals.d.ts","../../../node_modules/@types/react-native/legacy-properties.d.ts","../../../node_modules/@types/react-native/batchedbridge.d.ts","../../../node_modules/@types/react-native/devtools.d.ts","../../../node_modules/@types/react-native/launchscreen.d.ts","../../../node_modules/@types/react-native/index.d.ts","../src/flashlistperformanceviewnativecomponent.ts","../src/flashlistperformanceview.tsx","../src/flatlistperformanceviewnativecomponent.tsx","../src/listsprofilerprops.ts","../src/flatlistperformanceview.tsx","../../../node_modules/react-native-flipper/index.d.ts","../src/listsprofiler.tsx","../src/index.ts","../../../node_modules/@types/aria-query/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/fined/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/hammerjs/index.d.ts","../../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../node_modules/rxjs/dist/types/index.d.ts","../../../node_modules/@types/inquirer/lib/objects/choice.d.ts","../../../node_modules/@types/inquirer/lib/objects/separator.d.ts","../../../node_modules/@types/inquirer/lib/objects/choices.d.ts","../../../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../../node_modules/@types/inquirer/lib/prompts/base.d.ts","../../../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../../node_modules/@types/inquirer/lib/prompts/input.d.ts","../../../node_modules/@types/inquirer/lib/prompts/list.d.ts","../../../node_modules/@types/inquirer/lib/prompts/number.d.ts","../../../node_modules/@types/inquirer/lib/prompts/password.d.ts","../../../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../../node_modules/@types/inquirer/lib/utils/events.d.ts","../../../node_modules/@types/inquirer/lib/utils/readline.d.ts","../../../node_modules/@types/inquirer/lib/utils/utils.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../../node_modules/@types/inquirer/index.d.ts","../../../node_modules/@types/invariant/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/liftoff/index.d.ts","../../../node_modules/@types/lockfile/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.isequal/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/minipass/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/reactcss/index.d.ts","../../../node_modules/@types/react-color/lib/components/alpha/alpha.d.ts","../../../node_modules/@types/react-color/lib/components/block/block.d.ts","../../../node_modules/@types/react-color/lib/components/common/checkboard.d.ts","../../../node_modules/@types/react-color/lib/components/chrome/chrome.d.ts","../../../node_modules/@types/react-color/lib/components/circle/circle.d.ts","../../../node_modules/@types/react-color/lib/components/compact/compact.d.ts","../../../node_modules/@types/react-color/lib/components/github/github.d.ts","../../../node_modules/@types/react-color/lib/components/hue/hue.d.ts","../../../node_modules/@types/react-color/lib/components/material/material.d.ts","../../../node_modules/@types/react-color/lib/components/photoshop/photoshop.d.ts","../../../node_modules/@types/react-color/lib/components/sketch/sketch.d.ts","../../../node_modules/@types/react-color/lib/components/slider/slider.d.ts","../../../node_modules/@types/react-color/lib/components/swatches/swatches.d.ts","../../../node_modules/@types/react-color/lib/components/twitter/twitter.d.ts","../../../node_modules/@types/react-color/lib/components/common/colorwrap.d.ts","../../../node_modules/@types/react-color/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/resize-observer-browser/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/url-join/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"0bcebfaf66be25c793d0281a8dce761bc078d203f02c573e6ee3b844a5ad7fbc","affectsGlobalScope":true},{"version":"24637c2084d04fade6f5c70a070ca6b104ada1fa5929016c5f71d5ffe4fdba52","signature":"88a98f5bd070574fdd16cf89c1d5e76255792b5a1506cb85f935769a78d2314d"},{"version":"4452f559618410bd9950973795fa657dbf3411cdc55c4c3460c5bab189903863","affectsGlobalScope":true},"9e9df0ee50fc117b15fd7815162a41c46e95996b513e4107b433d3e37dbe2ce8",{"version":"efd32b1ab5e3897f64ed3d0f236657c3c9c7bcc669449e608ebee1ad9dbe396a","affectsGlobalScope":true},"7fb3279c4bf36d993b1e8b339cded5908f7b2ec1b6e0ac2feaa842b5b6b143f1","234b97ac9af46707f2315ff395a9b340d37b7dbc8290d91f5d6bd97189d220f3",{"version":"6cb5e3d3f0babcdca611a20b4bd29f0e604a0ae6bb618da4452d299876cb493d","affectsGlobalScope":true},{"version":"8e88808b7ff03096095259084f6334fe1df3afe20441529cc306edfc6f090b1a","signature":"621f69e62b06d20c62d1f53407e6905d5a4424c330e914301e60a72bb4b821e8"},{"version":"5921cab1afe062157425020ad52713de6aa936e7e2fea9ec8e8504a4f1841ab8","signature":"4a6b2b2f943eba1c6d5798dc4579fdccfcd3a673be2a832a9efaa5adec85d254"},{"version":"8676085bf262970bc4824be6fb1e18caf8553445aee38c228dc42cd3780274cd","signature":"49a7182e13549f8874185e4bcdff06351dbe5ebaf4bb74ba687c70532c07a9cd"},{"version":"b2d5b884169a6f2b46e03a7605ed8c56c2313030a02e2770642166535004af32","signature":"5d8e59971db3f5d91bddcd59ba75949dde9ab5705c2784778390070234cb6c79"},{"version":"a6e5adecf32f63519cf7ec63a45c4cda918521b4d75051d7570cd8094802f6b1","signature":"c5d2d114c1fa47a83d6e50e7482e42c3b777325430367f8b79d5f8beb4e493f0"},"16b814231309f4656e75527fbbd0c2d0ef23433963d7afc7b516d55d2917c7fa",{"version":"d8fe506461801523f9c1039d7c9968b650bd8cd95863c85c2b01640af50b2841","signature":"0ba1718ec88e7cef1c7eb040e3b5e4bbe8faf27f452421c4203a1d0bb76226db"},{"version":"b3f8420a7ee5944aab1e789e5e8213999dad693a5e5a92db5ba2f9034756a646","signature":"f19cda5b5ea79a281eb7c002bfc2650f6e081cc35ddff1b8478244b8fc55dd4b"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","a3ca095da123d2d556d663733932d71874e6c4b4874c76118463dedea4b0d2ad","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"d8d60d4636de5437353a773942766c22956a4d61b4c6b254092a51a71e4e1bed","e3fd84e6470b7e0679c4073ee5ce971d324182486dde5a49b67cae29168b51d2","dd8331d0a5190a4735ce6c152e420230188c4966067a756673c36dd7ba72b10e","90d88ef5d0e8d585711a8ec68c01d262818f3425fea095fea345b81ec8c09a36",{"version":"d57e7ff5243e0dcd04cf2edf9ad9520af40edd6eba31c14c3f405f0c437fa379","affectsGlobalScope":true},"0f882d4ae58f431454030289154feb0132e1b00ca5c3197c6b749bd098aed73a","7ff7f4632a6e7b6872fb1843f3c0df495b49840eae2a23c6fbc943f863da8c29","d267771149e172ade39e3ef96b4063209d5a7e8291702fe03983aa52f2b3d5f6","a78590b0efcef281236e3234520c348d63be1d4561b63b20e6c3b6fc18b37dfb","4d59c6a10b6c79a0927c79efa89b3c9f71d174ec14ec2792076cfd2330d0cf8e","a496f51933422872de22729b7a0233589325a1a1707cccd05cd914098944a202","fa43bf91102ffc4cfa22b73c7dca50023f99fc0bb15f7fb6201d98e31ab112dd","06a38095ad4368314366bc08f7cbc0fe274ef7321ec611005d0bdd9c6565e4d5","4599793db9aed9b84677f0ca1cf7ef3c69bb91cda4fe4329cbab778ca4d80a58","ad0028f96921778931fb8419d8de33b10908314fa99699de1702020f69235da1","ccd2a35321c0786bd3808042dc43b960cac13f2cc660ac37a0087e12bc97d2fc","df524ed01de4f19efb44bded628dbba9f840148be4b6cfe096e29d4b01589de3","2e3981b9cee48174ff85ae15019fd72933f7023a4ed05094740f7e6f7775623c","836ebdc3b9e4c006acc4f405b7e558e56d47830e05c40d991b1e27fe8bc91157","2cc6b617c6120ba64b5778ccd4b74c951adc3a3941bb6b39f47d48701c44af39","eca02b99615a8f1652e21399d832618e38bf166c0747c9247349bc901a2f7741","7f7d6d42e5780e86f5b860a6f95179fae06a368b3af28c1c4230397c47021a59","4740a7d11ab3b381be0f269f1903fb3ff226a2fba55a01756b2997e67cd853f2","863dbc4e77f0353e6f9d6bc0e2b4622d5c07ff6f099ff66cafd7924b2ff4dd3f","bf034a18ed7e2a058f9e48c4c2480a124138fbd3586a80c77736a9ec079d12a8","f88758992a0bf13d095520aacd4381fb456ff121fb9aa184e6eb0eecb26cfadc","c249e9ae33bfcad97deec3c73c9ed2656e112fbdf22deace0b39724be6a5dcf0","d8b45924965c0c4fc0b946c0b6d597aa8d5de9cdf5c727e3d39422d17efec438","d07ea953cfea0c4bd11641912846bd955f4fd26ad2b7b8a279d69c7ab9cb3add","feddabf6ab0eb191e721f0126f3db8688db97c77a1234968bde7a2d70c4ae513","dbbda62ea5f4d1f8b40cc2b7e2e2fae424abbb4715a04a3659cb8b317f7b228b","1eef6a64835182ce1f4934a366e937120e2e2107b12360436fdf35e99b3ae703","7f5cb3a03588ed46d52a6c2138315d930cd6ffb5c2134247cd07bc23cbea0b5a","7797f4c91491dcb0f21fa318fd8a1014990d5a72f8a32de2af06eb4d4476a3b5","f39fb20b83c3f9853c13d4ac95533760979d3023c0a5affe2c0a62d91ab3afd8","e4fca08aed8afb32bb8643d7469810bc8681115fe398e56a028df9e73b2d867f","2622639d24718ddfccc33a9a6daf5a2dd94d540ca41e3da00fe365d2c3f25db3","078966067552650f44ca96c68eddbb8539f30ee48a9ab3f24abdcf0a4037b535","2cd6250c43dba360377481c98d48db6ab1532a7527339edb0deffddc28ba66b1","7a9d600990fbe263a23daebed9ba1bbc5761e45679a7e2b2774a42756ef077a2","66bc155515fbea8c31a4efccbbac44de7c037b01f3aa00b76312cf7252725d30","5703288ddbfc4f7845cdbf80c6af17c8cde2a228757479796c2378b1662fcd48","0dfd353f0c16dd5107a7e0713dc52d0a2538293b0a0eac6000a017f9c0a60b56","9cd683a4663ef4d9c6486f1b8a34c73bdbc344d69490931bfe2fbcada12ab35b","42f6a409bad5259ece69df25d2b8ace2ff2ade45fe6386ee45203bdd9329f971","8b86677943235a5e5952f9371f7dfe89a9975651c56c74d58e090cb69bf6f2b4","2eb162efd6dba5972b9f8f85141d900d09da4fba23864f287f98f9890a05e95f","3f878fb5be9ebe8bd0ac5c22515d42b8b72d3745ef7617e73e9b2548ccbdf54b","e9ed562b7599c8c8c01595891480a30f9945a93a46456d22ee67ebf346b7538a","e7bf975a98cecefe2e8902fb7da9314675ecdce553aea722aaec97327668e18b","3d36f93648518338c875d9f77a8eab52905365483dbb3afe43ed68f1b712b67c","4fa54df9184d291bd78b36f5063372042cd995460e906cb14014e40d1442a326","b4e32bd5e3b493e4ea6b5ec69a4c02aa1fdaa78e1df9a863bb07604de8f9d123","f6bd1aa152ca2b5064e06282ee3137842ae6825b6b09aa89a2ff063b976a56f3","bce2390bb3a76f8bf2ba4397c66db5277bf3e698ee614347e5eb79d7fc0942c6","fbdc8d7cc7daf4101bf567512c67fb990d8fe300e0ba7f213171192177f44aa0","298e0da6d858e39fc0c1eebfa4f5c8af487868c6f2e98c3ef800537d402fb5c3","3b6457fb3866562d279377f923cf3758c80ed7bfcc19414b72a24d0a98188e0c","4fb5d7efb3520b92c1b767ce18968057c5e70886d7fb3416c487231df9275af9","df2303a61eb57b2717d17123e82bc0f3fd60f6e4673cb5506192dfe23c9480bf","b104960f4c5f807535ab43282356b2fe29c5d14a02035c623ac2012be3d5f76c","a35ca245eb852b70b20300546443abb1fcbac6e5066e4baaa092af4ea614d9b5","55da140feab55f10a538a9879a97c4be3df4934cbd679665c91a7263a86095e1","1a39e51e3362aec7d4edec9b317ff83916fe0471f86ddf2d3ef3af5952e87d9e","4b3f36b96f129a8e125c91d41a05f711e73b3285f80bceb3a1aecb13c97c4502","852779920fc4220bc42ec6d3c9b6164e23ea9371a788531b48b4005fe0cb4392","9a82e1b959524c1abfeeb024ee1a400234130a341f2b90a313ce4e37833b7dd2","515b97cede17d91c9669cc1c7fb7a8a5f0a5f2d8999f925a5f70b4ebea93723e","08e8e57241f874bdbf69ab2b65cb0ee18b4183d5c9452937da49b934fc679c4b","7a5bfc619b1ad803f11c50668574b16baba8f0e8ce1c3e8ebf16421e910474d2","644addd4811636da491c9546654bc005ba8599f23df6d731d91eba86f3137fc2","a9249493114b181814728cbfeb7234738193a4169b654ec4705d48d7a4d25222","aad6f20d6eb01192ae02294361faa6e1f320d72447b56f433db853bbe80b15ca","876fbedec2f494eb6f834ce8636b07d581c657d205d81a3ba894eff0facc6b84","58527aa45f11c9b259a6a9d78b397f35020bfbb104f4d3bb177039b5c18146bd","91b8b61d45b5d22f3458a4ac82e03b464a0926bab795a920fe0eca805ec476eb","2744532f8fb960eb78497ac660db719f503a10c801f87131d26fd9cbef75dcef","6884287c54891ac19cfbe056f3ed29cab1732a00dec69bd3b140ce62c11783c6","393dc8619d7e27653d5e4eafe99ec5501a6b043db50d805c2d40465a50b857e0","cb46657d3237f80742d5701ebcced8f6e5cf8938442354387d6c77d7048dfae6","9caced628452876da272decb56b3f4c18d9aa66b413be5b1ce322933aa1362b6","661f322e45545a554e4ffc38db6c4068a66e1323baf66acb0d8a9fa28195a669","91d70dce48c2a2bb55f0b851cf1bdba4202f107f1e8fdf45f94ff6be4b8e8f99","ce978e20a6f26f606b535f0d6deb384ae6a73f8d0bd0dfca0925f5317cad1f25","f2d3567210ca4d559d8297d6c4402599c93e3bc7485054192d38db5e132fbc0a","887d8058aeeade45984fdb8696147078bc630d3fea15ab2b7baacde0fe281fb7","ad27aa59d346179ac449bd3077d245f213152879e4027356306ccf1722d61d51","ea546a7ed9eaa71ba78d4d392509dadea4bafed283269dd6c4b09e7d8824e986","4ec0f2a141a9ae7d3557b8efe630ac2021bc3a9ac61238b59293f4cf2f196e82","b2db743c71652e03c52d51445af58d0af3316231faa92b66018b29c7ba975f6c","0863a5876c85fbaffbb8ec8aeda8b5042deb6932616139706d2b82cde9d3f7c7","1294b8ecdd212362323f349dd83b5c94ea77bfee4dad24fc290980a3c8af6ce3","ba9c46725e2a0bd9df59d3a1e801cc60f90db3ef7817131c53945dce2b8c0c56","281d373eeabf80c4851f8de991e6abe4d385c30379d80897bbc3df3dcac99cee","624c5dce95672d9dcca40d9d9d82ef855f5f902292f43aa265cc8fd963c6ce84","8a48d9c6184992d1c3ed5daa55f83d708c37582916926a5555a900608f804b60","605dd288c636cf9b5317fe76dec75d3c7fb855fdcd3ee8cb4fea7d7091ca6fb4","e6d6ba51e1280c00199ae4a4ab19df78f965df81e21aa1f608a9dd21219ea798","b5a615b0ad865ffa562980a10bda162ac1744fd363b4edc2cfc664222071cbcf","bbccd721363897950a55ce09529503f25a69522e5c91a22679b66e941e5f8654","d3a1e70795c38d7851b6e4f3b441c5ffdae171d6e2576a2204b7d79059aeea66","d7b8d41887c5fccfe19802c4336d34348b752abf0d98839575699d71deff60be","063fe3004728b8516a4d799ee16f9a71801ba24e0443dd98638cef1bd4353a7c","b8a0236f47d9037efdaf93da602415ae425dababe097fc92f83fd47ce9aaa69f","fab7912fc3ff45fce2f5d5febc9494c4d0a85d6c63fff68f21e4669c32eaacb9","f6c3fcb9d75d8aea778236fd9327ceb935b41865dbf3beac698be77e0ae9018d","b20bc124abd8ee572d0d756713ff987b116cdae908a6fcbc40e80d4b999f56b4","a599f3f450ad62c3fdc0c3fd25cddcc9332ffb44327087947d48914a8da81364","645dff895168aa82350c9aa60aa0b3621b84289fef043be842f45a9c6c0ac6e2","f068ff5b7fb3bdc5380e0c677e21de829bd25cdac63a9b083fdc220fcb225280","09d2fdca6ea6c135897a26976ad3c0db724adaf23ef4e38ad852b1d8efef1ae6","15de5b7739bf7e40213a200853bf78455ee5958af08eda786605a54a7f25ade6","f3acb439e08f0c2c78c712a876dc6c2080302c46916f1d63b7dbe509616ce9ae","37862e711637ebd927907a82cbf0143ea30e95eb165df554926c43936b1d77a9","89e253db2c2cc9a510c521f14dd2b1aae4de2556ee5159ad8d118d3587e3a880","3d0a172cee184a0f4111a7bd7fbb8729af3f54b30c06a2677d85c20ea9c811ab","d6a07e5e8dee6dc63c7ecd9c21756babf097e1537fbc91ddfec17328a063f65d","6fdc88b1287c276b55b7f7c4c7b49587813c763eea9751ce0baf0a7e61cd5d89","6a02443704052768bd021f24783aa104b02ae4444e9b735317bf13c6b857a11e","37987b0fe9800cf25473c882ce07bccdab2763c5681c1a2d16816aead46aa8d1","c84c03c721154068e1a60d83e9e85819bd3ef70b824ac2edc498aa31c06e5781","c23a403716784b53cf6ce9ffff9dcdb959b7cacdf115294a3377d96b6df1e161","c96fb6a0c1e879f95634ab0ff439cbb6fff6227b26bbf0153bef9ed0aabba60d","db936079fe6396aad9bf7ad0479ffc9220cec808a26a745baebb5f9e2ef9dbc7","06bc0b9cc7bf0b92534f1517fe5adde1f23f60cc6cc5c59f8e1c65db48a40067","919a753b0cbb12ccc606c62e2d34884d75a48ba19b1dda497c72621b11dac088","2c27e33ee0bf722988da00abd582cc9b806ce3fd9153a864800a339ad13f3fcf","92d7b3a5aa5dc872e54cbad2a7094b3ea4f72c7901de1d07b4c334ff658297f0","7a52922b38e9686d5bdc6e75774929eec6688d26c1dfe4a03ddec77ede468e87","aa5efca2833d89b55248f1889a6433dab1b1f41768e9a75f8ce35f9bf56c5ec4","0ba3b34cbe39c6fe3ba89f7f6559f10c05f78cd5368477d9c95d25c390b65931","4e82f599b0cff3741e5a4f45889d04753a8bb3b0f95d0f3328bcfbb4f995b2a1","8354bb3a9465dc2e9ccb848564945e0818d3698b2844cfd69b0435080871fd25","1218398da7c8dc4add10bdb3aa2856aad54b123d847eaf574d1d694ac269bfb5","189014f3213ee7457dbeea04dca10ca5d9ed2062cd39641aca5f3b4c75de9d99","b637cd92688a6cdf4f8f184ff529dc2bc7f15692828e2c0c66a60e6972f400c7","7061e83d6792897077bcac039fccf7325234004769f591c63a8cf8478bf551bb","f2d2c194c4c6ba8cfbacf893e371cd8482102b368c1a5ea4771fc956bd0a6a19","277a358d61376fce7ac3392402909c96cf6a0a613146549fc0165ccff953e012","50614c808e099a1d4413786f3783d9eeaaa74b267f2c87fcf8a893287e91c301","f4cb6530f248e87cefa74ef623206fec805f6252f885f8e14ef3d1a5872cef2d","38c332caadd8391566552395d592076470a5e7423f70964620eabf05c02907cd","eb17b5bf1fc763a644c21d76572c0e41e351c3f6dfcde649428d5d829f7294d2","cb124162c87b29ff5121e3ee5bb29c782f101e0135d6c2644ab1b31d530a435e","406d6f5d3707c488362fb40d1c1f8a7b0a42b70554b427160185d93e430228f5","2e9776410c5bc290d9432a9215c67398a273e514a79b9e15f32ecddfde8a03be","313ff8df074b81d3e4f088ff3a3a06df3d9b0d0c7f55469ccc2ac887ecb6b867","c718475bca06806cc243e77777641cb67ba68f2c57321a4773ebb47760a3bcf2","96e6bf811343caab5112b68880905c5d20d9257054afac6c18e718a4c549ed27","a2793bc73ba63ca7d259cb0f0b61d0023820170d08a1f9715006c8042d060165","d5011b38165771fdf75a9a06d6d379a1fc7edd7eb695ebdc52319fb6e3c6d81f","88417fb19d339304e9616a38ea513251047c9e300c81f9467fc317df8a582e71","3e8e2d132f726dddbda57819f5391504e585cb3beab6b32203064e7e40618583","6e23627cd3f10418b5b2db102fdcf557b75f2837f266d88afac6b18f333bb1bc","866046dcea88f23d766a65487ee7870c4cf8285a4c75407c80a5c26ed250ef8d","019f4f1cbc781cc15c6173f8be5ef907405722194ab297127b3c3426e5368339","41f4413eac08210dfc1b1cdb5891ad08b05c79f5038bdf8c06e4aedaa85b943d","c79f1c8b51d8475dde8d2973f740f43ca34b1f0a95d93649cd76c1ee20abba19","35f0d2bd2c5c05c0cb19095bf5b7c44365b1c88efe6285370855b90417277a64","8264b129f4c4eb4799703f8e5ee2223a184d1cdbfc782158b1f40a88a4435a1f","527ddda6f8be1279f3294714534c49d6e90f238cea325519882ebf88d7ec5bd2","b23877792e8bd00271d0ec5d401b68e4228540a4316de3d9dfb697b955c161a4","35b2eb1de01633db90d41abe93730b29984856fcc840b4c2801bfd3761a2097b","1fd5a6eb7fc5159b80a848cbe718eae07a97998c5e5382c888904248cf58e26f","2a6b4655a6edce9e07c7d826848f72533c9991d40bc36e3f85558ad20e87ce2d","6e3d29fdc96ebbb2ac672d2dae710c689c1ea0d0e9469e0847616f3c38fd085f","d505055b8fadd42da235c85947911d8d198ad70c5f5775991e7821d4f89c90f5","8b5a5852099dca7d7e7a7cef6d681dc1586aafacdb963ca180fe5cabbfa3a24b","0d1aa3341d1ad2064adada71c5d01a2f572e4aac09410e5616d90894105a0eb9","52494ca5a884da3bf11b8165ab31429715f0970d9c6383240c5666f4bd713e01","162fafa2291749df2ab4516854aa781fcee1d9fca2ecd85fb48ae794c0700ce2","b4b9b51ee6f6309cda2e539245235a8caeca2b1d6bf12b5e5c162d17333c450f","d2ffe8356f060b88c1c5cf1fa874a4b779fb87fd1977084876e8be9eab6bf485","c76053984b39150d00ade365b096a8bc21a4a7f2ee9e0a926711b00f8e7bf701","956b510767e3d6f362ea5800510635197723737af5d19ae07ee987ea4a90bfa5","cd1a8ff61f5063d7e6e2094e25d35c90b499961b63911f2f4ae0ff5555c2b4d7","1cf09b5945779e9bc75c4dcd805fb149c28fc90da3335186ef620647a3c540e1","9cdc0b9a313090ec45b34ea1eb02fbace433f509e753634b043e9b83038261e6","c93474cff0088351a65d3cad24037874a26a5371a48528563e56efe31cb3d8bb","b4580df8ea7f62d7b06588001952bf69426e6b03cf3d2569f5f608e45f29ba08","de27f7bb9be9d8a2b4557ec6503b8a315f74d598ce9a0ab81b5ed5610e1a8e81","fe3c378dcefa7ed8b21bd6822f5d7838b1119836da75ae1e1fb485d27b8ffb62","7365bf3333d4277b6fe374ed055624e5ec080dbb919e2d78f1cb75a3f1a4b4f6","a5fbf3bc5c16ab5c84465ba7a043a4bee4c2b20bd3633d50d80118a3844edbaf","0923e4ac8c894ad507bd2daee0df66b699de88467201381ece011ba5a080e1ff","e4f6626f827ea509255647e1b6db82145a2eb1a6b46202655e7d9bb19145c33b","26e23972c40f378f0301d8d7025ea895557c2865a1a31c8ea9c3fff0dbc27075","bfddbff94132b423ad1d71bdbefb1d388c21a74ac1a8742df9324e5bf6109058","bece6bfb1d236c41747834f9a7e579be18ce54cb034f54f4ae1ea618faeb5708","0e59cf55095972c87a7cb1363dd482e40322be78b9b4c7a710cba60a596eb935","c52acb7126fe8bf136a21908caa39a9a302950b87aa6971908f9e1c29c0fa19a","11e8eb54177783e97659925f09c7000a69311305161acc7d0f51cec9ec3fac20","f915c5b0118fbb957f69f42617c0d1671047db55121c4dfe61c14729050410a7","b707f3ea2029672e11d198485581a9309226eab53dbab21db74d8db3526d0663","bd5001702011525d057662a666fe601fac56067d69528d7b4ef4dab83ef6d73c","ad4fafe8ec02d836df20a48e81156cf5323d591026b8f677535b5832022268d8","bd0a3ebf3935ff6be6d1d79dba461a63c758085d232065219a09b72cf1ede3d6","7f5c4b14f6698408e9d05ae73aeb7ecef75c27734e04fb5337a742eafbfd50c7","faffbf4dbc1e3a09dc6e54629fe20390ec001476a67fa3d40edb3f2910c0e051","6a8b556617e07a1ca3052d1e70e9236b4e171a0b08d09054eaef8826ad5d18b6","b71ebbdd422b094f638fb958c10d7ef8260df87a2305a54db0296381406c50a6","8a01a5903999938c6af690d388789931c6c6862bd89033f6113fa894ced34dd4","46e30c27f13d79cf3aea3221e3201bd7ae961ff548a4ddbfd3ae2da54478a4ec","8a70850984a40caf2b1007674fdb7340041498e2ab90f36b2d68c0bf403e0b16","616ea4ff77f89fe59032df6f80ebdf5f40789419341de9b25d2946485c85ad05","de2d4b9daf5db51547d44fdc1163fa037ec6acfcb58ad4698a62d3453b6f44f9","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","ca6646a7786dd130c0615882d16e4d2df116c47da2eba44142426cb76bd16b46","72cfa60ebbb814cb1c38b35c903fbf8cf3c822b24c9df6d9260b65116fbbe799","07082818c2de24059137c6d53eafd75aa25ca8e5060227b199d998b1fa5fd4e2","b33e88c91d23e9d85ce5eb12c339daed090674db53050f00fe9446c6bbcea502","6acf8a984c2728906edeba2098c5c51f44a4520bc4a48c65b973bd785537178f","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3ca3179dd4772b596ed81df8bb9c541e1416d86343c582a105013b20925de051","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","524ee68b6177f628d5356976603b37a36859541b22629d7d6d2e7b20bdebb60d","23c77af9fdadb3569d425dbc7bbf06a118a4b02bd9db14b7abfafc3183d58bb6","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","429b6df7d7b94389bd42cfdf39bccea903acd3628498cec6172302801fbeac89","ebe77545478bf39a23059a3b0ea03d2c0e502d9c8e1122015e19213cd0815097","ad8c69f4a471cafdf093acdcdf3b444ae56b227b92024ae45f8c9c9c8be8afcc","71a6149f67a64b55baeddb83e5254e9e017c80c15a260d6f6b3a12deb3a575ed","6c881abb4a0e7579a9d5b63a7e4da3d98b094adf0f1d1fa75bbe433b9f3d7c27","66d6844502d7764a8e02b632228c4c5a95f7cac7bce1a0db07f0dcc377d3755b","2e1be3fee9ccef82555b2f039e8e100e0a176ee2d18b0de95e7da6a61e1e360a","5c48fc6096e361e639c1d0a9f7f066242bf757ace84843582d29c6813563055a","bebac54845e03ea36044fab99b5a51266cec2492fcd8a95bde6d5527a3174732","ef141fd0ac854fc92cbc9a13cd25a0ac87b3961f70d516f191bb3e29d3b183fe","a90c6f5554bd74f63aaf03751e6b79d01a457b59339b03d308c16af8f266cf47","7d5d42c18c62ef137b8830b7de8432b466c8f4d93fa8476ac36d2f69114fad1e","484faf958ae025f8d1ce6cb9c75e12c2148190efc22151299d14d10e3601cbba","66ddf54cc3d66cdab1b69e6879af9876bbc30030f85e51ba8a73223339e65b85","734166f6ae00b52512304c153644963fd93cd152620231ea7a0560802c968d28","15ce0cfa537ada25e07633617a993a8e02827939c2128d39c010739f28a0379c","a3868158152cc946c27c5e7b7803537c14cada9bb442c96c759c66b0d01f9eca","00ee901c4135af0d5688bee246d1e42ef7421cec93c32587e4814f744b95e2e8","af30b8feae6399905adeb5c938558e666dc81113ccf38032722583b95a65f9ab","60aaac5fb1858fbd4c4eb40e01706eb227eed9eca5c665564bd146971280dbd3",{"version":"b40add723ee9828e126ff18a0a2fb5124958ff911e1836bfe461916e434bd051","affectsGlobalScope":true},"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","d9c5f8d21771758700d7b6eeef796700b99c643a5818195cf0d01bed98407df1","4266ccd2cf1d6a281efd9c7ddf9efd7daecf76575364148bd233e18919cac3ed","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"jsx":2,"noEmitOnError":false,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strictNullChecks":true,"target":1,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[65,117],[117],[65,66,67,68,69,117],[65,67,117],[71,117],[90,117,124],[104,117,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,336,337],[117,338],[117,316,317,338],[104,117,315,319,338],[104,117,320,321,338],[104,117,320,338],[104,117,315,320,338],[104,117,326,338],[104,117,338],[117,334,335,338],[117,315,335,338],[104,117,315],[117,319],[104,117],[117,315,338],[117,340],[117,341],[117,346,351],[73,89,117,124],[117,369],[117,357,359,360,361,362,363,364,365,366,367,368,369],[117,357,358,360,361,362,363,364,365,366,367,368,369],[117,358,359,360,361,362,363,364,365,366,367,368,369],[117,357,358,359,361,362,363,364,365,366,367,368,369],[117,357,358,359,360,362,363,364,365,366,367,368,369],[117,357,358,359,360,361,363,364,365,366,367,368,369],[117,357,358,359,360,361,362,364,365,366,367,368,369],[117,357,358,359,360,361,362,363,365,366,367,368,369],[117,357,358,359,360,361,362,363,364,366,367,368,369],[117,357,358,359,360,361,362,363,364,365,367,368,369],[117,357,358,359,360,361,362,363,364,365,366,368,369],[117,357,358,359,360,361,362,363,364,365,366,367,369],[117,357,358,359,360,361,362,363,364,365,366,367,368],[89,117,124],[92,116,117,124,374,375],[74,117],[77,117],[78,83,117],[79,89,90,97,106,116,117],[79,80,89,97,117],[81,117],[82,83,90,98,117],[83,106,113,117],[84,86,89,97,117],[85,117],[86,87,117],[88,89,117],[89,117],[89,90,91,106,116,117],[89,90,91,106,117],[117,121],[92,97,106,116,117],[89,90,92,93,97,106,113,116,117],[92,94,106,113,116,117],[74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123],[89,95,117],[96,116,117],[86,89,97,106,117],[98,117],[99,117],[77,100,117],[101,115,117,121],[102,117],[103,117],[89,104,117],[104,105,117,119],[89,106,107,108,117],[106,108,117],[106,107,117],[109,117],[110,117],[89,111,112,117],[111,112,117],[83,97,106,113,117],[114,117],[97,115,117],[78,92,103,116,117],[83,117],[106,117,118],[117,119],[117,120],[78,83,89,91,100,106,116,117,119,121],[106,117,122],[48,117,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395],[48,117,380,396],[48,117],[48,117,396],[53,117],[48,50,51,52,53,54,117],[51,55,117],[44,45,46,47,117],[117,401,440],[117,401,425,440],[117,440],[117,401],[117,401,426,440],[117,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439],[117,426,440],[89,106,117,122,124,373],[106,117,124],[89,92,94,97,116,117,124],[117,445],[92,106,117,124],[117,344,347],[117,344,347,348,349],[117,346],[117,343,350],[117,345],[117,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,184,185,186,187,188,189,190,191,192,193,195,197,198,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,247,248,249,251,259,261,262,263,264,265,266,268,269,271,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314],[117,173],[117,129,132],[117,131],[117,131,132],[117,128,129,130,132],[117,129,131,132,288],[117,132],[117,128,131,173],[117,131,132,288],[117,131,296],[117,129,131,132],[117,141],[117,164],[117,185],[117,131,132,173],[117,132,180],[117,131,132,173,191],[117,131,132,191],[117,132,232],[117,132,173],[117,128,132,250],[117,128,132,251],[117,272],[117,257,258],[117,267],[117,257],[117,128,132,250,257],[117,250,251,258],[117,270],[117,128,132,257,258],[117,130,131,132],[117,128,132],[117,129,131,251,252,253,254],[117,173,251,252,253,254],[117,251,253],[117,131,252,253,255,256,259],[117,128,131],[117,132,274],[117,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248],[117,260],[43,48,49,56,117],[43,51,55,117],[43,48,49,58,59,117],[43,57,60,62,117],[43,48,49,59,61,117],[43,48,117],[43,117],[51,55],[59],[57,60,62],[48]],"referencedMap":[[67,1],[65,2],[64,2],[70,3],[66,1],[68,4],[69,1],[72,5],[73,2],[125,6],[126,6],[127,2],[338,7],[316,8],[318,9],[317,8],[320,10],[322,11],[323,12],[324,13],[325,11],[326,12],[327,11],[328,14],[329,12],[330,11],[335,15],[336,16],[337,17],[331,18],[321,19],[332,20],[319,20],[333,21],[339,2],[340,2],[341,22],[342,23],[352,24],[353,2],[354,2],[355,25],[356,2],[370,26],[358,27],[359,28],[357,29],[360,30],[361,31],[362,32],[363,33],[364,34],[365,35],[366,36],[367,37],[368,38],[369,39],[371,2],[372,2],[373,40],[71,2],[375,2],[376,41],[74,42],[75,42],[77,43],[78,44],[79,45],[80,46],[81,47],[82,48],[83,49],[84,50],[85,51],[86,52],[87,52],[88,53],[89,54],[90,55],[91,56],[76,57],[123,2],[92,58],[93,59],[94,60],[124,61],[95,62],[96,63],[97,64],[98,65],[99,66],[100,67],[101,68],[102,69],[103,70],[104,71],[105,72],[106,73],[108,74],[107,75],[109,76],[110,77],[111,78],[112,79],[113,80],[114,81],[115,82],[116,83],[117,84],[118,85],[119,86],[120,87],[121,88],[122,89],[377,2],[378,2],[379,2],[46,2],[396,90],[381,91],[382,91],[384,91],[385,91],[383,92],[395,93],[386,91],[387,91],[388,91],[389,91],[390,91],[391,91],[392,91],[393,91],[394,91],[397,92],[52,2],[53,94],[50,2],[55,95],[54,2],[51,96],[398,92],[44,2],[48,97],[380,92],[399,2],[400,2],[47,2],[425,98],[426,99],[401,100],[404,100],[423,98],[424,98],[414,101],[413,101],[411,98],[406,98],[419,98],[417,98],[421,98],[405,98],[418,98],[422,98],[407,98],[408,98],[420,98],[402,98],[409,98],[410,98],[412,98],[416,98],[427,102],[415,98],[403,98],[440,103],[439,2],[434,102],[436,104],[435,102],[428,102],[429,102],[431,102],[433,102],[437,104],[438,104],[430,104],[432,104],[441,2],[442,105],[334,106],[443,2],[444,107],[445,2],[446,108],[45,2],[374,109],[344,2],[348,110],[350,111],[349,110],[347,112],[351,113],[343,2],[346,114],[345,2],[61,2],[315,115],[288,2],[266,116],[264,116],[314,117],[279,118],[278,118],[180,119],[131,120],[286,119],[287,119],[289,121],[290,119],[291,122],[191,123],[292,119],[263,119],[293,119],[294,124],[295,119],[296,118],[297,125],[298,119],[299,119],[300,119],[301,119],[302,118],[303,119],[304,119],[305,119],[306,119],[307,126],[308,119],[309,119],[310,119],[311,119],[312,119],[130,117],[133,122],[134,122],[135,119],[136,122],[137,122],[138,122],[139,122],[140,119],[142,127],[143,122],[141,122],[144,122],[145,122],[146,122],[147,122],[148,122],[149,122],[150,119],[151,122],[152,122],[153,122],[154,122],[155,122],[156,119],[157,122],[158,119],[159,122],[160,122],[161,122],[162,122],[163,119],[165,128],[164,122],[166,122],[167,122],[168,122],[169,122],[170,126],[171,119],[172,119],[186,129],[174,130],[175,122],[176,122],[177,119],[178,122],[179,122],[181,131],[182,122],[183,122],[184,122],[185,122],[187,122],[188,122],[189,122],[190,122],[192,132],[193,122],[194,122],[195,122],[196,119],[197,122],[198,133],[199,133],[200,133],[201,119],[202,122],[203,122],[204,122],[209,122],[205,122],[206,119],[207,122],[208,119],[210,119],[211,122],[212,122],[213,119],[214,119],[215,122],[216,119],[217,122],[218,122],[219,119],[220,122],[221,122],[222,122],[223,122],[224,122],[225,122],[226,122],[227,122],[228,122],[229,122],[230,122],[231,122],[232,122],[233,134],[234,122],[235,122],[236,122],[237,122],[238,122],[239,122],[240,119],[241,119],[242,119],[243,119],[244,119],[245,122],[246,122],[247,122],[248,122],[265,135],[313,119],[251,136],[250,137],[273,138],[272,139],[268,140],[267,139],[269,141],[258,142],[257,143],[271,144],[270,141],[259,145],[173,146],[129,147],[128,122],[262,2],[255,148],[256,149],[253,2],[254,150],[252,122],[260,151],[132,152],[280,2],[281,2],[274,2],[277,118],[276,2],[282,2],[283,2],[275,153],[284,2],[285,2],[249,154],[261,155],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[57,156],[56,157],[60,158],[58,157],[63,159],[62,160],[49,161],[59,162]],"exportedModulesMap":[[67,1],[65,2],[64,2],[70,3],[66,1],[68,4],[69,1],[72,5],[73,2],[125,6],[126,6],[127,2],[338,7],[316,8],[318,9],[317,8],[320,10],[322,11],[323,12],[324,13],[325,11],[326,12],[327,11],[328,14],[329,12],[330,11],[335,15],[336,16],[337,17],[331,18],[321,19],[332,20],[319,20],[333,21],[339,2],[340,2],[341,22],[342,23],[352,24],[353,2],[354,2],[355,25],[356,2],[370,26],[358,27],[359,28],[357,29],[360,30],[361,31],[362,32],[363,33],[364,34],[365,35],[366,36],[367,37],[368,38],[369,39],[371,2],[372,2],[373,40],[71,2],[375,2],[376,41],[74,42],[75,42],[77,43],[78,44],[79,45],[80,46],[81,47],[82,48],[83,49],[84,50],[85,51],[86,52],[87,52],[88,53],[89,54],[90,55],[91,56],[76,57],[123,2],[92,58],[93,59],[94,60],[124,61],[95,62],[96,63],[97,64],[98,65],[99,66],[100,67],[101,68],[102,69],[103,70],[104,71],[105,72],[106,73],[108,74],[107,75],[109,76],[110,77],[111,78],[112,79],[113,80],[114,81],[115,82],[116,83],[117,84],[118,85],[119,86],[120,87],[121,88],[122,89],[377,2],[378,2],[379,2],[46,2],[396,90],[381,91],[382,91],[384,91],[385,91],[383,92],[395,93],[386,91],[387,91],[388,91],[389,91],[390,91],[391,91],[392,91],[393,91],[394,91],[397,92],[52,2],[53,94],[50,2],[55,95],[54,2],[51,96],[398,92],[44,2],[48,97],[380,92],[399,2],[400,2],[47,2],[425,98],[426,99],[401,100],[404,100],[423,98],[424,98],[414,101],[413,101],[411,98],[406,98],[419,98],[417,98],[421,98],[405,98],[418,98],[422,98],[407,98],[408,98],[420,98],[402,98],[409,98],[410,98],[412,98],[416,98],[427,102],[415,98],[403,98],[440,103],[439,2],[434,102],[436,104],[435,102],[428,102],[429,102],[431,102],[433,102],[437,104],[438,104],[430,104],[432,104],[441,2],[442,105],[334,106],[443,2],[444,107],[445,2],[446,108],[45,2],[374,109],[344,2],[348,110],[350,111],[349,110],[347,112],[351,113],[343,2],[346,114],[345,2],[61,2],[315,115],[288,2],[266,116],[264,116],[314,117],[279,118],[278,118],[180,119],[131,120],[286,119],[287,119],[289,121],[290,119],[291,122],[191,123],[292,119],[263,119],[293,119],[294,124],[295,119],[296,118],[297,125],[298,119],[299,119],[300,119],[301,119],[302,118],[303,119],[304,119],[305,119],[306,119],[307,126],[308,119],[309,119],[310,119],[311,119],[312,119],[130,117],[133,122],[134,122],[135,119],[136,122],[137,122],[138,122],[139,122],[140,119],[142,127],[143,122],[141,122],[144,122],[145,122],[146,122],[147,122],[148,122],[149,122],[150,119],[151,122],[152,122],[153,122],[154,122],[155,122],[156,119],[157,122],[158,119],[159,122],[160,122],[161,122],[162,122],[163,119],[165,128],[164,122],[166,122],[167,122],[168,122],[169,122],[170,126],[171,119],[172,119],[186,129],[174,130],[175,122],[176,122],[177,119],[178,122],[179,122],[181,131],[182,122],[183,122],[184,122],[185,122],[187,122],[188,122],[189,122],[190,122],[192,132],[193,122],[194,122],[195,122],[196,119],[197,122],[198,133],[199,133],[200,133],[201,119],[202,122],[203,122],[204,122],[209,122],[205,122],[206,119],[207,122],[208,119],[210,119],[211,122],[212,122],[213,119],[214,119],[215,122],[216,119],[217,122],[218,122],[219,119],[220,122],[221,122],[222,122],[223,122],[224,122],[225,122],[226,122],[227,122],[228,122],[229,122],[230,122],[231,122],[232,122],[233,134],[234,122],[235,122],[236,122],[237,122],[238,122],[239,122],[240,119],[241,119],[242,119],[243,119],[244,119],[245,122],[246,122],[247,122],[248,122],[265,135],[313,119],[251,136],[250,137],[273,138],[272,139],[268,140],[267,139],[269,141],[258,142],[257,143],[271,144],[270,141],[259,145],[173,146],[129,147],[128,122],[262,2],[255,148],[256,149],[253,2],[254,150],[252,122],[260,151],[132,152],[280,2],[281,2],[274,2],[277,118],[276,2],[282,2],[283,2],[275,153],[284,2],[285,2],[249,154],[261,155],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[56,163],[60,164],[58,163],[63,165],[62,164],[49,166]],"semanticDiagnosticsPerFile":[67,65,64,70,66,68,69,72,73,125,126,127,338,316,318,317,320,322,323,324,325,326,327,328,329,330,335,336,337,331,321,332,319,333,339,340,341,342,352,353,354,355,356,370,358,359,357,360,361,362,363,364,365,366,367,368,369,371,372,373,71,375,376,74,75,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,76,123,92,93,94,124,95,96,97,98,99,100,101,102,103,104,105,106,108,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,377,378,379,46,396,381,382,384,385,383,395,386,387,388,389,390,391,392,393,394,397,52,53,50,55,54,51,398,44,48,380,399,400,47,425,426,401,404,423,424,414,413,411,406,419,417,421,405,418,422,407,408,420,402,409,410,412,416,427,415,403,440,439,434,436,435,428,429,431,433,437,438,430,432,441,442,334,443,444,445,446,45,374,344,348,350,349,347,351,343,346,345,61,315,288,266,264,314,279,278,180,131,286,287,289,290,291,191,292,263,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,130,133,134,135,136,137,138,139,140,142,143,141,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,165,164,166,167,168,169,170,171,172,186,174,175,176,177,178,179,181,182,183,184,185,187,188,189,190,192,193,194,195,196,197,198,199,200,201,202,203,204,209,205,206,207,208,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,265,313,251,250,273,272,268,267,269,258,257,271,270,259,173,129,128,262,255,256,253,254,252,260,132,280,281,274,277,276,282,283,275,284,285,249,261,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,57,56,60,58,63,62,49,59]},"version":"4.7.2"} \ No newline at end of file diff --git a/packages/react-native-performance-lists-profiler/package.json b/packages/react-native-performance-lists-profiler/package.json index e467d70..12087f4 100644 --- a/packages/react-native-performance-lists-profiler/package.json +++ b/packages/react-native-performance-lists-profiler/package.json @@ -20,12 +20,13 @@ "test": "tsc -b && yarn jest" }, "bugs": { - "url": "https://github.com/shopify/react-native-performance/issues" + "url": "https://github.com/moonpay/react-native-performance/issues" }, - "homepage": "https://github.com/shopify/react-native-performance#readme", + "homepage": "https://github.com/moonpay/react-native-performance#readme", "repository": { "type": "git", - "url": "git+https://github.com/shopify/react-native-performance.git" + "url": "git+https://github.com/moonpay/react-native-performance.git", + "directory": "packages/react-native-performance-lists-profiler" }, "peerDependencies": { "@babel/runtime": "*", diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.d.ts b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.d.ts new file mode 100644 index 0000000..6ad9906 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.d.ts @@ -0,0 +1,8 @@ +export default class FixedSizeStack { + private readonly maxSize; + private readonly stack; + constructor(maxSize: number); + push(item: T): void; + pop(): T | undefined; +} +//# sourceMappingURL=FixedSizeStack.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.d.ts.map b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.d.ts.map new file mode 100644 index 0000000..2ce73eb --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FixedSizeStack.d.ts","sourceRoot":"","sources":["../src/FixedSizeStack.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAE5B,OAAO,EAAE,MAAM;IAO3B,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAQnB,GAAG,IAAI,CAAC,GAAG,SAAS;CAGrB"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.js b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.js new file mode 100644 index 0000000..5740525 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var FixedSizeStack = /** @class */ (function () { + function FixedSizeStack(maxSize) { + this.stack = new Array(); + this.maxSize = maxSize; + if (maxSize <= 0) { + throw new Error("maxSize must be > 0: ".concat(maxSize, ".")); + } + } + FixedSizeStack.prototype.push = function (item) { + var deleteCount = this.stack.length - this.maxSize + 1; + if (deleteCount > 0) { + this.stack.splice(0, deleteCount); + } + this.stack.push(item); + }; + FixedSizeStack.prototype.pop = function () { + return this.stack.pop(); + }; + return FixedSizeStack; +}()); +exports.default = FixedSizeStack; +//# sourceMappingURL=FixedSizeStack.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.js.map b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.js.map new file mode 100644 index 0000000..99e7cc2 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/FixedSizeStack.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FixedSizeStack.js","sourceRoot":"","sources":["../src/FixedSizeStack.ts"],"names":[],"mappings":";;AAAA;IAIE,wBAAY,OAAe;QAFV,UAAK,GAAG,IAAI,KAAK,EAAK,CAAC;QAGtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,+BAAwB,OAAO,MAAG,CAAC,CAAC;SACrD;IACH,CAAC;IAED,6BAAI,GAAJ,UAAK,IAAO;QACV,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACzD,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,4BAAG,GAAH;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IACH,qBAAC;AAAD,CAAC,AAtBD,IAsBC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.d.ts b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.d.ts new file mode 100644 index 0000000..a90d2d4 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.d.ts @@ -0,0 +1,60 @@ +import React from 'react'; +import { GestureResponderEvent, PerformanceProfilerError } from '@shopify/react-native-performance'; +import { TouchableWithoutFeedbackProps } from 'react-native'; +export declare const DEFAULT_SOURCE_NAME = "BottomTabBar"; +declare type UIEvent = React.MouseEvent | GestureResponderEvent; +declare type TouchableProps = Omit & { + children: React.ReactNode; + onPress?: (event: UIEvent) => void; +}; +export declare class MissingTabBarTimestampError extends PerformanceProfilerError { + readonly name = "MissingTabBarTimestampError"; + readonly destinationScreen: string; + constructor(destinationScreen: string); +} +export default function createProfiledBottomTabNavigator({ source }?: { + source?: string; +}): { + Tab: import("@react-navigation/core").TypedNavigator, import("@react-navigation/bottom-tabs").BottomTabNavigationOptions, import("@react-navigation/bottom-tabs").BottomTabNavigationEventMap, ({ id, initialRouteName, backBehavior, children, screenListeners, screenOptions, sceneContainerStyle, ...restWithDeprecated }: import("@react-navigation/routers").DefaultRouterOptions & { + id?: string | undefined; + children: React.ReactNode; + screenListeners?: Partial<{ + tabPress: import("@react-navigation/core").EventListenerCallback; + tabLongPress: import("@react-navigation/core").EventListenerCallback; + focus: import("@react-navigation/core").EventListenerCallback; + blur: import("@react-navigation/core").EventListenerCallback; + state: import("@react-navigation/core").EventListenerCallback; + beforeRemove: import("@react-navigation/core").EventListenerCallback; + }> | ((props: { + route: import("@react-navigation/core").RouteProp; + navigation: any; + }) => Partial<{ + tabPress: import("@react-navigation/core").EventListenerCallback; + tabLongPress: import("@react-navigation/core").EventListenerCallback; + focus: import("@react-navigation/core").EventListenerCallback; + blur: import("@react-navigation/core").EventListenerCallback; + state: import("@react-navigation/core").EventListenerCallback; + beforeRemove: import("@react-navigation/core").EventListenerCallback; + }>) | undefined; + screenOptions?: import("@react-navigation/bottom-tabs").BottomTabNavigationOptions | ((props: { + route: import("@react-navigation/core").RouteProp; + navigation: any; + }) => import("@react-navigation/bottom-tabs").BottomTabNavigationOptions) | undefined; + defaultScreenOptions?: import("@react-navigation/bottom-tabs").BottomTabNavigationOptions | ((props: { + route: import("@react-navigation/core").RouteProp; + navigation: any; + options: import("@react-navigation/bottom-tabs").BottomTabNavigationOptions; + }) => import("@react-navigation/bottom-tabs").BottomTabNavigationOptions) | undefined; + } & { + backBehavior?: import("@react-navigation/routers/lib/typescript/src/TabRouter").BackBehavior | undefined; + } & import("@react-navigation/bottom-tabs/lib/typescript/src/types").BottomTabNavigationConfig) => JSX.Element>; + buildProfiledBottomTabBarButton: ({ Touchable, }?: { + Touchable?: React.ComponentType | undefined; + }) => ({ onPress, style, children, ...rest }: T) => JSX.Element; +}; +export {}; +//# sourceMappingURL=createProfiledBottomTabNavigator.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.d.ts.map b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.d.ts.map new file mode 100644 index 0000000..ae2870b --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createProfiledBottomTabNavigator.d.ts","sourceRoot":"","sources":["../src/createProfiledBottomTabNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EACL,qBAAqB,EAIrB,wBAAwB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAO,6BAA6B,EAA2B,MAAM,cAAc,CAAC;AAI3F,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,aAAK,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,qBAAqB,CAAC;AAIvF,aAAK,cAAc,GAAG,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,GAAG;IACrE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,wBAAwB;IACvE,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBACvB,iBAAiB,EAAE,MAAM;CAWtC;AAkDD,MAAM,CAAC,OAAO,UAAU,gCAAgC,CACtD,UAAU,SAAS;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,GAAG,SAAS,CAAA;CAAC,EACxE,EAAC,MAA4B,EAAC,GAAE;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DvD"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.js b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.js new file mode 100644 index 0000000..a558960 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.js @@ -0,0 +1,92 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MissingTabBarTimestampError = exports.DEFAULT_SOURCE_NAME = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var bottom_tabs_1 = require("@react-navigation/bottom-tabs"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var react_native_1 = require("react-native"); +var FixedSizeStack_1 = tslib_1.__importDefault(require("./FixedSizeStack")); +exports.DEFAULT_SOURCE_NAME = 'BottomTabBar'; +var MissingTabBarTimestampError = /** @class */ (function (_super) { + tslib_1.__extends(MissingTabBarTimestampError, _super); + function MissingTabBarTimestampError(destinationScreen) { + var _this = _super.call(this, 'Could not capture the native touch timestamp of the tab bar button. ' + + 'As a result, the TTI timer will not start when the navigation button was pressed. ' + + 'Instead, it will start when the JS Touchable.onPress code was executed. This may lead to imprecise TTI ' + + 'values (shorter than what the user actually perceived).', 'bug') || this; + _this.name = 'MissingTabBarTimestampError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, MissingTabBarTimestampError.prototype); + return _this; + } + return MissingTabBarTimestampError; +}(react_native_performance_1.PerformanceProfilerError)); +exports.MissingTabBarTimestampError = MissingTabBarTimestampError; +function ProfiledTabBarComponent(_a) { + var navigation = _a.navigation, tabPressEventRecorder = _a.tabPressEventRecorder, InnerTabBar = _a.InnerTabBar, source = _a.source, rest = tslib_1.__rest(_a, ["navigation", "tabPressEventRecorder", "InnerTabBar", "source"]); + var startTimer = (0, react_native_performance_1.useStartProfiler)(); + var errorHandler = (0, react_native_performance_1.useErrorHandler)(); + var wrappedNavigation = (0, react_1.useMemo)(function () { + var wrappedNavigation = Object.create(navigation); + var emit = function (event) { + if (event.type === 'tabPress') { + var lastRecordedEvent = tabPressEventRecorder.pop(); + if (!lastRecordedEvent || !('timestamp' in lastRecordedEvent.nativeEvent)) { + errorHandler(new MissingTabBarTimestampError(react_native_performance_1.DESTINATION_SCREEN_NAME_PLACEHOLDER)); + } + var uiEvent = lastRecordedEvent && 'timestamp' in lastRecordedEvent.nativeEvent + ? { + nativeEvent: { + timestamp: lastRecordedEvent.nativeEvent.timestamp, + }, + } + : undefined; + startTimer({ + source: source, + uiEvent: uiEvent, + }); + } + return navigation.emit(event); + }; + wrappedNavigation.emit = emit; + return wrappedNavigation; + }, [errorHandler, navigation, source, startTimer, tabPressEventRecorder]); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return react_1.default.createElement(InnerTabBar, tslib_1.__assign({}, rest, { navigation: wrappedNavigation })); +} +function createProfiledBottomTabNavigator(_a) { + var _b = _a === void 0 ? {} : _a, _c = _b.source, source = _c === void 0 ? exports.DEFAULT_SOURCE_NAME : _c; + var tabPressEventRecorder = new FixedSizeStack_1.default(1); + var Tab = (0, bottom_tabs_1.createBottomTabNavigator)(); + function buildProfiledTabBar(_a) { + var navigation = _a.navigation, _b = _a.InnerTabBar, InnerTabBar = _b === void 0 ? bottom_tabs_1.BottomTabBar : _b, rest = tslib_1.__rest(_a, ["navigation", "InnerTabBar"]); + return (react_1.default.createElement(ProfiledTabBarComponent, tslib_1.__assign({ navigation: navigation, tabPressEventRecorder: tabPressEventRecorder, InnerTabBar: InnerTabBar, source: source }, rest))); + } + var ProfiledNavigator = function (props) { + return (react_1.default.createElement(Tab.Navigator, tslib_1.__assign({}, props, { tabBar: function (tabBarProps) { return buildProfiledTabBar(tslib_1.__assign(tslib_1.__assign({}, tabBarProps), { InnerTabBar: props.tabBar })); } }))); + }; + function buildProfiledBottomTabBarButton(_a) { + var _b = _a === void 0 ? {} : _a, Touchable = _b.Touchable; + var ProfiledTouchable = function (_a) { + var onPress = _a.onPress, style = _a.style, children = _a.children, rest = tslib_1.__rest(_a, ["onPress", "style", "children"]); + var profilerStartingOnPress = (0, react_1.useCallback)(function (event) { + tabPressEventRecorder.push(event); + onPress === null || onPress === void 0 ? void 0 : onPress(event); + }, [onPress]); + var TouchableComponent = Touchable !== null && Touchable !== void 0 ? Touchable : react_native_1.TouchableWithoutFeedback; + return ( + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + react_1.default.createElement(TouchableComponent, tslib_1.__assign({ onPress: profilerStartingOnPress }, rest), + react_1.default.createElement(react_native_1.View, { style: style }, children))); + }; + return ProfiledTouchable; + } + var ProfiledTab = Object.create(Tab); + ProfiledTab.Navigator = ProfiledNavigator; + return { Tab: ProfiledTab, buildProfiledBottomTabBarButton: buildProfiledBottomTabBarButton }; +} +exports.default = createProfiledBottomTabNavigator; +//# sourceMappingURL=createProfiledBottomTabNavigator.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.js.map b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.js.map new file mode 100644 index 0000000..d031e9e --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/createProfiledBottomTabNavigator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createProfiledBottomTabNavigator.js","sourceRoot":"","sources":["../src/createProfiledBottomTabNavigator.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/index.d.ts b/packages/react-native-performance-navigation-bottom-tabs/dist/index.d.ts new file mode 100644 index 0000000..39732d5 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/index.d.ts @@ -0,0 +1,2 @@ +export { default as createProfiledBottomTabNavigator } from './createProfiledBottomTabNavigator'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/index.d.ts.map b/packages/react-native-performance-navigation-bottom-tabs/dist/index.d.ts.map new file mode 100644 index 0000000..2aec4d6 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,gCAAgC,EAAC,MAAM,oCAAoC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/index.js b/packages/react-native-performance-navigation-bottom-tabs/dist/index.js new file mode 100644 index 0000000..b720bda --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/index.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createProfiledBottomTabNavigator = void 0; +var createProfiledBottomTabNavigator_1 = require("./createProfiledBottomTabNavigator"); +Object.defineProperty(exports, "createProfiledBottomTabNavigator", { enumerable: true, get: function () { return __importDefault(createProfiledBottomTabNavigator_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/index.js.map b/packages/react-native-performance-navigation-bottom-tabs/dist/index.js.map new file mode 100644 index 0000000..c1324d8 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,uFAA+F;AAAvF,qKAAA,OAAO,OAAoC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/dist/tsconfig.tsbuildinfo b/packages/react-native-performance-navigation-bottom-tabs/dist/tsconfig.tsbuildinfo new file mode 100644 index 0000000..dcc2f87 --- /dev/null +++ b/packages/react-native-performance-navigation-bottom-tabs/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/fixedsizestack.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/commonactions.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/baserouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/tabrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/drawerrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/stackrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/basenavigationcontainer.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/createnavigationcontainerref.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/createnavigatorfactory.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/currentrendercontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/findfocusedroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getactionfromstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getfocusedroutenamefromroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getpathfromstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getstatefrompath.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontainerrefcontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationhelperscontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationroutecontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usefocuseffect.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/useisfocused.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigation.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationbuilder.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationcontainerref.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/useroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/validatepathconfig.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/index.d.ts","../../../node_modules/@types/react-native/globals.d.ts","../../../node_modules/@types/react-native/legacy-properties.d.ts","../../../node_modules/@types/react-native/batchedbridge.d.ts","../../../node_modules/@types/react-native/devtools.d.ts","../../../node_modules/@types/react-native/launchscreen.d.ts","../../../node_modules/@types/react-native/index.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkto.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/link.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/navigationcontainer.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/servercontext.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/servercontainer.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/darktheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/defaulttheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/themeprovider.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/usetheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkbuilder.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkprops.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/usescrolltotop.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/background.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/getdefaultheaderheight.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/getheadertitle.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/header.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackbutton.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackcontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackground.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerheightcontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headershowncontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headertitle.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/useheaderheight.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/missingicon.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/platformpressable.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/resourcesavingview.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safearea.types.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safeareacontext.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safeareaview.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/initialwindow.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/index.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/safeareaprovidercompat.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/screen.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/navigators/createbottomtabnavigator.d.ts","../../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/views/bottomtabbar.d.ts","../../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/views/bottomtabview.d.ts","../../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/utils/bottomtabbarheightcontext.d.ts","../../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/utils/usebottomtabbarheight.d.ts","../../../node_modules/@react-navigation/bottom-tabs/lib/typescript/src/index.d.ts","../../react-native-performance/dist/bridgedeventtimestamp.d.ts","../../react-native-performance/dist/state-machine/states/state.d.ts","../../react-native-performance/dist/state-machine/states/rendered.d.ts","../../react-native-performance/dist/state-machine/states/renderaborted.d.ts","../../react-native-performance/dist/state-machine/states/started.d.ts","../../react-native-performance/dist/state-machine/states/mounted.d.ts","../../react-native-performance/dist/state-machine/states/unmounted.d.ts","../../react-native-performance/dist/exceptions/performanceprofilererror.d.ts","../../react-native-performance/dist/exceptions/rendertimeouterror.d.ts","../../react-native-performance/dist/exceptions/performanceprofileruninitializederror.d.ts","../../react-native-performance/dist/exceptions/screenprofilernotstartederror.d.ts","../../react-native-performance/dist/exceptions/nativemodulenotfounderror.d.ts","../../react-native-performance/dist/exceptions/index.d.ts","../../react-native-performance/dist/state-machine/states/state-utils.d.ts","../../react-native-performance/dist/state-machine/states/index.d.ts","../../react-native-performance/dist/utils/matches-pattern.d.ts","../../react-native-performance/dist/utils/error-handler.d.ts","../../react-native-performance/dist/utils/promisecontroller.d.ts","../../react-native-performance/dist/utils/native-performance-module.d.ts","../../react-native-performance/dist/utils/inmemorycounter.d.ts","../../react-native-performance/dist/utils/logger.d.ts","../../react-native-performance/dist/utils/index.d.ts","../../react-native-performance/dist/renderpassreport.d.ts","../../react-native-performance/dist/context/reportobserver.d.ts","../../react-native-performance/dist/context/performanceprofiler.d.ts","../../react-native-performance/dist/context/index.d.ts","../../react-native-performance/dist/performancemeasureview.d.ts","../../react-native-performance/dist/gestureresponderevent.d.ts","../../react-native-performance/dist/hooks/flowcommonargs.d.ts","../../react-native-performance/dist/hooks/usestartprofiler.d.ts","../../react-native-performance/dist/hooks/useresetflow.d.ts","../../react-native-performance/dist/hooks/useprofilerstate.d.ts","../../react-native-performance/dist/hooks/userenderpassreport.d.ts","../../react-native-performance/dist/hooks/useprofilerstatechangelistener.d.ts","../../react-native-performance/dist/hooks/index.d.ts","../../react-native-performance/dist/state-machine/controller/statecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/disabledstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/enabledstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/state-controller-context.d.ts","../../react-native-performance/dist/state-machine/controller/usestatecontrollerinitializer.d.ts","../../react-native-performance/dist/state-machine/controller/errorhandlerstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/index.d.ts","../../react-native-performance/dist/state-machine/index.d.ts","../../react-native-performance/dist/index.d.ts","../src/createprofiledbottomtabnavigator.tsx","../src/index.ts","../../../node_modules/@types/aria-query/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/fined/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/hammerjs/index.d.ts","../../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../node_modules/rxjs/dist/types/index.d.ts","../../../node_modules/@types/inquirer/lib/objects/choice.d.ts","../../../node_modules/@types/inquirer/lib/objects/separator.d.ts","../../../node_modules/@types/inquirer/lib/objects/choices.d.ts","../../../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../../node_modules/@types/inquirer/lib/prompts/base.d.ts","../../../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../../node_modules/@types/inquirer/lib/prompts/input.d.ts","../../../node_modules/@types/inquirer/lib/prompts/list.d.ts","../../../node_modules/@types/inquirer/lib/prompts/number.d.ts","../../../node_modules/@types/inquirer/lib/prompts/password.d.ts","../../../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../../node_modules/@types/inquirer/lib/utils/events.d.ts","../../../node_modules/@types/inquirer/lib/utils/readline.d.ts","../../../node_modules/@types/inquirer/lib/utils/utils.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../../node_modules/@types/inquirer/index.d.ts","../../../node_modules/@types/invariant/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/liftoff/index.d.ts","../../../node_modules/@types/lockfile/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.isequal/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/minipass/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/reactcss/index.d.ts","../../../node_modules/@types/react-color/lib/components/alpha/alpha.d.ts","../../../node_modules/@types/react-color/lib/components/block/block.d.ts","../../../node_modules/@types/react-color/lib/components/common/checkboard.d.ts","../../../node_modules/@types/react-color/lib/components/chrome/chrome.d.ts","../../../node_modules/@types/react-color/lib/components/circle/circle.d.ts","../../../node_modules/@types/react-color/lib/components/compact/compact.d.ts","../../../node_modules/@types/react-color/lib/components/github/github.d.ts","../../../node_modules/@types/react-color/lib/components/hue/hue.d.ts","../../../node_modules/@types/react-color/lib/components/material/material.d.ts","../../../node_modules/@types/react-color/lib/components/photoshop/photoshop.d.ts","../../../node_modules/@types/react-color/lib/components/sketch/sketch.d.ts","../../../node_modules/@types/react-color/lib/components/slider/slider.d.ts","../../../node_modules/@types/react-color/lib/components/swatches/swatches.d.ts","../../../node_modules/@types/react-color/lib/components/twitter/twitter.d.ts","../../../node_modules/@types/react-color/lib/components/common/colorwrap.d.ts","../../../node_modules/@types/react-color/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/resize-observer-browser/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/url-join/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"7ccc5a3b754677abe9cc4a53c14bce28291861f440416f9fed6332340728aa47","signature":"91605e25d5a2b498616fb555dbd386b06352821997667a02fb6f70d544e05085"},{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"0bcebfaf66be25c793d0281a8dce761bc078d203f02c573e6ee3b844a5ad7fbc","affectsGlobalScope":true},"853e8de4f530cfb0aa87082e3e1a2ea8e66805dce0668a5761bdd92145939b99","7c9e664e9c75c46b3f1cf006d34d2f49392ac265bf4417e0b465422693d4950c","12ecd7d96b7209ad27d566cfb4b04d73489287375a67d6a11fb2fecc03cc4789","32693e15180b6e6dcae50cd9719623a1aaf866d77bb5f3933a35e9b7fec3d1fd","1891eea6eb86a8b0850ef7570ae5aeafe905351150234b1a66fb24e5a1673b92","bd4db3a73abc07b4dda1e6bf976dc48e8e4e0fafdfc217b0339d3132f27e3517","6a87e68ee8b64da2c7747aec468d0f01ef2f0f9364159192dce1cda1bfab526e",{"version":"9af55bd8dfc2cd9187af5bbb17d25aa87cd93cb92158ea82334600e1d00076df","affectsGlobalScope":true},"977ef7423f6df4dcf70144712833da7922293e37813293db43a728f482d25abd","0debb34aee907e610f311f90b8ea7a672e95f30826abeaadc2b31af4076c9344","b0474fec7c45a73eca31ad530914fc587ebddeed29f69f96653d9afc4144da45","717c85e439a2e28054138caa84613aa81252448a4a9f4f4c8e66cf430f399cf9","19bace661c2611c1ae473e95fba01e7f2ba898e14833585e97004dd13ffdaeda","ee4bd23ee28835ad3ca59a947632cb95260f3024b79a553b4844f230ad3219fb","3003d045b098f9f972dd88da5f02849aa77f08d7da5908a615e7d7c54b22414a","3aa528047246293a8834a527380b33e5d24ad71e9fd4bbcc2cef279ae89661f5","c6ff3e1388330aa2a43cf6373198298b1551ea4a8bb317e62ecfd559a8e5327c","a109bab41468dc2b6cf8e54cf4c3a4816cf254ead4ab82af17f2f8d63bea14fa","a7eec4015f9f31540f7a0c5e5bb27024d656ae818052edcf72f8eb450277574e","45016de701bf4c613b68e2722e07f3d44dc5d3785bc042736caad77e6eb8617f","d7ee2ba7aff83a473c8326c68b20f1e0c3ff19c41ae5fdc6b77914de30cf154e","948355e572a01fac5781b65489e7c0ac98656f760ed3ad57721a55a344d1315e","9ebbaba0e0405c1de896520d4fb403abf8d8ee72d26f002d4ae880b04e3fe504","85e99a85fd074f07f336054fedba0c10762b100f10c28ecaf7d978b73ef9acdb","3f1636597988f8f596a657e7331ae56a0dca70fbe5db585370a6a7adceab7b24","ce4505fec4d5ccce704bd761032150ac777220e86ca4a7076680f9d5cb4c4c9b","c9e05ecfec6e590fadd1cb10ae1d21641ca3a8ec5665af7f671772198e7b21c7","13a57c395e9c3f521f5dbb3f5402bd292a021256add5b82423dd72eaca430682","c4fe4b713057e24f416d3d1f31b3dd3e7e4076ac45df9a0ad84b39e4f752cf76","343f8c8644cd42c657fc895df563a7769253657fcfe1a2a307dfd592652b2cdd",{"version":"4452f559618410bd9950973795fa657dbf3411cdc55c4c3460c5bab189903863","affectsGlobalScope":true},"9e9df0ee50fc117b15fd7815162a41c46e95996b513e4107b433d3e37dbe2ce8",{"version":"efd32b1ab5e3897f64ed3d0f236657c3c9c7bcc669449e608ebee1ad9dbe396a","affectsGlobalScope":true},"7fb3279c4bf36d993b1e8b339cded5908f7b2ec1b6e0ac2feaa842b5b6b143f1","234b97ac9af46707f2315ff395a9b340d37b7dbc8290d91f5d6bd97189d220f3",{"version":"6cb5e3d3f0babcdca611a20b4bd29f0e604a0ae6bb618da4452d299876cb493d","affectsGlobalScope":true},"f3d6d4879bea27563245f9b0421554822a4f336b4e7b838daa6f6c4515e41ee0","fbad7ab4fc3bfb02492f83780b7d03427d54a797be4465ee17b46a5dc1edd9a4","c71069baf888f362df77457285435eaae6b0b3e25a884c78977fcec52755bbea",{"version":"f3d06e4c44ae3e14ef517f5a3a6d9aab826afdc444936605d39d0d6c6bdcad0f","affectsGlobalScope":true},"6e2cbb13f526e6f7c70ea3a4bdc9634301f018fa3965f2dde7f1d37a8e5c7e9c","2fd3c27eab8f2e941560b8f1d9b2480d558a3bfecb9f7450478a758c9ce96cb0","528e7087c8e41701cd1af78e52bdc107553eeb44245885c5cd92b2dd3209a6b4","48f3e2543105da93484b51b1979764f345befa92e4d2031109cf2297739c3c95","b08950d68c97431fb98c2f6faa5da8b012d49145559c8218416be5ec3214c521","2f2275fb011f92825710c151ae9cd29d9aa1dedbcd99fcdd412dbbe644757e4d","fded4150da5c204dd68ce7603bc36950d6a24f7768d7848df3ff232889213616","226082a839dcbf67c6a3a18fb5a3cb18da8717e9d206bdedeb40d9ee42bcfe55","c80485ad77f4334be594e36c75613d3e31143d5d09571f325de21a6a21de8438","7eb52bdd7cc31bd8af7b9100e2c6e9a222dc2d2bcc37d3c292fe26f32e54bba3","f50ef5f47d7aece6712d7f7a9bb5a67a5af5e0b96dfe1b69e11fca1431b27bda","8270071907f956a9fcba08bd3044de174f502c43b9c9d8c54ef600192e3d5555","1a4e3125dea970c58422dfb1fed65a7d3e78809fc3f1a571fd179ea94dc9fef7","08490a869d0d773a9288d5fee53c8ce7eb6e46c3d1693a030376b9aa3eca6021","073f34ebf2acc760156ab0b24426e0bb12b1db45e1e73ba15182759101d6c348","91b77e9e5380f7e054a24fdd3968e27b596b3939d237bcad9f75b4c39774fe7c","308ec62578820dbee8f81f0b38019a426bf0d8dd76dc57a5a105ebfee66ea6fe","7fa70306bf3c594f11d33437a962ee050da57a5efdc899832c60faaa1f45241d","d200a64d39e13df62f59cf5238fc3abf0aaaae56e64c525e394d4b5f83083626","3f57a7f28d91f553645e3868edaeb5847ad2239e3dd8b5e40d6b0aef0c2c5fe9","22a2db87cd2bbc494ad650bee6b3bff5f2f960446a2fd7e86e95f637387d15e2","33ebc3edebdb7a38d3f7aa860ab6e37b829026f6c8b309d5c701ff953fc667a0","59951460d7ea18f277f26169a8052ef1be66276353b757894739c20232a0905e","116ae87a1fe342d0080acf156e6587b0b9337b731474915ca7c8b6243f3f23a4","59420b4d732c5b744155f3a61c97bb8c70126efb7ec93890cd645a2a8c65e29c","8372014ebc6b5b4b6702066ce98a995405c1de3a63ebcd113df3a6c30c01f7d9","504aab95c09e8573cfb3e8f96ba3b4d5acce1a2d5d4ff4f6d6eff5ef171f3879","fec8edc9d955969b814a7e75a7b409a1c5d0541876d01c9aa4b6f5c2fc5e0ebd","d45bc498046ac0f0bc015424165a70d42724886e352e76ba1d460ebc431239a5","9f638d020ab5712be98b527859598539c36737e98a1a4954785d2eb7d9f8e6f8","71ab0aff99915707e1108f34eb54a943c0b05d8a52bccdc28ab8e99b932e001e","56c4def5d7225993cc7e160e234bab0ba6c3e499bf8797c78998c08a58b2d590","96f9a7d6123c2f992a4451d7620a98060dd3fe52d4939d310db9aeae208bb79a","948e354b708bf13c63a76c15fe9876896ffbbe266a4d8a746cbc0c8cdac1ae09","bcedbc92cc8d73daa5647a4bfec7bb90877dea25c97483c392ae90b2f5cadfe0","aceb0fa166193791a4c527c8b8075b3bcd0b07e43aa6fec1edce2b3595eb8c0c","9209c613ff21ed0f101b11dee5791d74ea4a10456c08e59090c13bcc745bf4bf","a9528740f1ed7f4638027f743bad4f8733b5aadc5b921983bea1762c2d4434e0","e7a4ffce64998a9ceda8f26e8600277bff2952a0a604d2282df7958714aa8961","20750d6f3d55f6d13cb97c82b4ee606fece01c2ef99e5b28cf3d05a08726dba7","ee536bd51fc7506d657410fbde758ab4d40b97e951d0cfb1b6b9a8519b96470f","98984be4cf06e2b98c4d1e716c8947dde9a361e78248991a0e700a27ad60cae3","4fe80c4ae5fdb35a460ea2dd6c2bc77f749e715ed077c17c93484733d599ba8b","225d0b51e116ff456eac4f60c07eac69bdc34f7d871857119f86bf18902eb637","b463182753818bfe6243c10f368a4fe23690b9a14afe1987ba128e921e972d4e","55a3c61dc5e3a49dc2b2b778570eca69e58adbc8d47d1625ff258d08b5fbbec4","7b1abacf3026d07661aefaff0c4173eea2bbde44c78f7c235bb32f8e89b52a4e","730580aacdf4fd4b3f9026e1daa5a0bb8206f9d885efdcd48faf7e3fd1f176a2","61f51337e218369f43418a6b5f0322b2f7ef4058efcdd806e117327fb7c317d9","754f5742cebb9e2c4b80c7fdb48b0a451742f457e0b11d1bdaf9bebfd15b1bd3","4ad416d6e516596b0d832a63464eeba454dd42058967454f0e620c6654cb4718","5d24e76974ddd464dbc64200707583a86156a5de1826e6a8d9b859f5aa7fd6aa","a77f57d3d4168408e86106568b16401324d3ee24f76e82e9411e6293a7327a43","9b83911a2205057bd5441d65fffd8aa1c67be599bcadd79257dc5dd3f03cc066","7e8ece79a406114ef22c9e1d2b096444b53d0462fdcfe13293fc49658a1e2495","630481dcad21c800a47d0781c676939cdd790adbf44580b972acfc628acff2b3","0ee059bfe12c2ba24bc45a3aeaaf8dd7c23b7e1c7d33c8684cc965e341d560a9","6f6038075edc2c610a28329974d4a31c2d63e5a38f88ad77016bcaeedb20901e","a41edc66a5901fe040f9539c9307ba56d27e4fb51726cd24dbc2384b38cfed2b","9921e2f27911f95d5093e24c771be30b2e2dc88dc5e6fc04c5da9521fd389171","0b059f5acc0276ac2ce366c724fc9df977ce83e90a7e4623b816605df1d103b7","c83b4293304cb0087415274289f2b763589e788666f435c434b5b101bcf6e0ac","82268ac018b3cc502a58e2ca7e401f1a3400e07d43e359ac6a5eff46b13cace1","01acf071976b74e3f150eac8eb63810c34725969aabf62bb8d5ea170dcabd2ea","62a78f6255a478a07cd2c343c0202202c8ebafec18babe5e4744504707d4f45a","2ef4b128b41b5d67acf22b25ccb20a3e67c3911d1bca015eed2dc8f4ce9b04ae","54dce06cf85f42b9f890e600e3aca791039144670fed9511abc4b7e25ead4e4e","ac11e3bfa7dd8bba4d83cb9036014b86a4a289eae9d30ffa17173832c32c543e","e52519a1296f2426a28e3ebd963fb8c550602dfa2332fbca09069ea424d37d0e","2f5ff4904731ff15bcba43a18c10027f574cbf775d0fa46e2d912813a6b6fabf","cca6ad520eefaeac3d1dd53f2d462b6a9b989163e8f55226cb5daed6995ad833","48a038f6cd7b90b3aff80c6616b15a32d8db097ef40de7a2e0af928e73debe33","1481efaf734ebc17dff8a9d029a1e40f5461e1eba8e528a589c7c4e7b06c7378","a78a32bdebd36e8df8b958fafe51f4dbe8526f3726c19d0ca7a469eba0460195","b2a09b208de226397e3c34a2b1aa1f1d803a383a73ba576398c43bb46b1907ac","5393f796f62eb2876548ff438abeb8d54247e8e99dc63b967fa6b8f9ff43c5cb","5787cd691600e36ae3b1d0f934f1bdcb0d60c32eb10eba1d12cfc8a550217c54","ce6a24574c85e7bdb4864ebfdd76f2eb83495e1c0e4d68248916aca0b3c605cc","e7232bda9c724a1250a50be467bc60c34841f5aa865e1092c8f1e908d54bbed5","4f86429ea485232fe968b67830ff91c6f4428cde20ba7bd345dccfb2e6adb181","7e12247bc4005a3c10637eb497c7da92d4ec9f18f1248872c093cb096c29a195","c9ed5b5ded8a29caa1423e73c5a2160b04d867fec1f4895de9cca98bfbdc39ad","12b2e6bbf993963db507bd2f020214e200144790c274d047e599cf79a7f95644","aff60b0046a4345264cc8913f24387d961cb373000bfda9e7fa0c22378f5b900",{"version":"130f5be3f68e90f081258d42103f348fc68b5b8aac08868e60701e7eaba7d82f","signature":"2db4c5c5007637d41b3501ec2ee9ba9d497236641674aee03cbf005d0ad00ab1"},{"version":"093697301b49d3cf74b15d0745bcbe20ee604df0a66ba36ec6e534b6109229de","signature":"7b2103ebb2ffc9db59010f9ec209a32e4d4114ee0dec6bd09f48f9c0694a0e2d"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","a3ca095da123d2d556d663733932d71874e6c4b4874c76118463dedea4b0d2ad","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"d8d60d4636de5437353a773942766c22956a4d61b4c6b254092a51a71e4e1bed","e3fd84e6470b7e0679c4073ee5ce971d324182486dde5a49b67cae29168b51d2","dd8331d0a5190a4735ce6c152e420230188c4966067a756673c36dd7ba72b10e","90d88ef5d0e8d585711a8ec68c01d262818f3425fea095fea345b81ec8c09a36",{"version":"d57e7ff5243e0dcd04cf2edf9ad9520af40edd6eba31c14c3f405f0c437fa379","affectsGlobalScope":true},"0f882d4ae58f431454030289154feb0132e1b00ca5c3197c6b749bd098aed73a","7ff7f4632a6e7b6872fb1843f3c0df495b49840eae2a23c6fbc943f863da8c29","d267771149e172ade39e3ef96b4063209d5a7e8291702fe03983aa52f2b3d5f6","a78590b0efcef281236e3234520c348d63be1d4561b63b20e6c3b6fc18b37dfb","4d59c6a10b6c79a0927c79efa89b3c9f71d174ec14ec2792076cfd2330d0cf8e","a496f51933422872de22729b7a0233589325a1a1707cccd05cd914098944a202","fa43bf91102ffc4cfa22b73c7dca50023f99fc0bb15f7fb6201d98e31ab112dd","06a38095ad4368314366bc08f7cbc0fe274ef7321ec611005d0bdd9c6565e4d5","4599793db9aed9b84677f0ca1cf7ef3c69bb91cda4fe4329cbab778ca4d80a58","ad0028f96921778931fb8419d8de33b10908314fa99699de1702020f69235da1","ccd2a35321c0786bd3808042dc43b960cac13f2cc660ac37a0087e12bc97d2fc","df524ed01de4f19efb44bded628dbba9f840148be4b6cfe096e29d4b01589de3","2e3981b9cee48174ff85ae15019fd72933f7023a4ed05094740f7e6f7775623c","836ebdc3b9e4c006acc4f405b7e558e56d47830e05c40d991b1e27fe8bc91157","2cc6b617c6120ba64b5778ccd4b74c951adc3a3941bb6b39f47d48701c44af39","eca02b99615a8f1652e21399d832618e38bf166c0747c9247349bc901a2f7741","7f7d6d42e5780e86f5b860a6f95179fae06a368b3af28c1c4230397c47021a59","4740a7d11ab3b381be0f269f1903fb3ff226a2fba55a01756b2997e67cd853f2","863dbc4e77f0353e6f9d6bc0e2b4622d5c07ff6f099ff66cafd7924b2ff4dd3f","bf034a18ed7e2a058f9e48c4c2480a124138fbd3586a80c77736a9ec079d12a8","f88758992a0bf13d095520aacd4381fb456ff121fb9aa184e6eb0eecb26cfadc","c249e9ae33bfcad97deec3c73c9ed2656e112fbdf22deace0b39724be6a5dcf0","d8b45924965c0c4fc0b946c0b6d597aa8d5de9cdf5c727e3d39422d17efec438","d07ea953cfea0c4bd11641912846bd955f4fd26ad2b7b8a279d69c7ab9cb3add","feddabf6ab0eb191e721f0126f3db8688db97c77a1234968bde7a2d70c4ae513","dbbda62ea5f4d1f8b40cc2b7e2e2fae424abbb4715a04a3659cb8b317f7b228b","1eef6a64835182ce1f4934a366e937120e2e2107b12360436fdf35e99b3ae703","7f5cb3a03588ed46d52a6c2138315d930cd6ffb5c2134247cd07bc23cbea0b5a","7797f4c91491dcb0f21fa318fd8a1014990d5a72f8a32de2af06eb4d4476a3b5","f39fb20b83c3f9853c13d4ac95533760979d3023c0a5affe2c0a62d91ab3afd8","e4fca08aed8afb32bb8643d7469810bc8681115fe398e56a028df9e73b2d867f","2622639d24718ddfccc33a9a6daf5a2dd94d540ca41e3da00fe365d2c3f25db3","078966067552650f44ca96c68eddbb8539f30ee48a9ab3f24abdcf0a4037b535","2cd6250c43dba360377481c98d48db6ab1532a7527339edb0deffddc28ba66b1","7a9d600990fbe263a23daebed9ba1bbc5761e45679a7e2b2774a42756ef077a2","66bc155515fbea8c31a4efccbbac44de7c037b01f3aa00b76312cf7252725d30","5703288ddbfc4f7845cdbf80c6af17c8cde2a228757479796c2378b1662fcd48","0dfd353f0c16dd5107a7e0713dc52d0a2538293b0a0eac6000a017f9c0a60b56","9cd683a4663ef4d9c6486f1b8a34c73bdbc344d69490931bfe2fbcada12ab35b","42f6a409bad5259ece69df25d2b8ace2ff2ade45fe6386ee45203bdd9329f971","8b86677943235a5e5952f9371f7dfe89a9975651c56c74d58e090cb69bf6f2b4","2eb162efd6dba5972b9f8f85141d900d09da4fba23864f287f98f9890a05e95f","3f878fb5be9ebe8bd0ac5c22515d42b8b72d3745ef7617e73e9b2548ccbdf54b","e9ed562b7599c8c8c01595891480a30f9945a93a46456d22ee67ebf346b7538a","e7bf975a98cecefe2e8902fb7da9314675ecdce553aea722aaec97327668e18b","3d36f93648518338c875d9f77a8eab52905365483dbb3afe43ed68f1b712b67c","4fa54df9184d291bd78b36f5063372042cd995460e906cb14014e40d1442a326","b4e32bd5e3b493e4ea6b5ec69a4c02aa1fdaa78e1df9a863bb07604de8f9d123","f6bd1aa152ca2b5064e06282ee3137842ae6825b6b09aa89a2ff063b976a56f3","bce2390bb3a76f8bf2ba4397c66db5277bf3e698ee614347e5eb79d7fc0942c6","fbdc8d7cc7daf4101bf567512c67fb990d8fe300e0ba7f213171192177f44aa0","298e0da6d858e39fc0c1eebfa4f5c8af487868c6f2e98c3ef800537d402fb5c3","3b6457fb3866562d279377f923cf3758c80ed7bfcc19414b72a24d0a98188e0c","4fb5d7efb3520b92c1b767ce18968057c5e70886d7fb3416c487231df9275af9","df2303a61eb57b2717d17123e82bc0f3fd60f6e4673cb5506192dfe23c9480bf","b104960f4c5f807535ab43282356b2fe29c5d14a02035c623ac2012be3d5f76c","a35ca245eb852b70b20300546443abb1fcbac6e5066e4baaa092af4ea614d9b5","55da140feab55f10a538a9879a97c4be3df4934cbd679665c91a7263a86095e1","1a39e51e3362aec7d4edec9b317ff83916fe0471f86ddf2d3ef3af5952e87d9e","4b3f36b96f129a8e125c91d41a05f711e73b3285f80bceb3a1aecb13c97c4502","852779920fc4220bc42ec6d3c9b6164e23ea9371a788531b48b4005fe0cb4392","9a82e1b959524c1abfeeb024ee1a400234130a341f2b90a313ce4e37833b7dd2","515b97cede17d91c9669cc1c7fb7a8a5f0a5f2d8999f925a5f70b4ebea93723e","08e8e57241f874bdbf69ab2b65cb0ee18b4183d5c9452937da49b934fc679c4b","7a5bfc619b1ad803f11c50668574b16baba8f0e8ce1c3e8ebf16421e910474d2","644addd4811636da491c9546654bc005ba8599f23df6d731d91eba86f3137fc2","a9249493114b181814728cbfeb7234738193a4169b654ec4705d48d7a4d25222","aad6f20d6eb01192ae02294361faa6e1f320d72447b56f433db853bbe80b15ca","876fbedec2f494eb6f834ce8636b07d581c657d205d81a3ba894eff0facc6b84","58527aa45f11c9b259a6a9d78b397f35020bfbb104f4d3bb177039b5c18146bd","91b8b61d45b5d22f3458a4ac82e03b464a0926bab795a920fe0eca805ec476eb","2744532f8fb960eb78497ac660db719f503a10c801f87131d26fd9cbef75dcef","6884287c54891ac19cfbe056f3ed29cab1732a00dec69bd3b140ce62c11783c6","393dc8619d7e27653d5e4eafe99ec5501a6b043db50d805c2d40465a50b857e0","cb46657d3237f80742d5701ebcced8f6e5cf8938442354387d6c77d7048dfae6","9caced628452876da272decb56b3f4c18d9aa66b413be5b1ce322933aa1362b6","661f322e45545a554e4ffc38db6c4068a66e1323baf66acb0d8a9fa28195a669","91d70dce48c2a2bb55f0b851cf1bdba4202f107f1e8fdf45f94ff6be4b8e8f99","ce978e20a6f26f606b535f0d6deb384ae6a73f8d0bd0dfca0925f5317cad1f25","f2d3567210ca4d559d8297d6c4402599c93e3bc7485054192d38db5e132fbc0a","887d8058aeeade45984fdb8696147078bc630d3fea15ab2b7baacde0fe281fb7","ad27aa59d346179ac449bd3077d245f213152879e4027356306ccf1722d61d51","ea546a7ed9eaa71ba78d4d392509dadea4bafed283269dd6c4b09e7d8824e986","4ec0f2a141a9ae7d3557b8efe630ac2021bc3a9ac61238b59293f4cf2f196e82","b2db743c71652e03c52d51445af58d0af3316231faa92b66018b29c7ba975f6c","0863a5876c85fbaffbb8ec8aeda8b5042deb6932616139706d2b82cde9d3f7c7","1294b8ecdd212362323f349dd83b5c94ea77bfee4dad24fc290980a3c8af6ce3","ba9c46725e2a0bd9df59d3a1e801cc60f90db3ef7817131c53945dce2b8c0c56","281d373eeabf80c4851f8de991e6abe4d385c30379d80897bbc3df3dcac99cee","624c5dce95672d9dcca40d9d9d82ef855f5f902292f43aa265cc8fd963c6ce84","8a48d9c6184992d1c3ed5daa55f83d708c37582916926a5555a900608f804b60","605dd288c636cf9b5317fe76dec75d3c7fb855fdcd3ee8cb4fea7d7091ca6fb4","e6d6ba51e1280c00199ae4a4ab19df78f965df81e21aa1f608a9dd21219ea798","b5a615b0ad865ffa562980a10bda162ac1744fd363b4edc2cfc664222071cbcf","bbccd721363897950a55ce09529503f25a69522e5c91a22679b66e941e5f8654","d3a1e70795c38d7851b6e4f3b441c5ffdae171d6e2576a2204b7d79059aeea66","d7b8d41887c5fccfe19802c4336d34348b752abf0d98839575699d71deff60be","063fe3004728b8516a4d799ee16f9a71801ba24e0443dd98638cef1bd4353a7c","b8a0236f47d9037efdaf93da602415ae425dababe097fc92f83fd47ce9aaa69f","fab7912fc3ff45fce2f5d5febc9494c4d0a85d6c63fff68f21e4669c32eaacb9","f6c3fcb9d75d8aea778236fd9327ceb935b41865dbf3beac698be77e0ae9018d","b20bc124abd8ee572d0d756713ff987b116cdae908a6fcbc40e80d4b999f56b4","a599f3f450ad62c3fdc0c3fd25cddcc9332ffb44327087947d48914a8da81364","645dff895168aa82350c9aa60aa0b3621b84289fef043be842f45a9c6c0ac6e2","f068ff5b7fb3bdc5380e0c677e21de829bd25cdac63a9b083fdc220fcb225280","09d2fdca6ea6c135897a26976ad3c0db724adaf23ef4e38ad852b1d8efef1ae6","15de5b7739bf7e40213a200853bf78455ee5958af08eda786605a54a7f25ade6","f3acb439e08f0c2c78c712a876dc6c2080302c46916f1d63b7dbe509616ce9ae","37862e711637ebd927907a82cbf0143ea30e95eb165df554926c43936b1d77a9","89e253db2c2cc9a510c521f14dd2b1aae4de2556ee5159ad8d118d3587e3a880","3d0a172cee184a0f4111a7bd7fbb8729af3f54b30c06a2677d85c20ea9c811ab","d6a07e5e8dee6dc63c7ecd9c21756babf097e1537fbc91ddfec17328a063f65d","6fdc88b1287c276b55b7f7c4c7b49587813c763eea9751ce0baf0a7e61cd5d89","6a02443704052768bd021f24783aa104b02ae4444e9b735317bf13c6b857a11e","37987b0fe9800cf25473c882ce07bccdab2763c5681c1a2d16816aead46aa8d1","c84c03c721154068e1a60d83e9e85819bd3ef70b824ac2edc498aa31c06e5781","c23a403716784b53cf6ce9ffff9dcdb959b7cacdf115294a3377d96b6df1e161","c96fb6a0c1e879f95634ab0ff439cbb6fff6227b26bbf0153bef9ed0aabba60d","db936079fe6396aad9bf7ad0479ffc9220cec808a26a745baebb5f9e2ef9dbc7","06bc0b9cc7bf0b92534f1517fe5adde1f23f60cc6cc5c59f8e1c65db48a40067","919a753b0cbb12ccc606c62e2d34884d75a48ba19b1dda497c72621b11dac088","2c27e33ee0bf722988da00abd582cc9b806ce3fd9153a864800a339ad13f3fcf","92d7b3a5aa5dc872e54cbad2a7094b3ea4f72c7901de1d07b4c334ff658297f0","7a52922b38e9686d5bdc6e75774929eec6688d26c1dfe4a03ddec77ede468e87","aa5efca2833d89b55248f1889a6433dab1b1f41768e9a75f8ce35f9bf56c5ec4","0ba3b34cbe39c6fe3ba89f7f6559f10c05f78cd5368477d9c95d25c390b65931","4e82f599b0cff3741e5a4f45889d04753a8bb3b0f95d0f3328bcfbb4f995b2a1","8354bb3a9465dc2e9ccb848564945e0818d3698b2844cfd69b0435080871fd25","1218398da7c8dc4add10bdb3aa2856aad54b123d847eaf574d1d694ac269bfb5","189014f3213ee7457dbeea04dca10ca5d9ed2062cd39641aca5f3b4c75de9d99","b637cd92688a6cdf4f8f184ff529dc2bc7f15692828e2c0c66a60e6972f400c7","7061e83d6792897077bcac039fccf7325234004769f591c63a8cf8478bf551bb","f2d2c194c4c6ba8cfbacf893e371cd8482102b368c1a5ea4771fc956bd0a6a19","277a358d61376fce7ac3392402909c96cf6a0a613146549fc0165ccff953e012","50614c808e099a1d4413786f3783d9eeaaa74b267f2c87fcf8a893287e91c301","f4cb6530f248e87cefa74ef623206fec805f6252f885f8e14ef3d1a5872cef2d","38c332caadd8391566552395d592076470a5e7423f70964620eabf05c02907cd","eb17b5bf1fc763a644c21d76572c0e41e351c3f6dfcde649428d5d829f7294d2","cb124162c87b29ff5121e3ee5bb29c782f101e0135d6c2644ab1b31d530a435e","406d6f5d3707c488362fb40d1c1f8a7b0a42b70554b427160185d93e430228f5","2e9776410c5bc290d9432a9215c67398a273e514a79b9e15f32ecddfde8a03be","313ff8df074b81d3e4f088ff3a3a06df3d9b0d0c7f55469ccc2ac887ecb6b867","c718475bca06806cc243e77777641cb67ba68f2c57321a4773ebb47760a3bcf2","96e6bf811343caab5112b68880905c5d20d9257054afac6c18e718a4c549ed27","a2793bc73ba63ca7d259cb0f0b61d0023820170d08a1f9715006c8042d060165","d5011b38165771fdf75a9a06d6d379a1fc7edd7eb695ebdc52319fb6e3c6d81f","88417fb19d339304e9616a38ea513251047c9e300c81f9467fc317df8a582e71","3e8e2d132f726dddbda57819f5391504e585cb3beab6b32203064e7e40618583","6e23627cd3f10418b5b2db102fdcf557b75f2837f266d88afac6b18f333bb1bc","866046dcea88f23d766a65487ee7870c4cf8285a4c75407c80a5c26ed250ef8d","019f4f1cbc781cc15c6173f8be5ef907405722194ab297127b3c3426e5368339","41f4413eac08210dfc1b1cdb5891ad08b05c79f5038bdf8c06e4aedaa85b943d","c79f1c8b51d8475dde8d2973f740f43ca34b1f0a95d93649cd76c1ee20abba19","35f0d2bd2c5c05c0cb19095bf5b7c44365b1c88efe6285370855b90417277a64","8264b129f4c4eb4799703f8e5ee2223a184d1cdbfc782158b1f40a88a4435a1f","527ddda6f8be1279f3294714534c49d6e90f238cea325519882ebf88d7ec5bd2","b23877792e8bd00271d0ec5d401b68e4228540a4316de3d9dfb697b955c161a4","35b2eb1de01633db90d41abe93730b29984856fcc840b4c2801bfd3761a2097b","1fd5a6eb7fc5159b80a848cbe718eae07a97998c5e5382c888904248cf58e26f","2a6b4655a6edce9e07c7d826848f72533c9991d40bc36e3f85558ad20e87ce2d","6e3d29fdc96ebbb2ac672d2dae710c689c1ea0d0e9469e0847616f3c38fd085f","d505055b8fadd42da235c85947911d8d198ad70c5f5775991e7821d4f89c90f5","8b5a5852099dca7d7e7a7cef6d681dc1586aafacdb963ca180fe5cabbfa3a24b","0d1aa3341d1ad2064adada71c5d01a2f572e4aac09410e5616d90894105a0eb9","52494ca5a884da3bf11b8165ab31429715f0970d9c6383240c5666f4bd713e01","162fafa2291749df2ab4516854aa781fcee1d9fca2ecd85fb48ae794c0700ce2","b4b9b51ee6f6309cda2e539245235a8caeca2b1d6bf12b5e5c162d17333c450f","d2ffe8356f060b88c1c5cf1fa874a4b779fb87fd1977084876e8be9eab6bf485","c76053984b39150d00ade365b096a8bc21a4a7f2ee9e0a926711b00f8e7bf701","956b510767e3d6f362ea5800510635197723737af5d19ae07ee987ea4a90bfa5","cd1a8ff61f5063d7e6e2094e25d35c90b499961b63911f2f4ae0ff5555c2b4d7","1cf09b5945779e9bc75c4dcd805fb149c28fc90da3335186ef620647a3c540e1","9cdc0b9a313090ec45b34ea1eb02fbace433f509e753634b043e9b83038261e6","c93474cff0088351a65d3cad24037874a26a5371a48528563e56efe31cb3d8bb","b4580df8ea7f62d7b06588001952bf69426e6b03cf3d2569f5f608e45f29ba08","de27f7bb9be9d8a2b4557ec6503b8a315f74d598ce9a0ab81b5ed5610e1a8e81","fe3c378dcefa7ed8b21bd6822f5d7838b1119836da75ae1e1fb485d27b8ffb62","7365bf3333d4277b6fe374ed055624e5ec080dbb919e2d78f1cb75a3f1a4b4f6","a5fbf3bc5c16ab5c84465ba7a043a4bee4c2b20bd3633d50d80118a3844edbaf","0923e4ac8c894ad507bd2daee0df66b699de88467201381ece011ba5a080e1ff","e4f6626f827ea509255647e1b6db82145a2eb1a6b46202655e7d9bb19145c33b","26e23972c40f378f0301d8d7025ea895557c2865a1a31c8ea9c3fff0dbc27075","bfddbff94132b423ad1d71bdbefb1d388c21a74ac1a8742df9324e5bf6109058","bece6bfb1d236c41747834f9a7e579be18ce54cb034f54f4ae1ea618faeb5708","0e59cf55095972c87a7cb1363dd482e40322be78b9b4c7a710cba60a596eb935","c52acb7126fe8bf136a21908caa39a9a302950b87aa6971908f9e1c29c0fa19a","11e8eb54177783e97659925f09c7000a69311305161acc7d0f51cec9ec3fac20","f915c5b0118fbb957f69f42617c0d1671047db55121c4dfe61c14729050410a7","b707f3ea2029672e11d198485581a9309226eab53dbab21db74d8db3526d0663","bd5001702011525d057662a666fe601fac56067d69528d7b4ef4dab83ef6d73c","ad4fafe8ec02d836df20a48e81156cf5323d591026b8f677535b5832022268d8","bd0a3ebf3935ff6be6d1d79dba461a63c758085d232065219a09b72cf1ede3d6","7f5c4b14f6698408e9d05ae73aeb7ecef75c27734e04fb5337a742eafbfd50c7","faffbf4dbc1e3a09dc6e54629fe20390ec001476a67fa3d40edb3f2910c0e051","6a8b556617e07a1ca3052d1e70e9236b4e171a0b08d09054eaef8826ad5d18b6","b71ebbdd422b094f638fb958c10d7ef8260df87a2305a54db0296381406c50a6","8a01a5903999938c6af690d388789931c6c6862bd89033f6113fa894ced34dd4","46e30c27f13d79cf3aea3221e3201bd7ae961ff548a4ddbfd3ae2da54478a4ec","8a70850984a40caf2b1007674fdb7340041498e2ab90f36b2d68c0bf403e0b16","616ea4ff77f89fe59032df6f80ebdf5f40789419341de9b25d2946485c85ad05","de2d4b9daf5db51547d44fdc1163fa037ec6acfcb58ad4698a62d3453b6f44f9","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","ca6646a7786dd130c0615882d16e4d2df116c47da2eba44142426cb76bd16b46","72cfa60ebbb814cb1c38b35c903fbf8cf3c822b24c9df6d9260b65116fbbe799","07082818c2de24059137c6d53eafd75aa25ca8e5060227b199d998b1fa5fd4e2","b33e88c91d23e9d85ce5eb12c339daed090674db53050f00fe9446c6bbcea502","6acf8a984c2728906edeba2098c5c51f44a4520bc4a48c65b973bd785537178f","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3ca3179dd4772b596ed81df8bb9c541e1416d86343c582a105013b20925de051","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","524ee68b6177f628d5356976603b37a36859541b22629d7d6d2e7b20bdebb60d","23c77af9fdadb3569d425dbc7bbf06a118a4b02bd9db14b7abfafc3183d58bb6","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","429b6df7d7b94389bd42cfdf39bccea903acd3628498cec6172302801fbeac89","ebe77545478bf39a23059a3b0ea03d2c0e502d9c8e1122015e19213cd0815097","ad8c69f4a471cafdf093acdcdf3b444ae56b227b92024ae45f8c9c9c8be8afcc","71a6149f67a64b55baeddb83e5254e9e017c80c15a260d6f6b3a12deb3a575ed","6c881abb4a0e7579a9d5b63a7e4da3d98b094adf0f1d1fa75bbe433b9f3d7c27","66d6844502d7764a8e02b632228c4c5a95f7cac7bce1a0db07f0dcc377d3755b","2e1be3fee9ccef82555b2f039e8e100e0a176ee2d18b0de95e7da6a61e1e360a","5c48fc6096e361e639c1d0a9f7f066242bf757ace84843582d29c6813563055a","bebac54845e03ea36044fab99b5a51266cec2492fcd8a95bde6d5527a3174732","ef141fd0ac854fc92cbc9a13cd25a0ac87b3961f70d516f191bb3e29d3b183fe","a90c6f5554bd74f63aaf03751e6b79d01a457b59339b03d308c16af8f266cf47","7d5d42c18c62ef137b8830b7de8432b466c8f4d93fa8476ac36d2f69114fad1e","484faf958ae025f8d1ce6cb9c75e12c2148190efc22151299d14d10e3601cbba","66ddf54cc3d66cdab1b69e6879af9876bbc30030f85e51ba8a73223339e65b85","734166f6ae00b52512304c153644963fd93cd152620231ea7a0560802c968d28","15ce0cfa537ada25e07633617a993a8e02827939c2128d39c010739f28a0379c","a3868158152cc946c27c5e7b7803537c14cada9bb442c96c759c66b0d01f9eca","00ee901c4135af0d5688bee246d1e42ef7421cec93c32587e4814f744b95e2e8","af30b8feae6399905adeb5c938558e666dc81113ccf38032722583b95a65f9ab","60aaac5fb1858fbd4c4eb40e01706eb227eed9eca5c665564bd146971280dbd3",{"version":"b40add723ee9828e126ff18a0a2fb5124958ff911e1836bfe461916e434bd051","affectsGlobalScope":true},"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","d9c5f8d21771758700d7b6eeef796700b99c643a5818195cf0d01bed98407df1","4266ccd2cf1d6a281efd9c7ddf9efd7daecf76575364148bd233e18919cac3ed","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"jsx":2,"noEmitOnError":false,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strictNullChecks":true,"target":1,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[177,229],[229],[123,124,125,126,127,128,229],[49,99,123,229],[49,81,85,99,119,122,229],[49,229],[49,81,85,99,119,123,229],[49,56,57,229],[57,229],[56,229],[56,57,229],[56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,229],[49,56,229],[49,81,85,229],[101,229],[49,101,229],[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,120,121,229],[49,81,85,119,229],[49,81,85,99,229],[79,86,87,88,89,91,92,93,94,95,96,97,98,229],[49,79,81,85,86,229],[49,79,88,229],[49,88,90,229],[88,229],[49,88,229],[99,229],[79,229],[50,229],[50,53,229],[50,51,52,53,54,55,229],[50,51,229],[51,229],[177,178,179,180,181,229],[177,179,229],[183,229],[202,229,236],[216,229,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,448,449],[229,450],[229,428,429,450],[216,229,427,431,450],[216,229,432,433,450],[216,229,432,450],[216,229,427,432,450],[216,229,438,450],[216,229,450],[229,446,447,450],[229,427,447,450],[216,229,427],[229,431],[216,229],[229,427,450],[229,452],[229,453],[229,458,463],[185,201,229,236],[229,481],[229,469,471,472,473,474,475,476,477,478,479,480,481],[229,469,470,472,473,474,475,476,477,478,479,480,481],[229,470,471,472,473,474,475,476,477,478,479,480,481],[229,469,470,471,473,474,475,476,477,478,479,480,481],[229,469,470,471,472,474,475,476,477,478,479,480,481],[229,469,470,471,472,473,475,476,477,478,479,480,481],[229,469,470,471,472,473,474,476,477,478,479,480,481],[229,469,470,471,472,473,474,475,477,478,479,480,481],[229,469,470,471,472,473,474,475,476,478,479,480,481],[229,469,470,471,472,473,474,475,476,477,479,480,481],[229,469,470,471,472,473,474,475,476,477,478,480,481],[229,469,470,471,472,473,474,475,476,477,478,479,481],[229,469,470,471,472,473,474,475,476,477,478,479,480],[201,229,236],[204,228,229,236,486,487],[186,229],[189,229],[190,195,229],[191,201,202,209,218,228,229],[191,192,201,209,229],[193,229],[194,195,202,210,229],[195,218,225,229],[196,198,201,209,229],[197,229],[198,199,229],[200,201,229],[201,229],[201,202,203,218,228,229],[201,202,203,218,229],[229,233],[204,209,218,228,229],[201,202,204,205,209,218,225,228,229],[204,206,218,225,228,229],[186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235],[201,207,229],[208,228,229],[198,201,209,218,229],[210,229],[211,229],[189,212,229],[213,227,229,233],[214,229],[215,229],[201,216,229],[216,217,229,231],[201,218,219,220,229],[218,220,229],[218,219,229],[221,229],[222,229],[201,223,224,229],[223,224,229],[195,209,218,225,229],[226,229],[209,227,229],[190,204,215,228,229],[195,229],[218,229,230],[229,231],[229,232],[190,195,201,203,212,218,228,229,231,233],[218,229,234],[49,229,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507],[49,229,492,508],[49,229,508],[83,229],[49,80,81,82,83,84,229],[81,85,229],[45,46,47,48,229],[229,513,552],[229,513,537,552],[229,552],[229,513],[229,513,538,552],[229,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551],[229,538,552],[201,218,229,234,236,485],[218,229,236],[201,204,206,209,228,229,236],[229,557],[204,218,229,236],[229,456,459],[229,456,459,460,461],[229,458],[229,455,462],[229,457],[115,116,117,118,229],[115,229],[49,81,85,115,229],[49,115,229],[229,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,256,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,296,297,298,299,300,301,302,303,304,305,307,309,310,311,312,313,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,359,360,361,363,371,373,374,375,376,377,378,380,381,383,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426],[229,285],[229,241,244],[229,243],[229,243,244],[229,240,241,242,244],[229,241,243,244,400],[229,244],[229,240,243,285],[229,243,244,400],[229,243,408],[229,241,243,244],[229,253],[229,276],[229,297],[229,243,244,285],[229,244,292],[229,243,244,285,303],[229,243,244,303],[229,244,344],[229,244,285],[229,240,244,362],[229,240,244,363],[229,384],[229,369,370],[229,379],[229,369],[229,240,244,362,369],[229,362,363,370],[229,382],[229,240,244,369,370],[229,242,243,244],[229,240,244],[229,241,243,363,364,365,366],[229,285,363,364,365,366],[229,363,365],[229,243,364,365,367,368,371],[229,240,243],[229,244,386],[229,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,286,287,288,289,290,291,293,294,295,296,297,298,299,300,301,302,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360],[229,372],[43,44,49,81,85,129,173,229],[43,229],[43,174,229],[154,229],[49,151,153,229],[152,229],[137,138,139,140,141,229],[137,229],[131,137,229],[157,229],[158,159,160,161,162,163,229],[144,229],[158,229],[142,144,151,152,155,156,157,164,172,229],[165,229],[142,144,157,165,229],[131,151,157,165,229],[165,166,167,168,169,170,229],[49,165,229],[142,144,157,229],[151,165,229],[144,171,229],[131,132,133,134,135,136,143,229],[131,229],[131,134,142,229],[130,229],[145,146,147,148,149,150,229],[49,53,56,79,81,85,123,129,173],[174]],"referencedMap":[[179,1],[177,2],[129,3],[124,4],[123,5],[127,6],[128,2],[125,7],[126,4],[58,8],[59,9],[60,8],[61,6],[62,10],[63,11],[64,10],[65,11],[66,11],[79,12],[67,8],[68,8],[69,8],[70,13],[57,13],[71,2],[72,2],[73,9],[74,8],[75,9],[76,10],[77,11],[78,2],[100,14],[102,15],[103,15],[104,16],[105,16],[106,6],[107,14],[108,6],[109,6],[110,14],[111,2],[122,17],[112,14],[113,14],[114,14],[120,18],[121,19],[101,14],[99,20],[87,21],[89,22],[91,23],[90,6],[92,24],[93,24],[94,25],[95,26],[88,27],[96,2],[97,21],[86,2],[98,6],[52,28],[51,28],[54,29],[56,30],[55,31],[53,31],[50,32],[176,2],[182,33],[178,1],[180,34],[181,1],[184,35],[185,2],[237,36],[238,36],[239,2],[450,37],[428,38],[430,39],[429,38],[432,40],[434,41],[435,42],[436,43],[437,41],[438,42],[439,41],[440,44],[441,42],[442,41],[447,45],[448,46],[449,47],[443,48],[433,49],[444,50],[431,50],[445,51],[451,2],[452,2],[453,52],[454,53],[464,54],[465,2],[466,2],[467,55],[468,2],[482,56],[470,57],[471,58],[469,59],[472,60],[473,61],[474,62],[475,63],[476,64],[477,65],[478,66],[479,67],[480,68],[481,69],[483,2],[484,2],[485,70],[183,2],[487,2],[488,71],[186,72],[187,72],[189,73],[190,74],[191,75],[192,76],[193,77],[194,78],[195,79],[196,80],[197,81],[198,82],[199,82],[200,83],[201,84],[202,85],[203,86],[188,87],[235,2],[204,88],[205,89],[206,90],[236,91],[207,92],[208,93],[209,94],[210,95],[211,96],[212,97],[213,98],[214,99],[215,100],[216,101],[217,102],[218,103],[220,104],[219,105],[221,106],[222,107],[223,108],[224,109],[225,110],[226,111],[227,112],[228,113],[229,114],[230,115],[231,116],[232,117],[233,118],[234,119],[489,2],[490,2],[491,2],[47,2],[508,120],[493,121],[494,121],[496,121],[497,121],[495,6],[507,122],[498,121],[499,121],[500,121],[501,121],[502,121],[503,121],[504,121],[505,121],[506,121],[509,6],[82,2],[83,123],[80,2],[85,124],[84,2],[81,125],[510,6],[45,2],[49,126],[492,6],[511,2],[512,2],[48,2],[537,127],[538,128],[513,129],[516,129],[535,127],[536,127],[526,130],[525,130],[523,127],[518,127],[531,127],[529,127],[533,127],[517,127],[530,127],[534,127],[519,127],[520,127],[532,127],[514,127],[521,127],[522,127],[524,127],[528,127],[539,131],[527,127],[515,127],[552,132],[551,2],[546,131],[548,133],[547,131],[540,131],[541,131],[543,131],[545,131],[549,133],[550,133],[542,133],[544,133],[553,2],[554,134],[446,135],[555,2],[556,136],[557,2],[558,137],[46,2],[486,138],[456,2],[460,139],[462,140],[461,139],[459,141],[463,142],[455,2],[458,143],[457,2],[119,144],[118,145],[115,14],[116,146],[117,147],[427,148],[400,2],[378,149],[376,149],[426,150],[391,151],[390,151],[292,152],[243,153],[398,152],[399,152],[401,154],[402,152],[403,155],[303,156],[404,152],[375,152],[405,152],[406,157],[407,152],[408,151],[409,158],[410,152],[411,152],[412,152],[413,152],[414,151],[415,152],[416,152],[417,152],[418,152],[419,159],[420,152],[421,152],[422,152],[423,152],[424,152],[242,150],[245,155],[246,155],[247,152],[248,155],[249,155],[250,155],[251,155],[252,152],[254,160],[255,155],[253,155],[256,155],[257,155],[258,155],[259,155],[260,155],[261,155],[262,152],[263,155],[264,155],[265,155],[266,155],[267,155],[268,152],[269,155],[270,152],[271,155],[272,155],[273,155],[274,155],[275,152],[277,161],[276,155],[278,155],[279,155],[280,155],[281,155],[282,159],[283,152],[284,152],[298,162],[286,163],[287,155],[288,155],[289,152],[290,155],[291,155],[293,164],[294,155],[295,155],[296,155],[297,155],[299,155],[300,155],[301,155],[302,155],[304,165],[305,155],[306,155],[307,155],[308,152],[309,155],[310,166],[311,166],[312,166],[313,152],[314,155],[315,155],[316,155],[321,155],[317,155],[318,152],[319,155],[320,152],[322,152],[323,155],[324,155],[325,152],[326,152],[327,155],[328,152],[329,155],[330,155],[331,152],[332,155],[333,155],[334,155],[335,155],[336,155],[337,155],[338,155],[339,155],[340,155],[341,155],[342,155],[343,155],[344,155],[345,167],[346,155],[347,155],[348,155],[349,155],[350,155],[351,155],[352,152],[353,152],[354,152],[355,152],[356,152],[357,155],[358,155],[359,155],[360,155],[377,168],[425,152],[363,169],[362,170],[385,171],[384,172],[380,173],[379,172],[381,174],[370,175],[369,176],[383,177],[382,174],[371,178],[285,179],[241,180],[240,155],[374,2],[367,181],[368,182],[365,2],[366,183],[364,155],[372,184],[244,185],[392,2],[393,2],[386,2],[389,151],[388,2],[394,2],[395,2],[387,186],[396,2],[397,2],[361,187],[373,188],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[174,189],[44,190],[175,191],[130,2],[155,192],[154,193],[153,194],[142,195],[141,196],[137,2],[139,196],[138,197],[140,196],[157,2],[158,198],[164,199],[161,200],[163,200],[162,194],[160,201],[159,201],[173,202],[156,6],[152,2],[166,203],[167,204],[170,205],[171,206],[168,207],[165,208],[169,209],[172,210],[144,211],[135,212],[133,212],[132,212],[134,212],[143,213],[131,214],[136,212],[146,6],[151,215],[149,2],[150,2],[145,2],[148,2],[147,2]],"exportedModulesMap":[[179,1],[177,2],[129,3],[124,4],[123,5],[127,6],[128,2],[125,7],[126,4],[58,8],[59,9],[60,8],[61,6],[62,10],[63,11],[64,10],[65,11],[66,11],[79,12],[67,8],[68,8],[69,8],[70,13],[57,13],[71,2],[72,2],[73,9],[74,8],[75,9],[76,10],[77,11],[78,2],[100,14],[102,15],[103,15],[104,16],[105,16],[106,6],[107,14],[108,6],[109,6],[110,14],[111,2],[122,17],[112,14],[113,14],[114,14],[120,18],[121,19],[101,14],[99,20],[87,21],[89,22],[91,23],[90,6],[92,24],[93,24],[94,25],[95,26],[88,27],[96,2],[97,21],[86,2],[98,6],[52,28],[51,28],[54,29],[56,30],[55,31],[53,31],[50,32],[176,2],[182,33],[178,1],[180,34],[181,1],[184,35],[185,2],[237,36],[238,36],[239,2],[450,37],[428,38],[430,39],[429,38],[432,40],[434,41],[435,42],[436,43],[437,41],[438,42],[439,41],[440,44],[441,42],[442,41],[447,45],[448,46],[449,47],[443,48],[433,49],[444,50],[431,50],[445,51],[451,2],[452,2],[453,52],[454,53],[464,54],[465,2],[466,2],[467,55],[468,2],[482,56],[470,57],[471,58],[469,59],[472,60],[473,61],[474,62],[475,63],[476,64],[477,65],[478,66],[479,67],[480,68],[481,69],[483,2],[484,2],[485,70],[183,2],[487,2],[488,71],[186,72],[187,72],[189,73],[190,74],[191,75],[192,76],[193,77],[194,78],[195,79],[196,80],[197,81],[198,82],[199,82],[200,83],[201,84],[202,85],[203,86],[188,87],[235,2],[204,88],[205,89],[206,90],[236,91],[207,92],[208,93],[209,94],[210,95],[211,96],[212,97],[213,98],[214,99],[215,100],[216,101],[217,102],[218,103],[220,104],[219,105],[221,106],[222,107],[223,108],[224,109],[225,110],[226,111],[227,112],[228,113],[229,114],[230,115],[231,116],[232,117],[233,118],[234,119],[489,2],[490,2],[491,2],[47,2],[508,120],[493,121],[494,121],[496,121],[497,121],[495,6],[507,122],[498,121],[499,121],[500,121],[501,121],[502,121],[503,121],[504,121],[505,121],[506,121],[509,6],[82,2],[83,123],[80,2],[85,124],[84,2],[81,125],[510,6],[45,2],[49,126],[492,6],[511,2],[512,2],[48,2],[537,127],[538,128],[513,129],[516,129],[535,127],[536,127],[526,130],[525,130],[523,127],[518,127],[531,127],[529,127],[533,127],[517,127],[530,127],[534,127],[519,127],[520,127],[532,127],[514,127],[521,127],[522,127],[524,127],[528,127],[539,131],[527,127],[515,127],[552,132],[551,2],[546,131],[548,133],[547,131],[540,131],[541,131],[543,131],[545,131],[549,133],[550,133],[542,133],[544,133],[553,2],[554,134],[446,135],[555,2],[556,136],[557,2],[558,137],[46,2],[486,138],[456,2],[460,139],[462,140],[461,139],[459,141],[463,142],[455,2],[458,143],[457,2],[119,144],[118,145],[115,14],[116,146],[117,147],[427,148],[400,2],[378,149],[376,149],[426,150],[391,151],[390,151],[292,152],[243,153],[398,152],[399,152],[401,154],[402,152],[403,155],[303,156],[404,152],[375,152],[405,152],[406,157],[407,152],[408,151],[409,158],[410,152],[411,152],[412,152],[413,152],[414,151],[415,152],[416,152],[417,152],[418,152],[419,159],[420,152],[421,152],[422,152],[423,152],[424,152],[242,150],[245,155],[246,155],[247,152],[248,155],[249,155],[250,155],[251,155],[252,152],[254,160],[255,155],[253,155],[256,155],[257,155],[258,155],[259,155],[260,155],[261,155],[262,152],[263,155],[264,155],[265,155],[266,155],[267,155],[268,152],[269,155],[270,152],[271,155],[272,155],[273,155],[274,155],[275,152],[277,161],[276,155],[278,155],[279,155],[280,155],[281,155],[282,159],[283,152],[284,152],[298,162],[286,163],[287,155],[288,155],[289,152],[290,155],[291,155],[293,164],[294,155],[295,155],[296,155],[297,155],[299,155],[300,155],[301,155],[302,155],[304,165],[305,155],[306,155],[307,155],[308,152],[309,155],[310,166],[311,166],[312,166],[313,152],[314,155],[315,155],[316,155],[321,155],[317,155],[318,152],[319,155],[320,152],[322,152],[323,155],[324,155],[325,152],[326,152],[327,155],[328,152],[329,155],[330,155],[331,152],[332,155],[333,155],[334,155],[335,155],[336,155],[337,155],[338,155],[339,155],[340,155],[341,155],[342,155],[343,155],[344,155],[345,167],[346,155],[347,155],[348,155],[349,155],[350,155],[351,155],[352,152],[353,152],[354,152],[355,152],[356,152],[357,155],[358,155],[359,155],[360,155],[377,168],[425,152],[363,169],[362,170],[385,171],[384,172],[380,173],[379,172],[381,174],[370,175],[369,176],[383,177],[382,174],[371,178],[285,179],[241,180],[240,155],[374,2],[367,181],[368,182],[365,2],[366,183],[364,155],[372,184],[244,185],[392,2],[393,2],[386,2],[389,151],[388,2],[394,2],[395,2],[387,186],[396,2],[397,2],[361,187],[373,188],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[174,216],[175,217],[130,2],[155,192],[154,193],[153,194],[142,195],[141,196],[137,2],[139,196],[138,197],[140,196],[157,2],[158,198],[164,199],[161,200],[163,200],[162,194],[160,201],[159,201],[173,202],[156,6],[152,2],[166,203],[167,204],[170,205],[171,206],[168,207],[165,208],[169,209],[172,210],[144,211],[135,212],[133,212],[132,212],[134,212],[143,213],[131,214],[136,212],[146,6],[151,215],[149,2],[150,2],[145,2],[148,2],[147,2]],"semanticDiagnosticsPerFile":[179,177,129,124,123,127,128,125,126,58,59,60,61,62,63,64,65,66,79,67,68,69,70,57,71,72,73,74,75,76,77,78,100,102,103,104,105,106,107,108,109,110,111,122,112,113,114,120,121,101,99,87,89,91,90,92,93,94,95,88,96,97,86,98,52,51,54,56,55,53,50,176,182,178,180,181,184,185,237,238,239,450,428,430,429,432,434,435,436,437,438,439,440,441,442,447,448,449,443,433,444,431,445,451,452,453,454,464,465,466,467,468,482,470,471,469,472,473,474,475,476,477,478,479,480,481,483,484,485,183,487,488,186,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,188,235,204,205,206,236,207,208,209,210,211,212,213,214,215,216,217,218,220,219,221,222,223,224,225,226,227,228,229,230,231,232,233,234,489,490,491,47,508,493,494,496,497,495,507,498,499,500,501,502,503,504,505,506,509,82,83,80,85,84,81,510,45,49,492,511,512,48,537,538,513,516,535,536,526,525,523,518,531,529,533,517,530,534,519,520,532,514,521,522,524,528,539,527,515,552,551,546,548,547,540,541,543,545,549,550,542,544,553,554,446,555,556,557,558,46,486,456,460,462,461,459,463,455,458,457,119,118,115,116,117,427,400,378,376,426,391,390,292,243,398,399,401,402,403,303,404,375,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,242,245,246,247,248,249,250,251,252,254,255,253,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,277,276,278,279,280,281,282,283,284,298,286,287,288,289,290,291,293,294,295,296,297,299,300,301,302,304,305,306,307,308,309,310,311,312,313,314,315,316,321,317,318,319,320,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,377,425,363,362,385,384,380,379,381,370,369,383,382,371,285,241,240,374,367,368,365,366,364,372,244,392,393,386,389,388,394,395,387,396,397,361,373,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,174,44,175,130,155,154,153,142,141,137,139,138,140,157,158,164,161,163,162,160,159,173,156,152,166,167,170,171,168,165,169,172,144,135,133,132,134,143,131,136,146,151,149,150,145,148,147]},"version":"4.7.2"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-bottom-tabs/package.json b/packages/react-native-performance-navigation-bottom-tabs/package.json index 11b890d..eccaf66 100644 --- a/packages/react-native-performance-navigation-bottom-tabs/package.json +++ b/packages/react-native-performance-navigation-bottom-tabs/package.json @@ -20,12 +20,13 @@ "test": "tsc -b && yarn jest" }, "bugs": { - "url": "https://github.com/shopify/react-native-performance/issues" + "url": "https://github.com/moonpay/react-native-performance/issues" }, - "homepage": "https://github.com/shopify/react-native-performance#readme", + "homepage": "https://github.com/moonpay/react-native-performance#readme", "repository": { "type": "git", - "url": "git+https://github.com/shopify/react-native-performance.git" + "url": "git+https://github.com/moonpay/react-native-performance.git", + "directory": "packages/react-native-performance-navigation-bottom-tabs" }, "peerDependencies": { "@babel/runtime": "*", diff --git a/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.d.ts b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.d.ts new file mode 100644 index 0000000..9dd6126 --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.d.ts @@ -0,0 +1,43 @@ +import React from 'react'; +export declare const DEFAULT_SOURCE_NAME = "Drawer"; +declare const createProfiledDrawerNavigator: ({ source, }?: { + source?: string | undefined; +}) => import("@react-navigation/core").TypedNavigator, import("@react-navigation/drawer").DrawerNavigationOptions, import("@react-navigation/drawer").DrawerNavigationEventMap, ({ id, initialRouteName, defaultStatus: customDefaultStatus, backBehavior, children, screenListeners, screenOptions, ...restWithDeprecated }: import("@react-navigation/routers").DefaultRouterOptions & { + id?: string | undefined; + children: React.ReactNode; + screenListeners?: Partial<{ + drawerItemPress: import("@react-navigation/core").EventListenerCallback; + focus: import("@react-navigation/core").EventListenerCallback; + blur: import("@react-navigation/core").EventListenerCallback; + state: import("@react-navigation/core").EventListenerCallback; + beforeRemove: import("@react-navigation/core").EventListenerCallback; + }> | ((props: { + route: import("@react-navigation/core").RouteProp; + navigation: any; + }) => Partial<{ + drawerItemPress: import("@react-navigation/core").EventListenerCallback; + focus: import("@react-navigation/core").EventListenerCallback; + blur: import("@react-navigation/core").EventListenerCallback; + state: import("@react-navigation/core").EventListenerCallback; + beforeRemove: import("@react-navigation/core").EventListenerCallback; + }>) | undefined; + screenOptions?: import("@react-navigation/drawer").DrawerNavigationOptions | ((props: { + route: import("@react-navigation/core").RouteProp; + navigation: any; + }) => import("@react-navigation/drawer").DrawerNavigationOptions) | undefined; + defaultScreenOptions?: import("@react-navigation/drawer").DrawerNavigationOptions | ((props: { + route: import("@react-navigation/core").RouteProp; + navigation: any; + options: import("@react-navigation/drawer").DrawerNavigationOptions; + }) => import("@react-navigation/drawer").DrawerNavigationOptions) | undefined; +} & { + backBehavior?: import("@react-navigation/routers/lib/typescript/src/TabRouter").BackBehavior | undefined; +} & { + defaultStatus?: import("@react-navigation/routers").DrawerStatus | undefined; +} & import("@react-navigation/drawer/lib/typescript/src/types").DrawerNavigationConfig) => JSX.Element>; +export default createProfiledDrawerNavigator; +//# sourceMappingURL=createProfiledDrawerNavigator.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.d.ts.map b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.d.ts.map new file mode 100644 index 0000000..7a4a558 --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createProfiledDrawerNavigator.d.ts","sourceRoot":"","sources":["../src/createProfiledDrawerNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgB,MAAM,OAAO,CAAC;AAKrC,eAAO,MAAM,mBAAmB,WAAW,CAAC;AA+D5C,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGAyBlC,CAAC;AAEF,eAAe,6BAA6B,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.js b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.js new file mode 100644 index 0000000..4ac86e9 --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.js @@ -0,0 +1,64 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DEFAULT_SOURCE_NAME = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var drawer_1 = require("@react-navigation/drawer"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +exports.DEFAULT_SOURCE_NAME = 'Drawer'; +var createProfiledNavigation = function (_a) { + var navigation = _a.navigation, startProfiler = _a.startProfiler, source = _a.source; + var wrappedNav = Object.create(navigation); + var profiledDispatch = function (action) { + // Note that the drawer navigator internally uses custom animated touchables + // that do not expose the native press timestamps. So we cannot + // compute the `timeToConsumeTouchEvent`. + if ('type' in action && action.type === 'NAVIGATE') { + startProfiler({ + source: source, + }); + } + return navigation.dispatch(action); + }; + wrappedNav.dispatch = profiledDispatch; + return wrappedNav; +}; +function createProfiledDrawerContent(_a) { + var InnerDrawerContent = _a.InnerDrawerContent, source = _a.source, startProfiler = _a.startProfiler, errorHandler = _a.errorHandler; + var ProfiledDrawerContent = function (_a) { + var navigation = _a.navigation, rest = tslib_1.__rest(_a, ["navigation"]); + var profiledNavigation = createProfiledNavigation({ + navigation: navigation, + source: source, + errorHandler: errorHandler, + startProfiler: startProfiler, + }); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return react_1.default.createElement(InnerDrawerContent, tslib_1.__assign({}, rest, { navigation: profiledNavigation })); + }; + return ProfiledDrawerContent; +} +var createProfiledDrawerNavigator = function (_a) { + var _b = _a === void 0 ? {} : _a, _c = _b.source, source = _c === void 0 ? exports.DEFAULT_SOURCE_NAME : _c; + var BaseDrawer = (0, drawer_1.createDrawerNavigator)(); + var ProfiledDrawer = Object.create(BaseDrawer); + var ProfiledNavigator = function (_a) { + var _b = _a.drawerContent, drawerContent = _b === void 0 ? drawer_1.DrawerContent : _b, rest = tslib_1.__rest(_a, ["drawerContent"]); + var errorHandler = (0, react_native_performance_1.useErrorHandler)(); + var startProfiler = (0, react_native_performance_1.useStartProfiler)(); + var profiledDrawerContent = (0, react_1.useMemo)(function () { + return createProfiledDrawerContent({ + InnerDrawerContent: drawerContent, + source: source, + errorHandler: errorHandler, + startProfiler: startProfiler, + }); + }, [drawerContent, errorHandler, startProfiler]); + return react_1.default.createElement(BaseDrawer.Navigator, tslib_1.__assign({}, rest, { drawerContent: profiledDrawerContent })); + }; + ProfiledDrawer.Navigator = ProfiledNavigator; + return ProfiledDrawer; +}; +exports.default = createProfiledDrawerNavigator; +//# sourceMappingURL=createProfiledDrawerNavigator.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.js.map b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.js.map new file mode 100644 index 0000000..dd5e6ca --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/createProfiledDrawerNavigator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createProfiledDrawerNavigator.js","sourceRoot":"","sources":["../src/createProfiledDrawerNavigator.tsx"],"names":[],"mappings":";;;;AAAA,qDAAqC;AACrC,mDAA2G;AAC3G,8EAAoF;AAGvE,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAM5C,IAAM,wBAAwB,GAAG,UAAC,EASjC;QARC,UAAU,gBAAA,EACV,aAAa,mBAAA,EACb,MAAM,YAAA;IAON,IAAM,UAAU,GAAsB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEhE,IAAM,gBAAgB,GAA+B,UAAA,MAAM;QACzD,4EAA4E;QAC5E,+DAA+D;QAC/D,yCAAyC;QACzC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;YAClD,aAAa,CAAC;gBACZ,MAAM,QAAA;aACP,CAAC,CAAC;SACJ;QAED,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,UAAU,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IAEvC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,SAAS,2BAA2B,CAAC,EAUpC;QATC,kBAAkB,wBAAA,EAClB,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,YAAY,kBAAA;IAOZ,IAAM,qBAAqB,GAAsB,UAAC,EAAqB;QAApB,IAAA,UAAU,gBAAA,EAAK,IAAI,sBAApB,cAAqB,CAAD;QACpE,IAAM,kBAAkB,GAAG,wBAAwB,CAAC;YAClD,UAAU,YAAA;YACV,MAAM,QAAA;YACN,YAAY,cAAA;YACZ,aAAa,eAAA;SACd,CAAC,CAAC;QAEH,6DAA6D;QAC7D,aAAa;QACb,OAAO,8BAAC,kBAAkB,uBAAK,IAAI,IAAE,UAAU,EAAE,kBAAkB,IAAI,CAAC;IAC1E,CAAC,CAAC;IAEF,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,IAAM,6BAA6B,GAAG,UAA2E,EAExF;QAFwF,qBAE1F,EAAE,KAAA,EADvB,cAA4B,EAA5B,MAAM,mBAAG,2BAAmB,KAAA;IAE5B,IAAM,UAAU,GAAG,IAAA,8BAAqB,GAAc,CAAC;IAEvD,IAAM,cAAc,GAAsB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEpE,IAAM,iBAAiB,GAAgC,UAAC,EAAwC;QAAvC,IAAA,qBAA6B,EAA7B,aAAa,mBAAG,sBAAa,KAAA,EAAK,IAAI,sBAAvC,iBAAwC,CAAD;QAC7F,IAAM,YAAY,GAAG,IAAA,0CAAe,GAAE,CAAC;QACvC,IAAM,aAAa,GAAG,IAAA,2CAAgB,GAAE,CAAC;QACzC,IAAM,qBAAqB,GAAG,IAAA,eAAO,EAAC;YACpC,OAAO,2BAA2B,CAAC;gBACjC,kBAAkB,EAAE,aAAa;gBACjC,MAAM,QAAA;gBACN,YAAY,cAAA;gBACZ,aAAa,eAAA;aACd,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;QAEjD,OAAO,8BAAC,UAAU,CAAC,SAAS,uBAAK,IAAI,IAAE,aAAa,EAAE,qBAAqB,IAAI,CAAC;IAClF,CAAC,CAAC;IAEF,cAAc,CAAC,SAAS,GAAG,iBAAiB,CAAC;IAE7C,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,kBAAe,6BAA6B,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/index.d.ts b/packages/react-native-performance-navigation-drawer/dist/index.d.ts new file mode 100644 index 0000000..27b59ef --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/index.d.ts @@ -0,0 +1,2 @@ +export { default as createProfiledDrawerNavigator } from './createProfiledDrawerNavigator'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/index.d.ts.map b/packages/react-native-performance-navigation-drawer/dist/index.d.ts.map new file mode 100644 index 0000000..f9a8df0 --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,iCAAiC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/index.js b/packages/react-native-performance-navigation-drawer/dist/index.js new file mode 100644 index 0000000..0be026f --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/index.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createProfiledDrawerNavigator = void 0; +var createProfiledDrawerNavigator_1 = require("./createProfiledDrawerNavigator"); +Object.defineProperty(exports, "createProfiledDrawerNavigator", { enumerable: true, get: function () { return __importDefault(createProfiledDrawerNavigator_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/index.js.map b/packages/react-native-performance-navigation-drawer/dist/index.js.map new file mode 100644 index 0000000..9adbc0b --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,iFAAyF;AAAjF,+JAAA,OAAO,OAAiC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation-drawer/dist/tsconfig.tsbuildinfo b/packages/react-native-performance-navigation-drawer/dist/tsconfig.tsbuildinfo new file mode 100644 index 0000000..2a72b86 --- /dev/null +++ b/packages/react-native-performance-navigation-drawer/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/commonactions.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/baserouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/tabrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/drawerrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/stackrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/basenavigationcontainer.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/createnavigationcontainerref.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/createnavigatorfactory.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/currentrendercontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/findfocusedroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getactionfromstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getfocusedroutenamefromroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getpathfromstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getstatefrompath.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontainerrefcontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationhelperscontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationroutecontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usefocuseffect.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/useisfocused.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigation.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationbuilder.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationcontainerref.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/useroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/validatepathconfig.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/index.d.ts","../../../node_modules/@types/react-native/globals.d.ts","../../../node_modules/@types/react-native/legacy-properties.d.ts","../../../node_modules/@types/react-native/batchedbridge.d.ts","../../../node_modules/@types/react-native/devtools.d.ts","../../../node_modules/@types/react-native/launchscreen.d.ts","../../../node_modules/@types/react-native/index.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkto.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/link.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/navigationcontainer.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/servercontext.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/servercontainer.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/darktheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/defaulttheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/themeprovider.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/usetheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkbuilder.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkprops.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/usescrolltotop.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/background.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/getdefaultheaderheight.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/getheadertitle.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/header.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackbutton.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackcontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackground.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerheightcontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headershowncontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headertitle.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/useheaderheight.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/missingicon.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/platformpressable.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/resourcesavingview.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safearea.types.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safeareacontext.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safeareaview.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/initialwindow.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/index.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/safeareaprovidercompat.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/screen.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/index.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/directions.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/state.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/gesturehandlerroothoc.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/gesturehandlerrootview.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/toucheventtype.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/typeutils.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gesturehandlercommon.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/flinggesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/forcetouchgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturestatemanager.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/longpressgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/pangesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/pinchgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/rotationgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/tapgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/nativeviewgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/forcetouchgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/pangesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/pinchgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/createnativewrapper.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/reanimatedwrapper.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturecomposition.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturedetector.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/flinggesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/longpressgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/rotationgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/tapgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/nativegesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/manualgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gestureobjects.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturehandlerbutton.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturebuttons.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablenativefeedback.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablenativefeedback.android.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/generictouchable.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablewithoutfeedback.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchableopacity.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablehighlight.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/index.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturecomponents.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gesturehandlertypescompat.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/swipeable.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/drawerlayout.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/index.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/navigators/createdrawernavigator.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawercontent.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawercontentscrollview.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/views/draweritem.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/views/draweritemlist.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawertogglebutton.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/views/drawerview.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/drawergesturecontext.d.ts","../../../node_modules/react-native-reanimated/lib/reanimated2/globals.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/hook/commontypes.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/commontypes.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/commontypes.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/util.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/easing.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/timing.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/spring.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/decay.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/delay.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/repeat.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/sequence.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/styleanimation.d.ts","../../../node_modules/react-native-reanimated/lib/types/lib/reanimated2/animation/index.d.ts","../../../node_modules/react-native-reanimated/react-native-reanimated.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/drawerprogresscontext.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/getdrawerstatusfromstate.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/usedrawerprogress.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/utils/usedrawerstatus.d.ts","../../../node_modules/@react-navigation/drawer/lib/typescript/src/index.d.ts","../../react-native-performance/dist/bridgedeventtimestamp.d.ts","../../react-native-performance/dist/state-machine/states/state.d.ts","../../react-native-performance/dist/state-machine/states/rendered.d.ts","../../react-native-performance/dist/state-machine/states/renderaborted.d.ts","../../react-native-performance/dist/state-machine/states/started.d.ts","../../react-native-performance/dist/state-machine/states/mounted.d.ts","../../react-native-performance/dist/state-machine/states/unmounted.d.ts","../../react-native-performance/dist/exceptions/performanceprofilererror.d.ts","../../react-native-performance/dist/exceptions/rendertimeouterror.d.ts","../../react-native-performance/dist/exceptions/performanceprofileruninitializederror.d.ts","../../react-native-performance/dist/exceptions/screenprofilernotstartederror.d.ts","../../react-native-performance/dist/exceptions/nativemodulenotfounderror.d.ts","../../react-native-performance/dist/exceptions/index.d.ts","../../react-native-performance/dist/state-machine/states/state-utils.d.ts","../../react-native-performance/dist/state-machine/states/index.d.ts","../../react-native-performance/dist/utils/matches-pattern.d.ts","../../react-native-performance/dist/utils/error-handler.d.ts","../../react-native-performance/dist/utils/promisecontroller.d.ts","../../react-native-performance/dist/utils/native-performance-module.d.ts","../../react-native-performance/dist/utils/inmemorycounter.d.ts","../../react-native-performance/dist/utils/logger.d.ts","../../react-native-performance/dist/utils/index.d.ts","../../react-native-performance/dist/renderpassreport.d.ts","../../react-native-performance/dist/context/reportobserver.d.ts","../../react-native-performance/dist/context/performanceprofiler.d.ts","../../react-native-performance/dist/context/index.d.ts","../../react-native-performance/dist/performancemeasureview.d.ts","../../react-native-performance/dist/gestureresponderevent.d.ts","../../react-native-performance/dist/hooks/flowcommonargs.d.ts","../../react-native-performance/dist/hooks/usestartprofiler.d.ts","../../react-native-performance/dist/hooks/useresetflow.d.ts","../../react-native-performance/dist/hooks/useprofilerstate.d.ts","../../react-native-performance/dist/hooks/userenderpassreport.d.ts","../../react-native-performance/dist/hooks/useprofilerstatechangelistener.d.ts","../../react-native-performance/dist/hooks/index.d.ts","../../react-native-performance/dist/state-machine/controller/statecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/disabledstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/enabledstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/state-controller-context.d.ts","../../react-native-performance/dist/state-machine/controller/usestatecontrollerinitializer.d.ts","../../react-native-performance/dist/state-machine/controller/errorhandlerstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/index.d.ts","../../react-native-performance/dist/state-machine/index.d.ts","../../react-native-performance/dist/index.d.ts","../src/createprofileddrawernavigator.tsx","../src/index.ts","../../../node_modules/@types/aria-query/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/fined/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/hammerjs/index.d.ts","../../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../node_modules/rxjs/dist/types/index.d.ts","../../../node_modules/@types/inquirer/lib/objects/choice.d.ts","../../../node_modules/@types/inquirer/lib/objects/separator.d.ts","../../../node_modules/@types/inquirer/lib/objects/choices.d.ts","../../../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../../node_modules/@types/inquirer/lib/prompts/base.d.ts","../../../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../../node_modules/@types/inquirer/lib/prompts/input.d.ts","../../../node_modules/@types/inquirer/lib/prompts/list.d.ts","../../../node_modules/@types/inquirer/lib/prompts/number.d.ts","../../../node_modules/@types/inquirer/lib/prompts/password.d.ts","../../../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../../node_modules/@types/inquirer/lib/utils/events.d.ts","../../../node_modules/@types/inquirer/lib/utils/readline.d.ts","../../../node_modules/@types/inquirer/lib/utils/utils.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../../node_modules/@types/inquirer/index.d.ts","../../../node_modules/@types/invariant/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/liftoff/index.d.ts","../../../node_modules/@types/lockfile/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.isequal/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/minipass/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/reactcss/index.d.ts","../../../node_modules/@types/react-color/lib/components/alpha/alpha.d.ts","../../../node_modules/@types/react-color/lib/components/block/block.d.ts","../../../node_modules/@types/react-color/lib/components/common/checkboard.d.ts","../../../node_modules/@types/react-color/lib/components/chrome/chrome.d.ts","../../../node_modules/@types/react-color/lib/components/circle/circle.d.ts","../../../node_modules/@types/react-color/lib/components/compact/compact.d.ts","../../../node_modules/@types/react-color/lib/components/github/github.d.ts","../../../node_modules/@types/react-color/lib/components/hue/hue.d.ts","../../../node_modules/@types/react-color/lib/components/material/material.d.ts","../../../node_modules/@types/react-color/lib/components/photoshop/photoshop.d.ts","../../../node_modules/@types/react-color/lib/components/sketch/sketch.d.ts","../../../node_modules/@types/react-color/lib/components/slider/slider.d.ts","../../../node_modules/@types/react-color/lib/components/swatches/swatches.d.ts","../../../node_modules/@types/react-color/lib/components/twitter/twitter.d.ts","../../../node_modules/@types/react-color/lib/components/common/colorwrap.d.ts","../../../node_modules/@types/react-color/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/resize-observer-browser/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/url-join/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"0bcebfaf66be25c793d0281a8dce761bc078d203f02c573e6ee3b844a5ad7fbc","affectsGlobalScope":true},"853e8de4f530cfb0aa87082e3e1a2ea8e66805dce0668a5761bdd92145939b99","7c9e664e9c75c46b3f1cf006d34d2f49392ac265bf4417e0b465422693d4950c","12ecd7d96b7209ad27d566cfb4b04d73489287375a67d6a11fb2fecc03cc4789","32693e15180b6e6dcae50cd9719623a1aaf866d77bb5f3933a35e9b7fec3d1fd","1891eea6eb86a8b0850ef7570ae5aeafe905351150234b1a66fb24e5a1673b92","bd4db3a73abc07b4dda1e6bf976dc48e8e4e0fafdfc217b0339d3132f27e3517","6a87e68ee8b64da2c7747aec468d0f01ef2f0f9364159192dce1cda1bfab526e",{"version":"9af55bd8dfc2cd9187af5bbb17d25aa87cd93cb92158ea82334600e1d00076df","affectsGlobalScope":true},"977ef7423f6df4dcf70144712833da7922293e37813293db43a728f482d25abd","0debb34aee907e610f311f90b8ea7a672e95f30826abeaadc2b31af4076c9344","b0474fec7c45a73eca31ad530914fc587ebddeed29f69f96653d9afc4144da45","717c85e439a2e28054138caa84613aa81252448a4a9f4f4c8e66cf430f399cf9","19bace661c2611c1ae473e95fba01e7f2ba898e14833585e97004dd13ffdaeda","ee4bd23ee28835ad3ca59a947632cb95260f3024b79a553b4844f230ad3219fb","3003d045b098f9f972dd88da5f02849aa77f08d7da5908a615e7d7c54b22414a","3aa528047246293a8834a527380b33e5d24ad71e9fd4bbcc2cef279ae89661f5","c6ff3e1388330aa2a43cf6373198298b1551ea4a8bb317e62ecfd559a8e5327c","a109bab41468dc2b6cf8e54cf4c3a4816cf254ead4ab82af17f2f8d63bea14fa","a7eec4015f9f31540f7a0c5e5bb27024d656ae818052edcf72f8eb450277574e","45016de701bf4c613b68e2722e07f3d44dc5d3785bc042736caad77e6eb8617f","d7ee2ba7aff83a473c8326c68b20f1e0c3ff19c41ae5fdc6b77914de30cf154e","948355e572a01fac5781b65489e7c0ac98656f760ed3ad57721a55a344d1315e","9ebbaba0e0405c1de896520d4fb403abf8d8ee72d26f002d4ae880b04e3fe504","85e99a85fd074f07f336054fedba0c10762b100f10c28ecaf7d978b73ef9acdb","3f1636597988f8f596a657e7331ae56a0dca70fbe5db585370a6a7adceab7b24","ce4505fec4d5ccce704bd761032150ac777220e86ca4a7076680f9d5cb4c4c9b","c9e05ecfec6e590fadd1cb10ae1d21641ca3a8ec5665af7f671772198e7b21c7","13a57c395e9c3f521f5dbb3f5402bd292a021256add5b82423dd72eaca430682","c4fe4b713057e24f416d3d1f31b3dd3e7e4076ac45df9a0ad84b39e4f752cf76","343f8c8644cd42c657fc895df563a7769253657fcfe1a2a307dfd592652b2cdd",{"version":"4452f559618410bd9950973795fa657dbf3411cdc55c4c3460c5bab189903863","affectsGlobalScope":true},"9e9df0ee50fc117b15fd7815162a41c46e95996b513e4107b433d3e37dbe2ce8",{"version":"efd32b1ab5e3897f64ed3d0f236657c3c9c7bcc669449e608ebee1ad9dbe396a","affectsGlobalScope":true},"7fb3279c4bf36d993b1e8b339cded5908f7b2ec1b6e0ac2feaa842b5b6b143f1","234b97ac9af46707f2315ff395a9b340d37b7dbc8290d91f5d6bd97189d220f3",{"version":"6cb5e3d3f0babcdca611a20b4bd29f0e604a0ae6bb618da4452d299876cb493d","affectsGlobalScope":true},"f3d6d4879bea27563245f9b0421554822a4f336b4e7b838daa6f6c4515e41ee0","fbad7ab4fc3bfb02492f83780b7d03427d54a797be4465ee17b46a5dc1edd9a4","c71069baf888f362df77457285435eaae6b0b3e25a884c78977fcec52755bbea",{"version":"f3d06e4c44ae3e14ef517f5a3a6d9aab826afdc444936605d39d0d6c6bdcad0f","affectsGlobalScope":true},"6e2cbb13f526e6f7c70ea3a4bdc9634301f018fa3965f2dde7f1d37a8e5c7e9c","2fd3c27eab8f2e941560b8f1d9b2480d558a3bfecb9f7450478a758c9ce96cb0","528e7087c8e41701cd1af78e52bdc107553eeb44245885c5cd92b2dd3209a6b4","48f3e2543105da93484b51b1979764f345befa92e4d2031109cf2297739c3c95","b08950d68c97431fb98c2f6faa5da8b012d49145559c8218416be5ec3214c521","2f2275fb011f92825710c151ae9cd29d9aa1dedbcd99fcdd412dbbe644757e4d","fded4150da5c204dd68ce7603bc36950d6a24f7768d7848df3ff232889213616","226082a839dcbf67c6a3a18fb5a3cb18da8717e9d206bdedeb40d9ee42bcfe55","c80485ad77f4334be594e36c75613d3e31143d5d09571f325de21a6a21de8438","7eb52bdd7cc31bd8af7b9100e2c6e9a222dc2d2bcc37d3c292fe26f32e54bba3","f50ef5f47d7aece6712d7f7a9bb5a67a5af5e0b96dfe1b69e11fca1431b27bda","8270071907f956a9fcba08bd3044de174f502c43b9c9d8c54ef600192e3d5555","1a4e3125dea970c58422dfb1fed65a7d3e78809fc3f1a571fd179ea94dc9fef7","08490a869d0d773a9288d5fee53c8ce7eb6e46c3d1693a030376b9aa3eca6021","073f34ebf2acc760156ab0b24426e0bb12b1db45e1e73ba15182759101d6c348","91b77e9e5380f7e054a24fdd3968e27b596b3939d237bcad9f75b4c39774fe7c","308ec62578820dbee8f81f0b38019a426bf0d8dd76dc57a5a105ebfee66ea6fe","7fa70306bf3c594f11d33437a962ee050da57a5efdc899832c60faaa1f45241d","d200a64d39e13df62f59cf5238fc3abf0aaaae56e64c525e394d4b5f83083626","3f57a7f28d91f553645e3868edaeb5847ad2239e3dd8b5e40d6b0aef0c2c5fe9","22a2db87cd2bbc494ad650bee6b3bff5f2f960446a2fd7e86e95f637387d15e2","33ebc3edebdb7a38d3f7aa860ab6e37b829026f6c8b309d5c701ff953fc667a0","59951460d7ea18f277f26169a8052ef1be66276353b757894739c20232a0905e","116ae87a1fe342d0080acf156e6587b0b9337b731474915ca7c8b6243f3f23a4","59420b4d732c5b744155f3a61c97bb8c70126efb7ec93890cd645a2a8c65e29c","8372014ebc6b5b4b6702066ce98a995405c1de3a63ebcd113df3a6c30c01f7d9","504aab95c09e8573cfb3e8f96ba3b4d5acce1a2d5d4ff4f6d6eff5ef171f3879","fec8edc9d955969b814a7e75a7b409a1c5d0541876d01c9aa4b6f5c2fc5e0ebd","d45bc498046ac0f0bc015424165a70d42724886e352e76ba1d460ebc431239a5","9f638d020ab5712be98b527859598539c36737e98a1a4954785d2eb7d9f8e6f8","71ab0aff99915707e1108f34eb54a943c0b05d8a52bccdc28ab8e99b932e001e","56c4def5d7225993cc7e160e234bab0ba6c3e499bf8797c78998c08a58b2d590","96f9a7d6123c2f992a4451d7620a98060dd3fe52d4939d310db9aeae208bb79a","4b8345efdd5dc7502b81855fecf605340dfe8274cb1157aec58f71f623e88a03","df6cd476b620c9c5a9dfae9fec4b147522526aaeb6f4df3cc45a17e4111d9b92","d80cb8c9b60b53d7ae762c123c3bc5c01a83518ab0269c733615cfefa970c4fb","fd27a5b548c59327a5afe1978bf179fe659d30b9b2e043a844a35e9f5ad20085","6e8244892cf2921e40833d70e66dbb5f6f3d96c33eadf86419a9d7f5acc084aa","53415c79b44ee2735f1d0b32740771fb89ae7b40e52d3a68e77a8dbba0618aa6","82827b485c06ed4fda67411fcf1c1e615a3e047646c6dd621586293ec7e1af57","ef5e97f8489199efe0c02f4e2f8d6e05cf5eda34709fa11008ba82c018b12708","073c529c6a252bafc396f7312e79d01ec606b8ad7b4a5410807bf30f55342166","10615d6dc7af89bd014776cb9c1be3028cbb7e18fd9fb35e79017d39641d7cba","a43aa2f2a09ff3f6b34943408aabdaa24421568fb31ffa887b60f435d39a59da","2549348c1761f6e8b24e26d504785b409d85b2556f777616297a60ad82d86f6c","63463f601176768b41977705a02054863096df72f91d85a2cf97dc9dc18fd6d4","c60de75e439c4dfb388d93198cad6ba9a4eecc9c9d421f08000af0424f29949f","9da8977c7c3d04895533d0884f168d673fb05974eae020daf5e01cac5d2b06be","376dbce3a78c5bdf50fd4a2e0accdc5657bf674a1d2697db668151777e39bc3d","f00e97bc11eeeff9af6330966538c7c2f6d5d082ef68e7d44c7a93e0057eb27d","fffe1a864e6469ab5bfc18c43ea3f4e732b7b18679a0758ab5652b06311f1e36","1cbcab4ea8e62939e2d9c4cb08481294cdf013aaceba2fa9284f7555c06572f2","480edafee29b071cc079852d71705cf95a55b1424810890b888ca303a8035176","9301927e69fee77c414ccd0f39c3528e44bd32589500a361cabbeda3d7e74ba5","300c505727bb6c8d46bbb23455b6d54192ef47e6c2835bc38ed0852449b7a667","4764f810685bf6d2319de3829b7ca0076286ac6105b6dfe951aa89252f6ba322","e8e369cdd2445d8ce2489147ddcd50532aa2060d65c85d69ab99aa0367a667b5","e10c516efab55f2dda33c900337b82dadd450b9d9cc7c3d75d0266c710b3cf26","e3672066731508733fd9b14b52b8f282627d9323c967e46541786d897c39ee14","ee77e6910dbb28fe00048d9c72373207599086131a3a397569da259881a2cf28","29ae0eff843b8309dafefa5d37b6e7a2d2dcc348fb6cda4be1cbd42a2808802c","d2eddc655fa3da93eb15c82eb45b84c8f8c7124368aa6cfc73651c46b62fb35b","c41c457144296be976fa42f779bddb6899b88732cc7a8b8d53c8efc6a51f4ddc","cfeaa026659bf2590e9dcf70263ebdc5f83b0a28619d486cc5855198d884cb55","4b3dd49c2b3c01050bc256e16f152130321f354159cf35df5089fc8b5117101b","695afa410a680d4e81d60dbd02781a2d1c827b875e705dec03bec13179f464ab","e58c3a81e2e13959ca7b48c2b15a3885d60a3b372a0eab444961bb2024f0ef43","5fde5256d563e8dc543f48dd956c69d5b2b4b1148c8943ee99bd3a70996fa0fb","eebff2b7ec06777806ea1501ffa27c40478cf7375920e36ec284dea3f5f2ae0e","754c96d6ca2a563e9c811511d4fac851c1a46341f4b4f5d15dfe080066350f8a","6478ecd4339cc8c1cc64ea677d348e3faacd84d26304b5555c573765b876f531","f1ec842a22698baedbfe18fafba50d25a073aa1108c384bad5cedfe244fbedaf","ab863eb7b0d3e24d15c1c71620d841714ff5bf3fcbd0d22b2830c55f6a933642","13150948d46f755df79717399efd380cd548139e3fd0e8cd492a612a8b7e8168","c3e47fbc5e7299aeac06ea95558eeff42e4432bf880cc9979f3c8e5e90f494d8","d50778cb817bfe8058fbf72fb909eb43630797a7277e1d3ef71a3569b0f1e741","1214a9f808988f1fb06d653c11ce6352eff3f46b524cd527f4437b7d72859df2","1ac1d1d80b9ce0737641b2601dc516483bf88eab9697232eebc5b103b37002e5","9f9453ea1cdad17b108c582dc1029b0c32ca2fcb927465583480ba410cd7c5a6","ded3fd157925a342102992bbedb14f512724b0e1616fb563aff0a53787eb0cac","524f5085a1942a7e9d306938e189bad8db873825804dfb39393a0b663a3824a4","7ba49bafa081c92e7886edc4bc445bd95726a8e6d8d60814e142e55ce182a586","ff3904fdfb803062bd013cad44d9cc2c0647cc974cdb9d12e00187465e1163a3","ff6ae2fedd50c216bf2db88c7390ce4f915ce8f6bb8bcf1bd578a5d69be13a1b","e72ca5f1d2f623950abfb990cee24f4f6a2b63778449e1d0e5b061139da86fc4","67f03637f779dd4f8375cf0035c023cf30e783a4ea2831f48d8592a774b637f7","9a8a0264895c1161389ee67c3c614a30c5141f85d27e88a5a3277af9163f26dc",{"version":"cf7888177228191759989aa5419ad13bdd6c3e619bd209dadaefc5fc37334aa4","affectsGlobalScope":true},"a9da8e3c4ea049fdf414d22de0803930f8db9963a2ba639f47f879078b1ca01d","2a289d4237ae127b1264360f6b4def536947d0f134d1cf54197ae2edaf66c856","dcf9241606f8b8d7d80269557841a427b129a68ebc6ed20c1e59f2ac559b327c","b107732e35c55b4e2cd25af20df81a747b2da9558c8882ec4882abdb69d8249d","0bf863732582768fd9a60ecd01950af1efbea97d261770f48b12d6fde2c96229","85b98a349dc0e084c285d24b1ed09d77c3082e570ca1206a95b10b8e85b5db45","d7087e80d95bb50ddfc73f654c9635dca66c3e441bfc5c055ac055e1ffa4d89f","0bcd0f2197ce881248e62de7072be035b1d81fe7e3eeba6def7de2f65d92abd3","53a45f9038ffc9245d5762d81bd8f18004144ef84e4fb82079d67f301f43580c","89be7ba121f6c918c594dab0d145499cbcf8ba78134392747199cba5b149d346","b2527cfbafe9aef442f2923059089241de9136ff0b6d4c3d8f04a47238423f21","ae21795d5f56f9df8ac381ce2c429451e1aa0dc9f844aaff964924eb31fb8b0f","bc1de126fa9dcb40e9dbf4b251a19d844dba8ae450d24e2ebc1f2a4334711794","b35a912500beace307797108aa36b308b306cf1ef2df21a9b717f45b4785f65e","0493a7f6515da5cf2561bbefe9528015a2352ccb4e1f7c2b5c853a3429bd0793","bdebd66b3b33a94c59c3096cc82a2d9af71cb91b76de55aba0c6e394cb9cc48f","34b16e3c369d4c9eb44f487afdce34bea30cdb288422f4a9a4c74d0c3dc40edb","6af01ee0c86eeded9d09506b578cca85b41d2e26961cfd2841060c96089cecc7","3604e5ad6dd906923bbec8e911af25a9e9f1f2583e38d346fc91b5652b35aa0e","ee536bd51fc7506d657410fbde758ab4d40b97e951d0cfb1b6b9a8519b96470f","98984be4cf06e2b98c4d1e716c8947dde9a361e78248991a0e700a27ad60cae3","4fe80c4ae5fdb35a460ea2dd6c2bc77f749e715ed077c17c93484733d599ba8b","225d0b51e116ff456eac4f60c07eac69bdc34f7d871857119f86bf18902eb637","b463182753818bfe6243c10f368a4fe23690b9a14afe1987ba128e921e972d4e","55a3c61dc5e3a49dc2b2b778570eca69e58adbc8d47d1625ff258d08b5fbbec4","7b1abacf3026d07661aefaff0c4173eea2bbde44c78f7c235bb32f8e89b52a4e","730580aacdf4fd4b3f9026e1daa5a0bb8206f9d885efdcd48faf7e3fd1f176a2","61f51337e218369f43418a6b5f0322b2f7ef4058efcdd806e117327fb7c317d9","754f5742cebb9e2c4b80c7fdb48b0a451742f457e0b11d1bdaf9bebfd15b1bd3","4ad416d6e516596b0d832a63464eeba454dd42058967454f0e620c6654cb4718","5d24e76974ddd464dbc64200707583a86156a5de1826e6a8d9b859f5aa7fd6aa","a77f57d3d4168408e86106568b16401324d3ee24f76e82e9411e6293a7327a43","9b83911a2205057bd5441d65fffd8aa1c67be599bcadd79257dc5dd3f03cc066","7e8ece79a406114ef22c9e1d2b096444b53d0462fdcfe13293fc49658a1e2495","630481dcad21c800a47d0781c676939cdd790adbf44580b972acfc628acff2b3","0ee059bfe12c2ba24bc45a3aeaaf8dd7c23b7e1c7d33c8684cc965e341d560a9","6f6038075edc2c610a28329974d4a31c2d63e5a38f88ad77016bcaeedb20901e","a41edc66a5901fe040f9539c9307ba56d27e4fb51726cd24dbc2384b38cfed2b","9921e2f27911f95d5093e24c771be30b2e2dc88dc5e6fc04c5da9521fd389171","0b059f5acc0276ac2ce366c724fc9df977ce83e90a7e4623b816605df1d103b7","c83b4293304cb0087415274289f2b763589e788666f435c434b5b101bcf6e0ac","82268ac018b3cc502a58e2ca7e401f1a3400e07d43e359ac6a5eff46b13cace1","01acf071976b74e3f150eac8eb63810c34725969aabf62bb8d5ea170dcabd2ea","62a78f6255a478a07cd2c343c0202202c8ebafec18babe5e4744504707d4f45a","2ef4b128b41b5d67acf22b25ccb20a3e67c3911d1bca015eed2dc8f4ce9b04ae","54dce06cf85f42b9f890e600e3aca791039144670fed9511abc4b7e25ead4e4e","ac11e3bfa7dd8bba4d83cb9036014b86a4a289eae9d30ffa17173832c32c543e","e52519a1296f2426a28e3ebd963fb8c550602dfa2332fbca09069ea424d37d0e","2f5ff4904731ff15bcba43a18c10027f574cbf775d0fa46e2d912813a6b6fabf","cca6ad520eefaeac3d1dd53f2d462b6a9b989163e8f55226cb5daed6995ad833","48a038f6cd7b90b3aff80c6616b15a32d8db097ef40de7a2e0af928e73debe33","1481efaf734ebc17dff8a9d029a1e40f5461e1eba8e528a589c7c4e7b06c7378","a78a32bdebd36e8df8b958fafe51f4dbe8526f3726c19d0ca7a469eba0460195","b2a09b208de226397e3c34a2b1aa1f1d803a383a73ba576398c43bb46b1907ac","5393f796f62eb2876548ff438abeb8d54247e8e99dc63b967fa6b8f9ff43c5cb","5787cd691600e36ae3b1d0f934f1bdcb0d60c32eb10eba1d12cfc8a550217c54","ce6a24574c85e7bdb4864ebfdd76f2eb83495e1c0e4d68248916aca0b3c605cc","e7232bda9c724a1250a50be467bc60c34841f5aa865e1092c8f1e908d54bbed5","4f86429ea485232fe968b67830ff91c6f4428cde20ba7bd345dccfb2e6adb181","7e12247bc4005a3c10637eb497c7da92d4ec9f18f1248872c093cb096c29a195","c9ed5b5ded8a29caa1423e73c5a2160b04d867fec1f4895de9cca98bfbdc39ad","12b2e6bbf993963db507bd2f020214e200144790c274d047e599cf79a7f95644","aff60b0046a4345264cc8913f24387d961cb373000bfda9e7fa0c22378f5b900",{"version":"ee06b616bed4d6446efc47028a945028e5c5a3aef01496edf5847397bdd8f581","signature":"ad4ffb1fb586edc379e016b1c52f0de1ec5df96d90c6df699971933e5af9d0fc"},{"version":"c72163abf1df8eefdc93df60e4c1a2a0efdedd10f172c3115b922538b0245062","signature":"7e73565ce62ea5c3b3598913e1ac7a33d2cb92dd2e7bf1f2fada22bac0b3bc85"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","a3ca095da123d2d556d663733932d71874e6c4b4874c76118463dedea4b0d2ad","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"d8d60d4636de5437353a773942766c22956a4d61b4c6b254092a51a71e4e1bed","e3fd84e6470b7e0679c4073ee5ce971d324182486dde5a49b67cae29168b51d2","dd8331d0a5190a4735ce6c152e420230188c4966067a756673c36dd7ba72b10e","90d88ef5d0e8d585711a8ec68c01d262818f3425fea095fea345b81ec8c09a36",{"version":"d57e7ff5243e0dcd04cf2edf9ad9520af40edd6eba31c14c3f405f0c437fa379","affectsGlobalScope":true},"0f882d4ae58f431454030289154feb0132e1b00ca5c3197c6b749bd098aed73a","7ff7f4632a6e7b6872fb1843f3c0df495b49840eae2a23c6fbc943f863da8c29","d267771149e172ade39e3ef96b4063209d5a7e8291702fe03983aa52f2b3d5f6","a78590b0efcef281236e3234520c348d63be1d4561b63b20e6c3b6fc18b37dfb","4d59c6a10b6c79a0927c79efa89b3c9f71d174ec14ec2792076cfd2330d0cf8e","a496f51933422872de22729b7a0233589325a1a1707cccd05cd914098944a202","fa43bf91102ffc4cfa22b73c7dca50023f99fc0bb15f7fb6201d98e31ab112dd","06a38095ad4368314366bc08f7cbc0fe274ef7321ec611005d0bdd9c6565e4d5","4599793db9aed9b84677f0ca1cf7ef3c69bb91cda4fe4329cbab778ca4d80a58","ad0028f96921778931fb8419d8de33b10908314fa99699de1702020f69235da1","ccd2a35321c0786bd3808042dc43b960cac13f2cc660ac37a0087e12bc97d2fc","df524ed01de4f19efb44bded628dbba9f840148be4b6cfe096e29d4b01589de3","2e3981b9cee48174ff85ae15019fd72933f7023a4ed05094740f7e6f7775623c","836ebdc3b9e4c006acc4f405b7e558e56d47830e05c40d991b1e27fe8bc91157","2cc6b617c6120ba64b5778ccd4b74c951adc3a3941bb6b39f47d48701c44af39","eca02b99615a8f1652e21399d832618e38bf166c0747c9247349bc901a2f7741","7f7d6d42e5780e86f5b860a6f95179fae06a368b3af28c1c4230397c47021a59","4740a7d11ab3b381be0f269f1903fb3ff226a2fba55a01756b2997e67cd853f2","863dbc4e77f0353e6f9d6bc0e2b4622d5c07ff6f099ff66cafd7924b2ff4dd3f","bf034a18ed7e2a058f9e48c4c2480a124138fbd3586a80c77736a9ec079d12a8","f88758992a0bf13d095520aacd4381fb456ff121fb9aa184e6eb0eecb26cfadc","c249e9ae33bfcad97deec3c73c9ed2656e112fbdf22deace0b39724be6a5dcf0","d8b45924965c0c4fc0b946c0b6d597aa8d5de9cdf5c727e3d39422d17efec438","d07ea953cfea0c4bd11641912846bd955f4fd26ad2b7b8a279d69c7ab9cb3add","feddabf6ab0eb191e721f0126f3db8688db97c77a1234968bde7a2d70c4ae513","dbbda62ea5f4d1f8b40cc2b7e2e2fae424abbb4715a04a3659cb8b317f7b228b","1eef6a64835182ce1f4934a366e937120e2e2107b12360436fdf35e99b3ae703","7f5cb3a03588ed46d52a6c2138315d930cd6ffb5c2134247cd07bc23cbea0b5a","7797f4c91491dcb0f21fa318fd8a1014990d5a72f8a32de2af06eb4d4476a3b5","f39fb20b83c3f9853c13d4ac95533760979d3023c0a5affe2c0a62d91ab3afd8","e4fca08aed8afb32bb8643d7469810bc8681115fe398e56a028df9e73b2d867f","2622639d24718ddfccc33a9a6daf5a2dd94d540ca41e3da00fe365d2c3f25db3","078966067552650f44ca96c68eddbb8539f30ee48a9ab3f24abdcf0a4037b535","2cd6250c43dba360377481c98d48db6ab1532a7527339edb0deffddc28ba66b1","7a9d600990fbe263a23daebed9ba1bbc5761e45679a7e2b2774a42756ef077a2","66bc155515fbea8c31a4efccbbac44de7c037b01f3aa00b76312cf7252725d30","5703288ddbfc4f7845cdbf80c6af17c8cde2a228757479796c2378b1662fcd48","0dfd353f0c16dd5107a7e0713dc52d0a2538293b0a0eac6000a017f9c0a60b56","9cd683a4663ef4d9c6486f1b8a34c73bdbc344d69490931bfe2fbcada12ab35b","42f6a409bad5259ece69df25d2b8ace2ff2ade45fe6386ee45203bdd9329f971","8b86677943235a5e5952f9371f7dfe89a9975651c56c74d58e090cb69bf6f2b4","2eb162efd6dba5972b9f8f85141d900d09da4fba23864f287f98f9890a05e95f","3f878fb5be9ebe8bd0ac5c22515d42b8b72d3745ef7617e73e9b2548ccbdf54b","e9ed562b7599c8c8c01595891480a30f9945a93a46456d22ee67ebf346b7538a","e7bf975a98cecefe2e8902fb7da9314675ecdce553aea722aaec97327668e18b","3d36f93648518338c875d9f77a8eab52905365483dbb3afe43ed68f1b712b67c","4fa54df9184d291bd78b36f5063372042cd995460e906cb14014e40d1442a326","b4e32bd5e3b493e4ea6b5ec69a4c02aa1fdaa78e1df9a863bb07604de8f9d123","f6bd1aa152ca2b5064e06282ee3137842ae6825b6b09aa89a2ff063b976a56f3","bce2390bb3a76f8bf2ba4397c66db5277bf3e698ee614347e5eb79d7fc0942c6","fbdc8d7cc7daf4101bf567512c67fb990d8fe300e0ba7f213171192177f44aa0","298e0da6d858e39fc0c1eebfa4f5c8af487868c6f2e98c3ef800537d402fb5c3","3b6457fb3866562d279377f923cf3758c80ed7bfcc19414b72a24d0a98188e0c","4fb5d7efb3520b92c1b767ce18968057c5e70886d7fb3416c487231df9275af9","df2303a61eb57b2717d17123e82bc0f3fd60f6e4673cb5506192dfe23c9480bf","b104960f4c5f807535ab43282356b2fe29c5d14a02035c623ac2012be3d5f76c","a35ca245eb852b70b20300546443abb1fcbac6e5066e4baaa092af4ea614d9b5","55da140feab55f10a538a9879a97c4be3df4934cbd679665c91a7263a86095e1","1a39e51e3362aec7d4edec9b317ff83916fe0471f86ddf2d3ef3af5952e87d9e","4b3f36b96f129a8e125c91d41a05f711e73b3285f80bceb3a1aecb13c97c4502","852779920fc4220bc42ec6d3c9b6164e23ea9371a788531b48b4005fe0cb4392","9a82e1b959524c1abfeeb024ee1a400234130a341f2b90a313ce4e37833b7dd2","515b97cede17d91c9669cc1c7fb7a8a5f0a5f2d8999f925a5f70b4ebea93723e","08e8e57241f874bdbf69ab2b65cb0ee18b4183d5c9452937da49b934fc679c4b","7a5bfc619b1ad803f11c50668574b16baba8f0e8ce1c3e8ebf16421e910474d2","644addd4811636da491c9546654bc005ba8599f23df6d731d91eba86f3137fc2","a9249493114b181814728cbfeb7234738193a4169b654ec4705d48d7a4d25222","aad6f20d6eb01192ae02294361faa6e1f320d72447b56f433db853bbe80b15ca","876fbedec2f494eb6f834ce8636b07d581c657d205d81a3ba894eff0facc6b84","58527aa45f11c9b259a6a9d78b397f35020bfbb104f4d3bb177039b5c18146bd","91b8b61d45b5d22f3458a4ac82e03b464a0926bab795a920fe0eca805ec476eb","2744532f8fb960eb78497ac660db719f503a10c801f87131d26fd9cbef75dcef","6884287c54891ac19cfbe056f3ed29cab1732a00dec69bd3b140ce62c11783c6","393dc8619d7e27653d5e4eafe99ec5501a6b043db50d805c2d40465a50b857e0","cb46657d3237f80742d5701ebcced8f6e5cf8938442354387d6c77d7048dfae6","9caced628452876da272decb56b3f4c18d9aa66b413be5b1ce322933aa1362b6","661f322e45545a554e4ffc38db6c4068a66e1323baf66acb0d8a9fa28195a669","91d70dce48c2a2bb55f0b851cf1bdba4202f107f1e8fdf45f94ff6be4b8e8f99","ce978e20a6f26f606b535f0d6deb384ae6a73f8d0bd0dfca0925f5317cad1f25","f2d3567210ca4d559d8297d6c4402599c93e3bc7485054192d38db5e132fbc0a","887d8058aeeade45984fdb8696147078bc630d3fea15ab2b7baacde0fe281fb7","ad27aa59d346179ac449bd3077d245f213152879e4027356306ccf1722d61d51","ea546a7ed9eaa71ba78d4d392509dadea4bafed283269dd6c4b09e7d8824e986","4ec0f2a141a9ae7d3557b8efe630ac2021bc3a9ac61238b59293f4cf2f196e82","b2db743c71652e03c52d51445af58d0af3316231faa92b66018b29c7ba975f6c","0863a5876c85fbaffbb8ec8aeda8b5042deb6932616139706d2b82cde9d3f7c7","1294b8ecdd212362323f349dd83b5c94ea77bfee4dad24fc290980a3c8af6ce3","ba9c46725e2a0bd9df59d3a1e801cc60f90db3ef7817131c53945dce2b8c0c56","281d373eeabf80c4851f8de991e6abe4d385c30379d80897bbc3df3dcac99cee","624c5dce95672d9dcca40d9d9d82ef855f5f902292f43aa265cc8fd963c6ce84","8a48d9c6184992d1c3ed5daa55f83d708c37582916926a5555a900608f804b60","605dd288c636cf9b5317fe76dec75d3c7fb855fdcd3ee8cb4fea7d7091ca6fb4","e6d6ba51e1280c00199ae4a4ab19df78f965df81e21aa1f608a9dd21219ea798","b5a615b0ad865ffa562980a10bda162ac1744fd363b4edc2cfc664222071cbcf","bbccd721363897950a55ce09529503f25a69522e5c91a22679b66e941e5f8654","d3a1e70795c38d7851b6e4f3b441c5ffdae171d6e2576a2204b7d79059aeea66","d7b8d41887c5fccfe19802c4336d34348b752abf0d98839575699d71deff60be","063fe3004728b8516a4d799ee16f9a71801ba24e0443dd98638cef1bd4353a7c","b8a0236f47d9037efdaf93da602415ae425dababe097fc92f83fd47ce9aaa69f","fab7912fc3ff45fce2f5d5febc9494c4d0a85d6c63fff68f21e4669c32eaacb9","f6c3fcb9d75d8aea778236fd9327ceb935b41865dbf3beac698be77e0ae9018d","b20bc124abd8ee572d0d756713ff987b116cdae908a6fcbc40e80d4b999f56b4","a599f3f450ad62c3fdc0c3fd25cddcc9332ffb44327087947d48914a8da81364","645dff895168aa82350c9aa60aa0b3621b84289fef043be842f45a9c6c0ac6e2","f068ff5b7fb3bdc5380e0c677e21de829bd25cdac63a9b083fdc220fcb225280","09d2fdca6ea6c135897a26976ad3c0db724adaf23ef4e38ad852b1d8efef1ae6","15de5b7739bf7e40213a200853bf78455ee5958af08eda786605a54a7f25ade6","f3acb439e08f0c2c78c712a876dc6c2080302c46916f1d63b7dbe509616ce9ae","37862e711637ebd927907a82cbf0143ea30e95eb165df554926c43936b1d77a9","89e253db2c2cc9a510c521f14dd2b1aae4de2556ee5159ad8d118d3587e3a880","3d0a172cee184a0f4111a7bd7fbb8729af3f54b30c06a2677d85c20ea9c811ab","d6a07e5e8dee6dc63c7ecd9c21756babf097e1537fbc91ddfec17328a063f65d","6fdc88b1287c276b55b7f7c4c7b49587813c763eea9751ce0baf0a7e61cd5d89","6a02443704052768bd021f24783aa104b02ae4444e9b735317bf13c6b857a11e","37987b0fe9800cf25473c882ce07bccdab2763c5681c1a2d16816aead46aa8d1","c84c03c721154068e1a60d83e9e85819bd3ef70b824ac2edc498aa31c06e5781","c23a403716784b53cf6ce9ffff9dcdb959b7cacdf115294a3377d96b6df1e161","c96fb6a0c1e879f95634ab0ff439cbb6fff6227b26bbf0153bef9ed0aabba60d","db936079fe6396aad9bf7ad0479ffc9220cec808a26a745baebb5f9e2ef9dbc7","06bc0b9cc7bf0b92534f1517fe5adde1f23f60cc6cc5c59f8e1c65db48a40067","919a753b0cbb12ccc606c62e2d34884d75a48ba19b1dda497c72621b11dac088","2c27e33ee0bf722988da00abd582cc9b806ce3fd9153a864800a339ad13f3fcf","92d7b3a5aa5dc872e54cbad2a7094b3ea4f72c7901de1d07b4c334ff658297f0","7a52922b38e9686d5bdc6e75774929eec6688d26c1dfe4a03ddec77ede468e87","aa5efca2833d89b55248f1889a6433dab1b1f41768e9a75f8ce35f9bf56c5ec4","0ba3b34cbe39c6fe3ba89f7f6559f10c05f78cd5368477d9c95d25c390b65931","4e82f599b0cff3741e5a4f45889d04753a8bb3b0f95d0f3328bcfbb4f995b2a1","8354bb3a9465dc2e9ccb848564945e0818d3698b2844cfd69b0435080871fd25","1218398da7c8dc4add10bdb3aa2856aad54b123d847eaf574d1d694ac269bfb5","189014f3213ee7457dbeea04dca10ca5d9ed2062cd39641aca5f3b4c75de9d99","b637cd92688a6cdf4f8f184ff529dc2bc7f15692828e2c0c66a60e6972f400c7","7061e83d6792897077bcac039fccf7325234004769f591c63a8cf8478bf551bb","f2d2c194c4c6ba8cfbacf893e371cd8482102b368c1a5ea4771fc956bd0a6a19","277a358d61376fce7ac3392402909c96cf6a0a613146549fc0165ccff953e012","50614c808e099a1d4413786f3783d9eeaaa74b267f2c87fcf8a893287e91c301","f4cb6530f248e87cefa74ef623206fec805f6252f885f8e14ef3d1a5872cef2d","38c332caadd8391566552395d592076470a5e7423f70964620eabf05c02907cd","eb17b5bf1fc763a644c21d76572c0e41e351c3f6dfcde649428d5d829f7294d2","cb124162c87b29ff5121e3ee5bb29c782f101e0135d6c2644ab1b31d530a435e","406d6f5d3707c488362fb40d1c1f8a7b0a42b70554b427160185d93e430228f5","2e9776410c5bc290d9432a9215c67398a273e514a79b9e15f32ecddfde8a03be","313ff8df074b81d3e4f088ff3a3a06df3d9b0d0c7f55469ccc2ac887ecb6b867","c718475bca06806cc243e77777641cb67ba68f2c57321a4773ebb47760a3bcf2","96e6bf811343caab5112b68880905c5d20d9257054afac6c18e718a4c549ed27","a2793bc73ba63ca7d259cb0f0b61d0023820170d08a1f9715006c8042d060165","d5011b38165771fdf75a9a06d6d379a1fc7edd7eb695ebdc52319fb6e3c6d81f","88417fb19d339304e9616a38ea513251047c9e300c81f9467fc317df8a582e71","3e8e2d132f726dddbda57819f5391504e585cb3beab6b32203064e7e40618583","6e23627cd3f10418b5b2db102fdcf557b75f2837f266d88afac6b18f333bb1bc","866046dcea88f23d766a65487ee7870c4cf8285a4c75407c80a5c26ed250ef8d","019f4f1cbc781cc15c6173f8be5ef907405722194ab297127b3c3426e5368339","41f4413eac08210dfc1b1cdb5891ad08b05c79f5038bdf8c06e4aedaa85b943d","c79f1c8b51d8475dde8d2973f740f43ca34b1f0a95d93649cd76c1ee20abba19","35f0d2bd2c5c05c0cb19095bf5b7c44365b1c88efe6285370855b90417277a64","8264b129f4c4eb4799703f8e5ee2223a184d1cdbfc782158b1f40a88a4435a1f","527ddda6f8be1279f3294714534c49d6e90f238cea325519882ebf88d7ec5bd2","b23877792e8bd00271d0ec5d401b68e4228540a4316de3d9dfb697b955c161a4","35b2eb1de01633db90d41abe93730b29984856fcc840b4c2801bfd3761a2097b","1fd5a6eb7fc5159b80a848cbe718eae07a97998c5e5382c888904248cf58e26f","2a6b4655a6edce9e07c7d826848f72533c9991d40bc36e3f85558ad20e87ce2d","6e3d29fdc96ebbb2ac672d2dae710c689c1ea0d0e9469e0847616f3c38fd085f","d505055b8fadd42da235c85947911d8d198ad70c5f5775991e7821d4f89c90f5","8b5a5852099dca7d7e7a7cef6d681dc1586aafacdb963ca180fe5cabbfa3a24b","0d1aa3341d1ad2064adada71c5d01a2f572e4aac09410e5616d90894105a0eb9","52494ca5a884da3bf11b8165ab31429715f0970d9c6383240c5666f4bd713e01","162fafa2291749df2ab4516854aa781fcee1d9fca2ecd85fb48ae794c0700ce2","b4b9b51ee6f6309cda2e539245235a8caeca2b1d6bf12b5e5c162d17333c450f","d2ffe8356f060b88c1c5cf1fa874a4b779fb87fd1977084876e8be9eab6bf485","c76053984b39150d00ade365b096a8bc21a4a7f2ee9e0a926711b00f8e7bf701","956b510767e3d6f362ea5800510635197723737af5d19ae07ee987ea4a90bfa5","cd1a8ff61f5063d7e6e2094e25d35c90b499961b63911f2f4ae0ff5555c2b4d7","1cf09b5945779e9bc75c4dcd805fb149c28fc90da3335186ef620647a3c540e1","9cdc0b9a313090ec45b34ea1eb02fbace433f509e753634b043e9b83038261e6","c93474cff0088351a65d3cad24037874a26a5371a48528563e56efe31cb3d8bb","b4580df8ea7f62d7b06588001952bf69426e6b03cf3d2569f5f608e45f29ba08","de27f7bb9be9d8a2b4557ec6503b8a315f74d598ce9a0ab81b5ed5610e1a8e81","fe3c378dcefa7ed8b21bd6822f5d7838b1119836da75ae1e1fb485d27b8ffb62","7365bf3333d4277b6fe374ed055624e5ec080dbb919e2d78f1cb75a3f1a4b4f6","a5fbf3bc5c16ab5c84465ba7a043a4bee4c2b20bd3633d50d80118a3844edbaf","0923e4ac8c894ad507bd2daee0df66b699de88467201381ece011ba5a080e1ff","e4f6626f827ea509255647e1b6db82145a2eb1a6b46202655e7d9bb19145c33b","26e23972c40f378f0301d8d7025ea895557c2865a1a31c8ea9c3fff0dbc27075","bfddbff94132b423ad1d71bdbefb1d388c21a74ac1a8742df9324e5bf6109058","bece6bfb1d236c41747834f9a7e579be18ce54cb034f54f4ae1ea618faeb5708","0e59cf55095972c87a7cb1363dd482e40322be78b9b4c7a710cba60a596eb935","c52acb7126fe8bf136a21908caa39a9a302950b87aa6971908f9e1c29c0fa19a","11e8eb54177783e97659925f09c7000a69311305161acc7d0f51cec9ec3fac20","f915c5b0118fbb957f69f42617c0d1671047db55121c4dfe61c14729050410a7","b707f3ea2029672e11d198485581a9309226eab53dbab21db74d8db3526d0663","bd5001702011525d057662a666fe601fac56067d69528d7b4ef4dab83ef6d73c","ad4fafe8ec02d836df20a48e81156cf5323d591026b8f677535b5832022268d8","bd0a3ebf3935ff6be6d1d79dba461a63c758085d232065219a09b72cf1ede3d6","7f5c4b14f6698408e9d05ae73aeb7ecef75c27734e04fb5337a742eafbfd50c7","faffbf4dbc1e3a09dc6e54629fe20390ec001476a67fa3d40edb3f2910c0e051","6a8b556617e07a1ca3052d1e70e9236b4e171a0b08d09054eaef8826ad5d18b6","b71ebbdd422b094f638fb958c10d7ef8260df87a2305a54db0296381406c50a6","8a01a5903999938c6af690d388789931c6c6862bd89033f6113fa894ced34dd4","46e30c27f13d79cf3aea3221e3201bd7ae961ff548a4ddbfd3ae2da54478a4ec","8a70850984a40caf2b1007674fdb7340041498e2ab90f36b2d68c0bf403e0b16","616ea4ff77f89fe59032df6f80ebdf5f40789419341de9b25d2946485c85ad05","de2d4b9daf5db51547d44fdc1163fa037ec6acfcb58ad4698a62d3453b6f44f9","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","ca6646a7786dd130c0615882d16e4d2df116c47da2eba44142426cb76bd16b46","72cfa60ebbb814cb1c38b35c903fbf8cf3c822b24c9df6d9260b65116fbbe799","07082818c2de24059137c6d53eafd75aa25ca8e5060227b199d998b1fa5fd4e2","b33e88c91d23e9d85ce5eb12c339daed090674db53050f00fe9446c6bbcea502","6acf8a984c2728906edeba2098c5c51f44a4520bc4a48c65b973bd785537178f","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3ca3179dd4772b596ed81df8bb9c541e1416d86343c582a105013b20925de051","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","524ee68b6177f628d5356976603b37a36859541b22629d7d6d2e7b20bdebb60d","23c77af9fdadb3569d425dbc7bbf06a118a4b02bd9db14b7abfafc3183d58bb6","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","429b6df7d7b94389bd42cfdf39bccea903acd3628498cec6172302801fbeac89","ebe77545478bf39a23059a3b0ea03d2c0e502d9c8e1122015e19213cd0815097","ad8c69f4a471cafdf093acdcdf3b444ae56b227b92024ae45f8c9c9c8be8afcc","71a6149f67a64b55baeddb83e5254e9e017c80c15a260d6f6b3a12deb3a575ed","6c881abb4a0e7579a9d5b63a7e4da3d98b094adf0f1d1fa75bbe433b9f3d7c27","66d6844502d7764a8e02b632228c4c5a95f7cac7bce1a0db07f0dcc377d3755b","2e1be3fee9ccef82555b2f039e8e100e0a176ee2d18b0de95e7da6a61e1e360a","5c48fc6096e361e639c1d0a9f7f066242bf757ace84843582d29c6813563055a","bebac54845e03ea36044fab99b5a51266cec2492fcd8a95bde6d5527a3174732","ef141fd0ac854fc92cbc9a13cd25a0ac87b3961f70d516f191bb3e29d3b183fe","a90c6f5554bd74f63aaf03751e6b79d01a457b59339b03d308c16af8f266cf47","7d5d42c18c62ef137b8830b7de8432b466c8f4d93fa8476ac36d2f69114fad1e","484faf958ae025f8d1ce6cb9c75e12c2148190efc22151299d14d10e3601cbba","66ddf54cc3d66cdab1b69e6879af9876bbc30030f85e51ba8a73223339e65b85","734166f6ae00b52512304c153644963fd93cd152620231ea7a0560802c968d28","15ce0cfa537ada25e07633617a993a8e02827939c2128d39c010739f28a0379c","a3868158152cc946c27c5e7b7803537c14cada9bb442c96c759c66b0d01f9eca","00ee901c4135af0d5688bee246d1e42ef7421cec93c32587e4814f744b95e2e8","af30b8feae6399905adeb5c938558e666dc81113ccf38032722583b95a65f9ab","60aaac5fb1858fbd4c4eb40e01706eb227eed9eca5c665564bd146971280dbd3",{"version":"b40add723ee9828e126ff18a0a2fb5124958ff911e1836bfe461916e434bd051","affectsGlobalScope":true},"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","d9c5f8d21771758700d7b6eeef796700b99c643a5818195cf0d01bed98407df1","4266ccd2cf1d6a281efd9c7ddf9efd7daecf76575364148bd233e18919cac3ed","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"jsx":2,"noEmitOnError":false,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strictNullChecks":true,"target":1,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[243,295],[295],[48,55,56,295],[56,295],[48,295],[55,295],[55,56,295],[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,295],[48,55,295],[167,168,169,170,171,172,173,174,175,191,192,193,194,295],[48,98,167,295],[48,80,84,98,121,166,295],[48,190,295],[98,295],[190,295],[48,167,295],[48,80,84,295],[100,295],[48,100,295],[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,119,120,295],[48,80,84,118,295],[48,80,84,98,295],[78,85,86,87,88,90,91,92,93,94,95,96,97,295],[48,78,80,84,85,295],[48,78,87,295],[48,87,89,295],[87,295],[48,87,295],[78,295],[49,295],[49,52,295],[49,50,51,52,53,54,295],[49,50,295],[50,295],[243,244,245,246,247,295],[243,245,295],[249,295],[268,295,302],[282,295,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,514,515],[295,516],[295,494,495,516],[282,295,493,497,516],[282,295,498,499,516],[282,295,498,516],[282,295,493,498,516],[282,295,504,516],[282,295,516],[295,512,513,516],[295,493,513,516],[282,295,493],[295,497],[282,295],[295,493,516],[295,518],[295,519],[295,524,529],[251,267,295,302],[295,547],[295,535,537,538,539,540,541,542,543,544,545,546,547],[295,535,536,538,539,540,541,542,543,544,545,546,547],[295,536,537,538,539,540,541,542,543,544,545,546,547],[295,535,536,537,539,540,541,542,543,544,545,546,547],[295,535,536,537,538,540,541,542,543,544,545,546,547],[295,535,536,537,538,539,541,542,543,544,545,546,547],[295,535,536,537,538,539,540,542,543,544,545,546,547],[295,535,536,537,538,539,540,541,543,544,545,546,547],[295,535,536,537,538,539,540,541,542,544,545,546,547],[295,535,536,537,538,539,540,541,542,543,545,546,547],[295,535,536,537,538,539,540,541,542,543,544,546,547],[295,535,536,537,538,539,540,541,542,543,544,545,547],[295,535,536,537,538,539,540,541,542,543,544,545,546],[267,295,302],[270,294,295,302,552,553],[252,295],[255,295],[256,261,295],[257,267,268,275,284,294,295],[257,258,267,275,295],[259,295],[260,261,268,276,295],[261,284,291,295],[262,264,267,275,295],[263,295],[264,265,295],[266,267,295],[267,295],[267,268,269,284,294,295],[267,268,269,284,295],[295,299],[270,275,284,294,295],[267,268,270,271,275,284,291,294,295],[270,272,284,291,294,295],[252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301],[267,273,295],[274,294,295],[264,267,275,284,295],[276,295],[277,295],[255,278,295],[279,293,295,299],[280,295],[281,295],[267,282,295],[282,283,295,297],[267,284,285,286,295],[284,286,295],[284,285,295],[287,295],[288,295],[267,289,290,295],[289,290,295],[261,275,284,291,295],[292,295],[275,293,295],[256,270,281,294,295],[261,295],[284,295,296],[295,297],[295,298],[256,261,267,269,278,284,294,295,297,299],[284,295,300],[48,295,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573],[48,295,558,574],[48,295,574],[82,295],[48,79,80,81,82,83,295],[80,84,295],[44,45,46,47,295],[295,579,618],[295,579,603,618],[295,618],[295,579],[295,579,604,618],[295,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617],[295,604,618],[267,284,295,300,302,551],[284,295,302],[267,270,272,275,294,295,302],[295,623],[270,284,295,302],[295,522,525],[295,522,525,526,527],[295,524],[295,521,528],[295,523],[48,80,84,133,295],[48,80,84,137,153,295],[48,80,84,137,295],[80,84,154,295],[48,80,84,128,137,156,295],[155,158,159,160,295],[48,80,84,157,295],[48,157,295],[48,137,295],[48,128,295],[48,123,126,127,295],[128,129,130,132,133,134,135,136,137,154,295],[129,138,295],[128,130,138,295],[128,129,130,131,132,133,134,135,136,137,295],[138,295],[48,138,143,144,295],[138,139,140,141,144,146,147,148,149,150,151,295],[132,138,295],[128,138,295],[137,138,295],[128,133,138,295],[128,134,138,295],[128,135,138,295],[136,138,295],[122,123,124,125,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,144,145,146,147,148,149,150,151,152,154,161,162,163,164,165,295],[178,295],[178,179,295],[179,180,182,183,184,185,186,187,188,295],[178,181,295],[80,84,177,295],[48,80,84,166,176,178,179,189,295],[114,115,116,117,295],[114,295],[48,80,84,114,295],[48,114,295],[295,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,322,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,364,365,366,367,368,369,370,371,373,375,376,377,378,379,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,425,426,427,429,437,439,440,441,442,443,444,446,447,449,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492],[295,351],[295,307,310],[295,309],[295,309,310],[295,306,307,308,310],[295,307,309,310,466],[295,310],[295,306,309,351],[295,309,310,466],[295,309,474],[295,307,309,310],[295,319],[295,342],[295,363],[295,309,310,351],[295,310,358],[295,309,310,351,369],[295,309,310,369],[295,310,410],[295,310,351],[295,306,310,428],[295,306,310,429],[295,450],[295,435,436],[295,445],[295,435],[295,306,310,428,435],[295,428,429,436],[295,448],[295,306,310,435,436],[295,308,309,310],[295,306,310],[295,307,309,429,430,431,432],[295,351,429,430,431,432],[295,429,431],[295,309,430,431,433,434,437],[295,306,309],[295,310,452],[295,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426],[295,438],[43,48,167,195,239,295],[43,240,295],[220,295],[48,217,219,295],[218,295],[203,204,205,206,207,295],[203,295],[197,203,295],[223,295],[224,225,226,227,228,229,295],[210,295],[224,295],[208,210,217,218,221,222,223,230,238,295],[231,295],[208,210,223,231,295],[197,217,223,231,295],[231,232,233,234,235,236,295],[48,231,295],[208,210,223,295],[217,231,295],[210,237,295],[197,198,199,200,201,202,209,295],[197,295],[197,200,208,295],[196,295],[211,212,213,214,215,216,295],[48,52,55,78,167,195],[240]],"referencedMap":[[245,1],[243,2],[57,3],[58,4],[59,3],[60,5],[61,6],[62,7],[63,6],[64,7],[65,7],[78,8],[66,3],[67,3],[68,3],[69,9],[56,9],[70,2],[71,2],[72,4],[73,3],[74,4],[75,6],[76,7],[77,2],[195,10],[168,11],[167,12],[175,5],[191,13],[192,14],[193,15],[194,14],[169,16],[170,17],[171,17],[172,11],[173,5],[174,11],[99,17],[101,18],[102,18],[103,19],[104,19],[105,5],[106,17],[107,5],[108,5],[109,17],[110,2],[121,20],[111,17],[112,17],[113,17],[119,21],[120,22],[100,17],[98,23],[86,24],[88,25],[90,26],[89,5],[91,27],[92,27],[93,28],[94,14],[87,29],[95,2],[96,24],[85,2],[97,5],[51,30],[50,30],[53,31],[55,32],[54,33],[52,33],[49,34],[242,2],[248,35],[244,1],[246,36],[247,1],[250,37],[251,2],[303,38],[304,38],[305,2],[516,39],[494,40],[496,41],[495,40],[498,42],[500,43],[501,44],[502,45],[503,43],[504,44],[505,43],[506,46],[507,44],[508,43],[513,47],[514,48],[515,49],[509,50],[499,51],[510,52],[497,52],[511,53],[517,2],[518,2],[519,54],[520,55],[530,56],[531,2],[532,2],[533,57],[534,2],[548,58],[536,59],[537,60],[535,61],[538,62],[539,63],[540,64],[541,65],[542,66],[543,67],[544,68],[545,69],[546,70],[547,71],[549,2],[550,2],[551,72],[249,2],[553,2],[554,73],[252,74],[253,74],[255,75],[256,76],[257,77],[258,78],[259,79],[260,80],[261,81],[262,82],[263,83],[264,84],[265,84],[266,85],[267,86],[268,87],[269,88],[254,89],[301,2],[270,90],[271,91],[272,92],[302,93],[273,94],[274,95],[275,96],[276,97],[277,98],[278,99],[279,100],[280,101],[281,102],[282,103],[283,104],[284,105],[286,106],[285,107],[287,108],[288,109],[289,110],[290,111],[291,112],[292,113],[293,114],[294,115],[295,116],[296,117],[297,118],[298,119],[299,120],[300,121],[555,2],[556,2],[557,2],[46,2],[574,122],[559,123],[560,123],[562,123],[563,123],[561,5],[573,124],[564,123],[565,123],[566,123],[567,123],[568,123],[569,123],[570,123],[571,123],[572,123],[575,5],[81,2],[82,125],[79,2],[84,126],[83,2],[80,127],[576,5],[44,2],[48,128],[558,5],[577,2],[578,2],[47,2],[603,129],[604,130],[579,131],[582,131],[601,129],[602,129],[592,132],[591,132],[589,129],[584,129],[597,129],[595,129],[599,129],[583,129],[596,129],[600,129],[585,129],[586,129],[598,129],[580,129],[587,129],[588,129],[590,129],[594,129],[605,133],[593,129],[581,129],[618,134],[617,2],[612,133],[614,135],[613,133],[606,133],[607,133],[609,133],[611,133],[615,135],[616,135],[608,135],[610,135],[619,2],[620,136],[512,137],[621,2],[622,138],[623,2],[624,139],[45,2],[552,140],[522,2],[526,141],[528,142],[527,141],[525,143],[529,144],[521,2],[524,145],[523,2],[165,146],[154,147],[162,148],[153,149],[164,146],[157,150],[161,151],[160,152],[156,152],[155,127],[159,152],[158,153],[122,2],[124,17],[125,17],[142,154],[129,155],[130,155],[128,156],[163,157],[146,158],[139,159],[138,160],[144,161],[145,162],[152,163],[131,2],[147,164],[151,165],[150,166],[140,167],[141,168],[143,155],[148,169],[149,170],[132,155],[137,155],[133,155],[134,155],[135,155],[136,155],[166,171],[123,2],[126,2],[127,2],[176,2],[179,172],[184,172],[185,173],[189,174],[186,173],[187,173],[183,172],[188,173],[182,175],[180,173],[178,176],[181,2],[177,2],[190,177],[118,178],[117,179],[114,17],[115,180],[116,181],[493,182],[466,2],[444,183],[442,183],[492,184],[457,185],[456,185],[358,186],[309,187],[464,186],[465,186],[467,188],[468,186],[469,189],[369,190],[470,186],[441,186],[471,186],[472,191],[473,186],[474,185],[475,192],[476,186],[477,186],[478,186],[479,186],[480,185],[481,186],[482,186],[483,186],[484,186],[485,193],[486,186],[487,186],[488,186],[489,186],[490,186],[308,184],[311,189],[312,189],[313,186],[314,189],[315,189],[316,189],[317,189],[318,186],[320,194],[321,189],[319,189],[322,189],[323,189],[324,189],[325,189],[326,189],[327,189],[328,186],[329,189],[330,189],[331,189],[332,189],[333,189],[334,186],[335,189],[336,186],[337,189],[338,189],[339,189],[340,189],[341,186],[343,195],[342,189],[344,189],[345,189],[346,189],[347,189],[348,193],[349,186],[350,186],[364,196],[352,197],[353,189],[354,189],[355,186],[356,189],[357,189],[359,198],[360,189],[361,189],[362,189],[363,189],[365,189],[366,189],[367,189],[368,189],[370,199],[371,189],[372,189],[373,189],[374,186],[375,189],[376,200],[377,200],[378,200],[379,186],[380,189],[381,189],[382,189],[387,189],[383,189],[384,186],[385,189],[386,186],[388,186],[389,189],[390,189],[391,186],[392,186],[393,189],[394,186],[395,189],[396,189],[397,186],[398,189],[399,189],[400,189],[401,189],[402,189],[403,189],[404,189],[405,189],[406,189],[407,189],[408,189],[409,189],[410,189],[411,201],[412,189],[413,189],[414,189],[415,189],[416,189],[417,189],[418,186],[419,186],[420,186],[421,186],[422,186],[423,189],[424,189],[425,189],[426,189],[443,202],[491,186],[429,203],[428,204],[451,205],[450,206],[446,207],[445,206],[447,208],[436,209],[435,210],[449,211],[448,208],[437,212],[351,213],[307,214],[306,189],[440,2],[433,215],[434,216],[431,2],[432,217],[430,189],[438,218],[310,219],[458,2],[459,2],[452,2],[455,185],[454,2],[460,2],[461,2],[453,220],[462,2],[463,2],[427,221],[439,222],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[240,223],[241,224],[196,2],[221,225],[220,226],[219,227],[208,228],[207,229],[203,2],[205,229],[204,230],[206,229],[223,2],[224,231],[230,232],[227,233],[229,233],[228,227],[226,234],[225,234],[239,235],[222,5],[218,2],[232,236],[233,237],[236,238],[237,239],[234,240],[231,241],[235,242],[238,243],[210,244],[201,245],[199,245],[198,245],[200,245],[209,246],[197,247],[202,245],[212,5],[217,248],[215,2],[216,2],[211,2],[214,2],[213,2]],"exportedModulesMap":[[245,1],[243,2],[57,3],[58,4],[59,3],[60,5],[61,6],[62,7],[63,6],[64,7],[65,7],[78,8],[66,3],[67,3],[68,3],[69,9],[56,9],[70,2],[71,2],[72,4],[73,3],[74,4],[75,6],[76,7],[77,2],[195,10],[168,11],[167,12],[175,5],[191,13],[192,14],[193,15],[194,14],[169,16],[170,17],[171,17],[172,11],[173,5],[174,11],[99,17],[101,18],[102,18],[103,19],[104,19],[105,5],[106,17],[107,5],[108,5],[109,17],[110,2],[121,20],[111,17],[112,17],[113,17],[119,21],[120,22],[100,17],[98,23],[86,24],[88,25],[90,26],[89,5],[91,27],[92,27],[93,28],[94,14],[87,29],[95,2],[96,24],[85,2],[97,5],[51,30],[50,30],[53,31],[55,32],[54,33],[52,33],[49,34],[242,2],[248,35],[244,1],[246,36],[247,1],[250,37],[251,2],[303,38],[304,38],[305,2],[516,39],[494,40],[496,41],[495,40],[498,42],[500,43],[501,44],[502,45],[503,43],[504,44],[505,43],[506,46],[507,44],[508,43],[513,47],[514,48],[515,49],[509,50],[499,51],[510,52],[497,52],[511,53],[517,2],[518,2],[519,54],[520,55],[530,56],[531,2],[532,2],[533,57],[534,2],[548,58],[536,59],[537,60],[535,61],[538,62],[539,63],[540,64],[541,65],[542,66],[543,67],[544,68],[545,69],[546,70],[547,71],[549,2],[550,2],[551,72],[249,2],[553,2],[554,73],[252,74],[253,74],[255,75],[256,76],[257,77],[258,78],[259,79],[260,80],[261,81],[262,82],[263,83],[264,84],[265,84],[266,85],[267,86],[268,87],[269,88],[254,89],[301,2],[270,90],[271,91],[272,92],[302,93],[273,94],[274,95],[275,96],[276,97],[277,98],[278,99],[279,100],[280,101],[281,102],[282,103],[283,104],[284,105],[286,106],[285,107],[287,108],[288,109],[289,110],[290,111],[291,112],[292,113],[293,114],[294,115],[295,116],[296,117],[297,118],[298,119],[299,120],[300,121],[555,2],[556,2],[557,2],[46,2],[574,122],[559,123],[560,123],[562,123],[563,123],[561,5],[573,124],[564,123],[565,123],[566,123],[567,123],[568,123],[569,123],[570,123],[571,123],[572,123],[575,5],[81,2],[82,125],[79,2],[84,126],[83,2],[80,127],[576,5],[44,2],[48,128],[558,5],[577,2],[578,2],[47,2],[603,129],[604,130],[579,131],[582,131],[601,129],[602,129],[592,132],[591,132],[589,129],[584,129],[597,129],[595,129],[599,129],[583,129],[596,129],[600,129],[585,129],[586,129],[598,129],[580,129],[587,129],[588,129],[590,129],[594,129],[605,133],[593,129],[581,129],[618,134],[617,2],[612,133],[614,135],[613,133],[606,133],[607,133],[609,133],[611,133],[615,135],[616,135],[608,135],[610,135],[619,2],[620,136],[512,137],[621,2],[622,138],[623,2],[624,139],[45,2],[552,140],[522,2],[526,141],[528,142],[527,141],[525,143],[529,144],[521,2],[524,145],[523,2],[165,146],[154,147],[162,148],[153,149],[164,146],[157,150],[161,151],[160,152],[156,152],[155,127],[159,152],[158,153],[122,2],[124,17],[125,17],[142,154],[129,155],[130,155],[128,156],[163,157],[146,158],[139,159],[138,160],[144,161],[145,162],[152,163],[131,2],[147,164],[151,165],[150,166],[140,167],[141,168],[143,155],[148,169],[149,170],[132,155],[137,155],[133,155],[134,155],[135,155],[136,155],[166,171],[123,2],[126,2],[127,2],[176,2],[179,172],[184,172],[185,173],[189,174],[186,173],[187,173],[183,172],[188,173],[182,175],[180,173],[178,176],[181,2],[177,2],[190,177],[118,178],[117,179],[114,17],[115,180],[116,181],[493,182],[466,2],[444,183],[442,183],[492,184],[457,185],[456,185],[358,186],[309,187],[464,186],[465,186],[467,188],[468,186],[469,189],[369,190],[470,186],[441,186],[471,186],[472,191],[473,186],[474,185],[475,192],[476,186],[477,186],[478,186],[479,186],[480,185],[481,186],[482,186],[483,186],[484,186],[485,193],[486,186],[487,186],[488,186],[489,186],[490,186],[308,184],[311,189],[312,189],[313,186],[314,189],[315,189],[316,189],[317,189],[318,186],[320,194],[321,189],[319,189],[322,189],[323,189],[324,189],[325,189],[326,189],[327,189],[328,186],[329,189],[330,189],[331,189],[332,189],[333,189],[334,186],[335,189],[336,186],[337,189],[338,189],[339,189],[340,189],[341,186],[343,195],[342,189],[344,189],[345,189],[346,189],[347,189],[348,193],[349,186],[350,186],[364,196],[352,197],[353,189],[354,189],[355,186],[356,189],[357,189],[359,198],[360,189],[361,189],[362,189],[363,189],[365,189],[366,189],[367,189],[368,189],[370,199],[371,189],[372,189],[373,189],[374,186],[375,189],[376,200],[377,200],[378,200],[379,186],[380,189],[381,189],[382,189],[387,189],[383,189],[384,186],[385,189],[386,186],[388,186],[389,189],[390,189],[391,186],[392,186],[393,189],[394,186],[395,189],[396,189],[397,186],[398,189],[399,189],[400,189],[401,189],[402,189],[403,189],[404,189],[405,189],[406,189],[407,189],[408,189],[409,189],[410,189],[411,201],[412,189],[413,189],[414,189],[415,189],[416,189],[417,189],[418,186],[419,186],[420,186],[421,186],[422,186],[423,189],[424,189],[425,189],[426,189],[443,202],[491,186],[429,203],[428,204],[451,205],[450,206],[446,207],[445,206],[447,208],[436,209],[435,210],[449,211],[448,208],[437,212],[351,213],[307,214],[306,189],[440,2],[433,215],[434,216],[431,2],[432,217],[430,189],[438,218],[310,219],[458,2],[459,2],[452,2],[455,185],[454,2],[460,2],[461,2],[453,220],[462,2],[463,2],[427,221],[439,222],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[240,249],[241,250],[196,2],[221,225],[220,226],[219,227],[208,228],[207,229],[203,2],[205,229],[204,230],[206,229],[223,2],[224,231],[230,232],[227,233],[229,233],[228,227],[226,234],[225,234],[239,235],[222,5],[218,2],[232,236],[233,237],[236,238],[237,239],[234,240],[231,241],[235,242],[238,243],[210,244],[201,245],[199,245],[198,245],[200,245],[209,246],[197,247],[202,245],[212,5],[217,248],[215,2],[216,2],[211,2],[214,2],[213,2]],"semanticDiagnosticsPerFile":[245,243,57,58,59,60,61,62,63,64,65,78,66,67,68,69,56,70,71,72,73,74,75,76,77,195,168,167,175,191,192,193,194,169,170,171,172,173,174,99,101,102,103,104,105,106,107,108,109,110,121,111,112,113,119,120,100,98,86,88,90,89,91,92,93,94,87,95,96,85,97,51,50,53,55,54,52,49,242,248,244,246,247,250,251,303,304,305,516,494,496,495,498,500,501,502,503,504,505,506,507,508,513,514,515,509,499,510,497,511,517,518,519,520,530,531,532,533,534,548,536,537,535,538,539,540,541,542,543,544,545,546,547,549,550,551,249,553,554,252,253,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,254,301,270,271,272,302,273,274,275,276,277,278,279,280,281,282,283,284,286,285,287,288,289,290,291,292,293,294,295,296,297,298,299,300,555,556,557,46,574,559,560,562,563,561,573,564,565,566,567,568,569,570,571,572,575,81,82,79,84,83,80,576,44,48,558,577,578,47,603,604,579,582,601,602,592,591,589,584,597,595,599,583,596,600,585,586,598,580,587,588,590,594,605,593,581,618,617,612,614,613,606,607,609,611,615,616,608,610,619,620,512,621,622,623,624,45,552,522,526,528,527,525,529,521,524,523,165,154,162,153,164,157,161,160,156,155,159,158,122,124,125,142,129,130,128,163,146,139,138,144,145,152,131,147,151,150,140,141,143,148,149,132,137,133,134,135,136,166,123,126,127,176,179,184,185,189,186,187,183,188,182,180,178,181,177,190,118,117,114,115,116,493,466,444,442,492,457,456,358,309,464,465,467,468,469,369,470,441,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,308,311,312,313,314,315,316,317,318,320,321,319,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,343,342,344,345,346,347,348,349,350,364,352,353,354,355,356,357,359,360,361,362,363,365,366,367,368,370,371,372,373,374,375,376,377,378,379,380,381,382,387,383,384,385,386,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,443,491,429,428,451,450,446,445,447,436,435,449,448,437,351,307,306,440,433,434,431,432,430,438,310,458,459,452,455,454,460,461,453,462,463,427,439,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,240,241,196,221,220,219,208,207,203,205,204,206,223,224,230,227,229,228,226,225,239,222,218,232,233,236,237,234,231,235,238,210,201,199,198,200,209,197,202,212,217,215,216,211,214,213]},"version":"4.7.2"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.d.ts b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.d.ts new file mode 100644 index 0000000..60e37b0 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.d.ts @@ -0,0 +1,9 @@ +import type { ComponentProps } from 'react'; +import { PerformanceMeasureView } from '@shopify/react-native-performance'; +export declare type Props = ComponentProps; +/** + * Performance view similar to `PerformanceMeasureView` but meant to be used with `react-navigation`. + * If the screen is not mounted in a react-navigation context, it might misbehave and is therefore not recommended. + */ +export declare const ReactNavigationPerformanceView: (props: Props) => JSX.Element; +//# sourceMappingURL=ReactNavigationPerformanceView.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.d.ts.map b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.d.ts.map new file mode 100644 index 0000000..4763764 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactNavigationPerformanceView.d.ts","sourceRoot":"","sources":["../src/ReactNavigationPerformanceView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,sBAAsB,EAAsC,MAAM,mCAAmC,CAAC;AAQ9G,oBAAY,KAAK,GAAG,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,8BAA8B,UAAW,KAAK,gBAmE1D,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.js b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.js new file mode 100644 index 0000000..32c1a46 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.js @@ -0,0 +1,67 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ReactNavigationPerformanceView = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var native_1 = require("@react-navigation/native"); +var core_1 = require("@react-navigation/core"); +var TRANSITION_END = 'transition-end'; +/** + * Performance view similar to `PerformanceMeasureView` but meant to be used with `react-navigation`. + * If the screen is not mounted in a react-navigation context, it might misbehave and is therefore not recommended. + */ +var ReactNavigationPerformanceView = function (props) { + var _a; + var _b = (0, native_1.useNavigation)(), addListener = _b.addListener, getState = _b.getState; + // Stack is the only navigation type that has a `transitionEnd` event. + var isStack = getState().type === 'stack'; + var _c = tslib_1.__read((0, react_1.useState)(!isStack), 2), transitionEnded = _c[0], setTransitionEnded = _c[1]; + // We only want to report `TRANSITION_END` render pass once. + var transitionEndReported = (0, react_1.useRef)(false); + var componentInstanceId = (0, react_1.useRef)((_a = props.componentInstanceId) !== null && _a !== void 0 ? _a : (0, react_native_performance_1.inMemoryCounter)()).current; + var stateController = (0, react_native_performance_1.useStateController)(); + (0, core_1.useFocusEffect)((0, react_1.useCallback)(function () { + stateController.stopFlowIfNeeded(componentInstanceId); + }, [stateController, componentInstanceId])); + (0, react_1.useEffect)(function () { + if (!isStack) { + return; + } + return addListener('transitionEnd', function () { + setTransitionEnded(true); + }); + }, [addListener, isStack]); + var shouldReportTransitionEnd = false; + if (isStack && transitionEnded && transitionEndReported.current === false) { + shouldReportTransitionEnd = true; + transitionEndReported.current = true; + } + // View can be interactive only when the present animation has completed (marked by `transitionEnd` event). + // However, we wait for `transitionEnd` event only in case when we are in a context of a stack navigator as otherwise `transitionEnd` never occurs. + var interactive = props.interactive === true && transitionEnded; + /** + * Represents previous renderPassName passed via `props`. + * Does not include `TRANSITION_END` event. + */ + var lastRenderPassName = (0, react_1.useRef)(undefined); + var renderProps = (0, react_1.useRef)({ + renderPassName: props.renderPassName, + interactive: interactive, + }); + // If a user has not changed the `renderPassName`, we keep `TRANSITION_END` as the current one. + // This is to avoid emitting reports of render passes where user has not explicitly changed it. + // `PerformanceMeasureView` will log a reused `renderPassName` + // and subsequent render passes with a different `renderPassName` will still be reported. + // Check out this link for more details: https://github.com/Shopify/react-native-performance/pull/363 + if (shouldReportTransitionEnd) { + renderProps.current = { renderPassName: TRANSITION_END, interactive: interactive }; + } + else if (lastRenderPassName.current !== props.renderPassName) { + renderProps.current = { renderPassName: props.renderPassName, interactive: interactive }; + } + lastRenderPassName.current = props.renderPassName; + return (react_1.default.createElement(react_native_performance_1.PerformanceMeasureView, tslib_1.__assign({}, props, { componentInstanceId: componentInstanceId, renderPassName: renderProps.current.renderPassName, interactive: renderProps.current.interactive }))); +}; +exports.ReactNavigationPerformanceView = ReactNavigationPerformanceView; +//# sourceMappingURL=ReactNavigationPerformanceView.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.js.map b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.js.map new file mode 100644 index 0000000..e0d042a --- /dev/null +++ b/packages/react-native-performance-navigation/dist/ReactNavigationPerformanceView.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactNavigationPerformanceView.js","sourceRoot":"","sources":["../src/ReactNavigationPerformanceView.tsx"],"names":[],"mappings":";;;;AAAA,qDAAsE;AAEtE,8EAA8G;AAC9G,mDAAuD;AACvD,+CAAsD;AAItD,IAAM,cAAc,GAAG,gBAAgB,CAAC;AAIxC;;;GAGG;AACI,IAAM,8BAA8B,GAAG,UAAC,KAAY;;IACnD,IAAA,KAA0B,IAAA,sBAAa,GAAsC,EAA5E,WAAW,iBAAA,EAAE,QAAQ,cAAuD,CAAC;IACpF,sEAAsE;IACtE,IAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC;IAEtC,IAAA,KAAA,eAAwC,IAAA,gBAAQ,EAAC,CAAC,OAAO,CAAC,IAAA,EAAzD,eAAe,QAAA,EAAE,kBAAkB,QAAsB,CAAC;IACjE,4DAA4D;IAC5D,IAAM,qBAAqB,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAE5C,IAAM,mBAAmB,GAAG,IAAA,cAAM,EAAC,MAAA,KAAK,CAAC,mBAAmB,mCAAI,IAAA,0CAAe,GAAE,CAAC,CAAC,OAAO,CAAC;IAC3F,IAAM,eAAe,GAAG,IAAA,6CAAkB,GAAE,CAAC;IAE7C,IAAA,qBAAc,EACZ,IAAA,mBAAW,EAAC;QACV,eAAe,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAC3C,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,OAAO,WAAW,CAAC,eAAe,EAAE;YAClC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,IAAI,yBAAyB,GAAG,KAAK,CAAC;IACtC,IAAI,OAAO,IAAI,eAAe,IAAI,qBAAqB,CAAC,OAAO,KAAK,KAAK,EAAE;QACzE,yBAAyB,GAAG,IAAI,CAAC;QACjC,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC;KACtC;IAED,2GAA2G;IAC3G,mJAAmJ;IACnJ,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,eAAe,CAAC;IAElE;;;OAGG;IACH,IAAM,kBAAkB,GAAG,IAAA,cAAM,EAAqB,SAAS,CAAC,CAAC;IACjE,IAAM,WAAW,GAAG,IAAA,cAAM,EAAC;QACzB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW,aAAA;KACZ,CAAC,CAAC;IAEH,+FAA+F;IAC/F,+FAA+F;IAC/F,8DAA8D;IAC9D,yFAAyF;IACzF,qGAAqG;IACrG,IAAI,yBAAyB,EAAE;QAC7B,WAAW,CAAC,OAAO,GAAG,EAAC,cAAc,EAAE,cAAc,EAAE,WAAW,aAAA,EAAC,CAAC;KACrE;SAAM,IAAI,kBAAkB,CAAC,OAAO,KAAK,KAAK,CAAC,cAAc,EAAE;QAC9D,WAAW,CAAC,OAAO,GAAG,EAAC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,aAAA,EAAC,CAAC;KAC3E;IACD,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC;IAElD,OAAO,CACL,8BAAC,iDAAsB,uBACjB,KAAK,IACT,mBAAmB,EAAE,mBAAmB,EACxC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,EAClD,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,IAC5C,CACH,CAAC;AACJ,CAAC,CAAC;AAnEW,QAAA,8BAA8B,kCAmEzC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.d.ts b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.d.ts new file mode 100644 index 0000000..b6f2bbb --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ReactNavigationPerformanceView.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.d.ts.map b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.d.ts.map new file mode 100644 index 0000000..f1d2c89 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactNavigationPerformanceView.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ReactNavigationPerformanceView.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.js b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.js new file mode 100644 index 0000000..aa5a23b --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.js @@ -0,0 +1,224 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +var react_native_1 = require("react-native"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var ReactNavigationPerformanceView_1 = require("../ReactNavigationPerformanceView"); +var mountWithReactNavigationPerformanceContext_1 = require("./mountWithReactNavigationPerformanceContext"); +var LOADING = 'loading'; +var INTERACTIVE_NETWORK = 'interactive-network'; +var INTERACTIVE_DATABASE = 'interactive-database'; +var TRANSITION_END = 'transition-end'; +var isFocusMock = jest.fn(); +/** + * Mount `ReactNavigationPerformanceView`. + * @param navigationType: react-navigation's type of navigation. + */ +var mountReactNavigationPerformanceView = function (props, navigationType) { + if (navigationType === void 0) { navigationType = 'stack'; } + var _a = createAddListenerMock(), triggerTransitionEnd = _a.triggerTransitionEnd, addListener = _a.addListener; + var wrapper = (0, mountWithReactNavigationPerformanceContext_1.mountWithReactNavigationPerformanceContext)(react_1.default.createElement(ReactNavigationPerformanceView_1.ReactNavigationPerformanceView, tslib_1.__assign({ screenName: "SomeScreen", interactive: true }, props), + react_1.default.createElement(react_native_1.View, null)), { + navigation: { + addListener: addListener, + getState: jest.fn(function () { return ({ + type: navigationType, + }); }), + isFocused: isFocusMock, + }, + }); + return { wrapper: wrapper, triggerTransitionEnd: triggerTransitionEnd }; +}; +var useStateControllerMock = react_native_performance_1.useStateController; +jest.mock('@shopify/react-native-performance', function () { + return tslib_1.__assign(tslib_1.__assign({}, jest.requireActual('@shopify/react-native-performance')), { useStateController: jest.fn() }); +}); +/** + * Creates a listener mock that is injected when a subject wants to start a listening for a given event. + */ +var createAddListenerMock = function () { + var transitionEndListeners = []; + var triggerTransitionEnd = function () { + transitionEndListeners.forEach(function (transitionEndListener) { return transitionEndListener(); }); + }; + var addListener = jest.fn().mockImplementation(function (listener, callback) { + if (listener === 'transitionEnd') { + transitionEndListeners.push(callback); + } + return function () { + transitionEndListeners.filter(function (cb) { return cb !== callback; }); + }; + }); + return { triggerTransitionEnd: triggerTransitionEnd, addListener: addListener }; +}; +describe('ReactNavigationPerformanceView', function () { + beforeEach(function () { + jest.clearAllMocks(); + }); + describe('when screen is interactive on mount', function () { + it('stops current flow in the state controller if focused', function () { + var stopFlowIfNeededMock = jest.fn(); + useStateControllerMock.mockReturnValue({ + stopFlowIfNeeded: stopFlowIfNeededMock, + }); + isFocusMock.mockReturnValueOnce(true); + mountReactNavigationPerformanceView({ + renderPassName: LOADING, + interactive: true, + }); + expect(stopFlowIfNeededMock).toHaveBeenCalledTimes(1); + }); + it('does not stop the current flow in the state controller if not focused', function () { + var stopFlowIfNeededMock = jest.fn(); + useStateControllerMock.mockReturnValue({ + stopFlowIfNeeded: stopFlowIfNeededMock, + }); + isFocusMock.mockReturnValueOnce(false); + mountReactNavigationPerformanceView({ + renderPassName: LOADING, + interactive: true, + }); + expect(stopFlowIfNeededMock).not.toHaveBeenCalled(); + }); + it('triggers two render passes: one for initial interactive, the next after transitionEnd event', function () { + var _a = mountReactNavigationPerformanceView({ + renderPassName: LOADING, + interactive: true, + }), wrapper = _a.wrapper, triggerTransitionEnd = _a.triggerTransitionEnd; + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + // Interactive is set to false until `transitionEnd` event occurs + interactive: false, + renderPassName: LOADING, + }); + wrapper.act(function () { + triggerTransitionEnd(); + }); + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + interactive: true, + renderPassName: TRANSITION_END, + }); + }); + }); + describe('when transitionEnd event fires before user sets screen interactive', function () { + it('shows final renderPass after transitionEnd', function () { + var _a = mountReactNavigationPerformanceView({ + renderPassName: LOADING, + interactive: false, + }), wrapper = _a.wrapper, triggerTransitionEnd = _a.triggerTransitionEnd; + // Screen queries data, so is loading on mount + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: LOADING, + interactive: false, + }); + wrapper.act(function () { + triggerTransitionEnd(); + }); + // Screen finishes navigation transition + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: TRANSITION_END, + interactive: false, + }); + // Screen updates with network response + wrapper.setProps({ + renderPassName: INTERACTIVE_NETWORK, + interactive: true, + }); + // The final event is recorded + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: INTERACTIVE_NETWORK, + interactive: true, + }); + }); + }); + describe('when there is a render with the same name after transition-end', function () { + it('it does not change the renderPassName', function () { + var _a = mountReactNavigationPerformanceView({ + renderPassName: LOADING, + interactive: false, + }), wrapper = _a.wrapper, triggerTransitionEnd = _a.triggerTransitionEnd; + // Screen queries data, so is loading on mount + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: LOADING, + interactive: false, + }); + wrapper.act(function () { + triggerTransitionEnd(); + }); + // Screen finishes navigation transition + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: TRANSITION_END, + interactive: false, + }); + // Screen re-renders with the same renderPassName as before transition ended + // This signals the renderPassName is simply reused and we should not change it. + wrapper.setProps({ renderPassName: LOADING, interactive: false }); + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: TRANSITION_END, + interactive: false, + }); + }); + }); + describe('when navigation type is tab', function () { + it('sets interactive to true without transitionEnd event', function () { + var wrapper = mountReactNavigationPerformanceView({ + renderPassName: LOADING, + interactive: false, + }, 'tab').wrapper; + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: LOADING, + interactive: false, + }); + // Screen updates with local data + wrapper.setProps({ + renderPassName: INTERACTIVE_DATABASE, + interactive: true, + }); + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: INTERACTIVE_DATABASE, + interactive: true, + }); + }); + }); + describe('when navigation type is drawer', function () { + it('sets interactive to true without transitionEnd event', function () { + var wrapper = mountReactNavigationPerformanceView({ + renderPassName: LOADING, + interactive: false, + }, 'drawer').wrapper; + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: LOADING, + interactive: false, + }); + // Screen updates with local data + wrapper.setProps({ + renderPassName: INTERACTIVE_DATABASE, + interactive: true, + }); + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: INTERACTIVE_DATABASE, + interactive: true, + }); + }); + }); + describe('when screen is interactive from the start', function () { + it('sets transition-end as the last `renderPassName`', function () { + var _a = mountReactNavigationPerformanceView({ + interactive: true, + }), wrapper = _a.wrapper, triggerTransitionEnd = _a.triggerTransitionEnd; + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + // The default `renderPassName` is passed only to `PerformanceMarker` which we cannot access from here + renderPassName: undefined, + interactive: false, + }); + wrapper.act(function () { + triggerTransitionEnd(); + }); + expect(wrapper).toContainReactComponent(react_native_performance_1.PerformanceMeasureView, { + renderPassName: TRANSITION_END, + interactive: true, + }); + }); + }); +}); +//# sourceMappingURL=ReactNavigationPerformanceView.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.js.map b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.js.map new file mode 100644 index 0000000..894ff2d --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/ReactNavigationPerformanceView.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactNavigationPerformanceView.test.js","sourceRoot":"","sources":["../../src/__tests__/ReactNavigationPerformanceView.test.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.d.ts b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.d.ts new file mode 100644 index 0000000..22fcbba --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.d.ts @@ -0,0 +1,16 @@ +/// +import { NavigationProp } from '@react-navigation/core'; +import '@quilted/react-testing/matchers'; +declare type MockNavigation = Record, jest.Mock>; +interface Context { + navigation: MockNavigation; +} +interface Config { + navigation?: Partial; +} +/** + * Creates a mount with a context of navigation and a performance profiler. + */ +export declare const mountWithReactNavigationPerformanceContext: import("@quilted/react-testing").CustomMount; +export {}; +//# sourceMappingURL=mountWithReactNavigationPerformanceContext.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.d.ts.map b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.d.ts.map new file mode 100644 index 0000000..2796b79 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"mountWithReactNavigationPerformanceContext.d.ts","sourceRoot":"","sources":["../../src/__tests__/mountWithReactNavigationPerformanceContext.tsx"],"names":[],"mappings":";AACA,OAAO,EAAoB,cAAc,EAAC,MAAM,wBAAwB,CAAC;AACzE,OAAO,iCAAiC,CAAC;AAIzC,aAAK,cAAc,GAAG,MAAM,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE7E,UAAU,OAAO;IACf,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,UAAU,MAAM;IACd,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACtC;AAkBD;;GAEG;AACH,eAAO,MAAM,0CAA0C,gNAiBrD,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.js b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.js new file mode 100644 index 0000000..184ca2f --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.mountWithReactNavigationPerformanceContext = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +var core_1 = require("@react-navigation/core"); +require("@quilted/react-testing/matchers"); +var react_testing_1 = require("@quilted/react-testing"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var mockNavigation = { + dispatch: jest.fn(), + goBack: jest.fn(), + navigate: jest.fn(), + setParams: jest.fn(), + addListener: jest.fn(), + removeListener: jest.fn(), + reset: jest.fn(), + isFocused: jest.fn(function () { return true; }), + getParent: jest.fn(), + getId: jest.fn(), + getState: jest.fn(), + canGoBack: jest.fn(function () { return true; }), + setOptions: jest.fn(), +}; +/** + * Creates a mount with a context of navigation and a performance profiler. + */ +exports.mountWithReactNavigationPerformanceContext = (0, react_testing_1.createMount)({ + context: function (_a) { + var navigationConfig = _a.navigation; + var navigation = tslib_1.__assign(tslib_1.__assign({}, mockNavigation), navigationConfig); + return { navigation: navigation }; + }, + render: function (element, context) { + var navigation = context.navigation; + var profiler = (react_1.default.createElement(react_native_performance_1.PerformanceProfiler, { onReportPrepared: jest.fn(), enabled: false }, + react_1.default.createElement(core_1.NavigationContext.Provider, { value: navigation }, element))); + return profiler; + }, +}); +//# sourceMappingURL=mountWithReactNavigationPerformanceContext.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.js.map b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.js.map new file mode 100644 index 0000000..3a5b654 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/__tests__/mountWithReactNavigationPerformanceContext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mountWithReactNavigationPerformanceContext.js","sourceRoot":"","sources":["../../src/__tests__/mountWithReactNavigationPerformanceContext.tsx"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAC1B,+CAAyE;AACzE,2CAAyC;AACzC,wDAAmD;AACnD,8EAAsE;AAYtE,IAAM,cAAc,GAAmB;IACrC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;IACnB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;IACnB,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;IACpB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;IACtB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;IACzB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;IAChB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;IACpB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;IAChB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;IACnB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;IAC9B,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC;AAEF;;GAEG;AACU,QAAA,0CAA0C,GAAG,IAAA,2BAAW,EAAkB;IACrF,OAAO,EAAE,UAAC,EAAsC;YAAzB,gBAAgB,gBAAA;QACrC,IAAM,UAAU,GAAG,sCACd,cAAc,GACd,gBAAgB,CACF,CAAC;QACpB,OAAO,EAAC,UAAU,YAAA,EAAC,CAAC;IACtB,CAAC;IACD,MAAM,EAAE,UAAC,OAAO,EAAE,OAAO;QAChB,IAAA,UAAU,GAAI,OAAO,WAAX,CAAY;QAC7B,IAAM,QAAQ,GAAG,CACf,8BAAC,8CAAmB,IAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK;YAC9D,8BAAC,wBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,IAAG,OAAO,CAA8B,CACjE,CACvB,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/index.d.ts b/packages/react-native-performance-navigation/dist/index.d.ts new file mode 100644 index 0000000..9e33c16 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/index.d.ts @@ -0,0 +1,3 @@ +export { default as useProfiledNavigation } from './useProfiledNavigation'; +export { ReactNavigationPerformanceView } from './ReactNavigationPerformanceView'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/index.d.ts.map b/packages/react-native-performance-navigation/dist/index.d.ts.map new file mode 100644 index 0000000..4907a79 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAC,8BAA8B,EAAC,MAAM,kCAAkC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/index.js b/packages/react-native-performance-navigation/dist/index.js new file mode 100644 index 0000000..cab0043 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/index.js @@ -0,0 +1,11 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ReactNavigationPerformanceView = exports.useProfiledNavigation = void 0; +var useProfiledNavigation_1 = require("./useProfiledNavigation"); +Object.defineProperty(exports, "useProfiledNavigation", { enumerable: true, get: function () { return __importDefault(useProfiledNavigation_1).default; } }); +var ReactNavigationPerformanceView_1 = require("./ReactNavigationPerformanceView"); +Object.defineProperty(exports, "ReactNavigationPerformanceView", { enumerable: true, get: function () { return ReactNavigationPerformanceView_1.ReactNavigationPerformanceView; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/index.js.map b/packages/react-native-performance-navigation/dist/index.js.map new file mode 100644 index 0000000..a148c05 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAyE;AAAjE,+IAAA,OAAO,OAAyB;AACxC,mFAAgF;AAAxE,gJAAA,8BAA8B,OAAA"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/tsconfig.tsbuildinfo b/packages/react-native-performance-navigation/dist/tsconfig.tsbuildinfo new file mode 100644 index 0000000..e9d6b31 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../react-native-performance/dist/bridgedeventtimestamp.d.ts","../../react-native-performance/dist/state-machine/states/state.d.ts","../../react-native-performance/dist/state-machine/states/rendered.d.ts","../../react-native-performance/dist/state-machine/states/renderaborted.d.ts","../../react-native-performance/dist/state-machine/states/started.d.ts","../../react-native-performance/dist/state-machine/states/mounted.d.ts","../../react-native-performance/dist/state-machine/states/unmounted.d.ts","../../react-native-performance/dist/exceptions/performanceprofilererror.d.ts","../../react-native-performance/dist/exceptions/rendertimeouterror.d.ts","../../react-native-performance/dist/exceptions/performanceprofileruninitializederror.d.ts","../../react-native-performance/dist/exceptions/screenprofilernotstartederror.d.ts","../../react-native-performance/dist/exceptions/nativemodulenotfounderror.d.ts","../../react-native-performance/dist/exceptions/index.d.ts","../../react-native-performance/dist/state-machine/states/state-utils.d.ts","../../react-native-performance/dist/state-machine/states/index.d.ts","../../react-native-performance/dist/utils/matches-pattern.d.ts","../../react-native-performance/dist/utils/error-handler.d.ts","../../react-native-performance/dist/utils/promisecontroller.d.ts","../../react-native-performance/dist/utils/native-performance-module.d.ts","../../react-native-performance/dist/utils/inmemorycounter.d.ts","../../react-native-performance/dist/utils/logger.d.ts","../../react-native-performance/dist/utils/index.d.ts","../../react-native-performance/dist/renderpassreport.d.ts","../../react-native-performance/dist/context/reportobserver.d.ts","../../react-native-performance/dist/context/performanceprofiler.d.ts","../../react-native-performance/dist/context/index.d.ts","../../react-native-performance/dist/performancemeasureview.d.ts","../../react-native-performance/dist/gestureresponderevent.d.ts","../../react-native-performance/dist/hooks/flowcommonargs.d.ts","../../react-native-performance/dist/hooks/usestartprofiler.d.ts","../../react-native-performance/dist/hooks/useresetflow.d.ts","../../react-native-performance/dist/hooks/useprofilerstate.d.ts","../../react-native-performance/dist/hooks/userenderpassreport.d.ts","../../react-native-performance/dist/hooks/useprofilerstatechangelistener.d.ts","../../react-native-performance/dist/hooks/index.d.ts","../../react-native-performance/dist/state-machine/controller/statecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/disabledstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/enabledstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/state-controller-context.d.ts","../../react-native-performance/dist/state-machine/controller/usestatecontrollerinitializer.d.ts","../../react-native-performance/dist/state-machine/controller/errorhandlerstatecontroller.d.ts","../../react-native-performance/dist/state-machine/controller/index.d.ts","../../react-native-performance/dist/state-machine/index.d.ts","../../react-native-performance/dist/index.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/commonactions.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/baserouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/tabrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/drawerrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/stackrouter.d.ts","../../../node_modules/@react-navigation/routers/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/basenavigationcontainer.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/createnavigationcontainerref.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/createnavigatorfactory.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/currentrendercontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/findfocusedroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getactionfromstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getfocusedroutenamefromroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getpathfromstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/getstatefrompath.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontainerrefcontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationcontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationhelperscontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/navigationroutecontext.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usefocuseffect.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/useisfocused.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigation.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationbuilder.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationcontainerref.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/usenavigationstate.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/useroute.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/validatepathconfig.d.ts","../../../node_modules/@react-navigation/core/lib/typescript/src/index.d.ts","../../../node_modules/@types/react-native/globals.d.ts","../../../node_modules/@types/react-native/legacy-properties.d.ts","../../../node_modules/@types/react-native/batchedbridge.d.ts","../../../node_modules/@types/react-native/devtools.d.ts","../../../node_modules/@types/react-native/launchscreen.d.ts","../../../node_modules/@types/react-native/index.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkto.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/link.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/navigationcontainer.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/servercontext.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/servercontainer.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/darktheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/defaulttheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/themeprovider.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/theming/usetheme.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkbuilder.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/uselinkprops.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/usescrolltotop.d.ts","../../../node_modules/@react-navigation/native/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/background.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/getdefaultheaderheight.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/getheadertitle.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/header.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackbutton.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackcontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerbackground.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headerheightcontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headershowncontext.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/headertitle.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/header/useheaderheight.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/missingicon.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/platformpressable.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/resourcesavingview.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safearea.types.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safeareacontext.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/safeareaview.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/initialwindow.d.ts","../../../node_modules/react-native-safe-area-context/lib/typescript/index.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/safeareaprovidercompat.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/screen.d.ts","../../../node_modules/@react-navigation/elements/lib/typescript/src/index.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/types.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/cardstyleinterpolators.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/headerstyleinterpolators.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/transitionpresets.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/transitionconfigs/transitionspecs.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/navigators/createstacknavigator.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/views/header/header.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/views/stack/stackview.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/utils/cardanimationcontext.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/directions.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/state.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/gesturehandlerroothoc.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/gesturehandlerrootview.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/toucheventtype.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/typeutils.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gesturehandlercommon.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/flinggesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/forcetouchgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturestatemanager.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/longpressgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/pangesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/pinchgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/rotationgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/tapgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/nativeviewgesturehandler.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/forcetouchgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/pangesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/pinchgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/createnativewrapper.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/reanimatedwrapper.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturecomposition.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gesturedetector.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/flinggesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/longpressgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/rotationgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/tapgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/nativegesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/manualgesture.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gestures/gestureobjects.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturehandlerbutton.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturebuttons.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablenativefeedback.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablenativefeedback.android.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/generictouchable.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablewithoutfeedback.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchableopacity.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/touchablehighlight.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/touchables/index.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/gesturecomponents.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/handlers/gesturehandlertypescompat.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/swipeable.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/components/drawerlayout.d.ts","../../../node_modules/react-native-gesture-handler/lib/typescript/index.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/utils/gesturehandlerrefcontext.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/utils/usecardanimation.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/utils/usegesturehandlerref.d.ts","../../../node_modules/@react-navigation/stack/lib/typescript/src/index.d.ts","../src/reactnavigationperformanceview.tsx","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.isequal/index.d.ts","../src/useprofilednavigation.ts","../src/index.ts","../../../node_modules/@quilted/react-testing/build/typescript/types.d.ts","../../../node_modules/@quilted/react-testing/build/typescript/matchers/index.d.ts","../../../node_modules/@quilted/react-testing/build/typescript/environment.d.ts","../../../node_modules/@quilted/react-testing/build/typescript/implementations/test-renderer.d.ts","../../../node_modules/@quilted/react-testing/build/typescript/index.d.ts","../src/__tests__/mountwithreactnavigationperformancecontext.tsx","../src/__tests__/reactnavigationperformanceview.test.tsx","../../../node_modules/@types/aria-query/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/fined/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/hammerjs/index.d.ts","../../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../node_modules/rxjs/dist/types/index.d.ts","../../../node_modules/@types/inquirer/lib/objects/choice.d.ts","../../../node_modules/@types/inquirer/lib/objects/separator.d.ts","../../../node_modules/@types/inquirer/lib/objects/choices.d.ts","../../../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../../node_modules/@types/inquirer/lib/prompts/base.d.ts","../../../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../../node_modules/@types/inquirer/lib/prompts/input.d.ts","../../../node_modules/@types/inquirer/lib/prompts/list.d.ts","../../../node_modules/@types/inquirer/lib/prompts/number.d.ts","../../../node_modules/@types/inquirer/lib/prompts/password.d.ts","../../../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../../node_modules/@types/inquirer/lib/utils/events.d.ts","../../../node_modules/@types/inquirer/lib/utils/readline.d.ts","../../../node_modules/@types/inquirer/lib/utils/utils.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../../node_modules/@types/inquirer/index.d.ts","../../../node_modules/@types/invariant/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/liftoff/index.d.ts","../../../node_modules/@types/lockfile/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/minipass/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/reactcss/index.d.ts","../../../node_modules/@types/react-color/lib/components/alpha/alpha.d.ts","../../../node_modules/@types/react-color/lib/components/block/block.d.ts","../../../node_modules/@types/react-color/lib/components/common/checkboard.d.ts","../../../node_modules/@types/react-color/lib/components/chrome/chrome.d.ts","../../../node_modules/@types/react-color/lib/components/circle/circle.d.ts","../../../node_modules/@types/react-color/lib/components/compact/compact.d.ts","../../../node_modules/@types/react-color/lib/components/github/github.d.ts","../../../node_modules/@types/react-color/lib/components/hue/hue.d.ts","../../../node_modules/@types/react-color/lib/components/material/material.d.ts","../../../node_modules/@types/react-color/lib/components/photoshop/photoshop.d.ts","../../../node_modules/@types/react-color/lib/components/sketch/sketch.d.ts","../../../node_modules/@types/react-color/lib/components/slider/slider.d.ts","../../../node_modules/@types/react-color/lib/components/swatches/swatches.d.ts","../../../node_modules/@types/react-color/lib/components/twitter/twitter.d.ts","../../../node_modules/@types/react-color/lib/components/common/colorwrap.d.ts","../../../node_modules/@types/react-color/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/resize-observer-browser/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/url-join/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"0bcebfaf66be25c793d0281a8dce761bc078d203f02c573e6ee3b844a5ad7fbc","affectsGlobalScope":true},"ee536bd51fc7506d657410fbde758ab4d40b97e951d0cfb1b6b9a8519b96470f","98984be4cf06e2b98c4d1e716c8947dde9a361e78248991a0e700a27ad60cae3","4fe80c4ae5fdb35a460ea2dd6c2bc77f749e715ed077c17c93484733d599ba8b","225d0b51e116ff456eac4f60c07eac69bdc34f7d871857119f86bf18902eb637","b463182753818bfe6243c10f368a4fe23690b9a14afe1987ba128e921e972d4e","55a3c61dc5e3a49dc2b2b778570eca69e58adbc8d47d1625ff258d08b5fbbec4","7b1abacf3026d07661aefaff0c4173eea2bbde44c78f7c235bb32f8e89b52a4e","730580aacdf4fd4b3f9026e1daa5a0bb8206f9d885efdcd48faf7e3fd1f176a2","61f51337e218369f43418a6b5f0322b2f7ef4058efcdd806e117327fb7c317d9","754f5742cebb9e2c4b80c7fdb48b0a451742f457e0b11d1bdaf9bebfd15b1bd3","4ad416d6e516596b0d832a63464eeba454dd42058967454f0e620c6654cb4718","5d24e76974ddd464dbc64200707583a86156a5de1826e6a8d9b859f5aa7fd6aa","a77f57d3d4168408e86106568b16401324d3ee24f76e82e9411e6293a7327a43","9b83911a2205057bd5441d65fffd8aa1c67be599bcadd79257dc5dd3f03cc066","7e8ece79a406114ef22c9e1d2b096444b53d0462fdcfe13293fc49658a1e2495","630481dcad21c800a47d0781c676939cdd790adbf44580b972acfc628acff2b3","0ee059bfe12c2ba24bc45a3aeaaf8dd7c23b7e1c7d33c8684cc965e341d560a9","6f6038075edc2c610a28329974d4a31c2d63e5a38f88ad77016bcaeedb20901e","a41edc66a5901fe040f9539c9307ba56d27e4fb51726cd24dbc2384b38cfed2b","9921e2f27911f95d5093e24c771be30b2e2dc88dc5e6fc04c5da9521fd389171","0b059f5acc0276ac2ce366c724fc9df977ce83e90a7e4623b816605df1d103b7","c83b4293304cb0087415274289f2b763589e788666f435c434b5b101bcf6e0ac","82268ac018b3cc502a58e2ca7e401f1a3400e07d43e359ac6a5eff46b13cace1","01acf071976b74e3f150eac8eb63810c34725969aabf62bb8d5ea170dcabd2ea","62a78f6255a478a07cd2c343c0202202c8ebafec18babe5e4744504707d4f45a","2ef4b128b41b5d67acf22b25ccb20a3e67c3911d1bca015eed2dc8f4ce9b04ae","54dce06cf85f42b9f890e600e3aca791039144670fed9511abc4b7e25ead4e4e","ac11e3bfa7dd8bba4d83cb9036014b86a4a289eae9d30ffa17173832c32c543e","e52519a1296f2426a28e3ebd963fb8c550602dfa2332fbca09069ea424d37d0e","2f5ff4904731ff15bcba43a18c10027f574cbf775d0fa46e2d912813a6b6fabf","cca6ad520eefaeac3d1dd53f2d462b6a9b989163e8f55226cb5daed6995ad833","48a038f6cd7b90b3aff80c6616b15a32d8db097ef40de7a2e0af928e73debe33","1481efaf734ebc17dff8a9d029a1e40f5461e1eba8e528a589c7c4e7b06c7378","a78a32bdebd36e8df8b958fafe51f4dbe8526f3726c19d0ca7a469eba0460195","b2a09b208de226397e3c34a2b1aa1f1d803a383a73ba576398c43bb46b1907ac","5393f796f62eb2876548ff438abeb8d54247e8e99dc63b967fa6b8f9ff43c5cb","5787cd691600e36ae3b1d0f934f1bdcb0d60c32eb10eba1d12cfc8a550217c54","ce6a24574c85e7bdb4864ebfdd76f2eb83495e1c0e4d68248916aca0b3c605cc","e7232bda9c724a1250a50be467bc60c34841f5aa865e1092c8f1e908d54bbed5","4f86429ea485232fe968b67830ff91c6f4428cde20ba7bd345dccfb2e6adb181","7e12247bc4005a3c10637eb497c7da92d4ec9f18f1248872c093cb096c29a195","c9ed5b5ded8a29caa1423e73c5a2160b04d867fec1f4895de9cca98bfbdc39ad","12b2e6bbf993963db507bd2f020214e200144790c274d047e599cf79a7f95644","aff60b0046a4345264cc8913f24387d961cb373000bfda9e7fa0c22378f5b900","853e8de4f530cfb0aa87082e3e1a2ea8e66805dce0668a5761bdd92145939b99","7c9e664e9c75c46b3f1cf006d34d2f49392ac265bf4417e0b465422693d4950c","12ecd7d96b7209ad27d566cfb4b04d73489287375a67d6a11fb2fecc03cc4789","32693e15180b6e6dcae50cd9719623a1aaf866d77bb5f3933a35e9b7fec3d1fd","1891eea6eb86a8b0850ef7570ae5aeafe905351150234b1a66fb24e5a1673b92","bd4db3a73abc07b4dda1e6bf976dc48e8e4e0fafdfc217b0339d3132f27e3517","6a87e68ee8b64da2c7747aec468d0f01ef2f0f9364159192dce1cda1bfab526e",{"version":"9af55bd8dfc2cd9187af5bbb17d25aa87cd93cb92158ea82334600e1d00076df","affectsGlobalScope":true},"977ef7423f6df4dcf70144712833da7922293e37813293db43a728f482d25abd","0debb34aee907e610f311f90b8ea7a672e95f30826abeaadc2b31af4076c9344","b0474fec7c45a73eca31ad530914fc587ebddeed29f69f96653d9afc4144da45","717c85e439a2e28054138caa84613aa81252448a4a9f4f4c8e66cf430f399cf9","19bace661c2611c1ae473e95fba01e7f2ba898e14833585e97004dd13ffdaeda","ee4bd23ee28835ad3ca59a947632cb95260f3024b79a553b4844f230ad3219fb","3003d045b098f9f972dd88da5f02849aa77f08d7da5908a615e7d7c54b22414a","3aa528047246293a8834a527380b33e5d24ad71e9fd4bbcc2cef279ae89661f5","c6ff3e1388330aa2a43cf6373198298b1551ea4a8bb317e62ecfd559a8e5327c","a109bab41468dc2b6cf8e54cf4c3a4816cf254ead4ab82af17f2f8d63bea14fa","a7eec4015f9f31540f7a0c5e5bb27024d656ae818052edcf72f8eb450277574e","45016de701bf4c613b68e2722e07f3d44dc5d3785bc042736caad77e6eb8617f","d7ee2ba7aff83a473c8326c68b20f1e0c3ff19c41ae5fdc6b77914de30cf154e","948355e572a01fac5781b65489e7c0ac98656f760ed3ad57721a55a344d1315e","9ebbaba0e0405c1de896520d4fb403abf8d8ee72d26f002d4ae880b04e3fe504","85e99a85fd074f07f336054fedba0c10762b100f10c28ecaf7d978b73ef9acdb","3f1636597988f8f596a657e7331ae56a0dca70fbe5db585370a6a7adceab7b24","ce4505fec4d5ccce704bd761032150ac777220e86ca4a7076680f9d5cb4c4c9b","c9e05ecfec6e590fadd1cb10ae1d21641ca3a8ec5665af7f671772198e7b21c7","13a57c395e9c3f521f5dbb3f5402bd292a021256add5b82423dd72eaca430682","c4fe4b713057e24f416d3d1f31b3dd3e7e4076ac45df9a0ad84b39e4f752cf76","343f8c8644cd42c657fc895df563a7769253657fcfe1a2a307dfd592652b2cdd",{"version":"4452f559618410bd9950973795fa657dbf3411cdc55c4c3460c5bab189903863","affectsGlobalScope":true},"9e9df0ee50fc117b15fd7815162a41c46e95996b513e4107b433d3e37dbe2ce8",{"version":"efd32b1ab5e3897f64ed3d0f236657c3c9c7bcc669449e608ebee1ad9dbe396a","affectsGlobalScope":true},"7fb3279c4bf36d993b1e8b339cded5908f7b2ec1b6e0ac2feaa842b5b6b143f1","234b97ac9af46707f2315ff395a9b340d37b7dbc8290d91f5d6bd97189d220f3",{"version":"6cb5e3d3f0babcdca611a20b4bd29f0e604a0ae6bb618da4452d299876cb493d","affectsGlobalScope":true},"f3d6d4879bea27563245f9b0421554822a4f336b4e7b838daa6f6c4515e41ee0","fbad7ab4fc3bfb02492f83780b7d03427d54a797be4465ee17b46a5dc1edd9a4","c71069baf888f362df77457285435eaae6b0b3e25a884c78977fcec52755bbea",{"version":"f3d06e4c44ae3e14ef517f5a3a6d9aab826afdc444936605d39d0d6c6bdcad0f","affectsGlobalScope":true},"6e2cbb13f526e6f7c70ea3a4bdc9634301f018fa3965f2dde7f1d37a8e5c7e9c","2fd3c27eab8f2e941560b8f1d9b2480d558a3bfecb9f7450478a758c9ce96cb0","528e7087c8e41701cd1af78e52bdc107553eeb44245885c5cd92b2dd3209a6b4","48f3e2543105da93484b51b1979764f345befa92e4d2031109cf2297739c3c95","b08950d68c97431fb98c2f6faa5da8b012d49145559c8218416be5ec3214c521","2f2275fb011f92825710c151ae9cd29d9aa1dedbcd99fcdd412dbbe644757e4d","fded4150da5c204dd68ce7603bc36950d6a24f7768d7848df3ff232889213616","226082a839dcbf67c6a3a18fb5a3cb18da8717e9d206bdedeb40d9ee42bcfe55","c80485ad77f4334be594e36c75613d3e31143d5d09571f325de21a6a21de8438","7eb52bdd7cc31bd8af7b9100e2c6e9a222dc2d2bcc37d3c292fe26f32e54bba3","f50ef5f47d7aece6712d7f7a9bb5a67a5af5e0b96dfe1b69e11fca1431b27bda","8270071907f956a9fcba08bd3044de174f502c43b9c9d8c54ef600192e3d5555","1a4e3125dea970c58422dfb1fed65a7d3e78809fc3f1a571fd179ea94dc9fef7","08490a869d0d773a9288d5fee53c8ce7eb6e46c3d1693a030376b9aa3eca6021","073f34ebf2acc760156ab0b24426e0bb12b1db45e1e73ba15182759101d6c348","91b77e9e5380f7e054a24fdd3968e27b596b3939d237bcad9f75b4c39774fe7c","308ec62578820dbee8f81f0b38019a426bf0d8dd76dc57a5a105ebfee66ea6fe","7fa70306bf3c594f11d33437a962ee050da57a5efdc899832c60faaa1f45241d","d200a64d39e13df62f59cf5238fc3abf0aaaae56e64c525e394d4b5f83083626","3f57a7f28d91f553645e3868edaeb5847ad2239e3dd8b5e40d6b0aef0c2c5fe9","22a2db87cd2bbc494ad650bee6b3bff5f2f960446a2fd7e86e95f637387d15e2","33ebc3edebdb7a38d3f7aa860ab6e37b829026f6c8b309d5c701ff953fc667a0","59951460d7ea18f277f26169a8052ef1be66276353b757894739c20232a0905e","116ae87a1fe342d0080acf156e6587b0b9337b731474915ca7c8b6243f3f23a4","59420b4d732c5b744155f3a61c97bb8c70126efb7ec93890cd645a2a8c65e29c","8372014ebc6b5b4b6702066ce98a995405c1de3a63ebcd113df3a6c30c01f7d9","504aab95c09e8573cfb3e8f96ba3b4d5acce1a2d5d4ff4f6d6eff5ef171f3879","fec8edc9d955969b814a7e75a7b409a1c5d0541876d01c9aa4b6f5c2fc5e0ebd","d45bc498046ac0f0bc015424165a70d42724886e352e76ba1d460ebc431239a5","9f638d020ab5712be98b527859598539c36737e98a1a4954785d2eb7d9f8e6f8","71ab0aff99915707e1108f34eb54a943c0b05d8a52bccdc28ab8e99b932e001e","56c4def5d7225993cc7e160e234bab0ba6c3e499bf8797c78998c08a58b2d590","96f9a7d6123c2f992a4451d7620a98060dd3fe52d4939d310db9aeae208bb79a","c6397d8bfce4fc8f18b06080d55d5c8d32b808a8d30b4287ba2e3f17ea275fad","a2b9c2405381aa25bd2a1d4f7d5aeb3aa86affa66d1b37853127d5bb3edd3b51","f7d667eb805813228d879a961b983af9640e1576cb73b06bcc145059b83cb595","50544dde242a1efae74eff6031be1faf4202091e61b4420d53f90dd6cfcd2af0","2eddccab68fa76b14a1e81a61f22eaf2e18282c2192bb1f1622ab64022157010","4472868c563353015c460eaf4d8831abc759ee62bda064b4b2280b6531661374","573c2df45d3a276bf5b1a22fff88be3885f54779d1a2227b55b59dcf218d094b","de162c0f97c8c3ad21c3d3f914e4cc8c02d5c95db30474da0f5d2d6efb95079f","add541722d624067b739fbb42dc1485fbe279149b778138d62373f3d27e769d4","4b8345efdd5dc7502b81855fecf605340dfe8274cb1157aec58f71f623e88a03","df6cd476b620c9c5a9dfae9fec4b147522526aaeb6f4df3cc45a17e4111d9b92","d80cb8c9b60b53d7ae762c123c3bc5c01a83518ab0269c733615cfefa970c4fb","fd27a5b548c59327a5afe1978bf179fe659d30b9b2e043a844a35e9f5ad20085","6e8244892cf2921e40833d70e66dbb5f6f3d96c33eadf86419a9d7f5acc084aa","53415c79b44ee2735f1d0b32740771fb89ae7b40e52d3a68e77a8dbba0618aa6","82827b485c06ed4fda67411fcf1c1e615a3e047646c6dd621586293ec7e1af57","ef5e97f8489199efe0c02f4e2f8d6e05cf5eda34709fa11008ba82c018b12708","073c529c6a252bafc396f7312e79d01ec606b8ad7b4a5410807bf30f55342166","10615d6dc7af89bd014776cb9c1be3028cbb7e18fd9fb35e79017d39641d7cba","a43aa2f2a09ff3f6b34943408aabdaa24421568fb31ffa887b60f435d39a59da","2549348c1761f6e8b24e26d504785b409d85b2556f777616297a60ad82d86f6c","63463f601176768b41977705a02054863096df72f91d85a2cf97dc9dc18fd6d4","c60de75e439c4dfb388d93198cad6ba9a4eecc9c9d421f08000af0424f29949f","9da8977c7c3d04895533d0884f168d673fb05974eae020daf5e01cac5d2b06be","376dbce3a78c5bdf50fd4a2e0accdc5657bf674a1d2697db668151777e39bc3d","f00e97bc11eeeff9af6330966538c7c2f6d5d082ef68e7d44c7a93e0057eb27d","fffe1a864e6469ab5bfc18c43ea3f4e732b7b18679a0758ab5652b06311f1e36","1cbcab4ea8e62939e2d9c4cb08481294cdf013aaceba2fa9284f7555c06572f2","480edafee29b071cc079852d71705cf95a55b1424810890b888ca303a8035176","9301927e69fee77c414ccd0f39c3528e44bd32589500a361cabbeda3d7e74ba5","300c505727bb6c8d46bbb23455b6d54192ef47e6c2835bc38ed0852449b7a667","4764f810685bf6d2319de3829b7ca0076286ac6105b6dfe951aa89252f6ba322","e8e369cdd2445d8ce2489147ddcd50532aa2060d65c85d69ab99aa0367a667b5","e10c516efab55f2dda33c900337b82dadd450b9d9cc7c3d75d0266c710b3cf26","e3672066731508733fd9b14b52b8f282627d9323c967e46541786d897c39ee14","ee77e6910dbb28fe00048d9c72373207599086131a3a397569da259881a2cf28","29ae0eff843b8309dafefa5d37b6e7a2d2dcc348fb6cda4be1cbd42a2808802c","d2eddc655fa3da93eb15c82eb45b84c8f8c7124368aa6cfc73651c46b62fb35b","c41c457144296be976fa42f779bddb6899b88732cc7a8b8d53c8efc6a51f4ddc","cfeaa026659bf2590e9dcf70263ebdc5f83b0a28619d486cc5855198d884cb55","4b3dd49c2b3c01050bc256e16f152130321f354159cf35df5089fc8b5117101b","695afa410a680d4e81d60dbd02781a2d1c827b875e705dec03bec13179f464ab","e58c3a81e2e13959ca7b48c2b15a3885d60a3b372a0eab444961bb2024f0ef43","5fde5256d563e8dc543f48dd956c69d5b2b4b1148c8943ee99bd3a70996fa0fb","eebff2b7ec06777806ea1501ffa27c40478cf7375920e36ec284dea3f5f2ae0e","754c96d6ca2a563e9c811511d4fac851c1a46341f4b4f5d15dfe080066350f8a","6478ecd4339cc8c1cc64ea677d348e3faacd84d26304b5555c573765b876f531","f1ec842a22698baedbfe18fafba50d25a073aa1108c384bad5cedfe244fbedaf","ab863eb7b0d3e24d15c1c71620d841714ff5bf3fcbd0d22b2830c55f6a933642","13150948d46f755df79717399efd380cd548139e3fd0e8cd492a612a8b7e8168","c3e47fbc5e7299aeac06ea95558eeff42e4432bf880cc9979f3c8e5e90f494d8","d50778cb817bfe8058fbf72fb909eb43630797a7277e1d3ef71a3569b0f1e741","1214a9f808988f1fb06d653c11ce6352eff3f46b524cd527f4437b7d72859df2","1ac1d1d80b9ce0737641b2601dc516483bf88eab9697232eebc5b103b37002e5","9c0fdefa73b91ba34be738ae473ba452bc70eb3ea9c9e1099feb2a7b69cdaacd","6143f80a29a7811061094405b8c3fe55e61cf76bce2f427eeff69aac0daa8413","46061732d4ef04b0b33116603a91979585f5660c9b62ae6b39f1085ecbdc3406","7b85388c5be25a084bbe14373730481a4be30c3bcfed94607a9b00c27f693976",{"version":"96bfd06762b0c2059a6667f74916662e1bcf8fc293c875c4c5db9f5a05d16228","signature":"c3544d4dfaf181f3bfcf23e1855e0f407182f2edf256959b2c3598f1720e6921"},"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1",{"version":"72c5cf5b41eefe412ebcf637c3b2ed3adf2e60a56ce0817abde1aae6d8338a1a","signature":"28c46205431761441e7a45e1b4f9cbceeb90dff857c0841f4c447b0015ac8234"},{"version":"331a2a9702c1f323d69d9d461df3457396b792e4e6570d4358e7e78ece67bb0f","signature":"3530e383dda455d2359a7472ccfcd12e072efd2a23c13314285876e8c938cb46"},"ba1fed463e8a21ffddb67a53df3f0d818b351991723736e167d065e2de1c7183",{"version":"22e311fec88bcc49b2b1fb3c9a7c082cd84b3388c9bcc7b9ef08253f6fa74e26","affectsGlobalScope":true},"c186097fd9b86681981cdeba08c0b6bbfcd8b562ab490c25656d85fef8f10c79","ba8000982ea5a56c7429de8b2e50d6a034479c3bd8262b58bc1fbce5d1404140","e1c4e059a09440d0e4aedecccdccfda66b2bb8e51af2d5d8c702752845a33695",{"version":"6694e53eb929e4ccc5de56f9b08a7be33892b25e5ad9dfc1f1488cc417d5588a","signature":"bb7f18567ef96bffa2347f62a9ce072ce9106a996e6725a0975a065072460263"},{"version":"30f3d86477d5629b8669a9a776078f790e7de245db91b151e09c5c7e8a2c4006","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","a3ca095da123d2d556d663733932d71874e6c4b4874c76118463dedea4b0d2ad","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"d8d60d4636de5437353a773942766c22956a4d61b4c6b254092a51a71e4e1bed","e3fd84e6470b7e0679c4073ee5ce971d324182486dde5a49b67cae29168b51d2","dd8331d0a5190a4735ce6c152e420230188c4966067a756673c36dd7ba72b10e","90d88ef5d0e8d585711a8ec68c01d262818f3425fea095fea345b81ec8c09a36",{"version":"d57e7ff5243e0dcd04cf2edf9ad9520af40edd6eba31c14c3f405f0c437fa379","affectsGlobalScope":true},"0f882d4ae58f431454030289154feb0132e1b00ca5c3197c6b749bd098aed73a","7ff7f4632a6e7b6872fb1843f3c0df495b49840eae2a23c6fbc943f863da8c29","d267771149e172ade39e3ef96b4063209d5a7e8291702fe03983aa52f2b3d5f6","a78590b0efcef281236e3234520c348d63be1d4561b63b20e6c3b6fc18b37dfb","4d59c6a10b6c79a0927c79efa89b3c9f71d174ec14ec2792076cfd2330d0cf8e","a496f51933422872de22729b7a0233589325a1a1707cccd05cd914098944a202","fa43bf91102ffc4cfa22b73c7dca50023f99fc0bb15f7fb6201d98e31ab112dd","06a38095ad4368314366bc08f7cbc0fe274ef7321ec611005d0bdd9c6565e4d5","4599793db9aed9b84677f0ca1cf7ef3c69bb91cda4fe4329cbab778ca4d80a58","ad0028f96921778931fb8419d8de33b10908314fa99699de1702020f69235da1","ccd2a35321c0786bd3808042dc43b960cac13f2cc660ac37a0087e12bc97d2fc","df524ed01de4f19efb44bded628dbba9f840148be4b6cfe096e29d4b01589de3","2e3981b9cee48174ff85ae15019fd72933f7023a4ed05094740f7e6f7775623c","836ebdc3b9e4c006acc4f405b7e558e56d47830e05c40d991b1e27fe8bc91157","2cc6b617c6120ba64b5778ccd4b74c951adc3a3941bb6b39f47d48701c44af39","eca02b99615a8f1652e21399d832618e38bf166c0747c9247349bc901a2f7741","7f7d6d42e5780e86f5b860a6f95179fae06a368b3af28c1c4230397c47021a59","4740a7d11ab3b381be0f269f1903fb3ff226a2fba55a01756b2997e67cd853f2","863dbc4e77f0353e6f9d6bc0e2b4622d5c07ff6f099ff66cafd7924b2ff4dd3f","bf034a18ed7e2a058f9e48c4c2480a124138fbd3586a80c77736a9ec079d12a8","f88758992a0bf13d095520aacd4381fb456ff121fb9aa184e6eb0eecb26cfadc","c249e9ae33bfcad97deec3c73c9ed2656e112fbdf22deace0b39724be6a5dcf0","d8b45924965c0c4fc0b946c0b6d597aa8d5de9cdf5c727e3d39422d17efec438","d07ea953cfea0c4bd11641912846bd955f4fd26ad2b7b8a279d69c7ab9cb3add","feddabf6ab0eb191e721f0126f3db8688db97c77a1234968bde7a2d70c4ae513","dbbda62ea5f4d1f8b40cc2b7e2e2fae424abbb4715a04a3659cb8b317f7b228b","1eef6a64835182ce1f4934a366e937120e2e2107b12360436fdf35e99b3ae703","7f5cb3a03588ed46d52a6c2138315d930cd6ffb5c2134247cd07bc23cbea0b5a","7797f4c91491dcb0f21fa318fd8a1014990d5a72f8a32de2af06eb4d4476a3b5","f39fb20b83c3f9853c13d4ac95533760979d3023c0a5affe2c0a62d91ab3afd8","e4fca08aed8afb32bb8643d7469810bc8681115fe398e56a028df9e73b2d867f","2622639d24718ddfccc33a9a6daf5a2dd94d540ca41e3da00fe365d2c3f25db3","078966067552650f44ca96c68eddbb8539f30ee48a9ab3f24abdcf0a4037b535","2cd6250c43dba360377481c98d48db6ab1532a7527339edb0deffddc28ba66b1","7a9d600990fbe263a23daebed9ba1bbc5761e45679a7e2b2774a42756ef077a2","66bc155515fbea8c31a4efccbbac44de7c037b01f3aa00b76312cf7252725d30","5703288ddbfc4f7845cdbf80c6af17c8cde2a228757479796c2378b1662fcd48","0dfd353f0c16dd5107a7e0713dc52d0a2538293b0a0eac6000a017f9c0a60b56","9cd683a4663ef4d9c6486f1b8a34c73bdbc344d69490931bfe2fbcada12ab35b","42f6a409bad5259ece69df25d2b8ace2ff2ade45fe6386ee45203bdd9329f971","8b86677943235a5e5952f9371f7dfe89a9975651c56c74d58e090cb69bf6f2b4","2eb162efd6dba5972b9f8f85141d900d09da4fba23864f287f98f9890a05e95f","3f878fb5be9ebe8bd0ac5c22515d42b8b72d3745ef7617e73e9b2548ccbdf54b","e9ed562b7599c8c8c01595891480a30f9945a93a46456d22ee67ebf346b7538a","e7bf975a98cecefe2e8902fb7da9314675ecdce553aea722aaec97327668e18b","3d36f93648518338c875d9f77a8eab52905365483dbb3afe43ed68f1b712b67c","4fa54df9184d291bd78b36f5063372042cd995460e906cb14014e40d1442a326","b4e32bd5e3b493e4ea6b5ec69a4c02aa1fdaa78e1df9a863bb07604de8f9d123","f6bd1aa152ca2b5064e06282ee3137842ae6825b6b09aa89a2ff063b976a56f3","bce2390bb3a76f8bf2ba4397c66db5277bf3e698ee614347e5eb79d7fc0942c6","fbdc8d7cc7daf4101bf567512c67fb990d8fe300e0ba7f213171192177f44aa0","298e0da6d858e39fc0c1eebfa4f5c8af487868c6f2e98c3ef800537d402fb5c3","3b6457fb3866562d279377f923cf3758c80ed7bfcc19414b72a24d0a98188e0c","4fb5d7efb3520b92c1b767ce18968057c5e70886d7fb3416c487231df9275af9","df2303a61eb57b2717d17123e82bc0f3fd60f6e4673cb5506192dfe23c9480bf","b104960f4c5f807535ab43282356b2fe29c5d14a02035c623ac2012be3d5f76c","a35ca245eb852b70b20300546443abb1fcbac6e5066e4baaa092af4ea614d9b5","55da140feab55f10a538a9879a97c4be3df4934cbd679665c91a7263a86095e1","1a39e51e3362aec7d4edec9b317ff83916fe0471f86ddf2d3ef3af5952e87d9e","4b3f36b96f129a8e125c91d41a05f711e73b3285f80bceb3a1aecb13c97c4502","852779920fc4220bc42ec6d3c9b6164e23ea9371a788531b48b4005fe0cb4392","9a82e1b959524c1abfeeb024ee1a400234130a341f2b90a313ce4e37833b7dd2","515b97cede17d91c9669cc1c7fb7a8a5f0a5f2d8999f925a5f70b4ebea93723e","08e8e57241f874bdbf69ab2b65cb0ee18b4183d5c9452937da49b934fc679c4b","7a5bfc619b1ad803f11c50668574b16baba8f0e8ce1c3e8ebf16421e910474d2","644addd4811636da491c9546654bc005ba8599f23df6d731d91eba86f3137fc2","a9249493114b181814728cbfeb7234738193a4169b654ec4705d48d7a4d25222","aad6f20d6eb01192ae02294361faa6e1f320d72447b56f433db853bbe80b15ca","876fbedec2f494eb6f834ce8636b07d581c657d205d81a3ba894eff0facc6b84","58527aa45f11c9b259a6a9d78b397f35020bfbb104f4d3bb177039b5c18146bd","91b8b61d45b5d22f3458a4ac82e03b464a0926bab795a920fe0eca805ec476eb","2744532f8fb960eb78497ac660db719f503a10c801f87131d26fd9cbef75dcef","6884287c54891ac19cfbe056f3ed29cab1732a00dec69bd3b140ce62c11783c6","393dc8619d7e27653d5e4eafe99ec5501a6b043db50d805c2d40465a50b857e0","cb46657d3237f80742d5701ebcced8f6e5cf8938442354387d6c77d7048dfae6","9caced628452876da272decb56b3f4c18d9aa66b413be5b1ce322933aa1362b6","661f322e45545a554e4ffc38db6c4068a66e1323baf66acb0d8a9fa28195a669","91d70dce48c2a2bb55f0b851cf1bdba4202f107f1e8fdf45f94ff6be4b8e8f99","ce978e20a6f26f606b535f0d6deb384ae6a73f8d0bd0dfca0925f5317cad1f25","f2d3567210ca4d559d8297d6c4402599c93e3bc7485054192d38db5e132fbc0a","887d8058aeeade45984fdb8696147078bc630d3fea15ab2b7baacde0fe281fb7","ad27aa59d346179ac449bd3077d245f213152879e4027356306ccf1722d61d51","ea546a7ed9eaa71ba78d4d392509dadea4bafed283269dd6c4b09e7d8824e986","4ec0f2a141a9ae7d3557b8efe630ac2021bc3a9ac61238b59293f4cf2f196e82","b2db743c71652e03c52d51445af58d0af3316231faa92b66018b29c7ba975f6c","0863a5876c85fbaffbb8ec8aeda8b5042deb6932616139706d2b82cde9d3f7c7","1294b8ecdd212362323f349dd83b5c94ea77bfee4dad24fc290980a3c8af6ce3","ba9c46725e2a0bd9df59d3a1e801cc60f90db3ef7817131c53945dce2b8c0c56","281d373eeabf80c4851f8de991e6abe4d385c30379d80897bbc3df3dcac99cee","624c5dce95672d9dcca40d9d9d82ef855f5f902292f43aa265cc8fd963c6ce84","8a48d9c6184992d1c3ed5daa55f83d708c37582916926a5555a900608f804b60","605dd288c636cf9b5317fe76dec75d3c7fb855fdcd3ee8cb4fea7d7091ca6fb4","e6d6ba51e1280c00199ae4a4ab19df78f965df81e21aa1f608a9dd21219ea798","b5a615b0ad865ffa562980a10bda162ac1744fd363b4edc2cfc664222071cbcf","bbccd721363897950a55ce09529503f25a69522e5c91a22679b66e941e5f8654","d3a1e70795c38d7851b6e4f3b441c5ffdae171d6e2576a2204b7d79059aeea66","d7b8d41887c5fccfe19802c4336d34348b752abf0d98839575699d71deff60be","063fe3004728b8516a4d799ee16f9a71801ba24e0443dd98638cef1bd4353a7c","b8a0236f47d9037efdaf93da602415ae425dababe097fc92f83fd47ce9aaa69f","fab7912fc3ff45fce2f5d5febc9494c4d0a85d6c63fff68f21e4669c32eaacb9","f6c3fcb9d75d8aea778236fd9327ceb935b41865dbf3beac698be77e0ae9018d","b20bc124abd8ee572d0d756713ff987b116cdae908a6fcbc40e80d4b999f56b4","a599f3f450ad62c3fdc0c3fd25cddcc9332ffb44327087947d48914a8da81364","645dff895168aa82350c9aa60aa0b3621b84289fef043be842f45a9c6c0ac6e2","f068ff5b7fb3bdc5380e0c677e21de829bd25cdac63a9b083fdc220fcb225280","09d2fdca6ea6c135897a26976ad3c0db724adaf23ef4e38ad852b1d8efef1ae6","15de5b7739bf7e40213a200853bf78455ee5958af08eda786605a54a7f25ade6","f3acb439e08f0c2c78c712a876dc6c2080302c46916f1d63b7dbe509616ce9ae","37862e711637ebd927907a82cbf0143ea30e95eb165df554926c43936b1d77a9","89e253db2c2cc9a510c521f14dd2b1aae4de2556ee5159ad8d118d3587e3a880","3d0a172cee184a0f4111a7bd7fbb8729af3f54b30c06a2677d85c20ea9c811ab","d6a07e5e8dee6dc63c7ecd9c21756babf097e1537fbc91ddfec17328a063f65d","6fdc88b1287c276b55b7f7c4c7b49587813c763eea9751ce0baf0a7e61cd5d89","6a02443704052768bd021f24783aa104b02ae4444e9b735317bf13c6b857a11e","37987b0fe9800cf25473c882ce07bccdab2763c5681c1a2d16816aead46aa8d1","c84c03c721154068e1a60d83e9e85819bd3ef70b824ac2edc498aa31c06e5781","c23a403716784b53cf6ce9ffff9dcdb959b7cacdf115294a3377d96b6df1e161","c96fb6a0c1e879f95634ab0ff439cbb6fff6227b26bbf0153bef9ed0aabba60d","db936079fe6396aad9bf7ad0479ffc9220cec808a26a745baebb5f9e2ef9dbc7","06bc0b9cc7bf0b92534f1517fe5adde1f23f60cc6cc5c59f8e1c65db48a40067","919a753b0cbb12ccc606c62e2d34884d75a48ba19b1dda497c72621b11dac088","2c27e33ee0bf722988da00abd582cc9b806ce3fd9153a864800a339ad13f3fcf","92d7b3a5aa5dc872e54cbad2a7094b3ea4f72c7901de1d07b4c334ff658297f0","7a52922b38e9686d5bdc6e75774929eec6688d26c1dfe4a03ddec77ede468e87","aa5efca2833d89b55248f1889a6433dab1b1f41768e9a75f8ce35f9bf56c5ec4","0ba3b34cbe39c6fe3ba89f7f6559f10c05f78cd5368477d9c95d25c390b65931","4e82f599b0cff3741e5a4f45889d04753a8bb3b0f95d0f3328bcfbb4f995b2a1","8354bb3a9465dc2e9ccb848564945e0818d3698b2844cfd69b0435080871fd25","1218398da7c8dc4add10bdb3aa2856aad54b123d847eaf574d1d694ac269bfb5","189014f3213ee7457dbeea04dca10ca5d9ed2062cd39641aca5f3b4c75de9d99","b637cd92688a6cdf4f8f184ff529dc2bc7f15692828e2c0c66a60e6972f400c7","7061e83d6792897077bcac039fccf7325234004769f591c63a8cf8478bf551bb","f2d2c194c4c6ba8cfbacf893e371cd8482102b368c1a5ea4771fc956bd0a6a19","277a358d61376fce7ac3392402909c96cf6a0a613146549fc0165ccff953e012","50614c808e099a1d4413786f3783d9eeaaa74b267f2c87fcf8a893287e91c301","f4cb6530f248e87cefa74ef623206fec805f6252f885f8e14ef3d1a5872cef2d","38c332caadd8391566552395d592076470a5e7423f70964620eabf05c02907cd","eb17b5bf1fc763a644c21d76572c0e41e351c3f6dfcde649428d5d829f7294d2","cb124162c87b29ff5121e3ee5bb29c782f101e0135d6c2644ab1b31d530a435e","406d6f5d3707c488362fb40d1c1f8a7b0a42b70554b427160185d93e430228f5","2e9776410c5bc290d9432a9215c67398a273e514a79b9e15f32ecddfde8a03be","313ff8df074b81d3e4f088ff3a3a06df3d9b0d0c7f55469ccc2ac887ecb6b867","c718475bca06806cc243e77777641cb67ba68f2c57321a4773ebb47760a3bcf2","96e6bf811343caab5112b68880905c5d20d9257054afac6c18e718a4c549ed27","a2793bc73ba63ca7d259cb0f0b61d0023820170d08a1f9715006c8042d060165","d5011b38165771fdf75a9a06d6d379a1fc7edd7eb695ebdc52319fb6e3c6d81f","88417fb19d339304e9616a38ea513251047c9e300c81f9467fc317df8a582e71","3e8e2d132f726dddbda57819f5391504e585cb3beab6b32203064e7e40618583","6e23627cd3f10418b5b2db102fdcf557b75f2837f266d88afac6b18f333bb1bc","866046dcea88f23d766a65487ee7870c4cf8285a4c75407c80a5c26ed250ef8d","019f4f1cbc781cc15c6173f8be5ef907405722194ab297127b3c3426e5368339","41f4413eac08210dfc1b1cdb5891ad08b05c79f5038bdf8c06e4aedaa85b943d","c79f1c8b51d8475dde8d2973f740f43ca34b1f0a95d93649cd76c1ee20abba19","35f0d2bd2c5c05c0cb19095bf5b7c44365b1c88efe6285370855b90417277a64","8264b129f4c4eb4799703f8e5ee2223a184d1cdbfc782158b1f40a88a4435a1f","527ddda6f8be1279f3294714534c49d6e90f238cea325519882ebf88d7ec5bd2","b23877792e8bd00271d0ec5d401b68e4228540a4316de3d9dfb697b955c161a4","35b2eb1de01633db90d41abe93730b29984856fcc840b4c2801bfd3761a2097b","1fd5a6eb7fc5159b80a848cbe718eae07a97998c5e5382c888904248cf58e26f","2a6b4655a6edce9e07c7d826848f72533c9991d40bc36e3f85558ad20e87ce2d","6e3d29fdc96ebbb2ac672d2dae710c689c1ea0d0e9469e0847616f3c38fd085f","d505055b8fadd42da235c85947911d8d198ad70c5f5775991e7821d4f89c90f5","8b5a5852099dca7d7e7a7cef6d681dc1586aafacdb963ca180fe5cabbfa3a24b","0d1aa3341d1ad2064adada71c5d01a2f572e4aac09410e5616d90894105a0eb9","52494ca5a884da3bf11b8165ab31429715f0970d9c6383240c5666f4bd713e01","162fafa2291749df2ab4516854aa781fcee1d9fca2ecd85fb48ae794c0700ce2","b4b9b51ee6f6309cda2e539245235a8caeca2b1d6bf12b5e5c162d17333c450f","d2ffe8356f060b88c1c5cf1fa874a4b779fb87fd1977084876e8be9eab6bf485","c76053984b39150d00ade365b096a8bc21a4a7f2ee9e0a926711b00f8e7bf701","956b510767e3d6f362ea5800510635197723737af5d19ae07ee987ea4a90bfa5","cd1a8ff61f5063d7e6e2094e25d35c90b499961b63911f2f4ae0ff5555c2b4d7","1cf09b5945779e9bc75c4dcd805fb149c28fc90da3335186ef620647a3c540e1","9cdc0b9a313090ec45b34ea1eb02fbace433f509e753634b043e9b83038261e6","c93474cff0088351a65d3cad24037874a26a5371a48528563e56efe31cb3d8bb","b4580df8ea7f62d7b06588001952bf69426e6b03cf3d2569f5f608e45f29ba08","de27f7bb9be9d8a2b4557ec6503b8a315f74d598ce9a0ab81b5ed5610e1a8e81","fe3c378dcefa7ed8b21bd6822f5d7838b1119836da75ae1e1fb485d27b8ffb62","7365bf3333d4277b6fe374ed055624e5ec080dbb919e2d78f1cb75a3f1a4b4f6","a5fbf3bc5c16ab5c84465ba7a043a4bee4c2b20bd3633d50d80118a3844edbaf","0923e4ac8c894ad507bd2daee0df66b699de88467201381ece011ba5a080e1ff","e4f6626f827ea509255647e1b6db82145a2eb1a6b46202655e7d9bb19145c33b","26e23972c40f378f0301d8d7025ea895557c2865a1a31c8ea9c3fff0dbc27075","bfddbff94132b423ad1d71bdbefb1d388c21a74ac1a8742df9324e5bf6109058","bece6bfb1d236c41747834f9a7e579be18ce54cb034f54f4ae1ea618faeb5708","0e59cf55095972c87a7cb1363dd482e40322be78b9b4c7a710cba60a596eb935","c52acb7126fe8bf136a21908caa39a9a302950b87aa6971908f9e1c29c0fa19a","11e8eb54177783e97659925f09c7000a69311305161acc7d0f51cec9ec3fac20","f915c5b0118fbb957f69f42617c0d1671047db55121c4dfe61c14729050410a7","b707f3ea2029672e11d198485581a9309226eab53dbab21db74d8db3526d0663","bd5001702011525d057662a666fe601fac56067d69528d7b4ef4dab83ef6d73c","ad4fafe8ec02d836df20a48e81156cf5323d591026b8f677535b5832022268d8","bd0a3ebf3935ff6be6d1d79dba461a63c758085d232065219a09b72cf1ede3d6","7f5c4b14f6698408e9d05ae73aeb7ecef75c27734e04fb5337a742eafbfd50c7","faffbf4dbc1e3a09dc6e54629fe20390ec001476a67fa3d40edb3f2910c0e051","6a8b556617e07a1ca3052d1e70e9236b4e171a0b08d09054eaef8826ad5d18b6","b71ebbdd422b094f638fb958c10d7ef8260df87a2305a54db0296381406c50a6","8a01a5903999938c6af690d388789931c6c6862bd89033f6113fa894ced34dd4","46e30c27f13d79cf3aea3221e3201bd7ae961ff548a4ddbfd3ae2da54478a4ec","8a70850984a40caf2b1007674fdb7340041498e2ab90f36b2d68c0bf403e0b16","616ea4ff77f89fe59032df6f80ebdf5f40789419341de9b25d2946485c85ad05","de2d4b9daf5db51547d44fdc1163fa037ec6acfcb58ad4698a62d3453b6f44f9","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","ca6646a7786dd130c0615882d16e4d2df116c47da2eba44142426cb76bd16b46","72cfa60ebbb814cb1c38b35c903fbf8cf3c822b24c9df6d9260b65116fbbe799","07082818c2de24059137c6d53eafd75aa25ca8e5060227b199d998b1fa5fd4e2","b33e88c91d23e9d85ce5eb12c339daed090674db53050f00fe9446c6bbcea502","6acf8a984c2728906edeba2098c5c51f44a4520bc4a48c65b973bd785537178f","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3ca3179dd4772b596ed81df8bb9c541e1416d86343c582a105013b20925de051","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","524ee68b6177f628d5356976603b37a36859541b22629d7d6d2e7b20bdebb60d","23c77af9fdadb3569d425dbc7bbf06a118a4b02bd9db14b7abfafc3183d58bb6","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","429b6df7d7b94389bd42cfdf39bccea903acd3628498cec6172302801fbeac89","ebe77545478bf39a23059a3b0ea03d2c0e502d9c8e1122015e19213cd0815097","ad8c69f4a471cafdf093acdcdf3b444ae56b227b92024ae45f8c9c9c8be8afcc","71a6149f67a64b55baeddb83e5254e9e017c80c15a260d6f6b3a12deb3a575ed","6c881abb4a0e7579a9d5b63a7e4da3d98b094adf0f1d1fa75bbe433b9f3d7c27","66d6844502d7764a8e02b632228c4c5a95f7cac7bce1a0db07f0dcc377d3755b","2e1be3fee9ccef82555b2f039e8e100e0a176ee2d18b0de95e7da6a61e1e360a","5c48fc6096e361e639c1d0a9f7f066242bf757ace84843582d29c6813563055a","bebac54845e03ea36044fab99b5a51266cec2492fcd8a95bde6d5527a3174732","ef141fd0ac854fc92cbc9a13cd25a0ac87b3961f70d516f191bb3e29d3b183fe","a90c6f5554bd74f63aaf03751e6b79d01a457b59339b03d308c16af8f266cf47","7d5d42c18c62ef137b8830b7de8432b466c8f4d93fa8476ac36d2f69114fad1e","484faf958ae025f8d1ce6cb9c75e12c2148190efc22151299d14d10e3601cbba","66ddf54cc3d66cdab1b69e6879af9876bbc30030f85e51ba8a73223339e65b85","734166f6ae00b52512304c153644963fd93cd152620231ea7a0560802c968d28","15ce0cfa537ada25e07633617a993a8e02827939c2128d39c010739f28a0379c","a3868158152cc946c27c5e7b7803537c14cada9bb442c96c759c66b0d01f9eca","00ee901c4135af0d5688bee246d1e42ef7421cec93c32587e4814f744b95e2e8","af30b8feae6399905adeb5c938558e666dc81113ccf38032722583b95a65f9ab","60aaac5fb1858fbd4c4eb40e01706eb227eed9eca5c665564bd146971280dbd3",{"version":"b40add723ee9828e126ff18a0a2fb5124958ff911e1836bfe461916e434bd051","affectsGlobalScope":true},"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","d9c5f8d21771758700d7b6eeef796700b99c643a5818195cf0d01bed98407df1","4266ccd2cf1d6a281efd9c7ddf9efd7daecf76575364148bd233e18919cac3ed","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"jsx":2,"noEmitOnError":false,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strictNullChecks":true,"target":1,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[249,301],[301],[48,241,301],[241,243,245,301],[241,243,244,301],[48,301],[48,99,100,301],[100,301],[99,301],[99,100,301],[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,301],[48,99,301],[48,124,128,301],[144,301],[48,144,301],[143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,163,164,301],[48,124,128,162,301],[48,124,128,142,301],[122,129,130,131,132,134,135,136,137,138,139,140,141,301],[48,122,124,128,129,301],[48,122,131,301],[48,131,133,301],[131,301],[48,131,301],[142,301],[122,301],[93,301],[93,96,301],[93,94,95,96,97,98,301],[93,94,301],[94,301],[166,167,168,169,170,171,172,173,174,220,221,222,301],[48,142,166,301],[166,301],[48,124,128,142,165,301],[48,166,301],[48,219,301],[223,301],[249,250,251,252,253,301],[249,251,301],[255,301],[274,301,308],[288,301,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,520,521],[301,522],[301,500,501,522],[288,301,499,503,522],[288,301,504,505,522],[288,301,504,522],[288,301,499,504,522],[288,301,510,522],[288,301,522],[301,518,519,522],[301,499,519,522],[288,301,499],[301,503],[288,301],[301,499,522],[301,524],[301,525],[301,530,535],[257,273,301,308],[237,301],[225,227,228,229,230,231,232,233,234,235,236,237,301],[225,226,228,229,230,231,232,233,234,235,236,237,301],[226,227,228,229,230,231,232,233,234,235,236,237,301],[225,226,227,229,230,231,232,233,234,235,236,237,301],[225,226,227,228,230,231,232,233,234,235,236,237,301],[225,226,227,228,229,231,232,233,234,235,236,237,301],[225,226,227,228,229,230,232,233,234,235,236,237,301],[225,226,227,228,229,230,231,233,234,235,236,237,301],[225,226,227,228,229,230,231,232,234,235,236,237,301],[225,226,227,228,229,230,231,232,233,235,236,237,301],[225,226,227,228,229,230,231,232,233,234,236,237,301],[225,226,227,228,229,230,231,232,233,234,235,237,301],[225,226,227,228,229,230,231,232,233,234,235,236,301],[273,301,308],[276,300,301,308,544,545],[258,301],[261,301],[262,267,301],[263,273,274,281,290,300,301],[263,264,273,281,301],[265,301],[266,267,274,282,301],[267,290,297,301],[268,270,273,281,301],[269,301],[270,271,301],[272,273,301],[273,301],[273,274,275,290,300,301],[273,274,275,290,301],[301,305],[276,281,290,300,301],[273,274,276,277,281,290,297,300,301],[276,278,290,297,300,301],[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307],[273,279,301],[280,300,301],[270,273,281,290,301],[282,301],[283,301],[261,284,301],[285,299,301,305],[286,301],[287,301],[273,288,301],[288,289,301,303],[273,290,291,292,301],[290,292,301],[290,291,301],[293,301],[294,301],[273,295,296,301],[295,296,301],[267,281,290,297,301],[298,301],[281,299,301],[262,276,287,300,301],[267,301],[290,301,302],[301,303],[301,304],[262,267,273,275,284,290,300,301,303,305],[290,301,306],[48,301,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565],[48,301,550,566],[48,301,566],[126,301],[48,123,124,125,126,127,301],[124,128,301],[44,45,46,47,301],[301,571,610],[301,571,595,610],[301,610],[301,571],[301,571,596,610],[301,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609],[301,596,610],[273,290,301,306,308,543],[290,301,308],[273,276,278,281,300,301,308],[301,615],[276,290,301,308],[301,528,531],[301,528,531,532,533],[301,530],[301,527,534],[301,529],[48,124,128,186,301],[48,124,128,190,206,301],[48,124,128,190,301],[124,128,207,301],[48,124,128,181,190,209,301],[208,211,212,213,301],[48,124,128,210,301],[48,210,301],[48,190,301],[48,181,301],[48,176,179,180,301],[181,182,183,185,186,187,188,189,190,207,301],[182,191,301],[181,183,191,301],[181,182,183,184,185,186,187,188,189,190,301],[191,301],[48,191,196,197,301],[191,192,193,194,197,199,200,201,202,203,204,301],[185,191,301],[181,191,301],[190,191,301],[181,186,191,301],[181,187,191,301],[181,188,191,301],[189,191,301],[175,176,177,178,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,207,214,215,216,217,218,301],[158,159,160,161,301],[158,301],[48,124,128,158,301],[48,158,301],[301,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,328,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,368,369,370,371,372,373,374,375,376,377,379,381,382,383,384,385,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,431,432,433,435,443,445,446,447,448,449,450,452,453,455,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498],[301,357],[301,313,316],[301,315],[301,315,316],[301,312,313,314,316],[301,313,315,316,472],[301,316],[301,312,315,357],[301,315,316,472],[301,315,480],[301,313,315,316],[301,325],[301,348],[301,369],[301,315,316,357],[301,316,364],[301,315,316,357,375],[301,315,316,375],[301,316,416],[301,316,357],[301,312,316,434],[301,312,316,435],[301,456],[301,441,442],[301,451],[301,441],[301,312,316,434,441],[301,434,435,442],[301,454],[301,312,316,441,442],[301,314,315,316],[301,312,316],[301,313,315,435,436,437,438],[301,357,435,436,437,438],[301,435,437],[301,315,436,437,439,440,443],[301,312,315],[301,316,458],[301,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,358,359,360,361,362,363,365,366,367,368,369,370,371,372,373,374,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432],[301,444],[43,48,92,122,242,245,301],[43,48,92,124,128,224,246,301],[43,224,239,301],[43,48,92,122,142,223,301],[43,48,92,142,238,301],[73,301],[48,70,72,301],[71,301],[56,57,58,59,60,301],[56,301],[50,56,301],[76,301],[77,78,79,80,81,82,301],[63,301],[77,301],[61,63,70,71,74,75,76,83,91,301],[84,301],[61,63,76,84,301],[50,70,76,84,301],[84,85,86,87,88,89,301],[48,84,301],[61,63,76,301],[70,84,301],[63,90,301],[50,51,52,53,54,55,62,301],[50,301],[50,53,61,301],[49,301],[64,65,66,67,68,69,301],[122,241,242,245],[224,239],[48,92],[92,142]],"referencedMap":[[251,1],[249,2],[243,3],[244,4],[245,5],[242,3],[241,6],[101,7],[102,8],[103,7],[104,6],[105,9],[106,10],[107,9],[108,10],[109,10],[122,11],[110,7],[111,7],[112,7],[113,12],[100,12],[114,2],[115,2],[116,8],[117,7],[118,8],[119,9],[120,10],[121,2],[143,13],[145,14],[146,14],[147,15],[148,15],[149,6],[150,13],[151,6],[152,6],[153,13],[154,2],[165,16],[155,13],[156,13],[157,13],[163,17],[164,18],[144,13],[142,19],[130,20],[132,21],[134,22],[133,6],[135,23],[136,23],[137,24],[138,25],[131,26],[139,2],[140,20],[129,2],[141,6],[95,27],[94,27],[97,28],[99,29],[98,30],[96,30],[93,31],[223,32],[171,33],[167,34],[168,34],[169,34],[170,34],[166,35],[174,36],[220,37],[221,38],[222,37],[172,36],[173,33],[248,2],[254,39],[250,1],[252,40],[253,1],[256,41],[257,2],[309,42],[310,42],[311,2],[522,43],[500,44],[502,45],[501,44],[504,46],[506,47],[507,48],[508,49],[509,47],[510,48],[511,47],[512,50],[513,48],[514,47],[519,51],[520,52],[521,53],[515,54],[505,55],[516,56],[503,56],[517,57],[523,2],[524,2],[525,58],[526,59],[536,60],[537,2],[538,2],[539,61],[540,2],[238,62],[226,63],[227,64],[225,65],[228,66],[229,67],[230,68],[231,69],[232,70],[233,71],[234,72],[235,73],[236,74],[237,75],[541,2],[542,2],[543,76],[255,2],[545,2],[546,77],[258,78],[259,78],[261,79],[262,80],[263,81],[264,82],[265,83],[266,84],[267,85],[268,86],[269,87],[270,88],[271,88],[272,89],[273,90],[274,91],[275,92],[260,93],[307,2],[276,94],[277,95],[278,96],[308,97],[279,98],[280,99],[281,100],[282,101],[283,102],[284,103],[285,104],[286,105],[287,106],[288,107],[289,108],[290,109],[292,110],[291,111],[293,112],[294,113],[295,114],[296,115],[297,116],[298,117],[299,118],[300,119],[301,120],[302,121],[303,122],[304,123],[305,124],[306,125],[547,2],[548,2],[549,2],[46,2],[566,126],[551,127],[552,127],[554,127],[555,127],[553,6],[565,128],[556,127],[557,127],[558,127],[559,127],[560,127],[561,127],[562,127],[563,127],[564,127],[567,6],[125,2],[126,129],[123,2],[128,130],[127,2],[124,131],[568,6],[44,2],[48,132],[550,6],[569,2],[570,2],[47,2],[595,133],[596,134],[571,135],[574,135],[593,133],[594,133],[584,136],[583,136],[581,133],[576,133],[589,133],[587,133],[591,133],[575,133],[588,133],[592,133],[577,133],[578,133],[590,133],[572,133],[579,133],[580,133],[582,133],[586,133],[597,137],[585,133],[573,133],[610,138],[609,2],[604,137],[606,139],[605,137],[598,137],[599,137],[601,137],[603,137],[607,139],[608,139],[600,139],[602,139],[611,2],[612,140],[518,141],[613,2],[614,142],[615,2],[616,143],[45,2],[544,144],[528,2],[532,145],[534,146],[533,145],[531,147],[535,148],[527,2],[530,149],[529,2],[218,150],[207,151],[215,152],[206,153],[217,150],[210,154],[214,155],[213,156],[209,156],[208,131],[212,156],[211,157],[175,2],[177,13],[178,13],[195,158],[182,159],[183,159],[181,160],[216,161],[199,162],[192,163],[191,164],[197,165],[198,166],[205,167],[184,2],[200,168],[204,169],[203,170],[193,171],[194,172],[196,159],[201,173],[202,174],[185,159],[190,159],[186,159],[187,159],[188,159],[189,159],[219,175],[176,2],[179,2],[180,2],[162,176],[161,177],[158,13],[159,178],[160,179],[499,180],[472,2],[450,181],[448,181],[498,182],[463,183],[462,183],[364,184],[315,185],[470,184],[471,184],[473,186],[474,184],[475,187],[375,188],[476,184],[447,184],[477,184],[478,189],[479,184],[480,183],[481,190],[482,184],[483,184],[484,184],[485,184],[486,183],[487,184],[488,184],[489,184],[490,184],[491,191],[492,184],[493,184],[494,184],[495,184],[496,184],[314,182],[317,187],[318,187],[319,184],[320,187],[321,187],[322,187],[323,187],[324,184],[326,192],[327,187],[325,187],[328,187],[329,187],[330,187],[331,187],[332,187],[333,187],[334,184],[335,187],[336,187],[337,187],[338,187],[339,187],[340,184],[341,187],[342,184],[343,187],[344,187],[345,187],[346,187],[347,184],[349,193],[348,187],[350,187],[351,187],[352,187],[353,187],[354,191],[355,184],[356,184],[370,194],[358,195],[359,187],[360,187],[361,184],[362,187],[363,187],[365,196],[366,187],[367,187],[368,187],[369,187],[371,187],[372,187],[373,187],[374,187],[376,197],[377,187],[378,187],[379,187],[380,184],[381,187],[382,198],[383,198],[384,198],[385,184],[386,187],[387,187],[388,187],[393,187],[389,187],[390,184],[391,187],[392,184],[394,184],[395,187],[396,187],[397,184],[398,184],[399,187],[400,184],[401,187],[402,187],[403,184],[404,187],[405,187],[406,187],[407,187],[408,187],[409,187],[410,187],[411,187],[412,187],[413,187],[414,187],[415,187],[416,187],[417,199],[418,187],[419,187],[420,187],[421,187],[422,187],[423,187],[424,184],[425,184],[426,184],[427,184],[428,184],[429,187],[430,187],[431,187],[432,187],[449,200],[497,184],[435,201],[434,202],[457,203],[456,204],[452,205],[451,204],[453,206],[442,207],[441,208],[455,209],[454,206],[443,210],[357,211],[313,212],[312,187],[446,2],[439,213],[440,214],[437,2],[438,215],[436,187],[444,216],[316,217],[464,2],[465,2],[458,2],[461,183],[460,2],[466,2],[467,2],[459,218],[468,2],[469,2],[433,219],[445,220],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[246,221],[247,222],[240,223],[224,224],[239,225],[49,2],[74,226],[73,227],[72,228],[61,229],[60,230],[56,2],[58,230],[57,231],[59,230],[76,2],[77,232],[83,233],[80,234],[82,234],[81,228],[79,235],[78,235],[92,236],[75,6],[71,2],[85,237],[86,238],[89,239],[90,240],[87,241],[84,242],[88,243],[91,244],[63,245],[54,246],[52,246],[51,246],[53,246],[62,247],[50,248],[55,246],[65,6],[70,249],[68,2],[69,2],[64,2],[67,2],[66,2]],"exportedModulesMap":[[251,1],[249,2],[243,3],[244,4],[245,5],[242,3],[241,6],[101,7],[102,8],[103,7],[104,6],[105,9],[106,10],[107,9],[108,10],[109,10],[122,11],[110,7],[111,7],[112,7],[113,12],[100,12],[114,2],[115,2],[116,8],[117,7],[118,8],[119,9],[120,10],[121,2],[143,13],[145,14],[146,14],[147,15],[148,15],[149,6],[150,13],[151,6],[152,6],[153,13],[154,2],[165,16],[155,13],[156,13],[157,13],[163,17],[164,18],[144,13],[142,19],[130,20],[132,21],[134,22],[133,6],[135,23],[136,23],[137,24],[138,25],[131,26],[139,2],[140,20],[129,2],[141,6],[95,27],[94,27],[97,28],[99,29],[98,30],[96,30],[93,31],[223,32],[171,33],[167,34],[168,34],[169,34],[170,34],[166,35],[174,36],[220,37],[221,38],[222,37],[172,36],[173,33],[248,2],[254,39],[250,1],[252,40],[253,1],[256,41],[257,2],[309,42],[310,42],[311,2],[522,43],[500,44],[502,45],[501,44],[504,46],[506,47],[507,48],[508,49],[509,47],[510,48],[511,47],[512,50],[513,48],[514,47],[519,51],[520,52],[521,53],[515,54],[505,55],[516,56],[503,56],[517,57],[523,2],[524,2],[525,58],[526,59],[536,60],[537,2],[538,2],[539,61],[540,2],[238,62],[226,63],[227,64],[225,65],[228,66],[229,67],[230,68],[231,69],[232,70],[233,71],[234,72],[235,73],[236,74],[237,75],[541,2],[542,2],[543,76],[255,2],[545,2],[546,77],[258,78],[259,78],[261,79],[262,80],[263,81],[264,82],[265,83],[266,84],[267,85],[268,86],[269,87],[270,88],[271,88],[272,89],[273,90],[274,91],[275,92],[260,93],[307,2],[276,94],[277,95],[278,96],[308,97],[279,98],[280,99],[281,100],[282,101],[283,102],[284,103],[285,104],[286,105],[287,106],[288,107],[289,108],[290,109],[292,110],[291,111],[293,112],[294,113],[295,114],[296,115],[297,116],[298,117],[299,118],[300,119],[301,120],[302,121],[303,122],[304,123],[305,124],[306,125],[547,2],[548,2],[549,2],[46,2],[566,126],[551,127],[552,127],[554,127],[555,127],[553,6],[565,128],[556,127],[557,127],[558,127],[559,127],[560,127],[561,127],[562,127],[563,127],[564,127],[567,6],[125,2],[126,129],[123,2],[128,130],[127,2],[124,131],[568,6],[44,2],[48,132],[550,6],[569,2],[570,2],[47,2],[595,133],[596,134],[571,135],[574,135],[593,133],[594,133],[584,136],[583,136],[581,133],[576,133],[589,133],[587,133],[591,133],[575,133],[588,133],[592,133],[577,133],[578,133],[590,133],[572,133],[579,133],[580,133],[582,133],[586,133],[597,137],[585,133],[573,133],[610,138],[609,2],[604,137],[606,139],[605,137],[598,137],[599,137],[601,137],[603,137],[607,139],[608,139],[600,139],[602,139],[611,2],[612,140],[518,141],[613,2],[614,142],[615,2],[616,143],[45,2],[544,144],[528,2],[532,145],[534,146],[533,145],[531,147],[535,148],[527,2],[530,149],[529,2],[218,150],[207,151],[215,152],[206,153],[217,150],[210,154],[214,155],[213,156],[209,156],[208,131],[212,156],[211,157],[175,2],[177,13],[178,13],[195,158],[182,159],[183,159],[181,160],[216,161],[199,162],[192,163],[191,164],[197,165],[198,166],[205,167],[184,2],[200,168],[204,169],[203,170],[193,171],[194,172],[196,159],[201,173],[202,174],[185,159],[190,159],[186,159],[187,159],[188,159],[189,159],[219,175],[176,2],[179,2],[180,2],[162,176],[161,177],[158,13],[159,178],[160,179],[499,180],[472,2],[450,181],[448,181],[498,182],[463,183],[462,183],[364,184],[315,185],[470,184],[471,184],[473,186],[474,184],[475,187],[375,188],[476,184],[447,184],[477,184],[478,189],[479,184],[480,183],[481,190],[482,184],[483,184],[484,184],[485,184],[486,183],[487,184],[488,184],[489,184],[490,184],[491,191],[492,184],[493,184],[494,184],[495,184],[496,184],[314,182],[317,187],[318,187],[319,184],[320,187],[321,187],[322,187],[323,187],[324,184],[326,192],[327,187],[325,187],[328,187],[329,187],[330,187],[331,187],[332,187],[333,187],[334,184],[335,187],[336,187],[337,187],[338,187],[339,187],[340,184],[341,187],[342,184],[343,187],[344,187],[345,187],[346,187],[347,184],[349,193],[348,187],[350,187],[351,187],[352,187],[353,187],[354,191],[355,184],[356,184],[370,194],[358,195],[359,187],[360,187],[361,184],[362,187],[363,187],[365,196],[366,187],[367,187],[368,187],[369,187],[371,187],[372,187],[373,187],[374,187],[376,197],[377,187],[378,187],[379,187],[380,184],[381,187],[382,198],[383,198],[384,198],[385,184],[386,187],[387,187],[388,187],[393,187],[389,187],[390,184],[391,187],[392,184],[394,184],[395,187],[396,187],[397,184],[398,184],[399,187],[400,184],[401,187],[402,187],[403,184],[404,187],[405,187],[406,187],[407,187],[408,187],[409,187],[410,187],[411,187],[412,187],[413,187],[414,187],[415,187],[416,187],[417,199],[418,187],[419,187],[420,187],[421,187],[422,187],[423,187],[424,184],[425,184],[426,184],[427,184],[428,184],[429,187],[430,187],[431,187],[432,187],[449,200],[497,184],[435,201],[434,202],[457,203],[456,204],[452,205],[451,204],[453,206],[442,207],[441,208],[455,209],[454,206],[443,210],[357,211],[313,212],[312,187],[446,2],[439,213],[440,214],[437,2],[438,215],[436,187],[444,216],[316,217],[464,2],[465,2],[458,2],[461,183],[460,2],[466,2],[467,2],[459,218],[468,2],[469,2],[433,219],[445,220],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[246,250],[240,251],[224,252],[239,253],[49,2],[74,226],[73,227],[72,228],[61,229],[60,230],[56,2],[58,230],[57,231],[59,230],[76,2],[77,232],[83,233],[80,234],[82,234],[81,228],[79,235],[78,235],[92,236],[75,6],[71,2],[85,237],[86,238],[89,239],[90,240],[87,241],[84,242],[88,243],[91,244],[63,245],[54,246],[52,246],[51,246],[53,246],[62,247],[50,248],[55,246],[65,6],[70,249],[68,2],[69,2],[64,2],[67,2],[66,2]],"semanticDiagnosticsPerFile":[251,249,243,244,245,242,241,101,102,103,104,105,106,107,108,109,122,110,111,112,113,100,114,115,116,117,118,119,120,121,143,145,146,147,148,149,150,151,152,153,154,165,155,156,157,163,164,144,142,130,132,134,133,135,136,137,138,131,139,140,129,141,95,94,97,99,98,96,93,223,171,167,168,169,170,166,174,220,221,222,172,173,248,254,250,252,253,256,257,309,310,311,522,500,502,501,504,506,507,508,509,510,511,512,513,514,519,520,521,515,505,516,503,517,523,524,525,526,536,537,538,539,540,238,226,227,225,228,229,230,231,232,233,234,235,236,237,541,542,543,255,545,546,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,260,307,276,277,278,308,279,280,281,282,283,284,285,286,287,288,289,290,292,291,293,294,295,296,297,298,299,300,301,302,303,304,305,306,547,548,549,46,566,551,552,554,555,553,565,556,557,558,559,560,561,562,563,564,567,125,126,123,128,127,124,568,44,48,550,569,570,47,595,596,571,574,593,594,584,583,581,576,589,587,591,575,588,592,577,578,590,572,579,580,582,586,597,585,573,610,609,604,606,605,598,599,601,603,607,608,600,602,611,612,518,613,614,615,616,45,544,528,532,534,533,531,535,527,530,529,218,207,215,206,217,210,214,213,209,208,212,211,175,177,178,195,182,183,181,216,199,192,191,197,198,205,184,200,204,203,193,194,196,201,202,185,190,186,187,188,189,219,176,179,180,162,161,158,159,160,499,472,450,448,498,463,462,364,315,470,471,473,474,475,375,476,447,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,314,317,318,319,320,321,322,323,324,326,327,325,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,349,348,350,351,352,353,354,355,356,370,358,359,360,361,362,363,365,366,367,368,369,371,372,373,374,376,377,378,379,380,381,382,383,384,385,386,387,388,393,389,390,391,392,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,449,497,435,434,457,456,452,451,453,442,441,455,454,443,357,313,312,446,439,440,437,438,436,444,316,464,465,458,461,460,466,467,459,468,469,433,445,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,246,247,240,224,239,49,74,73,72,61,60,56,58,57,59,76,77,83,80,82,81,79,78,92,75,71,85,86,89,90,87,84,88,91,63,54,52,51,53,62,50,55,65,70,68,69,64,67,66]},"version":"4.7.2"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/useProfiledNavigation.d.ts b/packages/react-native-performance-navigation/dist/useProfiledNavigation.d.ts new file mode 100644 index 0000000..a82c8d9 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/useProfiledNavigation.d.ts @@ -0,0 +1,58 @@ +import { NavigationProp, ParamListBase, StackActionHelpers } from '@react-navigation/native'; +import { FlowCommonArgs } from '@shopify/react-native-performance'; +declare type StartTimerArgs = Omit; +declare const PROFILED_APIS: readonly ["navigate", "push", "replace"]; +declare type ProfiledAPISType = typeof PROFILED_APIS[number]; +/** + * Getting the ParamList of CompositeNavigationProp would not work without inferring State and Options, even though they are not used. + */ +declare type GetParamListType> = T extends NavigationProp ? ParamList : unknown; +interface BaseNavigationSignatures> { + navigate>(...args: undefined extends GetParamListType[TRouteName] ? [TRouteName] | [TRouteName, GetParamListType[TRouteName]] : [TRouteName, GetParamListType[TRouteName]]): void; + navigate>(route: { + key: string; + params?: GetParamListType[TRouteName]; + } | { + name: TRouteName; + key?: string; + params: GetParamListType[TRouteName]; + }): void; + navigate>(startTimerArgs: StartTimerArgs, ...args: undefined extends GetParamListType[TRouteName] ? [TRouteName] | [TRouteName, GetParamListType[TRouteName]] : [TRouteName, GetParamListType[TRouteName]]): void; + navigate>(startTimerArgs: StartTimerArgs, route: { + key: string; + params?: GetParamListType[TRouteName]; + } | { + name: TRouteName; + key?: string; + params: GetParamListType[TRouteName]; + }): void; +} +declare type StackNavigationSignatures> = T extends StackActionHelpers ? { + replace>(...args: undefined extends GetParamListType[TRouteName] ? [TRouteName] | [TRouteName, GetParamListType[TRouteName]] : [TRouteName, GetParamListType[TRouteName]]): void; + replace>(startTimerArgs: StartTimerArgs, ...args: undefined extends GetParamListType[TRouteName] ? [TRouteName] | [TRouteName, GetParamListType[TRouteName]] : [TRouteName, GetParamListType[TRouteName]]): void; + push>(...args: undefined extends GetParamListType[TRouteName] ? [TRouteName] | [TRouteName, GetParamListType[TRouteName]] : [TRouteName, GetParamListType[TRouteName]]): void; + push>(startTimerArgs: StartTimerArgs, ...args: undefined extends GetParamListType[TRouteName] ? [TRouteName] | [TRouteName, GetParamListType[TRouteName]] : [TRouteName, GetParamListType[TRouteName]]): void; +} : { + replace?: never; + push?: never; +}; +export declare type ProfiledNavigator> = Omit & BaseNavigationSignatures & StackNavigationSignatures; +declare const useProfiledNavigation: & Readonly<{ + params?: Readonly; + }> & { + state?: Readonly | import("@react-navigation/native").PartialState> | undefined; + })[]; + type: string; + stale: false; +}>, {}, {}>>() => ProfiledNavigator; +export default useProfiledNavigation; +//# sourceMappingURL=useProfiledNavigation.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/useProfiledNavigation.d.ts.map b/packages/react-native-performance-navigation/dist/useProfiledNavigation.d.ts.map new file mode 100644 index 0000000..27fa0b2 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/useProfiledNavigation.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfiledNavigation.d.ts","sourceRoot":"","sources":["../src/useProfiledNavigation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/useProfiledNavigation.js b/packages/react-native-performance-navigation/dist/useProfiledNavigation.js new file mode 100644 index 0000000..9f3b9d3 --- /dev/null +++ b/packages/react-native-performance-navigation/dist/useProfiledNavigation.js @@ -0,0 +1,74 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var native_1 = require("@react-navigation/native"); +var react_native_performance_1 = require("@shopify/react-native-performance"); +var react_1 = require("react"); +var lodash_isequal_1 = tslib_1.__importDefault(require("lodash.isequal")); +var PROFILED_APIS = ['navigate', 'push', 'replace']; +var UnexpectedPropertyType = /** @class */ (function (_super) { + tslib_1.__extends(UnexpectedPropertyType, _super); + function UnexpectedPropertyType(destinationScreen, functionName, propertyType) { + var _this = _super.call(this, "Expected '".concat(functionName, "' to be a function defined on the inner navigator, but it was of type '").concat(propertyType, "'."), 'bug') || this; + _this.name = 'UnexpectedPropertyType'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, UnexpectedPropertyType.prototype); + return _this; + } + return UnexpectedPropertyType; +}(react_native_performance_1.PerformanceProfilerError)); +function isStartTimerArgs(arg) { + return ((0, react_native_performance_1.isGestureResponderEvent)(arg === null || arg === void 0 ? void 0 : arg.uiEvent) || + typeof (arg === null || arg === void 0 ? void 0 : arg.source) === 'string' || + typeof (arg === null || arg === void 0 ? void 0 : arg.renderTimeoutMillisOverride) === 'number' || + (0, lodash_isequal_1.default)(arg, {})); +} +function extractStartNavigationArgs(args) { + var startTimerArgs = {}; + var navArgs = args; + if (args.length > 0 && isStartTimerArgs(args[0])) { + startTimerArgs = args[0]; + navArgs = args.slice(1); + } + return [startTimerArgs, navArgs]; +} +var useProfiledNavigation = function () { + var navigation = (0, native_1.useNavigation)(); + var startTimer = (0, react_native_performance_1.useStartProfiler)(); + var errorHandler = (0, react_native_performance_1.useErrorHandler)(); + var wrapperBuilder = (0, react_1.useCallback)(function (functionName) { + if (typeof navigation[functionName] !== 'function') { + errorHandler(new UnexpectedPropertyType(react_native_performance_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, functionName, typeof navigation[functionName])); + return undefined; + } + var profiledVersion = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var _a = tslib_1.__read(extractStartNavigationArgs(args), 2), startTimerArgs = _a[0], navArgs = _a[1]; + try { + startTimer(startTimerArgs); + } + catch (error) { + errorHandler(error); + } + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return navigation[functionName].apply(navigation, tslib_1.__spreadArray([], tslib_1.__read(navArgs), false)); + }; + return profiledVersion; + }, [navigation, startTimer, errorHandler]); + var profiledNavigation = (0, react_1.useMemo)(function () { + var profiledNavigation = PROFILED_APIS.reduce(function (profiledNavigation, functionName) { + if (functionName in navigation) { + profiledNavigation[functionName] = wrapperBuilder(functionName); + } + return profiledNavigation; + }, {}); + return Object.setPrototypeOf(profiledNavigation, navigation); + }, [wrapperBuilder, navigation]); + return profiledNavigation; +}; +exports.default = useProfiledNavigation; +//# sourceMappingURL=useProfiledNavigation.js.map \ No newline at end of file diff --git a/packages/react-native-performance-navigation/dist/useProfiledNavigation.js.map b/packages/react-native-performance-navigation/dist/useProfiledNavigation.js.map new file mode 100644 index 0000000..e04915e --- /dev/null +++ b/packages/react-native-performance-navigation/dist/useProfiledNavigation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfiledNavigation.js","sourceRoot":"","sources":["../src/useProfiledNavigation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance-navigation/package.json b/packages/react-native-performance-navigation/package.json index fdc1cf3..38896cf 100644 --- a/packages/react-native-performance-navigation/package.json +++ b/packages/react-native-performance-navigation/package.json @@ -20,12 +20,13 @@ "test": "tsc -b && yarn jest" }, "bugs": { - "url": "https://github.com/shopify/react-native-performance/issues" + "url": "https://github.com/moonpay/react-native-performance/issues" }, - "homepage": "https://github.com/shopify/react-native-performance#readme", + "homepage": "https://github.com/moonpay/react-native-performance#readme", "repository": { "type": "git", - "url": "git+https://github.com/shopify/react-native-performance.git" + "url": "git+https://github.com/moonpay/react-native-performance.git", + "directory": "packages/react-native-performance-navigation" }, "peerDependencies": { "@babel/runtime": "*", diff --git a/packages/react-native-performance/dist/BridgedEventTimestamp.d.ts b/packages/react-native-performance/dist/BridgedEventTimestamp.d.ts new file mode 100644 index 0000000..9cf49a6 --- /dev/null +++ b/packages/react-native-performance/dist/BridgedEventTimestamp.d.ts @@ -0,0 +1,25 @@ +export declare class BridgedEventTimestampBuilder { + private _nativeTimestamp; + private _systemBootReference; + nativeTimestamp(nativeTimestamp: Promise | number | undefined): this; + systemBootReference(): this; + epochReference(): this; + build(): BridgedEventTimestamp; +} +export default class BridgedEventTimestamp { + /** + * The time it took for the native event to be consumed on the JS side. + */ + get jsNativeLatency(): Promise | undefined; + /** + * The timestamp (in millis since epoch) when the event had occurred. + */ + readonly nativeTimestamp: Promise | undefined; + /** + * The timestamp (in millis since epoch) when the event had been handled on the JS side. + */ + readonly jsTimestamp: number; + constructor(jsTimestamp: number, nativeTimestamp: Promise | undefined); + toString(): string; +} +//# sourceMappingURL=BridgedEventTimestamp.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/BridgedEventTimestamp.d.ts.map b/packages/react-native-performance/dist/BridgedEventTimestamp.d.ts.map new file mode 100644 index 0000000..e7680ab --- /dev/null +++ b/packages/react-native-performance/dist/BridgedEventTimestamp.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BridgedEventTimestamp.d.ts","sourceRoot":"","sources":["../src/BridgedEventTimestamp.ts"],"names":[],"mappings":"AAEA,qBAAa,4BAA4B;IACvC,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,oBAAoB,CAAS;IAErC,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;IAWrE,mBAAmB;IAKnB,cAAc;IAKd,KAAK;CAcN;AAED,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC;;OAEG;IACH,IAAI,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAEtD;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS;IAK7E,QAAQ;CAST"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/BridgedEventTimestamp.js b/packages/react-native-performance/dist/BridgedEventTimestamp.js new file mode 100644 index 0000000..7a43214 --- /dev/null +++ b/packages/react-native-performance/dist/BridgedEventTimestamp.js @@ -0,0 +1,112 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BridgedEventTimestampBuilder = void 0; +var tslib_1 = require("tslib"); +var utils_1 = require("./utils"); +var BridgedEventTimestampBuilder = /** @class */ (function () { + function BridgedEventTimestampBuilder() { + this._systemBootReference = false; + } + BridgedEventTimestampBuilder.prototype.nativeTimestamp = function (nativeTimestamp) { + if (nativeTimestamp === undefined) { + this._nativeTimestamp = undefined; + } + else if (typeof nativeTimestamp === 'number') { + this._nativeTimestamp = Promise.resolve(nativeTimestamp); + } + else { + this._nativeTimestamp = nativeTimestamp; + } + return this; + }; + BridgedEventTimestampBuilder.prototype.systemBootReference = function () { + this._systemBootReference = true; + return this; + }; + BridgedEventTimestampBuilder.prototype.epochReference = function () { + this._systemBootReference = false; + return this; + }; + BridgedEventTimestampBuilder.prototype.build = function () { + if (this._nativeTimestamp === undefined) { + return new BridgedEventTimestamp(Date.now(), undefined); + } + if (!this._systemBootReference) { + return new BridgedEventTimestamp(Date.now(), this._nativeTimestamp); + } + var _a = translateNativeTimestampToEpochReference(this._nativeTimestamp), jsNowWithEpochReference = _a.jsNowWithEpochReference, nativeTimestampWithEpochReference = _a.nativeTimestampWithEpochReference; + return new BridgedEventTimestamp(jsNowWithEpochReference, nativeTimestampWithEpochReference); + }; + return BridgedEventTimestampBuilder; +}()); +exports.BridgedEventTimestampBuilder = BridgedEventTimestampBuilder; +var BridgedEventTimestamp = /** @class */ (function () { + function BridgedEventTimestamp(jsTimestamp, nativeTimestamp) { + this.jsTimestamp = jsTimestamp; + this.nativeTimestamp = nativeTimestamp; + } + Object.defineProperty(BridgedEventTimestamp.prototype, "jsNativeLatency", { + /** + * The time it took for the native event to be consumed on the JS side. + */ + get: function () { + var _this = this; + return this.nativeTimestamp && this.nativeTimestamp.then(function (timestamp) { return _this.jsTimestamp - timestamp; }); + }, + enumerable: false, + configurable: true + }); + BridgedEventTimestamp.prototype.toString = function () { + return ("{" + + "jsTimestamp: ".concat(this.jsTimestamp, ", ") + + "nativeTimestamp: ".concat(this.nativeTimestamp === undefined ? 'undefined' : 'Promise', ", ") + + "jsNativeLatency: ".concat(this.jsNativeLatency === undefined ? 'undefined' : 'Promise') + + "}"); + }; + return BridgedEventTimestamp; +}()); +exports.default = BridgedEventTimestamp; +/** + * Native timestamp we receive for example from a touch event is referencing system boot time. + * We need to work with time referencing epoch (UNIX) time - this function will translate the timestamp between the two. + * @param nativeTimestampWithSystemBootReference: Timestamp received from native context from react-native referencing system boot time. + * @returns Timestamp referencing system boot time. + */ +function translateNativeTimestampToEpochReference(nativeTimestampWithSystemBootReference) { + var jsNowWithEpochReference = Date.now(); + var nativeTimestampWithEpochReference = Promise.all([(0, utils_1.getNativeTime)(), nativeTimestampWithSystemBootReference]).then(function (_a) { + var _b = tslib_1.__read(_a, 2), _c = _b[0], nativeNowWithEpochReference = _c.nativeTimeSinceEpochMillis, nativeNowWithSystemBootReference = _c.nativeUptimeMillis, nativeTimestampWithSystemBootReference = _b[1]; + // If the JS <-> native communication were instantaneous, the nativeTimeSinceEpochMillis === jsNowWithEpochReference. + // nativeCallLatency captures the deviation from this ideal. + var bridgeLatency = nativeNowWithEpochReference - jsNowWithEpochReference; + // The same latency would also be applicable to the system uptime values. + // So we can reverse calculate what the "JS now" would have been in the system boot time reference system. + var jsNowWithSystemBootReference = nativeNowWithSystemBootReference - bridgeLatency; + /** + * Both `jsNowWithSystemBootReference` and `nativeTimestampSystemBootReference` use the same reference time: system boot. + * The difference between these two will give the millisecond difference between "now" and the requested timestamp. + * Since it's a time-delta, it will also be applicable to the other reference system: epoch. + */ + var millisElapsed = jsNowWithSystemBootReference - nativeTimestampWithSystemBootReference; + /** + * If millisElapsed is negative, we assume that `nativeTimestampWithSystemBootReference` is actually not referencing system boot time but epoch time. + * This change was introduced in the following commit and released with react-native version 0.65.0: + * https://github.com/facebook/react-native/commit/b08362ade5d68af4b6c66d5cf0dab5f42a2ec894#diff-c9c6bbe068431d9e508c435dba38a9cc4fd488bec4377d4d817f34afdfa89bb2R170 + * However, this was later reverted: + * https://github.com/facebook/react-native/commit/10fe09c4567a47b62560c914bf6c8716e28355fd#diff-c9c6bbe068431d9e508c435dba38a9cc4fd488bec4377d4d817f34afdfa89bb2L170 + * We should delete this in the future when usage of react-native 0.65.0 drops down and then we can again assume + * that the native timestamp given is referring to system boot time. + */ + if (millisElapsed < 0) { + return nativeTimestampWithSystemBootReference; + } + else { + return jsNowWithEpochReference - millisElapsed; + } + }); + return { + jsNowWithEpochReference: jsNowWithEpochReference, + nativeTimestampWithEpochReference: nativeTimestampWithEpochReference, + }; +} +//# sourceMappingURL=BridgedEventTimestamp.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/BridgedEventTimestamp.js.map b/packages/react-native-performance/dist/BridgedEventTimestamp.js.map new file mode 100644 index 0000000..cda2a1e --- /dev/null +++ b/packages/react-native-performance/dist/BridgedEventTimestamp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BridgedEventTimestamp.js","sourceRoot":"","sources":["../src/BridgedEventTimestamp.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/GestureResponderEvent.d.ts b/packages/react-native-performance/dist/GestureResponderEvent.d.ts new file mode 100644 index 0000000..ef737f4 --- /dev/null +++ b/packages/react-native-performance/dist/GestureResponderEvent.d.ts @@ -0,0 +1,8 @@ +interface GestureResponderEvent { + nativeEvent: { + timestamp: number; + }; +} +export declare function isGestureResponderEvent(obj: any): obj is GestureResponderEvent; +export default GestureResponderEvent; +//# sourceMappingURL=GestureResponderEvent.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/GestureResponderEvent.d.ts.map b/packages/react-native-performance/dist/GestureResponderEvent.d.ts.map new file mode 100644 index 0000000..b9a8fc5 --- /dev/null +++ b/packages/react-native-performance/dist/GestureResponderEvent.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GestureResponderEvent.d.ts","sourceRoot":"","sources":["../src/GestureResponderEvent.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB;IAC7B,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,qBAAqB,CAE9E;AAED,eAAe,qBAAqB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/GestureResponderEvent.js b/packages/react-native-performance/dist/GestureResponderEvent.js new file mode 100644 index 0000000..cdac37f --- /dev/null +++ b/packages/react-native-performance/dist/GestureResponderEvent.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isGestureResponderEvent = void 0; +function isGestureResponderEvent(obj) { + var _a; + return typeof ((_a = obj === null || obj === void 0 ? void 0 : obj.nativeEvent) === null || _a === void 0 ? void 0 : _a.timestamp) === 'number'; +} +exports.isGestureResponderEvent = isGestureResponderEvent; +//# sourceMappingURL=GestureResponderEvent.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/GestureResponderEvent.js.map b/packages/react-native-performance/dist/GestureResponderEvent.js.map new file mode 100644 index 0000000..aa22d65 --- /dev/null +++ b/packages/react-native-performance/dist/GestureResponderEvent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GestureResponderEvent.js","sourceRoot":"","sources":["../src/GestureResponderEvent.ts"],"names":[],"mappings":";;;AAMA,SAAgB,uBAAuB,CAAC,GAAQ;;IAC9C,OAAO,OAAO,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,0CAAE,SAAS,CAAA,KAAK,QAAQ,CAAC;AACzD,CAAC;AAFD,0DAEC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMarker.d.ts b/packages/react-native-performance/dist/PerformanceMarker.d.ts new file mode 100644 index 0000000..d106d9f --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMarker.d.ts @@ -0,0 +1,23 @@ +import { ViewStyle, HostComponent } from 'react-native'; +export declare type Interactive = 'TRUE' | 'FALSE'; +export interface RenderCompletionEvent { + nativeEvent: { + timestamp: string; + renderPassName: string; + interactive: Interactive; + destinationScreen: string; + componentInstanceId: string; + }; +} +declare type OnRenderCompletionEventHandler = (event: RenderCompletionEvent) => void; +export interface PerformanceMarkerProps { + componentInstanceId: string; + renderPassName: string; + interactive: Interactive; + destinationScreen: string; + style: ViewStyle; + onRenderComplete: OnRenderCompletionEventHandler; +} +export declare function getPerformanceMarker(): HostComponent; +export {}; +//# sourceMappingURL=PerformanceMarker.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMarker.d.ts.map b/packages/react-native-performance/dist/PerformanceMarker.d.ts.map new file mode 100644 index 0000000..eb892ea --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMarker.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceMarker.d.ts","sourceRoot":"","sources":["../src/PerformanceMarker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAA0B,aAAa,EAAC,MAAM,cAAc,CAAC;AAI9E,oBAAY,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,WAAW,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,aAAK,8BAA8B,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,gBAAgB,EAAE,8BAA8B,CAAC;CAClD;AASD,wBAAgB,oBAAoB,0CAKnC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMarker.js b/packages/react-native-performance/dist/PerformanceMarker.js new file mode 100644 index 0000000..dbfc8ea --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMarker.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getPerformanceMarker = void 0; +var react_native_1 = require("react-native"); +/** + * Lazy-import the native component such that it is only actually imported if the profiling + * is enabled. Otherwise, we want most operations to be stubbed out. + * PerformanceMeasureView takes care of calling getPerformanceMarker only when needed. + */ +var PerformanceMarker; +function getPerformanceMarker() { + if (PerformanceMarker === undefined) { + PerformanceMarker = (0, react_native_1.requireNativeComponent)('PerformanceMarker'); + } + return PerformanceMarker; +} +exports.getPerformanceMarker = getPerformanceMarker; +//# sourceMappingURL=PerformanceMarker.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMarker.js.map b/packages/react-native-performance/dist/PerformanceMarker.js.map new file mode 100644 index 0000000..65cc464 --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMarker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceMarker.js","sourceRoot":"","sources":["../src/PerformanceMarker.tsx"],"names":[],"mappings":";;;AAAA,6CAA8E;AA2B9E;;;;GAIG;AACH,IAAI,iBAAoE,CAAC;AAEzE,SAAgB,oBAAoB;IAClC,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACnC,iBAAiB,GAAG,IAAA,qCAAsB,EAAyB,mBAAmB,CAAC,CAAC;KACzF;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AALD,oDAKC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMeasureView.d.ts b/packages/react-native-performance/dist/PerformanceMeasureView.d.ts new file mode 100644 index 0000000..48ab785 --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMeasureView.d.ts @@ -0,0 +1,23 @@ +import { ReactNode } from 'react'; +export declare const DEFAULT_NON_INTERACTIVE_RENDER_PASS_NAME = "loading"; +export declare const DEFAULT_INTERACTIVE_RENDER_PASS_NAME = "interactive"; +interface BaseProps { + screenName: string; + children: ReactNode; + componentInstanceId?: string | undefined; +} +export interface RenderStateProps { + interactive?: boolean; + renderPassName?: string; +} +declare type SlowRenderOptimizeProps = { + optimizeForSlowRenderComponents: true; + slowRenderPlaceholder?: ReactNode; +} | { + optimizeForSlowRenderComponents?: false; + slowRenderPlaceholder?: never; +}; +declare type PerformanceMeasureViewProps = BaseProps & RenderStateProps & SlowRenderOptimizeProps; +declare const PerformanceMeasureView: ({ screenName, children, optimizeForSlowRenderComponents, slowRenderPlaceholder, ...renderStateProps }: PerformanceMeasureViewProps) => JSX.Element | null; +export default PerformanceMeasureView; +//# sourceMappingURL=PerformanceMeasureView.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMeasureView.d.ts.map b/packages/react-native-performance/dist/PerformanceMeasureView.d.ts.map new file mode 100644 index 0000000..efbf1ad --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMeasureView.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceMeasureView.d.ts","sourceRoot":"","sources":["../src/PerformanceMeasureView.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,SAAS,EAA2C,MAAM,OAAO,CAAC;AAOjF,eAAO,MAAM,wCAAwC,YAAY,CAAC;AAClE,eAAO,MAAM,oCAAoC,gBAAgB,CAAC;AAIlE,UAAU,SAAS;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,aAAK,uBAAuB,GACxB;IACE,+BAA+B,EAAE,IAAI,CAAC;IACtC,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC,GACD;IACE,+BAA+B,CAAC,EAAE,KAAK,CAAC;IACxC,qBAAqB,CAAC,EAAE,KAAK,CAAC;CAC/B,CAAC;AAEN,aAAK,2BAA2B,GAAG,SAAS,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAc1F,QAAA,MAAM,sBAAsB,0GAMzB,2BAA2B,uBA2D7B,CAAC;AAgCF,eAAe,sBAAsB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMeasureView.js b/packages/react-native-performance/dist/PerformanceMeasureView.js new file mode 100644 index 0000000..452b242 --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMeasureView.js @@ -0,0 +1,87 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DEFAULT_INTERACTIVE_RENDER_PASS_NAME = exports.DEFAULT_NON_INTERACTIVE_RENDER_PASS_NAME = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var react_native_1 = require("react-native"); +var utils_1 = require("./utils"); +var PerformanceMarker_1 = require("./PerformanceMarker"); +var state_machine_1 = require("./state-machine"); +exports.DEFAULT_NON_INTERACTIVE_RENDER_PASS_NAME = 'loading'; +exports.DEFAULT_INTERACTIVE_RENDER_PASS_NAME = 'interactive'; +var DEFAULT_INTERACTIVE = false; +var normalizeRenderState = function (props) { + var _a, _b; + var interactive = (_a = props.interactive) !== null && _a !== void 0 ? _a : DEFAULT_INTERACTIVE; + var renderPassName = (_b = props.renderPassName) !== null && _b !== void 0 ? _b : (interactive ? exports.DEFAULT_INTERACTIVE_RENDER_PASS_NAME : exports.DEFAULT_NON_INTERACTIVE_RENDER_PASS_NAME); + return { + interactive: interactive, + renderPassName: renderPassName, + }; +}; +var PerformanceMeasureView = function (_a) { + var _b; + var screenName = _a.screenName, children = _a.children, _c = _a.optimizeForSlowRenderComponents, optimizeForSlowRenderComponents = _c === void 0 ? false : _c, slowRenderPlaceholder = _a.slowRenderPlaceholder, renderStateProps = tslib_1.__rest(_a, ["screenName", "children", "optimizeForSlowRenderComponents", "slowRenderPlaceholder"]); + var stateController = (0, state_machine_1.useStateController)(); + var _d = tslib_1.__read((0, react_1.useState)(!optimizeForSlowRenderComponents), 2), show = _d[0], setShow = _d[1]; + var _e = normalizeRenderState(renderStateProps), interactive = _e.interactive, renderPassName = _e.renderPassName; + (0, react_1.useEffect)(function () { + if (optimizeForSlowRenderComponents) { + react_native_1.InteractionManager.runAfterInteractions(function () { + setShow(true); + }); + } + }, [optimizeForSlowRenderComponents]); + var componentInstanceId = (0, react_1.useRef)((_b = renderStateProps.componentInstanceId) !== null && _b !== void 0 ? _b : (0, utils_1.inMemoryCounter)()).current; + useTrackComponentMounts({ stateController: stateController, screenName: screenName, componentInstanceId: componentInstanceId }); + var onRenderComplete = (0, react_1.useCallback)(function (event) { + var _a = event.nativeEvent, timestamp = _a.timestamp, renderPassName = _a.renderPassName, interactive = _a.interactive, destinationScreen = _a.destinationScreen, componentInstanceId = _a.componentInstanceId; + stateController.onRenderPassCompleted({ + timestamp: Number.parseFloat(timestamp), + destinationScreen: destinationScreen, + renderPassName: renderPassName, + interactive: interactive === 'TRUE', + componentInstanceId: componentInstanceId, + }); + }, [stateController]); + if (stateController.isEnabled) { + if (show) { + var PerformanceMarker = (0, PerformanceMarker_1.getPerformanceMarker)(); + return (react_1.default.createElement(react_1.default.Fragment, null, + react_1.default.createElement(PerformanceMarker, { componentInstanceId: componentInstanceId, key: renderPassName, destinationScreen: screenName, interactive: interactive ? 'TRUE' : 'FALSE', renderPassName: renderPassName, style: styles.invisible, onRenderComplete: onRenderComplete }), + children)); + } + else if (slowRenderPlaceholder) { + return react_1.default.createElement(react_1.default.Fragment, null, slowRenderPlaceholder); + } + else { + return null; + } + } + else { + return react_1.default.createElement(react_1.default.Fragment, null, children); + } +}; +var useTrackComponentMounts = function (_a) { + var stateController = _a.stateController, screenName = _a.screenName, componentInstanceId = _a.componentInstanceId; + (0, react_1.useEffect)(function () { + stateController.onScreenMounted({ + destinationScreen: screenName, + componentInstanceId: componentInstanceId, + }); + return function () { + stateController.onScreenUnmounted({ + destinationScreen: screenName, + componentInstanceId: componentInstanceId, + }); + }; + }, [screenName, stateController, componentInstanceId]); +}; +var styles = react_native_1.StyleSheet.create({ + invisible: { + width: 0, + height: 0, + }, +}); +exports.default = PerformanceMeasureView; +//# sourceMappingURL=PerformanceMeasureView.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/PerformanceMeasureView.js.map b/packages/react-native-performance/dist/PerformanceMeasureView.js.map new file mode 100644 index 0000000..29e255f --- /dev/null +++ b/packages/react-native-performance/dist/PerformanceMeasureView.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceMeasureView.js","sourceRoot":"","sources":["../src/PerformanceMeasureView.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReport.d.ts b/packages/react-native-performance/dist/RenderPassReport.d.ts new file mode 100644 index 0000000..685f8d5 --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReport.d.ts @@ -0,0 +1,30 @@ +export declare type RenderPassEndInfo = { + renderPassName: string; + timeToRenderMillis: number; + timeToAbortMillis?: never; + interactive: boolean; +} | { + renderPassName?: never; + timeToRenderMillis?: never; + timeToAbortMillis: number; + interactive: false; +}; +export declare type RenderPassStartInfo = { + flowStartTimeSinceEpochMillis: number; +} & ({ + timeToConsumeTouchEventMillis: number | undefined; + timeToBootJsMillis?: never; +} | { + timeToConsumeTouchEventMillis?: never; + timeToBootJsMillis: number; +}); +export interface FlowInfo { + flowInstanceId: string; + sourceScreen: string | undefined; + destinationScreen: string; +} +export interface SnapshotInfo { + reportId: string; +} +export declare type RenderPassReport = SnapshotInfo & FlowInfo & RenderPassStartInfo & RenderPassEndInfo; +//# sourceMappingURL=RenderPassReport.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReport.d.ts.map b/packages/react-native-performance/dist/RenderPassReport.d.ts.map new file mode 100644 index 0000000..bbe5e0c --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReport.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderPassReport.d.ts","sourceRoot":"","sources":["../src/RenderPassReport.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB,GACzB;IACE,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IACE,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC;CACpB,CAAC;AAEN,oBAAY,mBAAmB,GAAG;IAChC,6BAA6B,EAAE,MAAM,CAAC;CACvC,GAAG,CACA;IACE,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,kBAAkB,CAAC,EAAE,KAAK,CAAC;CAC5B,GACD;IACE,6BAA6B,CAAC,EAAE,KAAK,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CACJ,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oBAAY,gBAAgB,GAAG,YAAY,GAAG,QAAQ,GAAG,mBAAmB,GAAG,iBAAiB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReport.js b/packages/react-native-performance/dist/RenderPassReport.js new file mode 100644 index 0000000..787627e --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReport.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=RenderPassReport.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReport.js.map b/packages/react-native-performance/dist/RenderPassReport.js.map new file mode 100644 index 0000000..32892ec --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReport.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderPassReport.js","sourceRoot":"","sources":["../src/RenderPassReport.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReportGenerator.d.ts b/packages/react-native-performance/dist/RenderPassReportGenerator.d.ts new file mode 100644 index 0000000..fda1bd1 --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReportGenerator.d.ts @@ -0,0 +1,17 @@ +import { RenderPassReport } from './RenderPassReport'; +import { State } from './state-machine/states'; +import { PerformanceProfilerError } from './exceptions'; +export declare type RenderPassReportGeneratorType = (newState: State) => Promise; +export declare class CompletionTimestampError extends PerformanceProfilerError { + readonly name = "CompletionTimestampError"; + readonly destinationScreen: string; + constructor(destinationScreen: string); +} +export declare class MissingJSNativeLatencyError extends PerformanceProfilerError { + readonly name = "MissingJSNativeLatencyError"; + readonly destinationScreen: string; + constructor(destinationScreen: string); +} +declare const renderPassReportGenerator: RenderPassReportGeneratorType; +export default renderPassReportGenerator; +//# sourceMappingURL=RenderPassReportGenerator.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReportGenerator.d.ts.map b/packages/react-native-performance/dist/RenderPassReportGenerator.d.ts.map new file mode 100644 index 0000000..9c74833 --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReportGenerator.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderPassReportGenerator.d.ts","sourceRoot":"","sources":["../src/RenderPassReportGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAiE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EAAC,KAAK,EAAmC,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AAGtD,oBAAY,6BAA6B,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAIlG,qBAAa,wBAAyB,SAAQ,wBAAwB;IACpE,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAEvB,iBAAiB,EAAE,MAAM;CAKtC;AAED,qBAAa,2BAA4B,SAAQ,wBAAwB;IACvE,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAEvB,iBAAiB,EAAE,MAAM;CAKtC;AAED,QAAA,MAAM,yBAAyB,EAAE,6BAyChC,CAAC;AA0FF,eAAe,yBAAyB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReportGenerator.js b/packages/react-native-performance/dist/RenderPassReportGenerator.js new file mode 100644 index 0000000..e1265f1 --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReportGenerator.js @@ -0,0 +1,190 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MissingJSNativeLatencyError = exports.CompletionTimestampError = void 0; +var tslib_1 = require("tslib"); +var react_native_1 = require("react-native"); +var states_1 = require("./state-machine/states"); +var exceptions_1 = require("./exceptions"); +var state_utils_1 = require("./state-machine/states/state-utils"); +var CompletionTimestampError = /** @class */ (function (_super) { + tslib_1.__extends(CompletionTimestampError, _super); + function CompletionTimestampError(destinationScreen) { + var _this = _super.call(this, 'completionTimestamp cannot be before flowStartTimestamp.', 'bug') || this; + _this.name = 'CompletionTimestampError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, CompletionTimestampError.prototype); + return _this; + } + return CompletionTimestampError; +}(exceptions_1.PerformanceProfilerError)); +exports.CompletionTimestampError = CompletionTimestampError; +var MissingJSNativeLatencyError = /** @class */ (function (_super) { + tslib_1.__extends(MissingJSNativeLatencyError, _super); + function MissingJSNativeLatencyError(destinationScreen) { + var _this = _super.call(this, 'jsNativeLatency is undefined.', 'bug') || this; + _this.name = 'MissingJSNativeLatencyError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, MissingJSNativeLatencyError.prototype); + return _this; + } + return MissingJSNativeLatencyError; +}(exceptions_1.PerformanceProfilerError)); +exports.MissingJSNativeLatencyError = MissingJSNativeLatencyError; +var renderPassReportGenerator = function (newState) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, previouslyReported, _a, snapshotInfo, flowInfo, startInfo, endInfo; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + flowStartState = (0, state_utils_1.getFlowStartState)(newState); + if (!(newState instanceof states_1.Rendered || newState instanceof states_1.RenderAborted)) { + return [2 /*return*/, null]; + } + previouslyReported = (0, state_utils_1.reverseReduce)(newState, function (state, previouslyReported) { + // There might be more than 1 Rendered/RenderAborted states for the same render pass. + // Everytime there is an operation state change, a new copy of the previous state is created, + // and only the ongoingOperations property is changed. We do this to keep a complete timeline of all events. + // However, we don't need to generate a new report everytime this happens. + return (previouslyReported || + ((state instanceof states_1.Rendered || state instanceof states_1.RenderAborted) && + state !== newState && + state.snapshotId === newState.snapshotId)); + }, false); + if (previouslyReported) { + return [2 /*return*/, null]; + } + return [4 /*yield*/, Promise.all([ + prepareSnapshotInfo(newState), + prepareFlowInfo(flowStartState), + prepareRenderPassStartInfo(flowStartState), + prepareRenderPassEndInfo(flowStartState, newState), + ])]; + case 1: + _a = tslib_1.__read.apply(void 0, [_b.sent(), 4]), snapshotInfo = _a[0], flowInfo = _a[1], startInfo = _a[2], endInfo = _a[3]; + return [2 /*return*/, tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, snapshotInfo), flowInfo), startInfo), endInfo)]; + } + }); +}); }; +var prepareSnapshotInfo = function (newState) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = {}; + return [4 /*yield*/, newState.snapshotId]; + case 1: return [2 /*return*/, (_a.reportId = _b.sent(), + _a)]; + } + }); +}); }; +var prepareFlowInfo = function (flowStartState) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = {}; + return [4 /*yield*/, flowStartState.snapshotId]; + case 1: return [2 /*return*/, (_a.flowInstanceId = _b.sent(), + _a.sourceScreen = 'sourceScreen' in flowStartState ? flowStartState.sourceScreen : undefined, + _a.destinationScreen = flowStartState.destinationScreen, + _a)]; + } + }); +}); }; +var prepareRenderPassEndInfo = function (flowStartState, newState) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var timeToCompletionMillis; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, (function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a; + var _b, _c, _d; + return tslib_1.__generator(this, function (_e) { + switch (_e.label) { + case 0: + if (!(flowStartState.type === 'app_boot')) return [3 /*break*/, 2]; + return [4 /*yield*/, ((_b = newState.timestamp.nativeTimestamp) !== null && _b !== void 0 ? _b : newState.timestamp.jsTimestamp)]; + case 1: + // For the app_boot case, do not include the boot time into the timeToCompletionMillis times. + // Hence, we use flowStartState.timestamp.jsTimestamp. + return [2 /*return*/, ((_e.sent()) - + flowStartState.timestamp.jsTimestamp)]; + case 2: return [4 /*yield*/, ((_c = newState.timestamp.nativeTimestamp) !== null && _c !== void 0 ? _c : newState.timestamp.jsTimestamp)]; + case 3: + _a = (_e.sent()); + return [4 /*yield*/, ((_d = flowStartState.timestamp.nativeTimestamp) !== null && _d !== void 0 ? _d : flowStartState.timestamp.jsTimestamp)]; + case 4: + // For regular in-app flows, we can use both the nativeTimestamp and jsTimestamp for the + // flowStartState. Using nativeTimestamp will include the touch-event-propagation latency + // in the render times (when applicable). + return [2 /*return*/, (_a - + (_e.sent()))]; + } + }); + }); })()]; + case 1: + timeToCompletionMillis = _a.sent(); + if (timeToCompletionMillis < 0 && + // The android emulator clock is not shared with the dev mac system. When running in DEV mode, + // the two clocks can be a few milliseconds off, leading to these kind of errors. + // This is a known limitation, so don't throw errors, and cause an annoyance for devs. + !(react_native_1.Platform.OS === 'android' && __DEV__)) { + throw new CompletionTimestampError(newState.destinationScreen); + } + if (newState instanceof states_1.Rendered) { + return [2 /*return*/, { + renderPassName: newState.renderPassName, + timeToRenderMillis: timeToCompletionMillis, + interactive: newState.interactive, + }]; + } + else { + return [2 /*return*/, { + timeToAbortMillis: timeToCompletionMillis, + interactive: false, + }]; + } + return [2 /*return*/]; + } + }); +}); }; +var prepareRenderPassStartInfo = function (flowStartState) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var jsNativeLatency, _a; + var _b; + var _c; + return tslib_1.__generator(this, function (_d) { + switch (_d.label) { + case 0: + _a = flowStartState.timestamp.jsNativeLatency; + if (!_a) return [3 /*break*/, 2]; + return [4 /*yield*/, flowStartState.timestamp.jsNativeLatency]; + case 1: + _a = (_d.sent()); + _d.label = 2; + case 2: + jsNativeLatency = _a; + if (!(flowStartState.type === 'app_boot')) return [3 /*break*/, 3]; + if (jsNativeLatency === undefined) { + throw new MissingJSNativeLatencyError(flowStartState.destinationScreen); + } + return [2 /*return*/, { + // For the app-boot, mark the flow startup instant when the JS booted up. + // This ensures that the boot-times are not included in the render times for this screen. + // This ensures the final render-times to not be vastly different in-case the same screen + // is re-renderd through an in-app navigation flow. + flowStartTimeSinceEpochMillis: flowStartState.timestamp.jsTimestamp, + timeToBootJsMillis: jsNativeLatency, + }]; + case 3: + _b = {}; + return [4 /*yield*/, ((_c = flowStartState.timestamp.nativeTimestamp) !== null && _c !== void 0 ? _c : flowStartState.timestamp.jsTimestamp)]; + case 4: return [2 /*return*/, ( + // For in-app navigation, if the user had provided the uiEvent object, mark the + // flowStartTimeSinceEpochMillis as when the native onPress event occurred. If that + // information is not available, fallback to the less accurate JS onPress event. + _b.flowStartTimeSinceEpochMillis = _d.sent(), + _b.timeToConsumeTouchEventMillis = jsNativeLatency, + _b)]; + } + }); +}); }; +exports.default = renderPassReportGenerator; +//# sourceMappingURL=RenderPassReportGenerator.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/RenderPassReportGenerator.js.map b/packages/react-native-performance/dist/RenderPassReportGenerator.js.map new file mode 100644 index 0000000..49b7bcb --- /dev/null +++ b/packages/react-native-performance/dist/RenderPassReportGenerator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderPassReportGenerator.js","sourceRoot":"","sources":["../src/RenderPassReportGenerator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.d.ts b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.d.ts new file mode 100644 index 0000000..6b712ac --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=BridgedEventTimestamp.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.d.ts.map b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.d.ts.map new file mode 100644 index 0000000..87a5d27 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BridgedEventTimestamp.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/BridgedEventTimestamp.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.js b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.js new file mode 100644 index 0000000..85d5f6e --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.js @@ -0,0 +1,173 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +/* eslint-disable @typescript-eslint/ban-ts-comment */ +var BridgedEventTimestamp_1 = require("../BridgedEventTimestamp"); +var utils_1 = require("../utils"); +jest.mock('../utils', function () { + return { + getNativeTime: jest.fn(), + }; +}); +describe('BridgedEventTimestamp', function () { + beforeEach(function () { + jest.spyOn(Date, 'now').mockReturnValue(1000); + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it('just records the JS event timestamp when no native timestamp is provided', function () { + var timestamp = new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(); + expect(timestamp.jsTimestamp).toBe(1000); + expect(timestamp.nativeTimestamp).toBeUndefined(); + }); + it('records the native timestamp with epoch reference when one is provided as a number', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var timestamp, _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + timestamp = new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(2000).epochReference().build(); + expect(timestamp.jsTimestamp).toBe(1000); + _a = expect; + return [4 /*yield*/, timestamp.nativeTimestamp]; + case 1: + _a.apply(void 0, [_b.sent()]).toBe(2000); + return [2 /*return*/]; + } + }); + }); }); + it('records the native timestamp with epoch reference when one is provided as a promise', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var timestamp, _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + timestamp = new BridgedEventTimestamp_1.BridgedEventTimestampBuilder() + .nativeTimestamp(Promise.resolve(1500)) + .epochReference() + .build(); + expect(timestamp.jsTimestamp).toBe(1000); + _a = expect; + return [4 /*yield*/, timestamp.nativeTimestamp]; + case 1: + _a.apply(void 0, [_b.sent()]).toBe(1500); + return [2 /*return*/]; + } + }); + }); }); + it("clears the native timestamp when 'undefined' is provided", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var timestamp, _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + timestamp = new BridgedEventTimestamp_1.BridgedEventTimestampBuilder() + .nativeTimestamp(1000) + .nativeTimestamp(undefined) + .epochReference() + .build(); + expect(timestamp.jsTimestamp).toBe(1000); + _a = expect; + return [4 /*yield*/, timestamp.nativeTimestamp]; + case 1: + _a.apply(void 0, [_b.sent()]).toBeUndefined(); + return [2 /*return*/]; + } + }); + }); }); + it('skips translation when native time is given in epoch', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var timestamp, _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + // @ts-ignore + utils_1.getNativeTime.mockReturnValueOnce(Promise.resolve({ + nativeTimeSinceEpochMillis: 1150, + nativeUptimeMillis: 500, + })); + timestamp = new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(900).systemBootReference().build(); + _a = expect; + return [4 /*yield*/, timestamp.nativeTimestamp]; + case 1: + _a.apply(void 0, [_b.sent()]).toBe(900); + return [2 /*return*/]; + } + }); + }); }); + it('translates the native timestamp to epoch reference when one is provided in the system boot reference', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var timestamp, _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + // @ts-ignore + utils_1.getNativeTime.mockReturnValueOnce(Promise.resolve({ + // i.e., 150 ms latency over the bridge + nativeTimeSinceEpochMillis: 1150, + // i.e., system had been up for 5000ms when the timestamp was 1150 in the native layer + nativeUptimeMillis: 500, + })); + timestamp = new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(100).systemBootReference().build(); + /** + * Reversing the 150 ms latency, the system had been up for (500 - 150) = 350ms when the JS call was made. + * + * Requested boot-reference timestamp that needs to be translated: 100. + * + * So 350-100 = 250ms had passed b/w the input timestamp and "now". + * So the translated epoch-reference timestamp must have happened 250ms in the past = 1000 - 250 = 750 + */ + _a = expect; + return [4 /*yield*/, timestamp.nativeTimestamp]; + case 1: + /** + * Reversing the 150 ms latency, the system had been up for (500 - 150) = 350ms when the JS call was made. + * + * Requested boot-reference timestamp that needs to be translated: 100. + * + * So 350-100 = 250ms had passed b/w the input timestamp and "now". + * So the translated epoch-reference timestamp must have happened 250ms in the past = 1000 - 250 = 750 + */ + _a.apply(void 0, [_b.sent()]).toBe(750); + return [2 /*return*/]; + } + }); + }); }); + it('returns undefined jsNativeLatency if no native timestamp is available', function () { + expect(new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build().jsNativeLatency).toBeUndefined(); + }); + it('calculates the jsNativeLatency if epoch-reference native timestamp is available', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + _a = expect; + return [4 /*yield*/, new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(100).build().jsNativeLatency]; + case 1: + _a.apply(void 0, [_b.sent()]).toBe(900); + return [2 /*return*/]; + } + }); + }); }); + it('calculates the jsNativeLatency if boot-reference native timestamp is available', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + // @ts-ignore + utils_1.getNativeTime.mockReturnValueOnce(Promise.resolve({ + // i.e., 150 ms latency over the bridge + nativeTimeSinceEpochMillis: 1150, + // i.e., system had been up for 5000ms when the timestamp was 1150 in the native layer + nativeUptimeMillis: 500, + })); + // translated epoch-reference timestamp = 750 + // jsNativeLatency = 1000 - 750 = 250 + _a = expect; + return [4 /*yield*/, new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(100).systemBootReference().build().jsNativeLatency]; + case 1: + // translated epoch-reference timestamp = 750 + // jsNativeLatency = 1000 - 750 = 250 + _a.apply(void 0, [_b.sent()]).toBe(250); + return [2 /*return*/]; + } + }); + }); }); +}); +//# sourceMappingURL=BridgedEventTimestamp.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.js.map b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.js.map new file mode 100644 index 0000000..5ebb8b6 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/BridgedEventTimestamp.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BridgedEventTimestamp.test.js","sourceRoot":"","sources":["../../src/__tests__/BridgedEventTimestamp.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.d.ts b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.d.ts new file mode 100644 index 0000000..9af7175 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=GestureResponderEvent.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.d.ts.map b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.d.ts.map new file mode 100644 index 0000000..158a73e --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GestureResponderEvent.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/GestureResponderEvent.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.js b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.js new file mode 100644 index 0000000..13e9efd --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var GestureResponderEvent_1 = require("../GestureResponderEvent"); +describe('GestureResponderEvent', function () { + describe('isGestureResponderEvent', function () { + it('returns true if the object contains a number native event timestamp', function () { + expect((0, GestureResponderEvent_1.isGestureResponderEvent)({ nativeEvent: { timestamp: 1234 } })).toBe(true); + }); + it('returns false if the object does not contain a number native event timestamp', function () { + expect((0, GestureResponderEvent_1.isGestureResponderEvent)({ nativeEvent: {} })).toBe(false); + expect((0, GestureResponderEvent_1.isGestureResponderEvent)({ nativeEvent: { timestamp: '1234' } })).toBe(false); + expect((0, GestureResponderEvent_1.isGestureResponderEvent)({ foo: 1234 })).toBe(false); + }); + }); +}); +//# sourceMappingURL=GestureResponderEvent.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.js.map b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.js.map new file mode 100644 index 0000000..fb3b326 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/GestureResponderEvent.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GestureResponderEvent.test.js","sourceRoot":"","sources":["../../src/__tests__/GestureResponderEvent.test.ts"],"names":[],"mappings":";;AAAA,kEAAiE;AAEjE,QAAQ,CAAC,uBAAuB,EAAE;IAChC,QAAQ,CAAC,yBAAyB,EAAE;QAClC,EAAE,CAAC,qEAAqE,EAAE;YACxE,MAAM,CAAC,IAAA,+CAAuB,EAAC,EAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE;YACjF,MAAM,CAAC,IAAA,+CAAuB,EAAC,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAA,+CAAuB,EAAC,EAAC,WAAW,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChF,MAAM,CAAC,IAAA,+CAAuB,EAAC,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/MockStateController.d.ts b/packages/react-native-performance/dist/__tests__/MockStateController.d.ts new file mode 100644 index 0000000..4135ca8 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/MockStateController.d.ts @@ -0,0 +1,17 @@ +/// +import { StateController } from '../state-machine'; +export default class MockStateController implements StateController { + configureRenderTimeout: jest.Mock; + addStateChangedListener: jest.Mock; + removeStateChangedListener: jest.Mock; + onAppStarted: jest.Mock; + onNavigationStarted: jest.Mock; + onScreenMounted: jest.Mock; + onScreenUnmounted: jest.Mock; + onFlowReset: jest.Mock; + onRenderPassCompleted: jest.Mock; + getCurrentStateFor: jest.Mock; + stopFlowIfNeeded: jest.Mock; + isEnabled: boolean; +} +//# sourceMappingURL=MockStateController.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/MockStateController.d.ts.map b/packages/react-native-performance/dist/__tests__/MockStateController.d.ts.map new file mode 100644 index 0000000..31a9e8f --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/MockStateController.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"MockStateController.d.ts","sourceRoot":"","sources":["../../src/__tests__/MockStateController.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,eAAe;IACjE,sBAAsB,sBAAa;IACnC,uBAAuB,sBAAa;IACpC,0BAA0B,sBAAa;IACvC,YAAY,sBAAa;IACzB,mBAAmB,sBAAa;IAChC,eAAe,sBAAa;IAC5B,iBAAiB,sBAAa;IAC9B,WAAW,sBAAa;IACxB,qBAAqB,sBAAa;IAClC,kBAAkB,sBAAa;IAC/B,gBAAgB,sBAAa;IAE7B,SAAS,UAAS;CACnB"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/MockStateController.js b/packages/react-native-performance/dist/__tests__/MockStateController.js new file mode 100644 index 0000000..d79a6ec --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/MockStateController.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var MockStateController = /** @class */ (function () { + function MockStateController() { + this.configureRenderTimeout = jest.fn(); + this.addStateChangedListener = jest.fn(); + this.removeStateChangedListener = jest.fn(); + this.onAppStarted = jest.fn(); + this.onNavigationStarted = jest.fn(); + this.onScreenMounted = jest.fn(); + this.onScreenUnmounted = jest.fn(); + this.onFlowReset = jest.fn(); + this.onRenderPassCompleted = jest.fn(); + this.getCurrentStateFor = jest.fn(); + this.stopFlowIfNeeded = jest.fn(); + this.isEnabled = false; + } + return MockStateController; +}()); +exports.default = MockStateController; +//# sourceMappingURL=MockStateController.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/MockStateController.js.map b/packages/react-native-performance/dist/__tests__/MockStateController.js.map new file mode 100644 index 0000000..0e775eb --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/MockStateController.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MockStateController.js","sourceRoot":"","sources":["../../src/__tests__/MockStateController.ts"],"names":[],"mappings":";;AAEA;IAAA;QACE,2BAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACnC,4BAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,+BAA0B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACvC,iBAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,wBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,oBAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5B,sBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,gBAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,0BAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAClC,uBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,qBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,cAAS,GAAG,KAAK,CAAC;IACpB,CAAC;IAAD,0BAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.d.ts b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.d.ts new file mode 100644 index 0000000..743aa3c --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.d.ts @@ -0,0 +1,2 @@ +import 'jest-extended'; +//# sourceMappingURL=PerformanceMeasureView.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.d.ts.map b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.d.ts.map new file mode 100644 index 0000000..060259f --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceMeasureView.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/PerformanceMeasureView.test.tsx"],"names":[],"mappings":"AAMA,OAAO,eAAe,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.js b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.js new file mode 100644 index 0000000..73061ee --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.js @@ -0,0 +1,232 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +/* eslint-disable @typescript-eslint/ban-ts-comment */ +var react_1 = tslib_1.__importDefault(require("react")); +var react_native_1 = require("@testing-library/react-native"); +var react_test_renderer_1 = require("react-test-renderer"); +require("jest-extended"); +var utils_1 = require("../utils"); +var PerformanceMarker_1 = require("../PerformanceMarker"); +var PerformanceMeasureView_1 = tslib_1.__importStar(require("../PerformanceMeasureView")); +var MockStateController_1 = tslib_1.__importDefault(require("./MockStateController")); +var profilerTestWrapper_1 = tslib_1.__importDefault(require("./profilerTestWrapper")); +jest.mock('../PerformanceMarker', function () { + return { + getPerformanceMarker: jest.fn(), + }; +}); +jest.mock('../utils/inMemoryCounter', function () { + return jest.fn(); +}); +var TestView = function (_props) { + return null; +}; +var emptyComponent = function () { return null; }; +var inMemoryCounterMock = utils_1.inMemoryCounter; +describe('PerformanceMeasureView', function () { + var stateController; + var PerformanceMarker; + var Wrapper; + beforeEach(function () { + inMemoryCounterMock.mockReturnValue('some-uuid'); + // @ts-ignore + PerformanceMarker = emptyComponent; + // @ts-ignore + PerformanceMarker_1.getPerformanceMarker.mockReturnValue(PerformanceMarker); + stateController = new MockStateController_1.default(); + stateController.isEnabled = true; + Wrapper = (0, profilerTestWrapper_1.default)(stateController).wrapper; + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it('renders children unaddected', function () { + var props = { + prop1: 'prop1', + prop2: 123, + prop3: false, + style: { + flex: 1, + width: 1, + height: 2, + }, + }; + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, tslib_1.__assign({}, props))))); + var view = screen.UNSAFE_getByType(TestView); + expect(view.props).toStrictEqual(props); + }); + it('renders measure view with invisible style', function () { + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + expect(view.props.style).toStrictEqual(expect.objectContaining({ + width: 0, + height: 0, + })); + }); + it('configures the default non-interactive render pass name correctly', function () { + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen", interactive: false }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + expect(view.props.renderPassName).toBe(PerformanceMeasureView_1.DEFAULT_NON_INTERACTIVE_RENDER_PASS_NAME); + }); + it('configures the default interactive render pass name correctly', function () { + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen", interactive: true }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + expect(view.props.renderPassName).toBe(PerformanceMeasureView_1.DEFAULT_INTERACTIVE_RENDER_PASS_NAME); + }); + it('configures the destination screen correctly', function () { + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen", interactive: true }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + expect(view.props.destinationScreen).toBe('SomeScreen'); + }); + it('configures the interactive value to false correctly', function () { + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen", interactive: false }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + expect(view.props.interactive).toBe('FALSE'); + }); + it('configures the interactive value to true correctly', function () { + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen", interactive: true }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + expect(view.props.interactive).toBe('TRUE'); + }); + it('configures the renderPassName correctly if one is provided', function () { + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen", renderPassName: "renderPass1" }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + expect(view.props.renderPassName).toBe('renderPass1'); + }); + it('does not render the measure view marker if disabled', function () { + stateController.isEnabled = false; + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); + var views = screen.UNSAFE_queryAllByType(PerformanceMarker); + expect(views).toHaveLength(0); + }); + it('notifies the state controller when the screen is mounted', function () { + inMemoryCounterMock.mockReturnValueOnce('mock-mount-id'); + expect(stateController.onScreenMounted).not.toHaveBeenCalled(); + (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); + expect(stateController.onScreenMounted).toHaveBeenCalledTimes(1); + expect(stateController.onScreenMounted).toHaveBeenCalledWith({ + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id', + }); + }); + it('does not notify the state controller of a screen mount if the screen re-renders', function () { + inMemoryCounterMock.mockReturnValueOnce('mock-mount-id'); + inMemoryCounterMock.mockReturnValueOnce('mock-render-id1'); + inMemoryCounterMock.mockReturnValueOnce('mock-render-id2'); + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); + expect(stateController.onScreenMounted).toHaveBeenCalledTimes(1); + screen.rerender(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); + expect(stateController.onScreenMounted).toHaveBeenCalledTimes(1); + expect(stateController.onScreenMounted).toHaveBeenCalledWith({ + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id', + }); + }); + it('uses the same promise reference for tracking the componentInstanceId between mounts and unmounts', function () { + inMemoryCounterMock.mockReturnValueOnce('mock-mount-uuid'); + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); + var mountId = stateController.onScreenMounted.mock.calls[0][0].componentInstanceId; + (0, react_test_renderer_1.act)(function () { + screen.unmount(); + }); + var unmountId = stateController.onScreenUnmounted.mock.calls[0][0].componentInstanceId; + expect(mountId === unmountId).toBe(true); + }); + it('notifies the state controller when the screen is unmounted', function () { + inMemoryCounterMock.mockReturnValueOnce('mock-mount-id'); + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); + expect(stateController.onScreenUnmounted).not.toHaveBeenCalled(); + (0, react_test_renderer_1.act)(function () { + screen.unmount(); + }); + expect(stateController.onScreenUnmounted).toHaveBeenCalledTimes(1); + expect(stateController.onScreenUnmounted).toHaveBeenCalledWith({ + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id', + }); + }); + it("notifies the state controller of a new mount followed by the previous instance's unmount", function () { + var Component1 = function () { return (react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); }; + var Component2 = function () { return (react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen" }, + react_1.default.createElement(TestView, null)))); }; + inMemoryCounterMock.mockReturnValueOnce('mock-mount-id1'); + inMemoryCounterMock.mockReturnValueOnce('mock-mount-id2'); + var screen = (0, react_native_1.render)(react_1.default.createElement(Component1, null)); + expect(stateController.onScreenMounted).toHaveBeenCalledTimes(1); + expect(stateController.onScreenMounted).toHaveBeenCalledWith({ + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id1', + }); + expect(stateController.onScreenUnmounted).not.toHaveBeenCalled(); + screen.rerender(react_1.default.createElement(Component2, null)); + expect(stateController.onScreenMounted).toHaveBeenCalledTimes(2); + expect(stateController.onScreenMounted).toHaveBeenLastCalledWith({ + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id2', + }); + expect(stateController.onScreenUnmounted).toHaveBeenCalledTimes(1); + expect(stateController.onScreenUnmounted).toHaveBeenCalledWith({ + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id1', + }); + expect(stateController.onScreenUnmounted).not.toHaveBeenCalledBefore(stateController.onScreenMounted); + }); + it('notifies the state controller when the screen is rendered', function () { + inMemoryCounterMock.mockReturnValueOnce('mock-mount-id'); + expect(stateController.onRenderPassCompleted).not.toHaveBeenCalled(); + var screen = (0, react_native_1.render)(react_1.default.createElement(Wrapper, null, + react_1.default.createElement(PerformanceMeasureView_1.default, { screenName: "SomeScreen", renderPassName: "renderPass1" }, + react_1.default.createElement(TestView, null)))); + var view = screen.UNSAFE_getByType(PerformanceMarker); + view.props.onRenderComplete({ + nativeEvent: { + timestamp: 2000, + renderPassName: 'renderPass1', + interactive: 'TRUE', + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id', + }, + }); + expect(stateController.onRenderPassCompleted).toHaveBeenCalledTimes(1); + expect(stateController.onRenderPassCompleted).toHaveBeenCalledWith({ + timestamp: 2000, + renderPassName: 'renderPass1', + interactive: true, + destinationScreen: 'SomeScreen', + componentInstanceId: 'mock-mount-id', + }); + }); +}); +//# sourceMappingURL=PerformanceMeasureView.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.js.map b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.js.map new file mode 100644 index 0000000..8b9806d --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/PerformanceMeasureView.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceMeasureView.test.js","sourceRoot":"","sources":["../../src/__tests__/PerformanceMeasureView.test.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.d.ts b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.d.ts new file mode 100644 index 0000000..d9639e0 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=RenderPassReportGenerator.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.d.ts.map b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.d.ts.map new file mode 100644 index 0000000..7d827c1 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderPassReportGenerator.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/RenderPassReportGenerator.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.js b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.js new file mode 100644 index 0000000..991a16a --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.js @@ -0,0 +1,661 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var RenderPassReportGenerator_1 = tslib_1.__importDefault(require("../RenderPassReportGenerator")); +var states_1 = require("../state-machine/states"); +var BridgedEventTimestamp_1 = require("../BridgedEventTimestamp"); +var SOURCE_SCREEN = 'source'; +var DESTINATION_SCREEN = 'dest'; +describe('RenderPassReportGenerator', function () { + beforeEach(function () { + jest.spyOn(Date, 'now').mockReturnValueOnce(100); + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it('includes the sourceScreen if the flowStartState contains it', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + previousState: undefined, + snapshotId: Promise.resolve('1'), + type: 'flow_start', + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.sourceScreen).toBe(SOURCE_SCREEN); + return [2 /*return*/]; + } + }); + }); }); + it('includes the destinationScreen', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + previousState: undefined, + snapshotId: Promise.resolve('1'), + type: 'flow_start', + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.destinationScreen).toBe(DESTINATION_SCREEN); + return [2 /*return*/]; + } + }); + }); }); + it("includes the timeToConsumeTouchEventMillis if the flow start state was of type 'flow_start'", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.timeToConsumeTouchEventMillis).toBe(60); + return [2 /*return*/]; + } + }); + }); }); + it("includes the timeToBootJsMillis if the flow start state was of type 'app_boot'", function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + previousState: undefined, + snapshotId: Promise.resolve('1'), + type: 'app_boot', + sourceScreen: undefined, + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.timeToBootJsMillis).toBe(60); + return [2 /*return*/]; + } + }); + }); }); + it('includes the renderPassName when it is available', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + previousState: undefined, + snapshotId: Promise.resolve('1'), + type: 'app_boot', + sourceScreen: undefined, + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.renderPassName).toBe('pass_1'); + return [2 /*return*/]; + } + }); + }); }); + it('excludes the renderPassName when it is not available', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'app_boot', + previousState: undefined, + snapshotId: Promise.resolve('1'), + sourceScreen: undefined, + }); + renderState = new states_1.RenderAborted({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.renderPassName).toBeUndefined(); + return [2 /*return*/]; + } + }); + }); }); + it('includes the timeToAbortMillis if the render pass aborted on startup', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'app_boot', + previousState: undefined, + snapshotId: Promise.resolve('1'), + sourceScreen: undefined, + }); + renderState = new states_1.RenderAborted({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The app_boot timeToAbortMillis does not include the boot times + expect(report === null || report === void 0 ? void 0 : report.timeToAbortMillis).toBe(1000 - 100); + return [2 /*return*/]; + } + }); + }); }); + it('includes the timeToAbortMillis (including the the native-touch-event-propagation latency) if the render pass aborted when the flow is started', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(50).build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.RenderAborted({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The flow_start timeToAbortMillis includes the native-touch-event-propagation latency, when available + expect(report === null || report === void 0 ? void 0 : report.timeToAbortMillis).toBe(1000 - 50); + return [2 /*return*/]; + } + }); + }); }); + it('includes the timeToAbortMillis (excluding the the native-touch-event-propagation latency) if the render pass aborted when the flow is started', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.RenderAborted({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The flow_start timeToAbortMillis does not include the native-touch-event-propagation latency, when it is not available + expect(report === null || report === void 0 ? void 0 : report.timeToAbortMillis).toBe(1000 - 100); + return [2 /*return*/]; + } + }); + }); }); + it('includes the timeToRenderMillis if the render pass completed on startup', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + previousState: undefined, + snapshotId: Promise.resolve('1'), + type: 'app_boot', + sourceScreen: undefined, + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The app_boot timeToRenderMillis does not include the boot times + expect(report === null || report === void 0 ? void 0 : report.timeToRenderMillis).toBe(1000 - 100); + return [2 /*return*/]; + } + }); + }); }); + it('includes the timeToRenderMillis (including the native-touch-event-propagation latency) if the render pass completed when the flow is started', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(60).build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The flow_start timeToRenderMillis includes the native-touch-event-propagation latency, when available + expect(report === null || report === void 0 ? void 0 : report.timeToRenderMillis).toBe(1000 - 60); + return [2 /*return*/]; + } + }); + }); }); + it('includes the timeToRenderMillis (excluding the native-touch-event-propagation latency) if the render pass completed when the flow is started', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The flow_start timeToRenderMillis excludes the native-touch-event-propagation latency, when it is not available + expect(report === null || report === void 0 ? void 0 : report.timeToRenderMillis).toBe(1000 - 100); + return [2 /*return*/]; + } + }); + }); }); + it('marks the render pass as interactive if the an interactive render pass completed', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.interactive).toBe(true); + return [2 /*return*/]; + } + }); + }); }); + it('marks the render pass as non-interactive if the a non-interactive render pass completed', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: false, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.interactive).toBe(false); + return [2 /*return*/]; + } + }); + }); }); + it('marks the render pass as non-interactive if the render pass aborted', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'app_boot', + previousState: undefined, + snapshotId: Promise.resolve('1'), + sourceScreen: undefined, + }); + renderState = new states_1.RenderAborted({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + expect(report === null || report === void 0 ? void 0 : report.interactive).toBe(false); + return [2 /*return*/]; + } + }); + }); }); + it('does not prepare a new report if there is an older render completed or aborted state with the same snapshotId', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderedSnapshotId, firstRenderState, secondRenderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'app_boot', + previousState: undefined, + snapshotId: Promise.resolve('1'), + sourceScreen: undefined, + }); + renderedSnapshotId = Promise.resolve('2'); + firstRenderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: false, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: renderedSnapshotId, + }); + secondRenderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: false, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: firstRenderState, + snapshotId: renderedSnapshotId, + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(firstRenderState)]; + case 1: + report = _a.sent(); + expect(report).toBeDefined(); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(secondRenderState)]; + case 2: + report = _a.sent(); + expect(report).toBeNull(); + return [2 /*return*/]; + } + }); + }); }); + it('includes the flowStartTimeSinceEpochMillis in the app startup report', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'app_boot', + previousState: undefined, + snapshotId: Promise.resolve('1'), + sourceScreen: undefined, + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The app_boot flowStartTimeSinceEpochMillis does not include the boot time. + expect(report === null || report === void 0 ? void 0 : report.flowStartTimeSinceEpochMillis).toBe(100); + return [2 /*return*/]; + } + }); + }); }); + it('includes the flowStartTimeSinceEpochMillis (including the native-touch-event-propagation latency) in the flow report', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The flow_start flowStartTimeSinceEpochMillis includes the native-touch-event-propagation latency, when available. + expect(report === null || report === void 0 ? void 0 : report.flowStartTimeSinceEpochMillis).toBe(40); + return [2 /*return*/]; + } + }); + }); }); + it('includes the flowStartTimeSinceEpochMillis (excluding the native-touch-event-propagation latency) in the flow report', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, renderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + sourceScreen: SOURCE_SCREEN, + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + renderState = new states_1.Rendered({ + renderPassName: 'pass_1', + interactive: true, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(renderState)]; + case 1: + report = _a.sent(); + // The flow_start flowStartTimeSinceEpochMillis excludes the native-touch-event-propagation latency, when unavailable. + expect(report === null || report === void 0 ? void 0 : report.flowStartTimeSinceEpochMillis).toBe(100); + return [2 /*return*/]; + } + }); + }); }); + it('prepares a new report if there are multiple Rendered states with the same renderPassName but different snapshotIds', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var flowStartState, firstRenderState, secondRenderState, report; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + flowStartState = new states_1.Started({ + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(40).build(), + type: 'flow_start', + previousState: undefined, + snapshotId: Promise.resolve('1'), + sourceScreen: undefined, + }); + firstRenderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: false, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: flowStartState, + snapshotId: Promise.resolve('2'), + }); + secondRenderState = new states_1.Rendered({ + renderPassName: 'pass1', + interactive: false, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(2000).build(), + destinationScreen: DESTINATION_SCREEN, + componentInstanceId: 'id', + previousState: firstRenderState, + snapshotId: Promise.resolve('3'), + }); + return [4 /*yield*/, (0, RenderPassReportGenerator_1.default)(secondRenderState)]; + case 1: + report = _a.sent(); + expect(report).toBeDefined(); + expect(report === null || report === void 0 ? void 0 : report.renderPassName).toBe('pass1'); + expect(report === null || report === void 0 ? void 0 : report.timeToRenderMillis).toBe(2000 - 40); + return [2 /*return*/]; + } + }); + }); }); +}); +//# sourceMappingURL=RenderPassReportGenerator.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.js.map b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.js.map new file mode 100644 index 0000000..c8493c8 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/RenderPassReportGenerator.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderPassReportGenerator.test.js","sourceRoot":"","sources":["../../src/__tests__/RenderPassReportGenerator.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.d.ts b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.d.ts new file mode 100644 index 0000000..589164c --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=PerformanceProfiler.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.d.ts.map b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.d.ts.map new file mode 100644 index 0000000..3c5e8bd --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfiler.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/context/PerformanceProfiler.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.js b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.js new file mode 100644 index 0000000..f09b9e9 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.js @@ -0,0 +1,81 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +/* eslint-disable @typescript-eslint/ban-ts-comment */ +var react_1 = tslib_1.__importDefault(require("react")); +var react_hooks_1 = require("@testing-library/react-hooks"); +var context_1 = require("../../context"); +var useReportEmitter_1 = tslib_1.__importDefault(require("../../context/useReportEmitter")); +var state_machine_1 = require("../../state-machine"); +jest.mock('../../state-machine/controller/useStateControllerInitializer', function () { + return jest.fn(); +}); +jest.mock('../../context/useReportEmitter', function () { + return jest.fn(); +}); +describe('context/PerformanceProfiler', function () { + var mockStateController = { key: 'value' }; + var mockReportEmitter; + beforeEach(function () { + mockReportEmitter = jest.fn(); + // @ts-ignore + state_machine_1.useStateControllerInitializer.mockReturnValue(mockStateController); + // @ts-ignore + useReportEmitter_1.default.mockReturnValue(mockReportEmitter); + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it('intializes the state controller via the useStateControllerInitializer hook', function () { + var wrapper = function (_a) { + var children = _a.children; + return (react_1.default.createElement(context_1.PerformanceProfiler, { onReportPrepared: jest.fn() }, children)); + }; + var resolvedStateController = (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { + wrapper: wrapper, + }).result.current; + expect(resolvedStateController).toBe(mockStateController); + }); + it('uses the report emitter prepared by the useReportEmitter hook', function () { + var wrapper = function (_a) { + var children = _a.children; + return (react_1.default.createElement(context_1.PerformanceProfiler, { onReportPrepared: jest.fn() }, children)); + }; + expect(state_machine_1.useStateControllerInitializer).not.toHaveBeenCalled(); + (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { wrapper: wrapper }); + expect(state_machine_1.useStateControllerInitializer).toHaveBeenCalledWith(expect.objectContaining({ reportEmitter: mockReportEmitter })); + }); + it('uses render timeouts by default', function () { + var wrapper = function (_a) { + var children = _a.children; + return (react_1.default.createElement(context_1.PerformanceProfiler, { onReportPrepared: jest.fn() }, children)); + }; + (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { wrapper: wrapper }); + expect(state_machine_1.useStateControllerInitializer).toHaveBeenCalledWith(expect.objectContaining({ useRenderTimeouts: true })); + }); + it('does not use render timeouts if turned off', function () { + var wrapper = function (_a) { + var children = _a.children; + return (react_1.default.createElement(context_1.PerformanceProfiler, { useRenderTimeouts: false, onReportPrepared: jest.fn() }, children)); + }; + (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { wrapper: wrapper }); + expect(state_machine_1.useStateControllerInitializer).toHaveBeenCalledWith(expect.objectContaining({ useRenderTimeouts: false })); + }); + it('overrides render timeout if provided', function () { + var wrapper = function (_a) { + var children = _a.children; + return (react_1.default.createElement(context_1.PerformanceProfiler, { renderTimeoutMillis: 3000, onReportPrepared: jest.fn() }, children)); + }; + (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { wrapper: wrapper }); + expect(state_machine_1.useStateControllerInitializer).toHaveBeenCalledWith(expect.objectContaining({ renderTimeoutMillis: 3000 })); + }); + it('does not use render timeout if turned off, but override is provided', function () { + var wrapper = function (_a) { + var children = _a.children; + return (react_1.default.createElement(context_1.PerformanceProfiler, { renderTimeoutMillis: 3000, useRenderTimeouts: false, onReportPrepared: jest.fn() }, children)); + }; + (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { wrapper: wrapper }); + expect(state_machine_1.useStateControllerInitializer).toHaveBeenCalledWith(expect.objectContaining({ useRenderTimeouts: false })); + }); +}); +//# sourceMappingURL=PerformanceProfiler.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.js.map b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.js.map new file mode 100644 index 0000000..5e0363b --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/PerformanceProfiler.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfiler.test.js","sourceRoot":"","sources":["../../../src/__tests__/context/PerformanceProfiler.test.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.d.ts b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.d.ts new file mode 100644 index 0000000..b3d70e7 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=useReportEmitter.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.d.ts.map b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.d.ts.map new file mode 100644 index 0000000..79d2026 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useReportEmitter.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/context/useReportEmitter.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.js b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.js new file mode 100644 index 0000000..aa29eb3 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.js @@ -0,0 +1,98 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +/* eslint-disable @typescript-eslint/ban-ts-comment */ +var react_native_1 = require("@testing-library/react-native"); +var react_hooks_1 = require("@testing-library/react-hooks"); +var useReportEmitter_1 = tslib_1.__importDefault(require("../../context/useReportEmitter")); +var RenderPassReportGenerator_1 = tslib_1.__importDefault(require("../../RenderPassReportGenerator")); +var Logger_1 = tslib_1.__importStar(require("../../utils/Logger")); +jest.mock('../../RenderPassReportGenerator', function () { + var mockGenerator = jest.fn(); + return mockGenerator; +}); +jest.mock('../../utils/Logger', function () { + return { + debug: jest.fn(), + info: jest.fn(), + warn: jest.fn(), + error: jest.fn(), + LogLevel: { + Debug: 0, + Info: 1, + Warn: 2, + Error: 3, + }, + }; +}); +describe('context/useReportEmitter', function () { + var onReportPrepared; + var errorHandler; + var reportEmitter; + beforeEach(function () { + Logger_1.default.logLevel = Logger_1.LogLevel.Info; + onReportPrepared = jest.fn(); + errorHandler = jest.fn(); + reportEmitter = (0, react_hooks_1.renderHook)(function () { return (0, useReportEmitter_1.default)({ onReportPrepared: onReportPrepared, errorHandler: errorHandler }); }).result.current; + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it('reports the RenderPassReport if renderPassReportGenerator generates one', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var mockReport; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + mockReport = { key: 'value' }; + // @ts-ignore + RenderPassReportGenerator_1.default.mockReturnValueOnce(Promise.resolve(mockReport)); + reportEmitter('screen', undefined, { key: 'some_state' }); + return [4 /*yield*/, (0, react_native_1.act)(function () { return Promise.resolve(); })]; + case 1: + _a.sent(); + expect(onReportPrepared).toHaveBeenCalledTimes(1); + expect(onReportPrepared).toHaveBeenCalledWith(mockReport); + expect(Logger_1.default.info).toHaveBeenCalledTimes(1); + expect(Logger_1.default.info).toHaveBeenCalledWith("Render Pass Report: ".concat(JSON.stringify(mockReport, undefined, 2))); + return [2 /*return*/]; + } + }); + }); }); + it('does not log RenderPassReport if logger level is not Info', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var mockReport; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + Logger_1.default.logLevel = Logger_1.LogLevel.Warn; + mockReport = { key: 'value' }; + // @ts-ignore + RenderPassReportGenerator_1.default.mockReturnValueOnce(Promise.resolve(mockReport)); + reportEmitter('screen', undefined, { key: 'some_state' }); + return [4 /*yield*/, (0, react_native_1.act)(function () { return Promise.resolve(); })]; + case 1: + _a.sent(); + expect(onReportPrepared).toHaveBeenCalledTimes(1); + expect(onReportPrepared).toHaveBeenCalledWith(mockReport); + expect(Logger_1.default.info).not.toHaveBeenCalled(); + return [2 /*return*/]; + } + }); + }); }); + it('does not report anything to onReportPrepared if renderPassReportGenerator does not generate a report', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + // @ts-ignore + RenderPassReportGenerator_1.default.mockReturnValueOnce(Promise.resolve(null)); + reportEmitter('screen', undefined, { key: 'some_state' }); + return [4 /*yield*/, (0, react_native_1.act)(function () { return Promise.resolve(); })]; + case 1: + _a.sent(); + expect(onReportPrepared).not.toHaveBeenCalled(); + expect(Logger_1.default.info).not.toHaveBeenCalled(); + return [2 /*return*/]; + } + }); + }); }); +}); +//# sourceMappingURL=useReportEmitter.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.js.map b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.js.map new file mode 100644 index 0000000..d7a7260 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/context/useReportEmitter.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useReportEmitter.test.js","sourceRoot":"","sources":["../../../src/__tests__/context/useReportEmitter.test.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.d.ts b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.d.ts new file mode 100644 index 0000000..52fad4f --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=useProfilerStateChangeListener.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.d.ts.map b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.d.ts.map new file mode 100644 index 0000000..1a22046 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfilerStateChangeListener.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/hooks/useProfilerStateChangeListener.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.js b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.js new file mode 100644 index 0000000..226dbe3 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.js @@ -0,0 +1,88 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +/* eslint-disable @typescript-eslint/ban-ts-comment */ +var react_native_1 = require("@testing-library/react-native"); +var react_hooks_1 = require("@testing-library/react-hooks"); +var useProfilerStateChangeListener_1 = tslib_1.__importDefault(require("../../hooks/useProfilerStateChangeListener")); +var profilerTestWrapper_1 = tslib_1.__importDefault(require("../profilerTestWrapper")); +describe('hooks/useProfilerStateChangeListener', function () { + var stateController; + var onStateChanged; + var wrapper; + beforeEach(function () { + var _a; + onStateChanged = jest.fn(); + (_a = (0, profilerTestWrapper_1.default)(), wrapper = _a.wrapper, stateController = _a.stateController); + }); + it("initializes the state with the state controller's current state", function () { + var mockInitialState = { name: 'some state' }; + // @ts-ignore + stateController.getCurrentStateFor.mockReturnValueOnce(mockInitialState); + (0, react_hooks_1.renderHook)(function () { + return (0, useProfilerStateChangeListener_1.default)({ + destinationScreen: 'foo', + onStateChanged: onStateChanged, + }); + }, { wrapper: wrapper }); + expect(onStateChanged).toHaveBeenCalledWith(mockInitialState); + }); + it('subscribes to state changes from the state controller', function () { + var mockNewState = { name: 'some state' }; + expect(stateController.addStateChangedListener).not.toHaveBeenCalled(); + (0, react_hooks_1.renderHook)(function () { + return (0, useProfilerStateChangeListener_1.default)({ + destinationScreen: 'foo', + onStateChanged: onStateChanged, + }); + }, { wrapper: wrapper }); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(onStateChanged).not.toHaveBeenCalled(); + // @ts-ignore + (0, react_native_1.act)(function () { return stateController.addStateChangedListener.mock.calls[0][0]('foo', undefined, mockNewState); }); + expect(onStateChanged).toHaveBeenCalledWith(mockNewState); + }); + it('ignores state changes from screens that the user does not care about', function () { + expect(stateController.addStateChangedListener).not.toHaveBeenCalled(); + (0, react_hooks_1.renderHook)(function () { + return (0, useProfilerStateChangeListener_1.default)({ + destinationScreen: 'foo', + onStateChanged: onStateChanged, + }); + }, { wrapper: wrapper }); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + // @ts-ignore + stateController.addStateChangedListener.mock.calls[0][0]('bar', undefined, { + name: 'some state', + }); + expect(onStateChanged).not.toHaveBeenCalled(); + }); + it('unsubscribes to the state changes when unmounted', function () { + var renderHookResult = (0, react_hooks_1.renderHook)(function () { + return (0, useProfilerStateChangeListener_1.default)({ + destinationScreen: 'foo', + onStateChanged: onStateChanged, + }); + }, { + wrapper: wrapper, + }); + expect(stateController.removeStateChangedListener).not.toHaveBeenCalled(); + renderHookResult.unmount(); + expect(stateController.removeStateChangedListener).toHaveBeenCalledTimes(1); + }); + it('does not unsubscribe and re-subscribe if the hook is re-rendered with a regex destinationScreen', function () { + expect(stateController.addStateChangedListener).not.toHaveBeenCalled(); + var renderHookResult = (0, react_hooks_1.renderHook)(function () { + return (0, useProfilerStateChangeListener_1.default)({ + destinationScreen: new RegExp('.*'), + onStateChanged: onStateChanged, + }); + }, { wrapper: wrapper }); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.removeStateChangedListener).not.toHaveBeenCalled(); + renderHookResult.rerender(); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.removeStateChangedListener).not.toHaveBeenCalled(); + }); +}); +//# sourceMappingURL=useProfilerStateChangeListener.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.js.map b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.js.map new file mode 100644 index 0000000..ef0f204 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useProfilerStateChangeListener.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfilerStateChangeListener.test.js","sourceRoot":"","sources":["../../../src/__tests__/hooks/useProfilerStateChangeListener.test.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.d.ts b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.d.ts new file mode 100644 index 0000000..2b71784 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=useRenderPassReport.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.d.ts.map b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.d.ts.map new file mode 100644 index 0000000..d2460fa --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useRenderPassReport.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/hooks/useRenderPassReport.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.js b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.js new file mode 100644 index 0000000..c369726 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.js @@ -0,0 +1,112 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +/* eslint-disable @typescript-eslint/ban-ts-comment */ +var react_hooks_1 = require("@testing-library/react-hooks"); +var react_native_1 = require("@testing-library/react-native"); +var useRenderPassReport_1 = tslib_1.__importDefault(require("../../hooks/useRenderPassReport")); +var RenderPassReportGenerator_1 = tslib_1.__importDefault(require("../../RenderPassReportGenerator")); +var profilerTestWrapper_1 = tslib_1.__importDefault(require("../profilerTestWrapper")); +jest.mock('../../RenderPassReportGenerator', function () { + var renderPassReportGenerator = jest.fn(); + return renderPassReportGenerator; +}); +describe('useRenderPassReport', function () { + var stateController; + var wrapper; + beforeEach(function () { + var _a; + // @ts-ignore + RenderPassReportGenerator_1.default.mockReturnValue(Promise.resolve(null)); + (_a = (0, profilerTestWrapper_1.default)(), wrapper = _a.wrapper, stateController = _a.stateController); + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it('subscribes to changes from the state controller', function () { + expect(stateController.addStateChangedListener).not.toHaveBeenCalled(); + (0, react_hooks_1.renderHook)(function () { + return (0, useRenderPassReport_1.default)({ + destinationScreen: 'foo', + }); + }, { wrapper: wrapper }); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + }); + it('ignores state changes from screens that the user does not care about', function () { + var report = (0, react_hooks_1.renderHook)(function () { + return (0, useRenderPassReport_1.default)({ + destinationScreen: 'foo', + }); + }, { wrapper: wrapper }).result.current; + // @ts-ignore + stateController.addStateChangedListener.mock.calls[0][0]('bar', { name: 'old state' }, { name: 'new state' }); + expect(RenderPassReportGenerator_1.default).not.toHaveBeenCalled(); + expect(report).toBeUndefined(); + }); + it('passes the state changes to the renderPassReportGenerator', function () { + var _a; + var report = (0, react_hooks_1.renderHook)(function () { + return (0, useRenderPassReport_1.default)({ + destinationScreen: new RegExp('^f[o]+$'), + }); + }, { wrapper: wrapper }).result.current; + var stateChangeArgs = ['fooooo', { name: 'old state' }, { name: 'new state' }]; + expect(RenderPassReportGenerator_1.default).not.toHaveBeenCalled(); + // @ts-ignore + (_a = stateController.addStateChangedListener.mock.calls[0])[0].apply(_a, tslib_1.__spreadArray([], tslib_1.__read(stateChangeArgs), false)); + expect(RenderPassReportGenerator_1.default).toHaveBeenCalledTimes(1); + expect(RenderPassReportGenerator_1.default).toHaveBeenCalledWith(stateChangeArgs[2]); + expect(report).toBeUndefined(); + }); + it('updates the output result if renderPassReportGenerator prepares a report', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var mockReport, renderHookResult, stateChangeArgs; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + mockReport = { tti: 10 }; + // @ts-ignore + RenderPassReportGenerator_1.default.mockReturnValue(Promise.resolve(mockReport)); + renderHookResult = (0, react_hooks_1.renderHook)(function () { + return (0, useRenderPassReport_1.default)({ + destinationScreen: 'foo', + }); + }, { wrapper: wrapper }); + stateChangeArgs = ['foo', { name: 'old state' }, { name: 'new state' }]; + return [4 /*yield*/, (0, react_native_1.act)(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + // @ts-ignore + (_a = stateController.addStateChangedListener.mock.calls[0])[0].apply(_a, tslib_1.__spreadArray([], tslib_1.__read(stateChangeArgs), false)); + // Flush the report preparation promise + return [4 /*yield*/, new Promise(function (resolve) { return setImmediate(resolve); })]; + case 1: + // Flush the report preparation promise + _b.sent(); + return [2 /*return*/]; + } + }); + }); })]; + case 1: + _a.sent(); + expect(renderHookResult.result.current).toBe(mockReport); + return [2 /*return*/]; + } + }); + }); }); + it('does not unsubscribe and re-subscribe if the hook is re-rendered with a regex destinationScreen', function () { + expect(stateController.addStateChangedListener).not.toHaveBeenCalled(); + var renderHookResult = (0, react_hooks_1.renderHook)(function () { + return (0, useRenderPassReport_1.default)({ + destinationScreen: new RegExp('.*'), + }); + }, { wrapper: wrapper }); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.removeStateChangedListener).not.toHaveBeenCalled(); + renderHookResult.rerender(); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.removeStateChangedListener).not.toHaveBeenCalled(); + }); +}); +//# sourceMappingURL=useRenderPassReport.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.js.map b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.js.map new file mode 100644 index 0000000..697cf25 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useRenderPassReport.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useRenderPassReport.test.js","sourceRoot":"","sources":["../../../src/__tests__/hooks/useRenderPassReport.test.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.d.ts b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.d.ts new file mode 100644 index 0000000..2a80127 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=useResetFlow.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.d.ts.map b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.d.ts.map new file mode 100644 index 0000000..d9e6e65 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useResetFlow.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/hooks/useResetFlow.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.js b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.js new file mode 100644 index 0000000..1bf496b --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_hooks_1 = require("@testing-library/react-hooks"); +var useResetFlow_1 = tslib_1.__importDefault(require("../../hooks/useResetFlow")); +var profilerTestWrapper_1 = tslib_1.__importDefault(require("../profilerTestWrapper")); +describe('hooks/useResetFlow', function () { + var mockStateController; + var wrapper; + beforeEach(function () { + var _a; + (_a = (0, profilerTestWrapper_1.default)(), wrapper = _a.wrapper, mockStateController = _a.stateController); + }); + it('calls stateController.onFlowReset when the flow is reset', function () { + var _a = (0, react_hooks_1.renderHook)(function () { return (0, useResetFlow_1.default)(); }, { wrapper: wrapper }).result.current, resetFlow = _a.resetFlow, componentInstanceId = _a.componentInstanceId; + expect(mockStateController.onFlowReset).not.toHaveBeenCalled(); + resetFlow({ + destination: 'SomeDestinationScreen', + }); + expect(mockStateController.onFlowReset).toHaveBeenCalledTimes(1); + expect(mockStateController.onFlowReset).toHaveBeenCalledWith({ + destinationScreen: 'SomeDestinationScreen', + componentInstanceId: componentInstanceId, + }); + }); + it('provides the renderTimeoutMillisOverride when one is provided on flow reset', function () { + var _a = (0, react_hooks_1.renderHook)(function () { return (0, useResetFlow_1.default)(); }, { wrapper: wrapper }).result.current, resetFlow = _a.resetFlow, componentInstanceId = _a.componentInstanceId; + resetFlow({ + destination: 'SomeSourceScreen', + renderTimeoutMillisOverride: 34, + }); + expect(mockStateController.onFlowReset).toHaveBeenCalledTimes(1); + expect(mockStateController.onFlowReset).toBeCalledWith({ + destinationScreen: 'SomeSourceScreen', + renderTimeoutMillisOverride: 34, + componentInstanceId: componentInstanceId, + }); + }); +}); +//# sourceMappingURL=useResetFlow.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.js.map b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.js.map new file mode 100644 index 0000000..6231c8c --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useResetFlow.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useResetFlow.test.js","sourceRoot":"","sources":["../../../src/__tests__/hooks/useResetFlow.test.tsx"],"names":[],"mappings":";;;AAAA,4DAA0E;AAE1E,kFAAoD;AAEpD,uFAAyD;AAEzD,QAAQ,CAAC,oBAAoB,EAAE;IAC7B,IAAI,mBAAoC,CAAC;IACzC,IAAI,OAA8B,CAAC;IAEnC,UAAU,CAAC;;QACT,CAAC,KAAkD,IAAA,6BAAmB,GAAE,EAAtE,OAAO,aAAA,EAAmB,mBAAmB,qBAAA,CAA0B,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE;QACvD,IAAA,KAAmC,IAAA,wBAAU,EAAC,cAAM,OAAA,IAAA,sBAAY,GAAE,EAAd,CAAc,EAAE,EAAC,OAAO,SAAA,EAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAA5F,SAAS,eAAA,EAAE,mBAAmB,yBAA8D,CAAC;QACpG,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/D,SAAS,CAAC;YACR,WAAW,EAAE,uBAAuB;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC;YAC3D,iBAAiB,EAAE,uBAAuB;YAC1C,mBAAmB,qBAAA;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE;QAC1E,IAAA,KAAmC,IAAA,wBAAU,EAAC,cAAM,OAAA,IAAA,sBAAY,GAAE,EAAd,CAAc,EAAE,EAAC,OAAO,SAAA,EAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAA5F,SAAS,eAAA,EAAE,mBAAmB,yBAA8D,CAAC;QACpG,SAAS,CAAC;YACR,WAAW,EAAE,kBAAkB;YAC/B,2BAA2B,EAAE,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC;YACrD,iBAAiB,EAAE,kBAAkB;YACrC,2BAA2B,EAAE,EAAE;YAC/B,mBAAmB,qBAAA;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.d.ts b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.d.ts new file mode 100644 index 0000000..7da6521 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=useStartProfiler.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.d.ts.map b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.d.ts.map new file mode 100644 index 0000000..42c6554 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useStartProfiler.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/hooks/useStartProfiler.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.js b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.js new file mode 100644 index 0000000..77eda32 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.js @@ -0,0 +1,49 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_hooks_1 = require("@testing-library/react-hooks"); +var useStartProfiler_1 = tslib_1.__importDefault(require("../../hooks/useStartProfiler")); +var profilerTestWrapper_1 = tslib_1.__importDefault(require("../profilerTestWrapper")); +describe('hooks/useStartProfiler', function () { + var mockStateController; + var wrapper; + beforeEach(function () { + var _a; + (_a = (0, profilerTestWrapper_1.default)(), wrapper = _a.wrapper, mockStateController = _a.stateController); + }); + it('calls stateController.onNavigationStarted', function () { + var start = (0, react_hooks_1.renderHook)(function () { return (0, useStartProfiler_1.default)(); }, { wrapper: wrapper }).result.current; + expect(mockStateController.onNavigationStarted).not.toHaveBeenCalled(); + start({ + source: 'SomeSourceScreen', + uiEvent: { + nativeEvent: { + timestamp: 1000, + }, + }, + }); + expect(mockStateController.onNavigationStarted).toHaveBeenCalledTimes(1); + expect(mockStateController.onNavigationStarted).toHaveBeenCalledWith({ + sourceScreen: 'SomeSourceScreen', + uiEvent: { + nativeEvent: { + timestamp: 1000, + }, + }, + }); + }); + it('provides the renderTimeoutMillisOverride when one is provided on navigation start', function () { + var start = (0, react_hooks_1.renderHook)(function () { return (0, useStartProfiler_1.default)(); }, { wrapper: wrapper }).result.current; + expect(mockStateController.onNavigationStarted).not.toHaveBeenCalled(); + start({ + source: 'SomeSourceScreen', + renderTimeoutMillisOverride: 34, + }); + expect(mockStateController.onNavigationStarted).toHaveBeenCalledTimes(1); + expect(mockStateController.onNavigationStarted).toHaveBeenCalledWith({ + sourceScreen: 'SomeSourceScreen', + renderTimeoutMillisOverride: 34, + }); + }); +}); +//# sourceMappingURL=useStartProfiler.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.js.map b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.js.map new file mode 100644 index 0000000..b150ea7 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/hooks/useStartProfiler.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useStartProfiler.test.js","sourceRoot":"","sources":["../../../src/__tests__/hooks/useStartProfiler.test.tsx"],"names":[],"mappings":";;;AAAA,4DAA0E;AAE1E,0FAA4D;AAE5D,uFAAyD;AAEzD,QAAQ,CAAC,wBAAwB,EAAE;IACjC,IAAI,mBAAoC,CAAC;IACzC,IAAI,OAA8B,CAAC;IAEnC,UAAU,CAAC;;QACT,CAAC,KAAkD,IAAA,6BAAmB,GAAE,EAAtE,OAAO,aAAA,EAAmB,mBAAmB,qBAAA,CAA0B,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE;QAC9C,IAAM,KAAK,GAAG,IAAA,wBAAU,EAAC,cAAM,OAAA,IAAA,0BAAgB,GAAE,EAAlB,CAAkB,EAAE,EAAC,OAAO,SAAA,EAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAE7E,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAEvE,KAAK,CAAC;YACJ,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,SAAS,EAAE,IAAI;iBAChB;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC;YACnE,YAAY,EAAE,kBAAkB;YAChC,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,SAAS,EAAE,IAAI;iBAChB;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE;QACtF,IAAM,KAAK,GAAG,IAAA,wBAAU,EAAC,cAAM,OAAA,IAAA,0BAAgB,GAAE,EAAlB,CAAkB,EAAE,EAAC,OAAO,SAAA,EAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7E,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvE,KAAK,CAAC;YACJ,MAAM,EAAE,kBAAkB;YAC1B,2BAA2B,EAAE,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC;YACnE,YAAY,EAAE,kBAAkB;YAChC,2BAA2B,EAAE,EAAE;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/profilerTestWrapper.d.ts b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.d.ts new file mode 100644 index 0000000..f2edfc0 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.d.ts @@ -0,0 +1,11 @@ +import React from 'react'; +import { StateController } from '../state-machine'; +import { ErrorHandler } from '../utils'; +export default function profilerTestWrapper(stateController?: StateController, errorHandler?: ErrorHandler): { + wrapper: ({ children }: { + children: React.ReactElement; + }) => JSX.Element; + stateController: StateController; + errorHandler: ErrorHandler; +}; +//# sourceMappingURL=profilerTestWrapper.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/profilerTestWrapper.d.ts.map b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.d.ts.map new file mode 100644 index 0000000..b560812 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"profilerTestWrapper.d.ts","sourceRoot":"","sources":["../../src/__tests__/profilerTestWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAiC,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAC,YAAY,EAA8B,MAAM,UAAU,CAAC;AAInE,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,eAAe,GAAE,eAA2C,EAC5D,YAAY,GAAE,YAAwB;;kBAEE,MAAM,YAAY;;;;EAS3D"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/profilerTestWrapper.js b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.js new file mode 100644 index 0000000..f907e51 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +var state_machine_1 = require("../state-machine"); +var utils_1 = require("../utils"); +var MockStateController_1 = tslib_1.__importDefault(require("./MockStateController")); +function profilerTestWrapper(stateController, errorHandler) { + if (stateController === void 0) { stateController = new MockStateController_1.default(); } + if (errorHandler === void 0) { errorHandler = jest.fn(); } + var wrapper = function (_a) { + var children = _a.children; + return (react_1.default.createElement(state_machine_1.StateControllerContextProvider, { value: stateController }, + react_1.default.createElement(utils_1.ErrorHandlerContextProvider, { value: errorHandler }, children))); + }; + return { wrapper: wrapper, stateController: stateController, errorHandler: errorHandler }; +} +exports.default = profilerTestWrapper; +//# sourceMappingURL=profilerTestWrapper.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/profilerTestWrapper.js.map b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.js.map new file mode 100644 index 0000000..d2305c5 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/profilerTestWrapper.js.map @@ -0,0 +1 @@ +{"version":3,"file":"profilerTestWrapper.js","sourceRoot":"","sources":["../../src/__tests__/profilerTestWrapper.tsx"],"names":[],"mappings":";;;AAAA,wDAA0B;AAE1B,kDAAiF;AACjF,kCAAmE;AAEnE,sFAAwD;AAExD,SAAwB,mBAAmB,CACzC,eAA4D,EAC5D,YAAsC;IADtC,gCAAA,EAAA,sBAAuC,6BAAmB,EAAE;IAC5D,6BAAA,EAAA,eAA6B,IAAI,CAAC,EAAE,EAAE;IAEtC,IAAM,OAAO,GAAG,UAAC,EAA0C;YAAzC,QAAQ,cAAA;QACxB,OAAO,CACL,8BAAC,8CAA8B,IAAC,KAAK,EAAE,eAAe;YACpD,8BAAC,mCAA2B,IAAC,KAAK,EAAE,YAAY,IAAG,QAAQ,CAA+B,CAC3D,CAClC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,EAAC,OAAO,SAAA,EAAE,eAAe,iBAAA,EAAE,YAAY,cAAA,EAAC,CAAC;AAClD,CAAC;AAbD,sCAaC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.d.ts b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.d.ts new file mode 100644 index 0000000..41a572c --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=EnabledStateController.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.d.ts.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.d.ts.map new file mode 100644 index 0000000..3dc3267 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EnabledStateController.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/EnabledStateController.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.js b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.js new file mode 100644 index 0000000..56dadd5 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.js @@ -0,0 +1,860 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var state_machine_1 = require("../../../state-machine"); +var BridgedEventTimestamp_1 = tslib_1.__importStar(require("../../../BridgedEventTimestamp")); +var exceptions_1 = require("../../../exceptions"); +var utils_1 = require("../../../utils"); +var Logger_1 = tslib_1.__importStar(require("../../../utils/Logger")); +var EnabledStateController_1 = require("../../../state-machine/controller/EnabledStateController"); +var RENDER_TIMEOUT_MILLIS = 5000; +jest.mock('../../../utils/native-performance-module', function () { + var actual = jest.requireActual('../../../utils/native-performance-module'); + return tslib_1.__assign(tslib_1.__assign({}, actual), { getNativeUuid: jest.fn() }); +}); +jest.mock('../../../utils/Logger', function () { + return { + debug: jest.fn(), + info: jest.fn(), + error: jest.fn(), + warn: jest.fn(), + LogLevel: { + Debug: 0, + Info: 1, + Warn: 2, + Error: 3, + }, + }; +}); +var getNativeUuidMock = utils_1.getNativeUuid; +var getNativeStartupTimestampMock = utils_1.getNativeStartupTimestamp; +var matchesPatternMock = utils_1.matchesPattern; +jest.mock('../../../utils', function () { + return { + getNativeUuid: jest.fn(), + getNativeStartupTimestamp: jest.fn(), + matchesPattern: jest.fn(), + }; +}); +describe('state-machine/controller/EnabledStateController', function () { + var onStateChangedListener; + var stateController; + var onRenderTimeout; + beforeEach(function () { + Logger_1.default.logLevel = Logger_1.LogLevel.Info; + jest.spyOn(Date, 'now').mockReturnValueOnce(1500); + jest.useFakeTimers('legacy'); + onStateChangedListener = jest.fn(); + onRenderTimeout = jest.fn(); + stateController = new state_machine_1.EnabledStateController(); + stateController.configureRenderTimeout({ + enabled: true, + renderTimeoutMillis: RENDER_TIMEOUT_MILLIS, + onRenderTimeout: onRenderTimeout, + }); + stateController.addStateChangedListener(onStateChangedListener); + getNativeUuidMock.mockImplementation(function () { return Promise.resolve("".concat(Math.random())); }); + getNativeStartupTimestampMock.mockImplementation(function () { return Promise.resolve(1500); }); + matchesPatternMock.mockImplementation(function (screenA, screenB) { return screenA === screenB; }); + }); + afterEach(function () { + jest.clearAllTimers(); + jest.useRealTimers(); + jest.resetAllMocks(); + }); + it('starts the state machine in the Started state when onAppStarted is called', function () { + Date.now = jest.fn().mockReturnValueOnce(1500); + stateController.onAppStarted(); + var expectedState = new state_machine_1.Started({ + timestamp: new BridgedEventTimestamp_1.default(1500, expect.any(Promise)), + sourceScreen: undefined, + componentInstanceId: state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, + destinationScreen: state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, + previousState: undefined, + snapshotId: expect.any(Promise), + type: 'app_boot', + }); + expect(onStateChangedListener).toHaveBeenCalledTimes(1); + expect(onStateChangedListener).toHaveBeenCalledWith(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, undefined, expectedState); + expect(Logger_1.default.debug).toHaveBeenCalledTimes(1); + expect(stateController.getCurrentStateFor(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER)).toBeInstanceOf(state_machine_1.Started); + }); + it("registers the main screen's name once the first state transition occurs", function () { + stateController.onAppStarted(); + // The destinationScreen in the state registry and the state object is DESTINATION_SCREEN_NAME_PLACEHOLDER in the beginning + var state = stateController.getCurrentStateFor(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER); + expect(state.destinationScreen).toBe(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER); + // No listeners are triggered for the internal Started state migration to adopt the known destinationScreen name. + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeInitialScreen', + componentInstanceId: 'id', + renderPassName: 'pass1', + interactive: false, + timestamp: 2000, + }); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeInitialScreen', expect.any(state_machine_1.Started), expect.any(state_machine_1.Rendered)); + expect(onStateChangedListener).not.toHaveBeenCalledWith(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, expect.any(state_machine_1.Started), expect.any(state_machine_1.Rendered)); + matchesPatternMock.mockReturnValue(true); + state = stateController.getCurrentStateFor('SomeInitialScreen#id'); + expect(state.destinationScreen).toBe('SomeInitialScreen'); + // The original Started state link is also migrated to use the new name + expect((0, state_machine_1.getFlowStartState)(state).destinationScreen).toBe('SomeInitialScreen'); + }); + it('skips state transition if onNavigationStarted is called and the current state is Started of type app_boot', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + Date.now = jest.fn().mockReturnValueOnce(1500); + stateController.onAppStarted(); + stateController.onNavigationStarted({}); + expect(onStateChangedListener).toHaveBeenLastCalledWith(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, undefined, new state_machine_1.Started({ + timestamp: new BridgedEventTimestamp_1.default(1500, expect.any(Promise)), + sourceScreen: undefined, + destinationScreen: state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, + componentInstanceId: state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, + previousState: undefined, + snapshotId: expect.any(Promise), + type: 'app_boot', + })); + return [2 /*return*/]; + }); + }); }); + it('transitions to Started when onNavigationStarted is called', function () { + stateController.onNavigationStarted({}); + expect(onStateChangedListener).toHaveBeenLastCalledWith(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, undefined, expect.any(state_machine_1.Started)); + }); + it('throws an error if onNavigationStarted is called for a screen twice', function () { + stateController.onNavigationStarted({}); + expect(function () { + stateController.onNavigationStarted({}); + }).toThrowError(EnabledStateController_1.MultipleFlowsError); + }); + it('does not throw an error if onNavigationStarted is called again when there was no other pending screen in a Started state', function () { + var componentInstanceId = 'id'; + stateController.onNavigationStarted({}); + stateController.onScreenMounted({ + destinationScreen: 'SomeTargetScreen', + componentInstanceId: componentInstanceId, + }); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeTargetScreen', + componentInstanceId: componentInstanceId, + timestamp: 2000, + renderPassName: 'rendered_completely', + interactive: true, + }); + Date.now = jest.fn().mockReturnValueOnce(2100); + stateController.onScreenUnmounted({ + destinationScreen: 'SomeTargetScreen', + componentInstanceId: componentInstanceId, + }); + Date.now = jest.fn().mockReturnValueOnce(2200); + stateController.onNavigationStarted({}); + expect(onStateChangedListener).toHaveBeenLastCalledWith(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, undefined, expect.any(state_machine_1.Started)); + }); + it('transitions to Rendered state if onRenderPassCompleted is called when the current state is Started', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeTargetScreen', + componentInstanceId: 'id', + timestamp: 2000, + renderPassName: 'rendered_completely', + interactive: true, + }); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeTargetScreen', expect.any(state_machine_1.Started), new state_machine_1.Rendered({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(2000).epochReference().build(), + destinationScreen: 'SomeTargetScreen', + componentInstanceId: 'id', + renderPassName: 'rendered_completely', + previousState: expect.any(state_machine_1.Started), + interactive: true, + snapshotId: expect.any(Promise), + })); + }); + it('throws a RenderTimeoutError if the screen stays on Started state for more than the max allowed time', function () { + stateController.onAppStarted(); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onRenderTimeout).toHaveBeenCalledTimes(1); + expect(onRenderTimeout).toHaveBeenCalledWith(expect.any(exceptions_1.RenderTimeoutError)); + }); + it('does not throw a RenderTimeoutError if the navigation started flow is stopped', function () { + stateController.onNavigationStarted({}); + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + stateController.onRenderPassCompleted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + interactive: true, + renderPassName: 'interactive', + timestamp: 1000, + }); + stateController.onNavigationStarted({}); + stateController.stopFlowIfNeeded('id'); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onRenderTimeout).toHaveBeenCalledTimes(0); + }); + it('throws a RenderTimeoutError if the screen stays on Rendered(interactive = false) state for more than the max allowed time', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + timestamp: 1000, + renderPassName: 'rendered_completely', + interactive: false, + }); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Started), expect.any(state_machine_1.Rendered)); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onRenderTimeout).toHaveBeenCalledTimes(1); + expect(onRenderTimeout).toHaveBeenCalledWith(expect.any(exceptions_1.RenderTimeoutError)); + }); + it('does not throw a RenderTimeoutError if the screen reaches Rendered(interactive = true) before the max allowed time', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + timestamp: 1000, + renderPassName: 'rendered_completely', + interactive: true, + }); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Started), expect.any(state_machine_1.Rendered)); + }); + it('does not throw a RenderTimeoutError if the screen aborts render before the max allowed time', function () { + stateController.onAppStarted(); + stateController.onScreenMounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + stateController.onScreenUnmounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Unmounted), expect.any(state_machine_1.RenderAborted)); + }); + it('does not throw a RenderTimeoutError if the flow is reset before the max allowed time', function () { + stateController.onAppStarted(); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS * 0.5); + stateController.onFlowReset({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS * 0.75); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Started), expect.any(state_machine_1.Started)); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS * 0.25); + expect(onRenderTimeout).toHaveBeenCalledTimes(1); + expect(onRenderTimeout).toHaveBeenCalledWith(expect.any(exceptions_1.RenderTimeoutError)); + }); + it('does not throw a RenderTimeoutError if the render watchdogs are disabled', function () { + stateController.configureRenderTimeout({ enabled: false }); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onRenderTimeout).not.toHaveBeenCalled(); + }); + it('does not transition to RenderAborted state if the screen is unmounted after an interactive state is reached', function () { + stateController.onAppStarted(); + stateController.onScreenMounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + Date.now = jest.fn().mockReturnValueOnce(1550); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + timestamp: 1600, + renderPassName: 'rendered_completely', + interactive: true, + }); + expect(onStateChangedListener).toHaveBeenCalledTimes(4); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Mounted), expect.any(state_machine_1.Rendered)); + Date.now = jest.fn().mockReturnValueOnce(1650); + stateController.onScreenUnmounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + // Does not transition to RenderAborted, since at least 1 interactive state was reached + expect(onStateChangedListener).toHaveBeenCalledTimes(5); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Rendered), expect.any(state_machine_1.Unmounted)); + expect(stateController.getCurrentStateFor('SomeScreenName')).toBeUndefined(); + }); + it('transitions to RenderAborted state if the screen is unmounted before an interactive state is reached', function () { + stateController.onAppStarted(); + stateController.onScreenMounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + Date.now = jest.fn().mockReturnValueOnce(1550); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + timestamp: 1600, + renderPassName: 'rendered_completely', + interactive: false, + }); + expect(onStateChangedListener).toHaveBeenCalledTimes(4); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Mounted), expect.any(state_machine_1.Rendered)); + Date.now = jest.fn().mockReturnValueOnce(1650); + stateController.onScreenUnmounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + // Transitions to RenderAborted, since at least 1 interactive state was reached + expect(onStateChangedListener).toHaveBeenCalledTimes(6); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Unmounted), expect.any(state_machine_1.RenderAborted)); + expect(stateController.getCurrentStateFor('SomeScreenName')).toBeUndefined(); + }); + it('transitions to RenderAborted state if the screen is unmounted before any Rendered state is reached', function () { + stateController.onAppStarted(); + stateController.onScreenMounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + stateController.onScreenUnmounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + expect(onStateChangedListener).toHaveBeenLastCalledWith('SomeScreenName', expect.any(state_machine_1.Unmounted), expect.any(state_machine_1.RenderAborted)); + expect(stateController.getCurrentStateFor('SomeScreenName')).toBeUndefined(); + }); + it('adds a new state changed listener correctly', function () { + stateController.onAppStarted(); + var onStateChangedListener2 = jest.fn(); + stateController.addStateChangedListener(onStateChangedListener2); + expect(onStateChangedListener2).not.toHaveBeenCalled(); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + timestamp: 1000, + renderPassName: 'rendered_completely', + interactive: true, + }); + expect(onStateChangedListener2).toHaveBeenCalledTimes(2); + expect(onStateChangedListener2).toHaveBeenCalledWith('SomeScreenName', expect.any(state_machine_1.Started), expect.any(state_machine_1.Rendered)); + }); + it('removes a previously added state changed listener correctly', function () { + stateController.onAppStarted(); + expect(onStateChangedListener).toHaveBeenCalledTimes(1); + stateController.removeStateChangedListener(onStateChangedListener); + stateController.onRenderPassCompleted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + timestamp: 1000, + renderPassName: 'rendered_completely', + interactive: true, + }); + expect(onStateChangedListener).toHaveBeenCalledTimes(1); + }); + it('returns the correct state when polled via getCurrentStateFor with a string screen name', function () { + stateController.onAppStarted(); + Date.now = jest.fn().mockReturnValueOnce(1600); + stateController.onRenderPassCompleted({ + renderPassName: 'rendered_completely', + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + interactive: true, + timestamp: 1000, + }); + expect(stateController.getCurrentStateFor('SomeScreenName')).toBeInstanceOf(state_machine_1.Rendered); + }); + it('does not throw an error if a screen is opened again if the previous render were aborted', function () { + stateController.onAppStarted(); + stateController.onScreenMounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + stateController.onScreenUnmounted({ + destinationScreen: 'SomeScreenName', + componentInstanceId: 'id', + }); + Date.now = jest.fn().mockReturnValueOnce(1700); + stateController.onNavigationStarted({}); + expect(onStateChangedListener).toHaveBeenLastCalledWith(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, undefined, expect.any(state_machine_1.Started)); + }); + it('transitions to Rendered(interactive = false) if onRenderPassCompleted is called when the current state is Started', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 10, + destinationScreen: 'some_screen', + interactive: false, + }); + expect(stateController.getCurrentStateFor('some_screen')).toStrictEqual(new state_machine_1.Rendered({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(10).epochReference().build(), + destinationScreen: 'some_screen', + interactive: false, + previousState: expect.any(state_machine_1.Started), + snapshotId: expect.any(Promise), + })); + }); + it('transitions to Rendered(interactive = true) if onRenderPassCompleted is called when the current state is Started', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 20, + destinationScreen: 'some_screen', + interactive: true, + }); + expect(stateController.getCurrentStateFor('some_screen')).toStrictEqual(new state_machine_1.Rendered({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(20).epochReference().build(), + destinationScreen: 'some_screen', + interactive: true, + previousState: expect.any(state_machine_1.Started), + snapshotId: expect.any(Promise), + })); + }); + it('allows for two non-interactive render-completed events to arrive consecutively', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 10, + destinationScreen: 'some_screen', + interactive: false, + }); + var renderPass1Complete = stateController.getCurrentStateFor('some_screen'); + expect(renderPass1Complete).toStrictEqual(new state_machine_1.Rendered({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(10).epochReference().build(), + destinationScreen: 'some_screen', + interactive: false, + previousState: expect.any(state_machine_1.Started), + snapshotId: expect.any(Promise), + })); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_2', + componentInstanceId: 'id', + timestamp: 15, + destinationScreen: 'some_screen', + interactive: false, + }); + var renderPass2Complete = stateController.getCurrentStateFor('some_screen'); + expect(renderPass2Complete).toStrictEqual(new state_machine_1.Rendered({ + renderPassName: 'pass_2', + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(15).epochReference().build(), + destinationScreen: 'some_screen', + interactive: false, + previousState: renderPass1Complete, + snapshotId: expect.any(Promise), + })); + }); + it('allows for an interactive render-completed event to arrive after a non-interactive render-completed event', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 10, + destinationScreen: 'some_screen', + interactive: false, + }); + var renderPass1Complete = stateController.getCurrentStateFor('some_screen'); + expect(renderPass1Complete).toStrictEqual(new state_machine_1.Rendered({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(10).epochReference().build(), + destinationScreen: 'some_screen', + interactive: false, + previousState: expect.any(state_machine_1.Started), + snapshotId: expect.any(Promise), + })); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_2', + componentInstanceId: 'id', + timestamp: 15, + destinationScreen: 'some_screen', + interactive: true, + }); + var renderPass2Complete = stateController.getCurrentStateFor('some_screen'); + expect(renderPass2Complete).toStrictEqual(new state_machine_1.Rendered({ + renderPassName: 'pass_2', + componentInstanceId: 'id', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(15).epochReference().build(), + destinationScreen: 'some_screen', + interactive: true, + previousState: renderPass1Complete, + snapshotId: expect.any(Promise), + })); + }); + it('allows for a screen to be unmounted in the Rendered(interactive = false) state', function () { + stateController.onAppStarted(); + stateController.onScreenMounted({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 10, + destinationScreen: 'some_screen', + interactive: false, + }); + stateController.onScreenUnmounted({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + }); + expect(onStateChangedListener).toHaveBeenLastCalledWith('some_screen', expect.any(state_machine_1.Unmounted), expect.any(state_machine_1.RenderAborted)); + }); + it('makes an info log if the same render pass name is used twice', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + interactive: false, + timestamp: 100, + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + interactive: true, + timestamp: 200, + }); + expect(Logger_1.default.info).toHaveBeenCalledTimes(1); + }); + it('does not make an info log if the same render pass name is used twice and logger level is higher than info', function () { + Logger_1.default.logLevel = Logger_1.LogLevel.Warn; + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + interactive: false, + timestamp: 100, + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + interactive: true, + timestamp: 200, + }); + expect(Logger_1.default.info).not.toHaveBeenCalled(); + }); + it('allows for the same render pass name if the flow was reset in between', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + timestamp: 1000, + interactive: false, + }); + stateController.onFlowReset({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + timestamp: 1000, + interactive: false, + }); + var lastState = stateController.getCurrentStateFor('some_screen'); + expect(lastState).toBeInstanceOf(state_machine_1.Rendered); + expect(lastState.renderPassName).toBe('pass_1'); + }); + it('makes a debug log if the same render pass name is used twice when a non-interactive render is completed', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 10, + destinationScreen: 'some_screen', + interactive: false, + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 20, + destinationScreen: 'some_screen', + interactive: false, + }); + expect(Logger_1.default.info).toHaveBeenCalledTimes(1); + }); + it('makes a debug log if the same render pass name is used twice when an interactive render is completed', function () { + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 10, + destinationScreen: 'some_screen', + interactive: true, + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 20, + destinationScreen: 'some_screen', + interactive: true, + }); + expect(Logger_1.default.info).toHaveBeenCalledTimes(1); + }); + it('updates the state even if `renderPassName` is reused', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var state1, state2, _a; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: + stateController.onAppStarted(); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 10, + destinationScreen: 'some_screen', + interactive: true, + }); + state1 = stateController.getCurrentStateFor('some_screen'); + stateController.onRenderPassCompleted({ + renderPassName: 'pass_1', + componentInstanceId: 'id', + timestamp: 20, + destinationScreen: 'some_screen', + interactive: true, + }); + expect(Logger_1.default.info).toHaveBeenCalledTimes(1); + expect(onStateChangedListener).toHaveBeenLastCalledWith('some_screen', state1, expect.any(state_machine_1.Rendered)); + state2 = stateController.getCurrentStateFor('some_screen'); + expect(state2).not.toBe(state1); + _a = expect; + return [4 /*yield*/, state2.timestamp.nativeTimestamp]; + case 1: + _a.apply(void 0, [_b.sent()]).toBe(20); + expect(state2.renderPassName).toBe('pass_1'); + return [2 /*return*/]; + } + }); + }); }); + it('uses a custom source screen name if one is provided when resetting the flow', function () { + stateController.onAppStarted(); + Date.now = jest.fn().mockReturnValue(1700); + stateController.onFlowReset({ + sourceScreen: 'some_source_screen', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + }); + expect(onStateChangedListener).toHaveBeenCalledTimes(3); + var expectedFlowRestartState = new state_machine_1.Started({ + sourceScreen: 'some_source_screen', + componentInstanceId: 'id', + destinationScreen: 'some_screen', + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().epochReference().build(), + previousState: expect.any(state_machine_1.Started), + snapshotId: expect.any(Promise), + type: 'flow_reset', + }); + expect(onStateChangedListener).toHaveBeenLastCalledWith('some_screen', expect.any(state_machine_1.Started), expectedFlowRestartState); + }); + it('uses the renderTimeoutMillisOverride when one is provided on navigation start', function () { + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + renderTimeoutMillisOverride: RENDER_TIMEOUT_MILLIS + 500, + }); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(500); + expect(onRenderTimeout).toHaveBeenCalledTimes(1); + expect(onRenderTimeout).toHaveBeenCalledWith(expect.any(exceptions_1.RenderTimeoutError)); + }); + it('uses the renderTimeoutMillisOverride when one is provided on flow reset', function () { + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + renderTimeoutMillisOverride: RENDER_TIMEOUT_MILLIS, + }); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS / 2); + stateController.onFlowReset({ + sourceScreen: 'some_source_screen', + destinationScreen: 'some_source_screen', + componentInstanceId: 'id', + renderTimeoutMillisOverride: RENDER_TIMEOUT_MILLIS + 500, + }); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onRenderTimeout).not.toHaveBeenCalled(); + jest.advanceTimersByTime(500); + expect(onRenderTimeout).toHaveBeenCalledTimes(1); + expect(onRenderTimeout).toHaveBeenCalledWith(expect.any(exceptions_1.RenderTimeoutError)); + }); + it('does not configure render timeouts if renderTimeoutMillisOverride is provided on navigation start if they were disabled at the controller level', function () { + stateController.configureRenderTimeout({ enabled: false }); + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + renderTimeoutMillisOverride: RENDER_TIMEOUT_MILLIS + 500, + }); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS + 600); + expect(onRenderTimeout).not.toHaveBeenCalled(); + }); + it('does not configure render timeouts if renderTimeoutMillisOverride is provided on flow reset if they were disabled at the controller level', function () { + stateController.configureRenderTimeout({ enabled: false }); + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + }); + stateController.onFlowReset({ + sourceScreen: 'some_source_screen', + destinationScreen: 'some_source_screen', + componentInstanceId: 'id', + renderTimeoutMillisOverride: RENDER_TIMEOUT_MILLIS + 500, + }); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS + 600); + expect(onRenderTimeout).not.toHaveBeenCalled(); + }); + it('checks that the same componentInstanceId is not reused on successive mounts', function () { + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + }); + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + expect(function () { + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + }).toThrowError(EnabledStateController_1.ReuseComponentInstanceIDError); + }); + it('transitions the state to Mounted when onScreenMounted is called', function () { + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + }); + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + expect(onStateChangedListener).toHaveBeenLastCalledWith('some_destination_screen', expect.any(state_machine_1.Started), new state_machine_1.Mounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + snapshotId: expect.any(Promise), + previousState: expect.any(state_machine_1.Started), + timestamp: expect.any(BridgedEventTimestamp_1.default), + })); + }); + it('checks that there was a matching Mounted state when onScreenUnmounted is called', function () { + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + }); + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + expect(function () { + stateController.onScreenUnmounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id-2', + }); + }).toThrowError(EnabledStateController_1.InvalidMountStateError); + }); + it('retains the source screen name once the main screen name is captured', function () { + var _a; + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + }); + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id-2', + }); + var currentState = stateController.getCurrentStateFor('some_destination_screen'); + expect(currentState).toBeInstanceOf(state_machine_1.Mounted); + expect(currentState === null || currentState === void 0 ? void 0 : currentState.previousState).toBeInstanceOf(state_machine_1.Started); + expect((currentState === null || currentState === void 0 ? void 0 : currentState.previousState).type).toBe('flow_start'); + expect((_a = currentState === null || currentState === void 0 ? void 0 : currentState.previousState) === null || _a === void 0 ? void 0 : _a.previousState).toBeUndefined(); + expect((currentState === null || currentState === void 0 ? void 0 : currentState.previousState).sourceScreen).toBe('some_source_screen'); + }); + it('does not throw an error if a screen is unmounted after a flow reset', function () { + stateController.onNavigationStarted({ + sourceScreen: 'some_source_screen', + }); + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass1', + timestamp: 1234, + destinationScreen: 'some_destination_screen', + interactive: true, + componentInstanceId: 'id', + }); + stateController.onFlowReset({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + stateController.onRenderPassCompleted({ + renderPassName: 'pass1', + timestamp: 1234, + componentInstanceId: 'id', + destinationScreen: 'some_destination_screen', + interactive: true, + }); + expect(function () { + stateController.onScreenUnmounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + }).not.toThrowError(EnabledStateController_1.InvalidMountStateError); + expect(stateController.getCurrentStateFor('some_destination_screen')).toBeUndefined(); + }); + it("replaces the old flow's Started state with the new one if onNavigationStarted is called twice for a screen", function () { + var _a; + Date.now = jest.fn().mockReturnValueOnce(1500); + stateController.onNavigationStarted({}); + expect((_a = stateController.getCurrentStateFor(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER)) === null || _a === void 0 ? void 0 : _a.timestamp).toStrictEqual(new BridgedEventTimestamp_1.default(1500, undefined)); + Date.now = jest.fn().mockReturnValueOnce(1700); + expect(function () { + stateController.onNavigationStarted({}); + }).toThrowError(EnabledStateController_1.MultipleFlowsError); + expect(stateController.getCurrentStateFor(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER)).toStrictEqual(new state_machine_1.Started({ + sourceScreen: undefined, + componentInstanceId: state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, + destinationScreen: state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER, + type: 'flow_start', + timestamp: new BridgedEventTimestamp_1.default(1700, undefined), + previousState: undefined, + snapshotId: expect.any(Promise), + })); + }); + it("replaces the old flow's watchdog timer with a new one if onNavigationStarted is called twice for a screen", function () { + stateController.onNavigationStarted({}); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS * 0.5); + Date.now = jest.fn().mockReturnValueOnce(1700); + expect(function () { + stateController.onNavigationStarted({ + renderTimeoutMillisOverride: RENDER_TIMEOUT_MILLIS + 500, + }); + }).toThrowError(EnabledStateController_1.MultipleFlowsError); + jest.advanceTimersByTime(RENDER_TIMEOUT_MILLIS); + expect(onRenderTimeout).not.toHaveBeenCalledWith(expect.any(exceptions_1.RenderTimeoutError)); + jest.advanceTimersByTime(500); + expect(onRenderTimeout).toHaveBeenCalledWith(expect.any(exceptions_1.RenderTimeoutError)); + }); + it('stops the current flow if instance is not already mounted', function () { + stateController.onNavigationStarted({}); + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + stateController.onNavigationStarted({}); + stateController.stopFlowIfNeeded('id-2'); + expect(stateController.getCurrentStateFor(state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER)).not.toBeUndefined(); + }); + it('throws a ScreenProfilerNotStartedError when screen mounted without navigation started event first', function () { + expect(function () { + stateController.onScreenMounted({ + destinationScreen: 'some_destination_screen', + componentInstanceId: 'id', + }); + }).toThrowError(new exceptions_1.ScreenProfilerNotStartedError('some_destination_screen', 'id')); + }); +}); +//# sourceMappingURL=EnabledStateController.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.js.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.js.map new file mode 100644 index 0000000..5dcd29a --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/EnabledStateController.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EnabledStateController.test.js","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/EnabledStateController.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.d.ts b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.d.ts new file mode 100644 index 0000000..d4a3043 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ErrorHandlerStateController.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.d.ts.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.d.ts.map new file mode 100644 index 0000000..6a03edf --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ErrorHandlerStateController.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/ErrorHandlerStateController.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.js b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.js new file mode 100644 index 0000000..be8eb9c --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.js @@ -0,0 +1,59 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var ErrorHandlerStateController_1 = tslib_1.__importDefault(require("../../../state-machine/controller/ErrorHandlerStateController")); +var MockStateController_1 = tslib_1.__importDefault(require("../../MockStateController")); +describe('state-machine/controller/ErrorHandlerStateController', function () { + var innerStateController; + var errorHandler; + var stateController; + beforeEach(function () { + innerStateController = new MockStateController_1.default(); + errorHandler = jest.fn(); + stateController = new ErrorHandlerStateController_1.default(innerStateController, errorHandler); + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it("executes the inner state controller's APIs", function () { + var args = { property: 'value' }; + for (var functionName in stateController) { + if (Object.prototype.hasOwnProperty.call(stateController, functionName)) { + if (typeof stateController[functionName] === 'function' && + typeof innerStateController[functionName] === 'function') { + var outerFn = stateController[functionName].bind(stateController); + var innerFn = innerStateController[functionName].bind(innerStateController); + expect(innerFn).not.toHaveBeenCalled(); + outerFn(args); + expect(innerFn).toHaveBeenCalledTimes(1); + expect(innerFn).toHaveBeenCalledWith(args); + } + } + } + }); + it('routes the errors through the error handler', function () { + var args = { property: 'value' }; + var _loop_1 = function (functionName) { + if (Object.prototype.hasOwnProperty.call(stateController, functionName)) { + if (typeof stateController[functionName] === 'function' && + typeof innerStateController[functionName] === 'function') { + var mockError_1 = new Error('some error message'); + var outerFn = stateController[functionName].bind(stateController); + var innerFn = innerStateController[functionName].bind(innerStateController); + innerFn.mockImplementation(function () { + throw mockError_1; + }); + expect(errorHandler).not.toHaveBeenCalled(); + outerFn(args); + expect(errorHandler).toHaveBeenCalledTimes(1); + expect(errorHandler).toHaveBeenCalledWith(mockError_1); + errorHandler.mockClear(); + } + } + }; + for (var functionName in stateController) { + _loop_1(functionName); + } + }); +}); +//# sourceMappingURL=ErrorHandlerStateController.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.js.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.js.map new file mode 100644 index 0000000..6a07006 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/ErrorHandlerStateController.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ErrorHandlerStateController.test.js","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/ErrorHandlerStateController.test.ts"],"names":[],"mappings":";;;AAAA,sIAAwG;AAExG,0FAA4D;AAE5D,QAAQ,CAAC,sDAAsD,EAAE;IAC/D,IAAI,oBAAyC,CAAC;IAC9C,IAAI,YAA+C,CAAC;IACpD,IAAI,eAA4C,CAAC;IAEjD,UAAU,CAAC;QACT,oBAAoB,GAAG,IAAI,6BAAmB,EAAE,CAAC;QACjD,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,eAAe,GAAG,IAAI,qCAA2B,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC;QACR,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE;QAC/C,IAAM,IAAI,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;QAEjC,KAAK,IAAM,YAAY,IAAI,eAAe,EAAE;YAC1C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE;gBACvE,IACE,OAAQ,eAAuB,CAAC,YAAY,CAAC,KAAK,UAAU;oBAC5D,OAAQ,oBAA4B,CAAC,YAAY,CAAC,KAAK,UAAU,EACjE;oBACA,IAAM,OAAO,GAAI,eAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAC7E,IAAM,OAAO,GAAI,oBAA4B,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAEvF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAEvC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEd,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;iBAC5C;aACF;SACF;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE;QAChD,IAAM,IAAI,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;gCAEtB,YAAY;YACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE;gBACvE,IACE,OAAQ,eAAuB,CAAC,YAAY,CAAC,KAAK,UAAU;oBAC5D,OAAQ,oBAA4B,CAAC,YAAY,CAAC,KAAK,UAAU,EACjE;oBACA,IAAM,WAAS,GAAG,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;oBAClD,IAAM,OAAO,GAAI,eAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAC7E,IAAM,OAAO,GAAI,oBAA4B,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACvF,OAAO,CAAC,kBAAkB,CAAC;wBACzB,MAAM,WAAS,CAAC;oBAClB,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE5C,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEd,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,WAAS,CAAC,CAAC;oBACrD,YAAY,CAAC,SAAS,EAAE,CAAC;iBAC1B;aACF;;QArBH,KAAK,IAAM,YAAY,IAAI,eAAe;oBAA/B,YAAY;SAsBtB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.d.ts b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.d.ts new file mode 100644 index 0000000..27a1da2 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=state-controller-context.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.d.ts.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.d.ts.map new file mode 100644 index 0000000..88511c2 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"state-controller-context.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/state-controller-context.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.js b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.js new file mode 100644 index 0000000..421e2ca --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.js @@ -0,0 +1,45 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importDefault(require("react")); +var react_hooks_1 = require("@testing-library/react-hooks"); +var exceptions_1 = require("../../../exceptions"); +var state_machine_1 = require("../../../state-machine"); +var utils_1 = require("../../../utils"); +describe('state-machine/controller/state-controller-context', function () { + describe('useStateController', function () { + it('provides the state controller instance available through the context', function () { + var mockStateController = { + onSomeEvent: jest.fn(), + }; + var actualStateController = (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { + wrapper: function wrapper(_a) { + var children = _a.children; + return (react_1.default.createElement(state_machine_1.StateControllerContextProvider, { value: mockStateController }, children)); + }, + }).result.current; + expect(actualStateController).toBe(mockStateController); + }); + it('provides the fallback disabled state controller if none is available via the context', function () { + var actualStateController = (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { + wrapper: function wrapper(_a) { + var children = _a.children; + return react_1.default.createElement(utils_1.ErrorHandlerContextProvider, { value: jest.fn() }, children); + }, + }).result.current; + expect(actualStateController).toBeInstanceOf(state_machine_1.DisabledStateController); + }); + it('reports a missing controller in the context to the error handler', function () { + var errorHandler = jest.fn(); + (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateController)(); }, { + wrapper: function wrapper(_a) { + var children = _a.children; + return react_1.default.createElement(utils_1.ErrorHandlerContextProvider, { value: errorHandler }, children); + }, + }); + expect(errorHandler).toHaveBeenCalledTimes(1); + expect(errorHandler).toHaveBeenCalledWith(expect.any(exceptions_1.PerformanceProfilerUninitializedError)); + }); + }); +}); +//# sourceMappingURL=state-controller-context.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.js.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.js.map new file mode 100644 index 0000000..c10feb9 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/state-controller-context.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state-controller-context.test.js","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/state-controller-context.test.tsx"],"names":[],"mappings":";;;AAAA,wDAA0B;AAC1B,4DAAwD;AAExD,kDAA0E;AAC1E,wDAAmH;AACnH,wCAAyE;AAEzE,QAAQ,CAAC,mDAAmD,EAAE;IAC5D,QAAQ,CAAC,oBAAoB,EAAE;QAC7B,EAAE,CAAC,sEAAsE,EAAE;YACzE,IAAM,mBAAmB,GAAG;gBAC1B,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;aAChB,CAAC;YAET,IAAM,qBAAqB,GAAG,IAAA,wBAAU,EAAC,cAAM,OAAA,IAAA,kCAAkB,GAAE,EAApB,CAAoB,EAAE;gBACnE,OAAO,EAAE,SAAS,OAAO,CAAC,EAAU;wBAAT,QAAQ,cAAA;oBACjC,OAAO,CACL,8BAAC,8CAA8B,IAAC,KAAK,EAAE,mBAAmB,IAAG,QAAQ,CAAkC,CACxG,CAAC;gBACJ,CAAC;aACF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAElB,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE;YACzF,IAAM,qBAAqB,GAAG,IAAA,wBAAU,EAAC,cAAM,OAAA,IAAA,kCAAkB,GAAE,EAApB,CAAoB,EAAE;gBACnE,OAAO,EAAE,SAAS,OAAO,CAAC,EAAU;wBAAT,QAAQ,cAAA;oBACjC,OAAO,8BAAC,mCAA2B,IAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAG,QAAQ,CAA+B,CAAC;gBACjG,CAAC;aACF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,MAAM,CAAC,qBAAqB,CAAC,CAAC,cAAc,CAAC,uCAAuB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE;YACrE,IAAM,YAAY,GAAiB,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAA,wBAAU,EAAC,cAAM,OAAA,IAAA,kCAAkB,GAAE,EAApB,CAAoB,EAAE;gBACrC,OAAO,EAAE,SAAS,OAAO,CAAC,EAAU;wBAAT,QAAQ,cAAA;oBACjC,OAAO,8BAAC,mCAA2B,IAAC,KAAK,EAAE,YAAY,IAAG,QAAQ,CAA+B,CAAC;gBACpG,CAAC;aACF,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAqC,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.d.ts b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.d.ts new file mode 100644 index 0000000..9b23010 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=useStateControllerInitializer.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.d.ts.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.d.ts.map new file mode 100644 index 0000000..ee1d959 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useStateControllerInitializer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/useStateControllerInitializer.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.js b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.js new file mode 100644 index 0000000..0c3ae70 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.js @@ -0,0 +1,250 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_hooks_1 = require("@testing-library/react-hooks"); +var state_machine_1 = require("../../../state-machine"); +jest.mock('../../../state-machine/controller/EnabledStateController', function () { + var MockStateController = jest.requireActual('../../MockStateController').default; + var MockEnabledStateController = /** @class */ (function (_super) { + tslib_1.__extends(MockEnabledStateController, _super); + function MockEnabledStateController() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.isEnabled = true; + return _this; + } + return MockEnabledStateController; + }(MockStateController)); + return MockEnabledStateController; +}); +jest.mock('../../../state-machine/controller/DisabledStateController', function () { + var MockStateController = jest.requireActual('../../MockStateController').default; + var MockDisabledStateController = /** @class */ (function (_super) { + tslib_1.__extends(MockDisabledStateController, _super); + function MockDisabledStateController() { + return _super !== null && _super.apply(this, arguments) || this; + } + return MockDisabledStateController; + }(MockStateController)); + return MockDisabledStateController; +}); +jest.mock('../../../state-machine/controller/ErrorHandlerStateController', function () { + var MockStateController = jest.requireActual('../../MockStateController').default; + var MockErrorHandlerStateController = /** @class */ (function (_super) { + tslib_1.__extends(MockErrorHandlerStateController, _super); + function MockErrorHandlerStateController(innerStateController, errorHandler) { + var _this = _super.call(this) || this; + _this.innerStateController = innerStateController; + _this.errorHandler = errorHandler; + return _this; + } + Object.defineProperty(MockErrorHandlerStateController.prototype, "isEnabled", { + get: function () { + return this.innerStateController.isEnabled; + }, + enumerable: false, + configurable: true + }); + return MockErrorHandlerStateController; + }(MockStateController)); + return MockErrorHandlerStateController; +}); +describe('state-machine/controller/useStateControllerInitializer', function () { + var errorHandler; + var reportEmitter; + beforeEach(function () { + errorHandler = jest.fn(); + reportEmitter = jest.fn(); + }); + afterEach(function () { + jest.resetAllMocks(); + }); + it('initializes the state controller with the correct values when the profiler is enabled', function () { + var stateController = (0, react_hooks_1.renderHook)(function () { + return (0, state_machine_1.useStateControllerInitializer)({ + enabled: true, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }); + }).result.current; + expect(stateController).toBeInstanceOf(state_machine_1.ErrorHandlerStateController); + expect(stateController.errorHandler).toBe(errorHandler); + var innerStateController = stateController.innerStateController; + expect(innerStateController).toBeInstanceOf(state_machine_1.EnabledStateController); + expect(stateController.onAppStarted).toHaveBeenCalledTimes(1); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.configureRenderTimeout).toHaveBeenCalledTimes(1); + expect(stateController.addStateChangedListener).toHaveBeenCalledWith(reportEmitter); + expect(stateController.configureRenderTimeout).toHaveBeenCalledWith({ + enabled: true, + onRenderTimeout: errorHandler, + renderTimeoutMillis: 100, + }); + }); + it('initializes the state controller with the correct values when the profiler is disabled', function () { + var stateController = (0, react_hooks_1.renderHook)(function () { + return (0, state_machine_1.useStateControllerInitializer)({ + enabled: false, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }); + }).result.current; + expect(stateController).toBeInstanceOf(state_machine_1.ErrorHandlerStateController); + expect(stateController.errorHandler).toBe(errorHandler); + var innerStateController = stateController.innerStateController; + expect(innerStateController).toBeInstanceOf(state_machine_1.DisabledStateController); + expect(stateController.onAppStarted).toHaveBeenCalledTimes(1); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.configureRenderTimeout).toHaveBeenCalledTimes(1); + expect(stateController.addStateChangedListener).toHaveBeenCalledWith(reportEmitter); + expect(stateController.configureRenderTimeout).toHaveBeenCalledWith({ + enabled: true, + onRenderTimeout: errorHandler, + renderTimeoutMillis: 100, + }); + }); + it('does not set a render timeout when asked not to', function () { + var stateController = (0, react_hooks_1.renderHook)(function () { + return (0, state_machine_1.useStateControllerInitializer)({ + enabled: true, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: false, + renderTimeoutMillis: 100, + }); + }).result.current; + expect(stateController.configureRenderTimeout).toHaveBeenCalledTimes(1); + expect(stateController.configureRenderTimeout).toHaveBeenCalledWith({ + enabled: false, + }); + }); + it('does not create a new instance of the state controller if the hook is re-rendered without prop changes', function () { + var hookRenderResult = (0, react_hooks_1.renderHook)(function () { + return (0, state_machine_1.useStateControllerInitializer)({ + enabled: true, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }); + }); + hookRenderResult.rerender(function () { + return (0, state_machine_1.useStateControllerInitializer)({ + enabled: true, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }); + }); + expect(hookRenderResult.result.all[1]).not.toBeUndefined(); + expect(hookRenderResult.result.all[1]).toBe(hookRenderResult.result.all[0]); + }); + it('hot-swaps the active state controller if the enabled state changes', function () { + var props = { + enabled: false, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }; + var hookRenderResult = (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateControllerInitializer)(props); }); + props = { + enabled: true, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }; + hookRenderResult.rerender(); + var _a = tslib_1.__read(hookRenderResult.result.all, 2), stateController1 = _a[0], stateController2 = _a[1]; + expect(stateController1.innerStateController).toBeInstanceOf(state_machine_1.DisabledStateController); + expect(stateController2.innerStateController).toBeInstanceOf(state_machine_1.EnabledStateController); + // creates a new instance + expect(stateController2).not.toBe(stateController1); + // cleans up the old instance + expect(stateController1.removeStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController1.configureRenderTimeout).toHaveBeenCalledTimes(2); + expect(stateController1.removeStateChangedListener).toHaveBeenCalledWith(reportEmitter); + expect(stateController1.configureRenderTimeout).toHaveBeenLastCalledWith({ + enabled: false, + }); + // initializes the new instance + expect(stateController2.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController2.configureRenderTimeout).toHaveBeenCalledTimes(1); + expect(stateController2.addStateChangedListener).toHaveBeenCalledWith(reportEmitter); + expect(stateController2.configureRenderTimeout).toHaveBeenLastCalledWith({ + enabled: true, + onRenderTimeout: errorHandler, + renderTimeoutMillis: 100, + }); + // does not notify the new instance of the app started event again + expect(stateController2.onAppStarted).not.toHaveBeenCalled(); + }); + it('updates the configuration of the active state controller if requested', function () { + var errorHandler2 = jest.fn(); + var reportEmitter2 = jest.fn(); + var props = { + enabled: true, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }; + var hookRenderResult = (0, react_hooks_1.renderHook)(function () { return (0, state_machine_1.useStateControllerInitializer)(props); }); + props = { + enabled: true, + errorHandler: errorHandler2, + reportEmitter: reportEmitter2, + useRenderTimeouts: true, + renderTimeoutMillis: 1000, + }; + hookRenderResult.rerender(); + var _a = tslib_1.__read(hookRenderResult.result.all, 2), stateController1 = _a[0], stateController2 = _a[1]; + // Swaps the ErrorHandlerStateController instance, since the errorHandler changed + expect(stateController2).not.toBe(stateController1); + expect(stateController1.errorHandler).toBe(errorHandler); + expect(stateController2.errorHandler).toBe(errorHandler2); + expect(stateController1.innerStateController === stateController2.innerStateController).toBe(true); + // Swaps out the config properties + expect(stateController1.removeStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController1.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController2.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController1.configureRenderTimeout).toHaveBeenCalledTimes(2); + expect(stateController2.configureRenderTimeout).toHaveBeenCalledTimes(1); + expect(stateController1.removeStateChangedListener).toHaveBeenCalledWith(reportEmitter); + expect(stateController2.addStateChangedListener).toHaveBeenCalledWith(reportEmitter2); + expect(stateController1.configureRenderTimeout).toHaveBeenNthCalledWith(2, { + enabled: false, + }); + expect(stateController2.configureRenderTimeout).toHaveBeenCalledWith({ + enabled: true, + onRenderTimeout: errorHandler2, + renderTimeoutMillis: 1000, + }); + }); + it('cleans up the controller when the hook unmounts', function () { + var hookRenderResult = (0, react_hooks_1.renderHook)(function () { + return (0, state_machine_1.useStateControllerInitializer)({ + enabled: true, + errorHandler: errorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: true, + renderTimeoutMillis: 100, + }); + }); + var stateController = hookRenderResult.result.all[0]; + hookRenderResult.unmount(); + expect(stateController.removeStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.addStateChangedListener).toHaveBeenCalledTimes(1); + expect(stateController.configureRenderTimeout).toHaveBeenCalledTimes(2); + expect(stateController.removeStateChangedListener).toHaveBeenCalledWith(reportEmitter); + expect(stateController.configureRenderTimeout).toHaveBeenNthCalledWith(2, { + enabled: false, + }); + }); +}); +//# sourceMappingURL=useStateControllerInitializer.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.js.map b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.js.map new file mode 100644 index 0000000..95cea51 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/controller/useStateControllerInitializer.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useStateControllerInitializer.test.js","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/controller/useStateControllerInitializer.test.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.d.ts b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.d.ts new file mode 100644 index 0000000..ac9541d --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=state-utils.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.d.ts.map b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.d.ts.map new file mode 100644 index 0000000..bf29cd9 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"state-utils.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/states/state-utils.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.js b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.js new file mode 100644 index 0000000..ee25991 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.js @@ -0,0 +1,174 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var states_1 = require("../../../state-machine/states"); +var State_1 = tslib_1.__importDefault(require("../../../state-machine/states/State")); +var state_utils_1 = require("../../../state-machine/states/state-utils"); +var BridgedEventTimestamp_1 = require("../../../BridgedEventTimestamp"); +var MockState = /** @class */ (function (_super) { + tslib_1.__extends(MockState, _super); + function MockState(_a) { + var _this = this; + var payload = _a.payload, rest = tslib_1.__rest(_a, ["payload"]); + _this = _super.call(this, tslib_1.__assign(tslib_1.__assign({}, rest), { timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(1000).build() })) || this; + _this.payload = payload; + return _this; + } + MockState.prototype.getStateName = function () { + return MockState.STATE_NAME; + }; + MockState.prototype.cloneAsChild = function () { + return new MockState(tslib_1.__assign(tslib_1.__assign({}, this), { previousState: this })); + }; + MockState.STATE_NAME = 'MockState'; + return MockState; +}(State_1.default)); +describe('state-machine/states/state-utils', function () { + describe('reverseTraverse', function () { + it('traverses the states', function () { + var state1 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + var state2 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state1, + snapshotId: Promise.resolve('2'), + }); + var state3 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state2, + snapshotId: Promise.resolve('3'), + }); + var actualVisitedStates = new Array(); + (0, state_utils_1.reverseTraverse)(state3, function (currentPass) { + actualVisitedStates.push(currentPass); + }); + expect(actualVisitedStates).toStrictEqual([state3, state2, state1]); + actualVisitedStates = []; + (0, state_utils_1.reverseTraverse)(state2, function (currentPass) { + actualVisitedStates.push(currentPass); + }); + expect(actualVisitedStates).toStrictEqual([state2, state1]); + actualVisitedStates = []; + (0, state_utils_1.reverseTraverse)(state1, function (currentPass) { + actualVisitedStates.push(currentPass); + }); + expect(actualVisitedStates).toStrictEqual([state1]); + }); + it('stops traversing when the operation returns true', function () { + var state1 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + var state2 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state1, + snapshotId: Promise.resolve('2'), + }); + var state3 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state2, + snapshotId: Promise.resolve('3'), + }); + var actualVisitedStates = new Array(); + (0, state_utils_1.reverseTraverse)(state3, function (currentPass) { + actualVisitedStates.push(currentPass); + if (currentPass === state2) { + return true; + } + }); + expect(actualVisitedStates).toStrictEqual([state3, state2]); + }); + it('continues traversing when the operation returns false', function () { + var state1 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + var state2 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state1, + snapshotId: Promise.resolve('2'), + }); + var state3 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state2, + snapshotId: Promise.resolve('3'), + }); + var actualVisitedStates = new Array(); + (0, state_utils_1.reverseTraverse)(state3, function (currentPass) { + actualVisitedStates.push(currentPass); + return false; + }); + expect(actualVisitedStates).toStrictEqual([state3, state2, state1]); + }); + }); + describe('reverseReduce', function () { + it('reduces the entire state history', function () { + var state1 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: undefined, + payload: '1', + snapshotId: Promise.resolve('1'), + }); + var state2 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state1, + payload: '2', + snapshotId: Promise.resolve('2'), + }); + var state3 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: state2, + payload: '3', + snapshotId: Promise.resolve('3'), + }); + var reduced = (0, state_utils_1.reverseReduce)(state3, function (state, reduced) { + if (state instanceof MockState) { + return reduced + state.payload; + } + else { + throw new Error("Unknown state in chain: ".concat(state, ".")); + } + }, ''); + expect(reduced).toBe('321'); + }); + }); + describe('getFlowStartState', function () { + it('returns this if this is a flow start state', function () { + var state1 = new states_1.Started({}); + var state2 = new states_1.Started({}); + expect((0, state_utils_1.getFlowStartState)(state1)).toBe(state1); + expect((0, state_utils_1.getFlowStartState)(state2)).toBe(state2); + }); + it('throws an error if a non-flow start state has an undefined previous state', function () { + var state1 = new MockState({ + destinationScreen: 'some_screen', + componentInstanceId: 'id', + previousState: undefined, + snapshotId: Promise.resolve('1'), + }); + var flowStartState; + expect(function () { + flowStartState = (0, state_utils_1.getFlowStartState)(state1); + }).toThrowError(state_utils_1.UndefinedPreviousStateError); + expect(flowStartState).toBeUndefined(); + }); + }); +}); +//# sourceMappingURL=state-utils.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.js.map b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.js.map new file mode 100644 index 0000000..46bd609 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/state-machine/states/state-utils.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state-utils.test.js","sourceRoot":"","sources":["../../../../src/__tests__/state-machine/states/state-utils.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/Logger.test.d.ts b/packages/react-native-performance/dist/__tests__/utils/Logger.test.d.ts new file mode 100644 index 0000000..af0e2de --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/Logger.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=Logger.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/Logger.test.d.ts.map b/packages/react-native-performance/dist/__tests__/utils/Logger.test.d.ts.map new file mode 100644 index 0000000..6dd3564 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/Logger.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Logger.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/Logger.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/Logger.test.js b/packages/react-native-performance/dist/__tests__/utils/Logger.test.js new file mode 100644 index 0000000..80acc90 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/Logger.test.js @@ -0,0 +1,71 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var utils_1 = require("../../utils"); +var Logger_1 = tslib_1.__importDefault(require("../../utils/Logger")); +describe('utils/Logger', function () { + var debugMessage = 'Debug message'; + beforeEach(function () { + console.debug = jest.fn(); + console.info = jest.fn(); + console.warn = jest.fn(); + console.error = jest.fn(); + }); + it('logs all messages with logLevel = Debug', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + Logger_1.default.logLevel = utils_1.LogLevel.Debug; + Logger_1.default.debug(debugMessage); + expect(console.debug).toBeCalledWith(debugMessage); + Logger_1.default.info(debugMessage); + expect(console.info).toBeCalledWith(debugMessage); + Logger_1.default.warn(debugMessage); + expect(console.warn).toBeCalledWith(debugMessage); + Logger_1.default.error(debugMessage); + expect(console.error).toBeCalledWith(debugMessage); + return [2 /*return*/]; + }); + }); }); + it('logs only Info & Warn & Error messages with logLevel = Info', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + Logger_1.default.logLevel = utils_1.LogLevel.Info; + Logger_1.default.debug(debugMessage); + expect(console.debug).not.toHaveBeenCalled(); + Logger_1.default.info(debugMessage); + expect(console.info).toBeCalledWith(debugMessage); + Logger_1.default.warn(debugMessage); + expect(console.warn).toBeCalledWith(debugMessage); + Logger_1.default.error(debugMessage); + expect(console.error).toBeCalledWith(debugMessage); + return [2 /*return*/]; + }); + }); }); + it('logs only Warn & Error messages with logLevel = Warn', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + Logger_1.default.logLevel = utils_1.LogLevel.Warn; + Logger_1.default.debug(debugMessage); + expect(console.debug).not.toHaveBeenCalled(); + Logger_1.default.info(debugMessage); + expect(console.info).not.toHaveBeenCalled(); + Logger_1.default.warn(debugMessage); + expect(console.warn).toBeCalledWith(debugMessage); + Logger_1.default.error(debugMessage); + expect(console.error).toBeCalledWith(debugMessage); + return [2 /*return*/]; + }); + }); }); + it('logs only Error messages with logLevel = Error', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + Logger_1.default.logLevel = utils_1.LogLevel.Error; + Logger_1.default.debug(debugMessage); + expect(console.debug).not.toHaveBeenCalled(); + Logger_1.default.info(debugMessage); + expect(console.info).not.toHaveBeenCalled(); + Logger_1.default.warn(debugMessage); + expect(console.warn).not.toHaveBeenCalled(); + Logger_1.default.error(debugMessage); + expect(console.error).toBeCalledWith(debugMessage); + return [2 /*return*/]; + }); + }); }); +}); +//# sourceMappingURL=Logger.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/Logger.test.js.map b/packages/react-native-performance/dist/__tests__/utils/Logger.test.js.map new file mode 100644 index 0000000..42eb35a --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/Logger.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Logger.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/Logger.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.d.ts b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.d.ts new file mode 100644 index 0000000..522dfe9 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=PromiseController.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.d.ts.map b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.d.ts.map new file mode 100644 index 0000000..69a891f --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PromiseController.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/PromiseController.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.js b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.js new file mode 100644 index 0000000..f15a4c1 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.js @@ -0,0 +1,88 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_native_1 = require("@testing-library/react-native"); +var PromiseController_1 = tslib_1.__importDefault(require("../../utils/PromiseController")); +describe('utils/PromiseController', function () { + var resultFn = jest.fn(); + var errorFn = jest.fn(); + var controller; + beforeEach(function () { + jest.resetAllMocks(); + controller = new PromiseController_1.default(); + controller.promise.then(resultFn).catch(errorFn); + }); + it('resolves the promise when asked', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + expect(resultFn).not.toHaveBeenCalled(); + expect(errorFn).not.toHaveBeenCalled(); + controller.resolve(10); + return [4 /*yield*/, (0, react_native_1.act)(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { + return [2 /*return*/]; + }); }); })]; + case 1: + _a.sent(); + expect(resultFn).toHaveBeenCalledTimes(1); + expect(resultFn).toHaveBeenCalledWith(10); + expect(errorFn).not.toHaveBeenCalled(); + return [2 /*return*/]; + } + }); + }); }); + it('rejects the promise when asked', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var actualError; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + expect(resultFn).not.toHaveBeenCalled(); + expect(errorFn).not.toHaveBeenCalled(); + actualError = new Error('some error'); + controller.reject(actualError); + return [4 /*yield*/, (0, react_native_1.act)(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { + return [2 /*return*/]; + }); }); })]; + case 1: + _a.sent(); + expect(resultFn).not.toHaveBeenCalled(); + expect(errorFn).toHaveBeenCalledTimes(1); + expect(errorFn).toHaveBeenCalledWith(actualError); + return [2 /*return*/]; + } + }); + }); }); + it('remembers the resolution result', function () { + expect(controller.rejectionReason).toBeUndefined(); + expect(controller.result).toBeUndefined(); + controller.resolve(10); + expect(controller.rejectionReason).toBeUndefined(); + expect(controller.result).toBe(10); + }); + it('remembers the rejection reason', function () { + expect(controller.rejectionReason).toBeUndefined(); + expect(controller.result).toBeUndefined(); + var actualError = new Error('some error'); + controller.reject(actualError); + expect(controller.rejectionReason).toBe(actualError); + expect(controller.result).toBeUndefined(); + }); + it('marks the promise as completed after reject', function () { + expect(controller.hasCompleted).toBe(false); + controller.reject(new Error('some error')); + expect(controller.hasCompleted).toBe(true); + }); + it('marks the promise as completed after resolve', function () { + expect(controller.hasCompleted).toBe(false); + controller.resolve(10); + expect(controller.hasCompleted).toBe(true); + }); + it('marks the promise as a completed after resolving with an undefined value', function () { + var controller = new PromiseController_1.default(); + controller.promise.then(resultFn).catch(errorFn); + expect(controller.hasCompleted).toBe(false); + controller.resolve(); + expect(controller.hasCompleted).toBe(true); + }); +}); +//# sourceMappingURL=PromiseController.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.js.map b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.js.map new file mode 100644 index 0000000..32d996d --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/PromiseController.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PromiseController.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/PromiseController.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.d.ts b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.d.ts new file mode 100644 index 0000000..487f7b1 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=native-performance-module.test.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.d.ts.map b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.d.ts.map new file mode 100644 index 0000000..07ed05f --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"native-performance-module.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/native-performance-module.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.js b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.js new file mode 100644 index 0000000..64d28d3 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.js @@ -0,0 +1,126 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_native_1 = require("react-native"); +var exceptions_1 = require("../../exceptions"); +var native_performance_module_1 = require("../../utils/native-performance-module"); +jest.mock('react-native', function () { + return { + NativeModules: {}, + }; +}); +describe('native-performance-module', function () { + describe('getNativeTime', function () { + beforeEach(function () { + react_native_1.NativeModules.Performance = { + getNativeTime: function () { + return Promise.resolve({ + timeSinceEpochMillis: '1234', + uptimeMillis: '56', + }); + }, + }; + }); + afterEach(function () { + delete react_native_1.NativeModules.Performance; + }); + it('throws error if native module not found', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + delete react_native_1.NativeModules.Performance; + return [4 /*yield*/, expect(native_performance_module_1.getNativeTime).rejects.toThrowError(exceptions_1.NativeModuleNotFoundError)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); }); + it('fetches the time from the native module', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var _a, nativeTimeSinceEpochMillis, nativeUptimeMillis; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: return [4 /*yield*/, (0, native_performance_module_1.getNativeTime)()]; + case 1: + _a = _b.sent(), nativeTimeSinceEpochMillis = _a.nativeTimeSinceEpochMillis, nativeUptimeMillis = _a.nativeUptimeMillis; + expect(nativeTimeSinceEpochMillis).toBe(1234); + expect(nativeUptimeMillis).toBe(56); + return [2 /*return*/]; + } + }); + }); }); + }); + describe('getStartupTimestamp', function () { + beforeEach(function () { + react_native_1.NativeModules.Performance = { + getNativeStartupTimestamp: function () { + return Promise.resolve('1234'); + }, + }; + }); + afterEach(function () { + delete react_native_1.NativeModules.Performance; + }); + it('fetches the time from the native module', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var nativeStartupTimestamp; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, (0, native_performance_module_1.getNativeStartupTimestamp)()]; + case 1: + nativeStartupTimestamp = _a.sent(); + expect(nativeStartupTimestamp).toBe(1234); + return [2 /*return*/]; + } + }); + }); }); + it('throws error if native module not found', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + delete react_native_1.NativeModules.Performance; + return [4 /*yield*/, expect(native_performance_module_1.getNativeStartupTimestamp).rejects.toThrowError(exceptions_1.NativeModuleNotFoundError)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); }); + }); + describe('getNativeUuid', function () { + beforeEach(function () { + react_native_1.NativeModules.Performance = { + getNativeUuid: function () { + return Promise.resolve('1234-5678-0987'); + }, + }; + }); + afterEach(function () { + delete react_native_1.NativeModules.Performance; + }); + it('fetches the uuid from the native module', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + var uuid; + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, (0, native_performance_module_1.getNativeUuid)()]; + case 1: + uuid = _a.sent(); + expect(uuid).toBe('1234-5678-0987'); + return [2 /*return*/]; + } + }); + }); }); + it('throws error if native module not found', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + switch (_a.label) { + case 0: + delete react_native_1.NativeModules.Performance; + return [4 /*yield*/, expect(native_performance_module_1.getNativeUuid).rejects.toThrowError(exceptions_1.NativeModuleNotFoundError)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); }); + }); +}); +//# sourceMappingURL=native-performance-module.test.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.js.map b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.js.map new file mode 100644 index 0000000..b0e0c07 --- /dev/null +++ b/packages/react-native-performance/dist/__tests__/utils/native-performance-module.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"native-performance-module.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/native-performance-module.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/constants.d.ts b/packages/react-native-performance/dist/constants.d.ts new file mode 100644 index 0000000..fb3af86 --- /dev/null +++ b/packages/react-native-performance/dist/constants.d.ts @@ -0,0 +1,5 @@ +export declare const DOCUMENTATION_LINKS: { + measuringTTITimes: string; + measuringRerenderTimes: string; +}; +//# sourceMappingURL=constants.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/constants.d.ts.map b/packages/react-native-performance/dist/constants.d.ts.map new file mode 100644 index 0000000..924e1df --- /dev/null +++ b/packages/react-native-performance/dist/constants.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;CAI/B,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/constants.js b/packages/react-native-performance/dist/constants.js new file mode 100644 index 0000000..30ef9d7 --- /dev/null +++ b/packages/react-native-performance/dist/constants.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DOCUMENTATION_LINKS = void 0; +exports.DOCUMENTATION_LINKS = { + measuringTTITimes: 'https://shopify.github.io/react-native-performance/docs/fundamentals/measuring-render-times', + measuringRerenderTimes: 'https://shopify.github.io/react-native-performance/docs/fundamentals/measuring-render-times#3-measuring-screen-re-render-times', +}; +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/constants.js.map b/packages/react-native-performance/dist/constants.js.map new file mode 100644 index 0000000..c3d7215 --- /dev/null +++ b/packages/react-native-performance/dist/constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,6FAA6F;IAChH,sBAAsB,EACpB,gIAAgI;CACnI,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/PerformanceProfiler.d.ts b/packages/react-native-performance/dist/context/PerformanceProfiler.d.ts new file mode 100644 index 0000000..864337c --- /dev/null +++ b/packages/react-native-performance/dist/context/PerformanceProfiler.d.ts @@ -0,0 +1,15 @@ +import React from 'react'; +import { ErrorHandler, LogLevel } from '../utils'; +import ReportObserver from './ReportObserver'; +interface Props { + children: React.ReactNode; + onReportPrepared?: ReportObserver; + renderTimeoutMillis?: number; + errorHandler?: ErrorHandler; + enabled?: boolean; + useRenderTimeouts?: boolean; + logLevel?: LogLevel; +} +declare const PerformanceProfiler: ({ children, onReportPrepared, renderTimeoutMillis, errorHandler, enabled, useRenderTimeouts, logLevel, }: Props) => JSX.Element; +export default PerformanceProfiler; +//# sourceMappingURL=PerformanceProfiler.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/PerformanceProfiler.d.ts.map b/packages/react-native-performance/dist/context/PerformanceProfiler.d.ts.map new file mode 100644 index 0000000..b442cbe --- /dev/null +++ b/packages/react-native-performance/dist/context/PerformanceProfiler.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfiler.d.ts","sourceRoot":"","sources":["../../src/context/PerformanceProfiler.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAC,YAAY,EAA+B,QAAQ,EAAC,MAAM,UAAU,CAAC;AAK7E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAK9C,UAAU,KAAK;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,QAAA,MAAM,mBAAmB,6GAQtB,KAAK,gBA4CP,CAAC;AAEF,eAAe,mBAAmB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/PerformanceProfiler.js b/packages/react-native-performance/dist/context/PerformanceProfiler.js new file mode 100644 index 0000000..6f9c9e6 --- /dev/null +++ b/packages/react-native-performance/dist/context/PerformanceProfiler.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +// @refresh reset +// Fast refresh saves the React state but unmounts and mounts the component again. +// Since for `PerformanceProfiler` the state depends on mount/unmount, it would often result in invalid operations +// such as `PerformaneProfilerNotStartedError` +var react_1 = tslib_1.__importStar(require("react")); +var react_native_1 = require("react-native"); +var utils_1 = require("../utils"); +var state_machine_1 = require("../state-machine"); +var Logger_1 = tslib_1.__importDefault(require("../utils/Logger")); +var exceptions_1 = require("../exceptions"); +var useReportEmitter_1 = tslib_1.__importDefault(require("./useReportEmitter")); +var DEFAULT_RENDER_TIMEOUT_MILLIS = 5 * 1000; +var PerformanceProfiler = function (_a) { + var children = _a.children, _b = _a.onReportPrepared, onReportPrepared = _b === void 0 ? function () { } : _b, _c = _a.renderTimeoutMillis, renderTimeoutMillis = _c === void 0 ? DEFAULT_RENDER_TIMEOUT_MILLIS : _c, _d = _a.errorHandler, errorHandler = _d === void 0 ? function () { } : _d, _e = _a.enabled, enabled = _e === void 0 ? true : _e, _f = _a.useRenderTimeouts, useRenderTimeouts = _f === void 0 ? true : _f, _g = _a.logLevel, logLevel = _g === void 0 ? utils_1.LogLevel.Warn : _g; + var reportEmitter = (0, useReportEmitter_1.default)({ onReportPrepared: onReportPrepared, errorHandler: errorHandler }); + Logger_1.default.logLevel = logLevel; + /** + * `errorHandler` wrapped in custom logic that should be out of users' control (such as logging of internal errors). + */ + var performanceProfilerErrorHandler = (0, react_1.useCallback)(function (error) { + // If profiler throws an error in parallel with navigation, it might visibly delay animation. + // To prevent that error handler is wrapped in runAfterInteractions. + // It's not significant when an error gets reported, but it unblocks navigation transition. + react_native_1.InteractionManager.runAfterInteractions(function () { + // We want to provide a custom message for `bug` errors. + // We also don't want to run `errorHandler` for these bugs since then users would have to make that distinction themselves + // and we want to save them from that complexity. + if (error instanceof exceptions_1.PerformanceProfilerError && error.type === 'bug') { + Logger_1.default.error("You have hit an internal error, please report this: https://github.com/Shopify/react-native-performance/issues/new\n" + + "".concat(error.name, ": ").concat(error.message)); + } + else { + Logger_1.default.error("".concat(error.name, ": ").concat(error.message)); + errorHandler(error); + } + }); + }, [errorHandler]); + var stateController = (0, state_machine_1.useStateControllerInitializer)({ + enabled: enabled, + errorHandler: performanceProfilerErrorHandler, + reportEmitter: reportEmitter, + useRenderTimeouts: useRenderTimeouts, + renderTimeoutMillis: renderTimeoutMillis, + }); + return (react_1.default.createElement(state_machine_1.StateControllerContextProvider, { value: stateController }, + react_1.default.createElement(utils_1.ErrorHandlerContextProvider, { value: performanceProfilerErrorHandler }, children))); +}; +exports.default = PerformanceProfiler; +//# sourceMappingURL=PerformanceProfiler.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/PerformanceProfiler.js.map b/packages/react-native-performance/dist/context/PerformanceProfiler.js.map new file mode 100644 index 0000000..511f9f7 --- /dev/null +++ b/packages/react-native-performance/dist/context/PerformanceProfiler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfiler.js","sourceRoot":"","sources":["../../src/context/PerformanceProfiler.tsx"],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,kFAAkF;AAClF,kHAAkH;AAClH,8CAA8C;AAC9C,qDAAyC;AACzC,6CAAgD;AAEhD,kCAA6E;AAC7E,kDAA+F;AAC/F,mEAAqC;AACrC,4CAAuD;AAGvD,gFAAkD;AAElD,IAAM,6BAA6B,GAAG,CAAC,GAAG,IAAI,CAAC;AAY/C,IAAM,mBAAmB,GAAG,UAAC,EAQrB;QAPN,QAAQ,cAAA,EACR,wBAA2B,EAA3B,gBAAgB,mBAAG,cAAO,CAAC,KAAA,EAC3B,2BAAmD,EAAnD,mBAAmB,mBAAG,6BAA6B,KAAA,EACnD,oBAAuB,EAAvB,YAAY,mBAAG,cAAO,CAAC,KAAA,EACvB,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EACd,yBAAwB,EAAxB,iBAAiB,mBAAG,IAAI,KAAA,EACxB,gBAAwB,EAAxB,QAAQ,mBAAG,gBAAQ,CAAC,IAAI,KAAA;IAExB,IAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,EAAC,gBAAgB,kBAAA,EAAE,YAAY,cAAA,EAAC,CAAC,CAAC;IAEzE,gBAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE3B;;OAEG;IACH,IAAM,+BAA+B,GAAG,IAAA,mBAAW,EACjD,UAAC,KAAY;QACX,6FAA6F;QAC7F,oEAAoE;QACpE,2FAA2F;QAC3F,iCAAkB,CAAC,oBAAoB,CAAC;YACtC,wDAAwD;YACxD,0HAA0H;YAC1H,iDAAiD;YACjD,IAAI,KAAK,YAAY,qCAAwB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrE,gBAAM,CAAC,KAAK,CACV,sHAAsH;oBACpH,UAAG,KAAK,CAAC,IAAI,eAAK,KAAK,CAAC,OAAO,CAAE,CACpC,CAAC;aACH;iBAAM;gBACL,gBAAM,CAAC,KAAK,CAAC,UAAG,KAAK,CAAC,IAAI,eAAK,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC;gBAChD,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,IAAM,eAAe,GAAG,IAAA,6CAA6B,EAAC;QACpD,OAAO,SAAA;QACP,YAAY,EAAE,+BAA+B;QAC7C,aAAa,eAAA;QACb,iBAAiB,mBAAA;QACjB,mBAAmB,qBAAA;KACpB,CAAC,CAAC;IAEH,OAAO,CACL,8BAAC,8CAA8B,IAAC,KAAK,EAAE,eAAe;QACpD,8BAAC,mCAA2B,IAAC,KAAK,EAAE,+BAA+B,IAAG,QAAQ,CAA+B,CAC9E,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/ReportObserver.d.ts b/packages/react-native-performance/dist/context/ReportObserver.d.ts new file mode 100644 index 0000000..df6abbf --- /dev/null +++ b/packages/react-native-performance/dist/context/ReportObserver.d.ts @@ -0,0 +1,4 @@ +import { RenderPassReport } from '../RenderPassReport'; +declare type ReportObserver = (report: RenderPassReport) => void; +export default ReportObserver; +//# sourceMappingURL=ReportObserver.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/ReportObserver.d.ts.map b/packages/react-native-performance/dist/context/ReportObserver.d.ts.map new file mode 100644 index 0000000..3f00190 --- /dev/null +++ b/packages/react-native-performance/dist/context/ReportObserver.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ReportObserver.d.ts","sourceRoot":"","sources":["../../src/context/ReportObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAErD,aAAK,cAAc,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEzD,eAAe,cAAc,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/ReportObserver.js b/packages/react-native-performance/dist/context/ReportObserver.js new file mode 100644 index 0000000..abcff77 --- /dev/null +++ b/packages/react-native-performance/dist/context/ReportObserver.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=ReportObserver.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/ReportObserver.js.map b/packages/react-native-performance/dist/context/ReportObserver.js.map new file mode 100644 index 0000000..bde9248 --- /dev/null +++ b/packages/react-native-performance/dist/context/ReportObserver.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReportObserver.js","sourceRoot":"","sources":["../../src/context/ReportObserver.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/index.d.ts b/packages/react-native-performance/dist/context/index.d.ts new file mode 100644 index 0000000..ab5e55b --- /dev/null +++ b/packages/react-native-performance/dist/context/index.d.ts @@ -0,0 +1,2 @@ +export { default as PerformanceProfiler } from './PerformanceProfiler'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/index.d.ts.map b/packages/react-native-performance/dist/context/index.d.ts.map new file mode 100644 index 0000000..c1e5dd6 --- /dev/null +++ b/packages/react-native-performance/dist/context/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,uBAAuB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/index.js b/packages/react-native-performance/dist/context/index.js new file mode 100644 index 0000000..d07ad58 --- /dev/null +++ b/packages/react-native-performance/dist/context/index.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PerformanceProfiler = void 0; +var PerformanceProfiler_1 = require("./PerformanceProfiler"); +Object.defineProperty(exports, "PerformanceProfiler", { enumerable: true, get: function () { return __importDefault(PerformanceProfiler_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/index.js.map b/packages/react-native-performance/dist/context/index.js.map new file mode 100644 index 0000000..c5990a7 --- /dev/null +++ b/packages/react-native-performance/dist/context/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqE;AAA7D,2IAAA,OAAO,OAAuB"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/useReportEmitter.d.ts b/packages/react-native-performance/dist/context/useReportEmitter.d.ts new file mode 100644 index 0000000..060e88c --- /dev/null +++ b/packages/react-native-performance/dist/context/useReportEmitter.d.ts @@ -0,0 +1,8 @@ +import { OnStateChangedListener } from '../state-machine'; +import { ErrorHandler } from '../utils'; +import ReportObserver from './ReportObserver'; +export default function useReportEmitter({ onReportPrepared, errorHandler, }: { + onReportPrepared: ReportObserver; + errorHandler: ErrorHandler; +}): OnStateChangedListener; +//# sourceMappingURL=useReportEmitter.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/useReportEmitter.d.ts.map b/packages/react-native-performance/dist/context/useReportEmitter.d.ts.map new file mode 100644 index 0000000..783e8d9 --- /dev/null +++ b/packages/react-native-performance/dist/context/useReportEmitter.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useReportEmitter.d.ts","sourceRoot":"","sources":["../../src/context/useReportEmitter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAGtC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,gBAAgB,EAChB,YAAY,GACb,EAAE;IACD,gBAAgB,EAAE,cAAc,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;CAC5B,0BAkBA"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/useReportEmitter.js b/packages/react-native-performance/dist/context/useReportEmitter.js new file mode 100644 index 0000000..f499282 --- /dev/null +++ b/packages/react-native-performance/dist/context/useReportEmitter.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = require("react"); +var RenderPassReportGenerator_1 = tslib_1.__importDefault(require("../RenderPassReportGenerator")); +var Logger_1 = tslib_1.__importStar(require("../utils/Logger")); +function useReportEmitter(_a) { + var onReportPrepared = _a.onReportPrepared, errorHandler = _a.errorHandler; + var reportEmitter = (0, react_1.useCallback)(function (_, __, newState) { + (0, RenderPassReportGenerator_1.default)(newState) + .then(function (report) { + if (report !== null) { + if (Logger_1.default.logLevel <= Logger_1.LogLevel.Info) { + Logger_1.default.info("Render Pass Report: ".concat(JSON.stringify(report, undefined, 2))); + } + onReportPrepared(report); + } + }) + .catch(errorHandler); + }, [onReportPrepared, errorHandler]); + return reportEmitter; +} +exports.default = useReportEmitter; +//# sourceMappingURL=useReportEmitter.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/context/useReportEmitter.js.map b/packages/react-native-performance/dist/context/useReportEmitter.js.map new file mode 100644 index 0000000..4a79fbe --- /dev/null +++ b/packages/react-native-performance/dist/context/useReportEmitter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useReportEmitter.js","sourceRoot":"","sources":["../../src/context/useReportEmitter.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAElC,mGAAqE;AAGrE,gEAAiD;AAIjD,SAAwB,gBAAgB,CAAC,EAMxC;QALC,gBAAgB,sBAAA,EAChB,YAAY,kBAAA;IAKZ,IAAM,aAAa,GAA2B,IAAA,mBAAW,EACvD,UAAC,CAAC,EAAE,EAAE,EAAE,QAAQ;QACd,IAAA,mCAAyB,EAAC,QAAQ,CAAC;aAChC,IAAI,CAAC,UAAA,MAAM;YACV,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,IAAI,gBAAM,CAAC,QAAQ,IAAI,iBAAQ,CAAC,IAAI,EAAE;oBACpC,gBAAM,CAAC,IAAI,CAAC,8BAAuB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC;iBAC5E;gBACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC;aACD,KAAK,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EACD,CAAC,gBAAgB,EAAE,YAAY,CAAC,CACjC,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAxBD,mCAwBC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.d.ts b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.d.ts new file mode 100644 index 0000000..0bbecc8 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.d.ts @@ -0,0 +1,7 @@ +import PerformanceProfilerError from './PerformanceProfilerError'; +export default class NativeModuleNotFoundError extends PerformanceProfilerError { + readonly name = "NativeModuleNotFoundError"; + readonly destinationScreen: undefined; + constructor(); +} +//# sourceMappingURL=NativeModuleNotFoundError.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.d.ts.map b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.d.ts.map new file mode 100644 index 0000000..6764f15 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NativeModuleNotFoundError.d.ts","sourceRoot":"","sources":["../../src/exceptions/NativeModuleNotFoundError.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,wBAAwB;IAC7E,QAAQ,CAAC,IAAI,+BAA+B;IAC5C,QAAQ,CAAC,iBAAiB,YAAa;;CAUxC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.js b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.js new file mode 100644 index 0000000..ee1d158 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var PerformanceProfilerError_1 = tslib_1.__importDefault(require("./PerformanceProfilerError")); +var NativeModuleNotFoundError = /** @class */ (function (_super) { + tslib_1.__extends(NativeModuleNotFoundError, _super); + function NativeModuleNotFoundError() { + var _this = _super.call(this, 'Performance module not found in NativeModules. ' + + "Chances are you're in a test environment, but the mocks have not been setup correctly.", 'bug') || this; + _this.name = 'NativeModuleNotFoundError'; + _this.destinationScreen = undefined; + Object.setPrototypeOf(_this, NativeModuleNotFoundError.prototype); + return _this; + } + return NativeModuleNotFoundError; +}(PerformanceProfilerError_1.default)); +exports.default = NativeModuleNotFoundError; +//# sourceMappingURL=NativeModuleNotFoundError.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.js.map b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.js.map new file mode 100644 index 0000000..33f01c8 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/NativeModuleNotFoundError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NativeModuleNotFoundError.js","sourceRoot":"","sources":["../../src/exceptions/NativeModuleNotFoundError.ts"],"names":[],"mappings":";;;AAAA,gGAAkE;AAElE;IAAuD,qDAAwB;IAI7E;QAAA,YACE,kBACE,iDAAiD;YAC/C,wFAAwF,EAC1F,KAAK,CACN,SAEF;QAVQ,UAAI,GAAG,2BAA2B,CAAC;QACnC,uBAAiB,GAAG,SAAS,CAAC;QAQrC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;;IACnE,CAAC;IACH,gCAAC;AAAD,CAAC,AAZD,CAAuD,kCAAwB,GAY9E"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.d.ts b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.d.ts new file mode 100644 index 0000000..ce65e0e --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.d.ts @@ -0,0 +1,13 @@ +/** + * `bug` errors are tied to internal issues and are handled by the library itself. + * + * `fatal` errors are thrown when we detect incorrect usage of the library and are passed to `errorHandler` in `PerformanceProfiler`. + */ +export declare type PerformanceProfilerErrorType = 'fatal' | 'bug'; +export default abstract class PerformanceProfilerError extends Error { + readonly type: PerformanceProfilerErrorType; + abstract readonly name: string; + abstract readonly destinationScreen: string | undefined; + constructor(message: string, type: PerformanceProfilerErrorType); +} +//# sourceMappingURL=PerformanceProfilerError.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.d.ts.map b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.d.ts.map new file mode 100644 index 0000000..8f439be --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfilerError.d.ts","sourceRoot":"","sources":["../../src/exceptions/PerformanceProfilerError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,4BAA4B,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,wBAAyB,SAAQ,KAAK;IAClE,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B;CAKhE"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.js b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.js new file mode 100644 index 0000000..9dbf747 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var PerformanceProfilerError = /** @class */ (function (_super) { + tslib_1.__extends(PerformanceProfilerError, _super); + function PerformanceProfilerError(message, type) { + var _this = _super.call(this, message) || this; + _this.type = type; + Object.setPrototypeOf(_this, PerformanceProfilerError.prototype); + return _this; + } + return PerformanceProfilerError; +}(Error)); +exports.default = PerformanceProfilerError; +//# sourceMappingURL=PerformanceProfilerError.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.js.map b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.js.map new file mode 100644 index 0000000..272fa7f --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfilerError.js","sourceRoot":"","sources":["../../src/exceptions/PerformanceProfilerError.ts"],"names":[],"mappings":";;;AAOA;IAA+D,oDAAK;IAKlE,kCAAY,OAAe,EAAE,IAAkC;QAA/D,YACE,kBAAM,OAAO,CAAC,SAGf;QAFC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;;IAClE,CAAC;IACH,+BAAC;AAAD,CAAC,AAVD,CAA+D,KAAK,GAUnE"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.d.ts b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.d.ts new file mode 100644 index 0000000..88be555 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.d.ts @@ -0,0 +1,7 @@ +import PerformanceProfilerError from './PerformanceProfilerError'; +export default class PerformanceProfilerUninitializedError extends PerformanceProfilerError { + readonly name = "PerformanceProfilerUninitializedError"; + readonly destinationScreen: string | undefined; + constructor(destinationScreen: string | undefined); +} +//# sourceMappingURL=PerformanceProfilerUninitializedError.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.d.ts.map b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.d.ts.map new file mode 100644 index 0000000..95ad3f6 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfilerUninitializedError.d.ts","sourceRoot":"","sources":["../../src/exceptions/PerformanceProfilerUninitializedError.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,qCAAsC,SAAQ,wBAAwB;IACzF,QAAQ,CAAC,IAAI,2CAA2C;IACxD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,iBAAiB,EAAE,MAAM,GAAG,SAAS;CAQlD"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.js b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.js new file mode 100644 index 0000000..ee806c1 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var PerformanceProfilerError_1 = tslib_1.__importDefault(require("./PerformanceProfilerError")); +var PerformanceProfilerUninitializedError = /** @class */ (function (_super) { + tslib_1.__extends(PerformanceProfilerUninitializedError, _super); + function PerformanceProfilerUninitializedError(destinationScreen) { + var _this = _super.call(this, 'Performance profiler was not initialized correctly. Did you forget to mount the component in the App tree?', 'fatal') || this; + _this.name = 'PerformanceProfilerUninitializedError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, PerformanceProfilerUninitializedError.prototype); + return _this; + } + return PerformanceProfilerUninitializedError; +}(PerformanceProfilerError_1.default)); +exports.default = PerformanceProfilerUninitializedError; +//# sourceMappingURL=PerformanceProfilerUninitializedError.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.js.map b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.js.map new file mode 100644 index 0000000..0266634 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/PerformanceProfilerUninitializedError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PerformanceProfilerUninitializedError.js","sourceRoot":"","sources":["../../src/exceptions/PerformanceProfilerUninitializedError.ts"],"names":[],"mappings":";;;AAAA,gGAAkE;AAElE;IAAmE,iEAAwB;IAIzF,+CAAY,iBAAqC;QAAjD,YACE,kBACE,oIAAoI,EACpI,OAAO,CACR,SAGF;QAVQ,UAAI,GAAG,uCAAuC,CAAC;QAQtD,KAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,qCAAqC,CAAC,SAAS,CAAC,CAAC;;IAC/E,CAAC;IACH,4CAAC;AAAD,CAAC,AAZD,CAAmE,kCAAwB,GAY1F"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/RenderTimeoutError.d.ts b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.d.ts new file mode 100644 index 0000000..646185f --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.d.ts @@ -0,0 +1,8 @@ +import State from '../state-machine/states/State'; +import PerformanceProfilerError from './PerformanceProfilerError'; +export default class RenderTimeoutError extends PerformanceProfilerError { + readonly name = "RenderTimeoutError"; + readonly destinationScreen: string; + constructor(destinationScreen: string, renderTimeoutMillis: number, stateAtTimeout: State); +} +//# sourceMappingURL=RenderTimeoutError.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/RenderTimeoutError.d.ts.map b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.d.ts.map new file mode 100644 index 0000000..fe46831 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderTimeoutError.d.ts","sourceRoot":"","sources":["../../src/exceptions/RenderTimeoutError.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,wBAAwB;IACtE,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAEvB,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK;CAa1F"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/RenderTimeoutError.js b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.js new file mode 100644 index 0000000..37538c8 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var constants_1 = require("../constants"); +var PerformanceProfilerError_1 = tslib_1.__importDefault(require("./PerformanceProfilerError")); +var RenderTimeoutError = /** @class */ (function (_super) { + tslib_1.__extends(RenderTimeoutError, _super); + function RenderTimeoutError(destinationScreen, renderTimeoutMillis, stateAtTimeout) { + var _this = _super.call(this, "Screen '".concat(destinationScreen, "' failed to render in ").concat(renderTimeoutMillis, " milliseconds. One of the following could happen:\n") + + "1. You notified the profiler of the navigation-start event via the useStartProfiler hook, but forgot to notify of the render-completion event via \n" + + "Read the usage here: ".concat(constants_1.DOCUMENTATION_LINKS.measuringTTITimes, ".\n") + + "2. You use useStartProfiler hook instead of useResetFlow hook when re-render is occurring because the flow is essentially being restarted.\n" + + "Read the usage here: ".concat(constants_1.DOCUMENTATION_LINKS.measuringRerenderTimes, ".\n") + + " The state at timeout was: ".concat(stateAtTimeout, "."), 'fatal') || this; + _this.name = 'RenderTimeoutError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, RenderTimeoutError.prototype); + return _this; + } + return RenderTimeoutError; +}(PerformanceProfilerError_1.default)); +exports.default = RenderTimeoutError; +//# sourceMappingURL=RenderTimeoutError.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/RenderTimeoutError.js.map b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.js.map new file mode 100644 index 0000000..dea0e48 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/RenderTimeoutError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderTimeoutError.js","sourceRoot":"","sources":["../../src/exceptions/RenderTimeoutError.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AAGjD,gGAAkE;AAElE;IAAgD,8CAAwB;IAItE,4BAAY,iBAAyB,EAAE,mBAA2B,EAAE,cAAqB;QAAzF,YACE,kBACE,kBAAW,iBAAiB,mCAAyB,mBAAmB,wDAAqD;YAC3H,+KAA+K;YAC/K,+BAAwB,+BAAmB,CAAC,iBAAiB,QAAK;YAClE,8IAA8I;YAC9I,+BAAwB,+BAAmB,CAAC,sBAAsB,QAAK;YACvE,qCAA8B,cAAc,MAAG,EACjD,OAAO,CACR,SAGF;QAfQ,UAAI,GAAG,oBAAoB,CAAC;QAanC,KAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;;IAC5D,CAAC;IACH,yBAAC;AAAD,CAAC,AAjBD,CAAgD,kCAAwB,GAiBvE"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.d.ts b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.d.ts new file mode 100644 index 0000000..23d324c --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.d.ts @@ -0,0 +1,7 @@ +import PerformanceProfilerError from './PerformanceProfilerError'; +export default class ScreenProfilerNotStartedError extends PerformanceProfilerError { + readonly name = "ScreenProfilerNotStartedError"; + readonly destinationScreen: string; + constructor(destinationScreen: string, componentInstanceId: string); +} +//# sourceMappingURL=ScreenProfilerNotStartedError.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.d.ts.map b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.d.ts.map new file mode 100644 index 0000000..3e71742 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ScreenProfilerNotStartedError.d.ts","sourceRoot":"","sources":["../../src/exceptions/ScreenProfilerNotStartedError.ts"],"names":[],"mappings":"AAEA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,wBAAwB;IACjF,QAAQ,CAAC,IAAI,mCAAmC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBAEvB,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM;CAWnE"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.js b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.js new file mode 100644 index 0000000..064269e --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var constants_1 = require("../constants"); +var PerformanceProfilerError_1 = tslib_1.__importDefault(require("./PerformanceProfilerError")); +var ScreenProfilerNotStartedError = /** @class */ (function (_super) { + tslib_1.__extends(ScreenProfilerNotStartedError, _super); + function ScreenProfilerNotStartedError(destinationScreen, componentInstanceId) { + var _this = _super.call(this, "No previous state was found for screen '".concat(destinationScreen, "' with componentInstanceId ").concat(componentInstanceId, ". This probably means that the navigation-start event was never recorded, ") + + "while a subsequent render flow event was (render pass start, data operation profiling, etc.). You seem to have used some profiling API " + + "but likely forgot to use the 'useStartProfiler' hook to start the flow. Read the usage here: " + + "".concat(constants_1.DOCUMENTATION_LINKS.measuringTTITimes, "."), 'fatal') || this; + _this.name = 'ScreenProfilerNotStartedError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, ScreenProfilerNotStartedError.prototype); + return _this; + } + return ScreenProfilerNotStartedError; +}(PerformanceProfilerError_1.default)); +exports.default = ScreenProfilerNotStartedError; +//# sourceMappingURL=ScreenProfilerNotStartedError.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.js.map b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.js.map new file mode 100644 index 0000000..3b29e79 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/ScreenProfilerNotStartedError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ScreenProfilerNotStartedError.js","sourceRoot":"","sources":["../../src/exceptions/ScreenProfilerNotStartedError.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AAEjD,gGAAkE;AAElE;IAA2D,yDAAwB;IAIjF,uCAAY,iBAAyB,EAAE,mBAA2B;QAAlE,YACE,kBACE,kDAA2C,iBAAiB,wCAA8B,mBAAmB,+EAA4E;YACvL,yIAAyI;YACzI,+FAA+F;YAC/F,UAAG,+BAAmB,CAAC,iBAAiB,MAAG,EAC7C,OAAO,CACR,SAGF;QAbQ,UAAI,GAAG,+BAA+B,CAAC;QAW9C,KAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;;IACvE,CAAC;IACH,oCAAC;AAAD,CAAC,AAfD,CAA2D,kCAAwB,GAelF"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/index.d.ts b/packages/react-native-performance/dist/exceptions/index.d.ts new file mode 100644 index 0000000..b12c373 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/index.d.ts @@ -0,0 +1,6 @@ +export { default as RenderTimeoutError } from './RenderTimeoutError'; +export { default as PerformanceProfilerError } from './PerformanceProfilerError'; +export { default as PerformanceProfilerUninitializedError } from './PerformanceProfilerUninitializedError'; +export { default as ScreenProfilerNotStartedError } from './ScreenProfilerNotStartedError'; +export { default as NativeModuleNotFoundError } from './NativeModuleNotFoundError'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/index.d.ts.map b/packages/react-native-performance/dist/exceptions/index.d.ts.map new file mode 100644 index 0000000..6865831 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exceptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAC,OAAO,IAAI,qCAAqC,EAAC,MAAM,yCAAyC,CAAC;AACzG,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAC,OAAO,IAAI,yBAAyB,EAAC,MAAM,6BAA6B,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/index.js b/packages/react-native-performance/dist/exceptions/index.js new file mode 100644 index 0000000..d5e8cce --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/index.js @@ -0,0 +1,17 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NativeModuleNotFoundError = exports.ScreenProfilerNotStartedError = exports.PerformanceProfilerUninitializedError = exports.PerformanceProfilerError = exports.RenderTimeoutError = void 0; +var RenderTimeoutError_1 = require("./RenderTimeoutError"); +Object.defineProperty(exports, "RenderTimeoutError", { enumerable: true, get: function () { return __importDefault(RenderTimeoutError_1).default; } }); +var PerformanceProfilerError_1 = require("./PerformanceProfilerError"); +Object.defineProperty(exports, "PerformanceProfilerError", { enumerable: true, get: function () { return __importDefault(PerformanceProfilerError_1).default; } }); +var PerformanceProfilerUninitializedError_1 = require("./PerformanceProfilerUninitializedError"); +Object.defineProperty(exports, "PerformanceProfilerUninitializedError", { enumerable: true, get: function () { return __importDefault(PerformanceProfilerUninitializedError_1).default; } }); +var ScreenProfilerNotStartedError_1 = require("./ScreenProfilerNotStartedError"); +Object.defineProperty(exports, "ScreenProfilerNotStartedError", { enumerable: true, get: function () { return __importDefault(ScreenProfilerNotStartedError_1).default; } }); +var NativeModuleNotFoundError_1 = require("./NativeModuleNotFoundError"); +Object.defineProperty(exports, "NativeModuleNotFoundError", { enumerable: true, get: function () { return __importDefault(NativeModuleNotFoundError_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/exceptions/index.js.map b/packages/react-native-performance/dist/exceptions/index.js.map new file mode 100644 index 0000000..7fd7c46 --- /dev/null +++ b/packages/react-native-performance/dist/exceptions/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exceptions/index.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAmE;AAA3D,yIAAA,OAAO,OAAsB;AACrC,uEAA+E;AAAvE,qJAAA,OAAO,OAA4B;AAC3C,iGAAyG;AAAjG,+KAAA,OAAO,OAAyC;AACxD,iFAAyF;AAAjF,+JAAA,OAAO,OAAiC;AAChD,yEAAiF;AAAzE,uJAAA,OAAO,OAA6B"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/FlowCommonArgs.d.ts b/packages/react-native-performance/dist/hooks/FlowCommonArgs.d.ts new file mode 100644 index 0000000..13ac19e --- /dev/null +++ b/packages/react-native-performance/dist/hooks/FlowCommonArgs.d.ts @@ -0,0 +1,7 @@ +import GestureResponderEvent from '../GestureResponderEvent'; +export interface FlowCommonArgs { + source?: string; + uiEvent?: GestureResponderEvent; + renderTimeoutMillisOverride?: number; +} +//# sourceMappingURL=FlowCommonArgs.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/FlowCommonArgs.d.ts.map b/packages/react-native-performance/dist/hooks/FlowCommonArgs.d.ts.map new file mode 100644 index 0000000..3ac109f --- /dev/null +++ b/packages/react-native-performance/dist/hooks/FlowCommonArgs.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"FlowCommonArgs.d.ts","sourceRoot":"","sources":["../../src/hooks/FlowCommonArgs.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/FlowCommonArgs.js b/packages/react-native-performance/dist/hooks/FlowCommonArgs.js new file mode 100644 index 0000000..3d74650 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/FlowCommonArgs.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=FlowCommonArgs.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/FlowCommonArgs.js.map b/packages/react-native-performance/dist/hooks/FlowCommonArgs.js.map new file mode 100644 index 0000000..43fa1a5 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/FlowCommonArgs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FlowCommonArgs.js","sourceRoot":"","sources":["../../src/hooks/FlowCommonArgs.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/index.d.ts b/packages/react-native-performance/dist/hooks/index.d.ts new file mode 100644 index 0000000..e472450 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/index.d.ts @@ -0,0 +1,7 @@ +export { default as useStartProfiler } from './useStartProfiler'; +export { FlowCommonArgs } from './FlowCommonArgs'; +export { default as useResetFlow } from './useResetFlow'; +export { default as useProfilerState } from './useProfilerState'; +export { default as useRenderPassReport } from './useRenderPassReport'; +export { default as useProfilerStateChangeListener } from './useProfilerStateChangeListener'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/index.d.ts.map b/packages/react-native-performance/dist/hooks/index.d.ts.map new file mode 100644 index 0000000..3054054 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAC,OAAO,IAAI,8BAA8B,EAAC,MAAM,kCAAkC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/index.js b/packages/react-native-performance/dist/hooks/index.js new file mode 100644 index 0000000..f741794 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/index.js @@ -0,0 +1,17 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.useProfilerStateChangeListener = exports.useRenderPassReport = exports.useProfilerState = exports.useResetFlow = exports.useStartProfiler = void 0; +var useStartProfiler_1 = require("./useStartProfiler"); +Object.defineProperty(exports, "useStartProfiler", { enumerable: true, get: function () { return __importDefault(useStartProfiler_1).default; } }); +var useResetFlow_1 = require("./useResetFlow"); +Object.defineProperty(exports, "useResetFlow", { enumerable: true, get: function () { return __importDefault(useResetFlow_1).default; } }); +var useProfilerState_1 = require("./useProfilerState"); +Object.defineProperty(exports, "useProfilerState", { enumerable: true, get: function () { return __importDefault(useProfilerState_1).default; } }); +var useRenderPassReport_1 = require("./useRenderPassReport"); +Object.defineProperty(exports, "useRenderPassReport", { enumerable: true, get: function () { return __importDefault(useRenderPassReport_1).default; } }); +var useProfilerStateChangeListener_1 = require("./useProfilerStateChangeListener"); +Object.defineProperty(exports, "useProfilerStateChangeListener", { enumerable: true, get: function () { return __importDefault(useProfilerStateChangeListener_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/index.js.map b/packages/react-native-performance/dist/hooks/index.js.map new file mode 100644 index 0000000..4a7ef2e --- /dev/null +++ b/packages/react-native-performance/dist/hooks/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+D;AAAvD,qIAAA,OAAO,OAAoB;AAEnC,+CAAuD;AAA/C,6HAAA,OAAO,OAAgB;AAC/B,uDAA+D;AAAvD,qIAAA,OAAO,OAAoB;AACnC,6DAAqE;AAA7D,2IAAA,OAAO,OAAuB;AACtC,mFAA2F;AAAnF,iKAAA,OAAO,OAAkC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useComponentInstanceId.d.ts b/packages/react-native-performance/dist/hooks/useComponentInstanceId.d.ts new file mode 100644 index 0000000..56b8917 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useComponentInstanceId.d.ts @@ -0,0 +1,2 @@ +export default function useComponentInstanceId(): string; +//# sourceMappingURL=useComponentInstanceId.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useComponentInstanceId.d.ts.map b/packages/react-native-performance/dist/hooks/useComponentInstanceId.d.ts.map new file mode 100644 index 0000000..45aa010 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useComponentInstanceId.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useComponentInstanceId.d.ts","sourceRoot":"","sources":["../../src/hooks/useComponentInstanceId.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,sBAAsB,WAG7C"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useComponentInstanceId.js b/packages/react-native-performance/dist/hooks/useComponentInstanceId.js new file mode 100644 index 0000000..3899b14 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useComponentInstanceId.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var react_1 = require("react"); +var utils_1 = require("../utils"); +function useComponentInstanceId() { + var componentInstanceId = (0, react_1.useRef)((0, utils_1.inMemoryCounter)()).current; + return componentInstanceId; +} +exports.default = useComponentInstanceId; +//# sourceMappingURL=useComponentInstanceId.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useComponentInstanceId.js.map b/packages/react-native-performance/dist/hooks/useComponentInstanceId.js.map new file mode 100644 index 0000000..c857420 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useComponentInstanceId.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useComponentInstanceId.js","sourceRoot":"","sources":["../../src/hooks/useComponentInstanceId.ts"],"names":[],"mappings":";;AAAA,+BAA6B;AAE7B,kCAAyC;AAEzC,SAAwB,sBAAsB;IAC5C,IAAM,mBAAmB,GAAG,IAAA,cAAM,EAAC,IAAA,uBAAe,GAAE,CAAC,CAAC,OAAO,CAAC;IAC9D,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAHD,yCAGC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerState.d.ts b/packages/react-native-performance/dist/hooks/useProfilerState.d.ts new file mode 100644 index 0000000..d020d59 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerState.d.ts @@ -0,0 +1,7 @@ +import { State } from '../state-machine/states'; +interface Props { + destinationScreen?: RegExp | string; +} +export default function useProfilerState({ destinationScreen }: Props): State | undefined; +export {}; +//# sourceMappingURL=useProfilerState.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerState.d.ts.map b/packages/react-native-performance/dist/hooks/useProfilerState.d.ts.map new file mode 100644 index 0000000..69b55fc --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerState.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfilerState.d.ts","sourceRoot":"","sources":["../../src/hooks/useProfilerState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAI9C,UAAU,KAAK;IACb,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAC,iBAAiB,EAAC,EAAE,KAAK,qBAOlE"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerState.js b/packages/react-native-performance/dist/hooks/useProfilerState.js new file mode 100644 index 0000000..bf2b8a0 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerState.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = require("react"); +var useProfilerStateChangeListener_1 = tslib_1.__importDefault(require("./useProfilerStateChangeListener")); +function useProfilerState(_a) { + var destinationScreen = _a.destinationScreen; + var _b = tslib_1.__read((0, react_1.useState)(undefined), 2), state = _b[0], setState = _b[1]; + (0, useProfilerStateChangeListener_1.default)({ + destinationScreen: destinationScreen, + onStateChanged: setState, + }); + return state; +} +exports.default = useProfilerState; +//# sourceMappingURL=useProfilerState.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerState.js.map b/packages/react-native-performance/dist/hooks/useProfilerState.js.map new file mode 100644 index 0000000..2c3c16c --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerState.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfilerState.js","sourceRoot":"","sources":["../../src/hooks/useProfilerState.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAI/B,4GAA8E;AAM9E,SAAwB,gBAAgB,CAAC,EAA0B;QAAzB,iBAAiB,uBAAA;IACnD,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAoB,SAAS,CAAC,IAAA,EAAzD,KAAK,QAAA,EAAE,QAAQ,QAA0C,CAAC;IACjE,IAAA,wCAA8B,EAAC;QAC7B,iBAAiB,mBAAA;QACjB,cAAc,EAAE,QAAQ;KACzB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,mCAOC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.d.ts b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.d.ts new file mode 100644 index 0000000..a4a9cac --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.d.ts @@ -0,0 +1,8 @@ +import { State } from '../state-machine/states'; +interface Props { + destinationScreen?: RegExp | string; + onStateChanged: (_: State) => void; +} +export default function useProfilerStateChangeListener({ destinationScreen: destinationScreenToReportPattern, onStateChanged, }: Props): void; +export {}; +//# sourceMappingURL=useProfilerStateChangeListener.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.d.ts.map b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.d.ts.map new file mode 100644 index 0000000..987c2bb --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfilerStateChangeListener.d.ts","sourceRoot":"","sources":["../../src/hooks/useProfilerStateChangeListener.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAG9C,UAAU,KAAK;IACb,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,cAAc,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,CAAC,OAAO,UAAU,8BAA8B,CAAC,EACrD,iBAAiB,EAAE,gCAAqD,EACxE,cAAc,GACf,EAAE,KAAK,QA+BP"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.js b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.js new file mode 100644 index 0000000..7cc8ac6 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var react_1 = require("react"); +var state_machine_1 = require("../state-machine"); +var utils_1 = require("../utils"); +function useProfilerStateChangeListener(_a) { + var _b = _a.destinationScreen, destinationScreenToReportPattern = _b === void 0 ? new RegExp('^.*$') : _b, onStateChanged = _a.onStateChanged; + var destinationScreenSource = typeof destinationScreenToReportPattern === 'string' + ? destinationScreenToReportPattern + : destinationScreenToReportPattern.source; + var stateController = (0, state_machine_1.useStateController)({ + destinationScreen: destinationScreenSource, + }); + var onStateChangedListener = (0, react_1.useCallback)(function (affectedScreen, _, newState) { + if ((0, utils_1.matchesPattern)(affectedScreen, destinationScreenToReportPattern)) { + onStateChanged(newState); + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [destinationScreenSource, onStateChanged]); + (0, react_1.useEffect)(function () { + var currentState = stateController.getCurrentStateFor(destinationScreenToReportPattern); + if (currentState !== undefined) { + onStateChanged(currentState); + } + stateController.addStateChangedListener(onStateChangedListener); + return function () { + stateController.removeStateChangedListener(onStateChangedListener); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [stateController, onStateChangedListener, onStateChanged, destinationScreenSource]); +} +exports.default = useProfilerStateChangeListener; +//# sourceMappingURL=useProfilerStateChangeListener.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.js.map b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.js.map new file mode 100644 index 0000000..972ad68 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useProfilerStateChangeListener.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useProfilerStateChangeListener.js","sourceRoot":"","sources":["../../src/hooks/useProfilerStateChangeListener.ts"],"names":[],"mappings":";;AAAA,+BAA6C;AAE7C,kDAA4E;AAE5E,kCAAwC;AAOxC,SAAwB,8BAA8B,CAAC,EAG/C;QAFN,yBAAwE,EAArD,gCAAgC,mBAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAA,EACxE,cAAc,oBAAA;IAEd,IAAM,uBAAuB,GAC3B,OAAO,gCAAgC,KAAK,QAAQ;QAClD,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAAC;IAE9C,IAAM,eAAe,GAAG,IAAA,kCAAkB,EAAC;QACzC,iBAAiB,EAAE,uBAAuB;KAC3C,CAAC,CAAC;IAEH,IAAM,sBAAsB,GAA2B,IAAA,mBAAW,EAChE,UAAC,cAAc,EAAE,CAAC,EAAE,QAAQ;QAC1B,IAAI,IAAA,sBAAc,EAAC,cAAc,EAAE,gCAAgC,CAAC,EAAE;YACpE,cAAc,CAAC,QAAQ,CAAC,CAAC;SAC1B;IACH,CAAC;IACD,uDAAuD;IACvD,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAC1C,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,IAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;QAC1F,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,cAAc,CAAC,YAAY,CAAC,CAAC;SAC9B;QACD,eAAe,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;QAChE,OAAO;YACL,eAAe,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,CAAC;QACrE,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,eAAe,EAAE,sBAAsB,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACzF,CAAC;AAlCD,iDAkCC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useRenderPassReport.d.ts b/packages/react-native-performance/dist/hooks/useRenderPassReport.d.ts new file mode 100644 index 0000000..c72f18d --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useRenderPassReport.d.ts @@ -0,0 +1,7 @@ +import { RenderPassReport } from '../RenderPassReport'; +interface Props { + destinationScreen?: RegExp | string; +} +export default function useRenderPassReport({ destinationScreen: destinationScreenToReportPattern, }?: Props): RenderPassReport | undefined; +export {}; +//# sourceMappingURL=useRenderPassReport.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useRenderPassReport.d.ts.map b/packages/react-native-performance/dist/hooks/useRenderPassReport.d.ts.map new file mode 100644 index 0000000..67c343a --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useRenderPassReport.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useRenderPassReport.d.ts","sourceRoot":"","sources":["../../src/hooks/useRenderPassReport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAKrD,UAAU,KAAK;IACb,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,iBAAiB,EAAE,gCAAqD,GACzE,GAAE,KAAU,gCAqCZ"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useRenderPassReport.js b/packages/react-native-performance/dist/hooks/useRenderPassReport.js new file mode 100644 index 0000000..7ab40ec --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useRenderPassReport.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = require("react"); +var RenderPassReportGenerator_1 = tslib_1.__importDefault(require("../RenderPassReportGenerator")); +var utils_1 = require("../utils"); +var state_machine_1 = require("../state-machine"); +function useRenderPassReport(_a) { + var _b = _a === void 0 ? {} : _a, _c = _b.destinationScreen, destinationScreenToReportPattern = _c === void 0 ? new RegExp('^.*$') : _c; + var errorHandler = (0, utils_1.useErrorHandler)(); + var _d = tslib_1.__read((0, react_1.useState)(undefined), 2), latestReport = _d[0], setLatestReport = _d[1]; + var destinationScreenSource = typeof destinationScreenToReportPattern === 'string' + ? destinationScreenToReportPattern + : destinationScreenToReportPattern.source; + var stateController = (0, state_machine_1.useStateController)({ + destinationScreen: destinationScreenSource, + }); + var onStateChangedListener = (0, react_1.useCallback)(function (affectedScreen, _, newState) { + if ((0, utils_1.matchesPattern)(affectedScreen, destinationScreenToReportPattern)) { + (0, RenderPassReportGenerator_1.default)(newState) + .then(function (report) { + if (report !== null) { + setLatestReport(report); + } + }) + .catch(errorHandler); + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [destinationScreenSource, errorHandler]); + (0, react_1.useEffect)(function () { + stateController.addStateChangedListener(onStateChangedListener); + return function () { + stateController.removeStateChangedListener(onStateChangedListener); + }; + }, [stateController, onStateChangedListener, destinationScreenSource]); + return latestReport; +} +exports.default = useRenderPassReport; +//# sourceMappingURL=useRenderPassReport.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useRenderPassReport.js.map b/packages/react-native-performance/dist/hooks/useRenderPassReport.js.map new file mode 100644 index 0000000..22b9013 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useRenderPassReport.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useRenderPassReport.js","sourceRoot":"","sources":["../../src/hooks/useRenderPassReport.ts"],"names":[],"mappings":";;;AAAA,+BAAuD;AAGvD,mGAAqE;AACrE,kCAAyD;AACzD,kDAA4E;AAM5E,SAAwB,mBAAmB,CAAC,EAE/B;QAF+B,qBAEjC,EAAE,KAAA,EADX,yBAAwE,EAArD,gCAAgC,mBAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAA;IAExE,IAAM,YAAY,GAAG,IAAA,uBAAe,GAAE,CAAC;IACjC,IAAA,KAAA,eAAkC,IAAA,gBAAQ,EAA+B,SAAS,CAAC,IAAA,EAAlF,YAAY,QAAA,EAAE,eAAe,QAAqD,CAAC;IAE1F,IAAM,uBAAuB,GAC3B,OAAO,gCAAgC,KAAK,QAAQ;QAClD,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAAC;IAE9C,IAAM,eAAe,GAAG,IAAA,kCAAkB,EAAC;QACzC,iBAAiB,EAAE,uBAAuB;KAC3C,CAAC,CAAC;IAEH,IAAM,sBAAsB,GAA2B,IAAA,mBAAW,EAChE,UAAC,cAAc,EAAE,CAAC,EAAE,QAAQ;QAC1B,IAAI,IAAA,sBAAc,EAAC,cAAc,EAAE,gCAAgC,CAAC,EAAE;YACpE,IAAA,mCAAyB,EAAC,QAAQ,CAAC;iBAChC,IAAI,CAAC,UAAA,MAAM;gBACV,IAAI,MAAM,KAAK,IAAI,EAAE;oBACnB,eAAe,CAAC,MAAM,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,YAAY,CAAC,CAAC;SACxB;IACH,CAAC;IACD,uDAAuD;IACvD,CAAC,uBAAuB,EAAE,YAAY,CAAC,CACxC,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,eAAe,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;QAChE,OAAO;YACL,eAAe,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,sBAAsB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEvE,OAAO,YAAY,CAAC;AACtB,CAAC;AAvCD,sCAuCC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useResetFlow.d.ts b/packages/react-native-performance/dist/hooks/useResetFlow.d.ts new file mode 100644 index 0000000..344c9f3 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useResetFlow.d.ts @@ -0,0 +1,10 @@ +import { FlowCommonArgs } from './FlowCommonArgs'; +export interface FlowResetArgs extends FlowCommonArgs { + destination: string; +} +declare const useResetFlow: () => { + resetFlow: (args: FlowResetArgs) => void; + componentInstanceId: string; +}; +export default useResetFlow; +//# sourceMappingURL=useResetFlow.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useResetFlow.d.ts.map b/packages/react-native-performance/dist/hooks/useResetFlow.d.ts.map new file mode 100644 index 0000000..fb6219e --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useResetFlow.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useResetFlow.d.ts","sourceRoot":"","sources":["../../src/hooks/useResetFlow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAGhD,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,YAAY;sBAKP,aAAa;;CAavB,CAAC;AAEF,eAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useResetFlow.js b/packages/react-native-performance/dist/hooks/useResetFlow.js new file mode 100644 index 0000000..0d9786d --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useResetFlow.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = require("react"); +var state_machine_1 = require("../state-machine"); +var useComponentInstanceId_1 = tslib_1.__importDefault(require("./useComponentInstanceId")); +var useResetFlow = function () { + var stateController = (0, state_machine_1.useStateController)(); + var componentInstanceId = (0, useComponentInstanceId_1.default)(); + var resetFlow = (0, react_1.useCallback)(function (args) { + stateController.onFlowReset({ + sourceScreen: args.source, + destinationScreen: args.destination, + uiEvent: args.uiEvent, + renderTimeoutMillisOverride: args.renderTimeoutMillisOverride, + componentInstanceId: componentInstanceId, + }); + }, [stateController, componentInstanceId]); + return { resetFlow: resetFlow, componentInstanceId: componentInstanceId }; +}; +exports.default = useResetFlow; +//# sourceMappingURL=useResetFlow.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useResetFlow.js.map b/packages/react-native-performance/dist/hooks/useResetFlow.js.map new file mode 100644 index 0000000..5167257 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useResetFlow.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useResetFlow.js","sourceRoot":"","sources":["../../src/hooks/useResetFlow.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAElC,kDAAoD;AAGpD,4FAA8D;AAM9D,IAAM,YAAY,GAAG;IACnB,IAAM,eAAe,GAAG,IAAA,kCAAkB,GAAE,CAAC;IAC7C,IAAM,mBAAmB,GAAG,IAAA,gCAAsB,GAAE,CAAC;IAErD,IAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,UAAC,IAAmB;QAClB,eAAe,CAAC,WAAW,CAAC;YAC1B,YAAY,EAAE,IAAI,CAAC,MAAM;YACzB,iBAAiB,EAAE,IAAI,CAAC,WAAW;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,mBAAmB,qBAAA;SACpB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,eAAe,EAAE,mBAAmB,CAAC,CACvC,CAAC;IAEF,OAAO,EAAC,SAAS,WAAA,EAAE,mBAAmB,qBAAA,EAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useStartProfiler.d.ts b/packages/react-native-performance/dist/hooks/useStartProfiler.d.ts new file mode 100644 index 0000000..a624161 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useStartProfiler.d.ts @@ -0,0 +1,4 @@ +import { FlowCommonArgs } from './FlowCommonArgs'; +declare const useStartProfiler: () => (args: FlowCommonArgs) => void; +export default useStartProfiler; +//# sourceMappingURL=useStartProfiler.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useStartProfiler.d.ts.map b/packages/react-native-performance/dist/hooks/useStartProfiler.d.ts.map new file mode 100644 index 0000000..80af301 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useStartProfiler.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useStartProfiler.d.ts","sourceRoot":"","sources":["../../src/hooks/useStartProfiler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,QAAA,MAAM,gBAAgB,eAIX,cAAc,SAWxB,CAAC;AAEF,eAAe,gBAAgB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useStartProfiler.js b/packages/react-native-performance/dist/hooks/useStartProfiler.js new file mode 100644 index 0000000..ad69e71 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useStartProfiler.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var react_1 = require("react"); +var state_machine_1 = require("../state-machine"); +var useStartProfiler = function () { + var stateController = (0, state_machine_1.useStateController)(); + var startTimer = (0, react_1.useCallback)(function (args) { + stateController.onNavigationStarted({ + sourceScreen: args.source, + uiEvent: args.uiEvent, + renderTimeoutMillisOverride: args.renderTimeoutMillisOverride, + }); + }, [stateController]); + return startTimer; +}; +exports.default = useStartProfiler; +//# sourceMappingURL=useStartProfiler.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/hooks/useStartProfiler.js.map b/packages/react-native-performance/dist/hooks/useStartProfiler.js.map new file mode 100644 index 0000000..97d0403 --- /dev/null +++ b/packages/react-native-performance/dist/hooks/useStartProfiler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useStartProfiler.js","sourceRoot":"","sources":["../../src/hooks/useStartProfiler.ts"],"names":[],"mappings":";;AAAA,+BAAkC;AAElC,kDAAoD;AAIpD,IAAM,gBAAgB,GAAG;IACvB,IAAM,eAAe,GAAG,IAAA,kCAAkB,GAAE,CAAC;IAE7C,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,IAAoB;QACnB,eAAe,CAAC,mBAAmB,CAAC;YAClC,YAAY,EAAE,IAAI,CAAC,MAAM;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;SAC9D,CAAC,CAAC;IACL,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/index.d.ts b/packages/react-native-performance/dist/index.d.ts new file mode 100644 index 0000000..ff9f5b4 --- /dev/null +++ b/packages/react-native-performance/dist/index.d.ts @@ -0,0 +1,11 @@ +import * as States from './state-machine/states'; +export { PerformanceProfiler } from './context'; +export { default as PerformanceMeasureView, RenderStateProps } from './PerformanceMeasureView'; +export * from './hooks'; +export * from './RenderPassReport'; +export * from './exceptions'; +export { useErrorHandler, Logger, LogLevel, inMemoryCounter } from './utils'; +export { States }; +export { default as GestureResponderEvent, isGestureResponderEvent } from './GestureResponderEvent'; +export { DESTINATION_SCREEN_NAME_PLACEHOLDER, useStateController } from './state-machine'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/index.d.ts.map b/packages/react-native-performance/dist/index.d.ts.map new file mode 100644 index 0000000..a12b467 --- /dev/null +++ b/packages/react-native-performance/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC7F,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAC,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAC,CAAC;AAChB,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAE,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAClG,OAAO,EAAC,mCAAmC,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/index.js b/packages/react-native-performance/dist/index.js new file mode 100644 index 0000000..c4d0cbf --- /dev/null +++ b/packages/react-native-performance/dist/index.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.useStateController = exports.DESTINATION_SCREEN_NAME_PLACEHOLDER = exports.isGestureResponderEvent = exports.States = exports.inMemoryCounter = exports.LogLevel = exports.Logger = exports.useErrorHandler = exports.PerformanceMeasureView = exports.PerformanceProfiler = void 0; +var tslib_1 = require("tslib"); +var States = tslib_1.__importStar(require("./state-machine/states")); +exports.States = States; +var context_1 = require("./context"); +Object.defineProperty(exports, "PerformanceProfiler", { enumerable: true, get: function () { return context_1.PerformanceProfiler; } }); +var PerformanceMeasureView_1 = require("./PerformanceMeasureView"); +Object.defineProperty(exports, "PerformanceMeasureView", { enumerable: true, get: function () { return tslib_1.__importDefault(PerformanceMeasureView_1).default; } }); +tslib_1.__exportStar(require("./hooks"), exports); +tslib_1.__exportStar(require("./RenderPassReport"), exports); +tslib_1.__exportStar(require("./exceptions"), exports); +var utils_1 = require("./utils"); +Object.defineProperty(exports, "useErrorHandler", { enumerable: true, get: function () { return utils_1.useErrorHandler; } }); +Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return utils_1.Logger; } }); +Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return utils_1.LogLevel; } }); +Object.defineProperty(exports, "inMemoryCounter", { enumerable: true, get: function () { return utils_1.inMemoryCounter; } }); +var GestureResponderEvent_1 = require("./GestureResponderEvent"); +Object.defineProperty(exports, "isGestureResponderEvent", { enumerable: true, get: function () { return GestureResponderEvent_1.isGestureResponderEvent; } }); +var state_machine_1 = require("./state-machine"); +Object.defineProperty(exports, "DESTINATION_SCREEN_NAME_PLACEHOLDER", { enumerable: true, get: function () { return state_machine_1.DESTINATION_SCREEN_NAME_PLACEHOLDER; } }); +Object.defineProperty(exports, "useStateController", { enumerable: true, get: function () { return state_machine_1.useStateController; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/index.js.map b/packages/react-native-performance/dist/index.js.map new file mode 100644 index 0000000..f266e77 --- /dev/null +++ b/packages/react-native-performance/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAAiD;AAQzC,wBAAM;AANd,qCAA8C;AAAtC,8GAAA,mBAAmB,OAAA;AAC3B,mEAA6F;AAArF,yJAAA,OAAO,OAA0B;AACzC,kDAAwB;AACxB,6DAAmC;AACnC,uDAA6B;AAC7B,iCAA2E;AAAnE,wGAAA,eAAe,OAAA;AAAE,+FAAA,MAAM,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,wGAAA,eAAe,OAAA;AAE1D,iEAAkG;AAAxD,gIAAA,uBAAuB,OAAA;AACjE,iDAAwF;AAAhF,oIAAA,mCAAmC,OAAA;AAAE,mHAAA,kBAAkB,OAAA"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.d.ts b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.d.ts new file mode 100644 index 0000000..4558ae5 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.d.ts @@ -0,0 +1,16 @@ +import StateController from './StateController'; +export default class DisabledStateController implements StateController { + readonly isEnabled = false; + configureRenderTimeout(): void; + onAppStarted(): void; + onNavigationStarted(): void; + onScreenMounted(): void; + onScreenUnmounted(): void; + stopFlowIfNeeded(): void; + onFlowReset(): void; + onRenderPassCompleted(): void; + addStateChangedListener(): void; + removeStateChangedListener(): void; + getCurrentStateFor(): undefined; +} +//# sourceMappingURL=DisabledStateController.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.d.ts.map b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.d.ts.map new file mode 100644 index 0000000..408b369 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DisabledStateController.d.ts","sourceRoot":"","sources":["../../../src/state-machine/controller/DisabledStateController.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,uBAAwB,YAAW,eAAe;IACrE,QAAQ,CAAC,SAAS,SAAS;IAC3B,sBAAsB;IAEtB,YAAY;IACZ,mBAAmB;IACnB,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;IACX,qBAAqB;IACrB,uBAAuB;IACvB,0BAA0B;IAC1B,kBAAkB;CAGnB"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.js b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.js new file mode 100644 index 0000000..b9ea125 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var DisabledStateController = /** @class */ (function () { + function DisabledStateController() { + this.isEnabled = false; + } + DisabledStateController.prototype.configureRenderTimeout = function () { }; + DisabledStateController.prototype.onAppStarted = function () { }; + DisabledStateController.prototype.onNavigationStarted = function () { }; + DisabledStateController.prototype.onScreenMounted = function () { }; + DisabledStateController.prototype.onScreenUnmounted = function () { }; + DisabledStateController.prototype.stopFlowIfNeeded = function () { }; + DisabledStateController.prototype.onFlowReset = function () { }; + DisabledStateController.prototype.onRenderPassCompleted = function () { }; + DisabledStateController.prototype.addStateChangedListener = function () { }; + DisabledStateController.prototype.removeStateChangedListener = function () { }; + DisabledStateController.prototype.getCurrentStateFor = function () { + return undefined; + }; + return DisabledStateController; +}()); +exports.default = DisabledStateController; +//# sourceMappingURL=DisabledStateController.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.js.map b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.js.map new file mode 100644 index 0000000..8be1dce --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/DisabledStateController.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DisabledStateController.js","sourceRoot":"","sources":["../../../src/state-machine/controller/DisabledStateController.ts"],"names":[],"mappings":";;AAEA;IAAA;QACW,cAAS,GAAG,KAAK,CAAC;IAe7B,CAAC;IAdC,wDAAsB,GAAtB,cAA0B,CAAC;IAE3B,8CAAY,GAAZ,cAAgB,CAAC;IACjB,qDAAmB,GAAnB,cAAuB,CAAC;IACxB,iDAAe,GAAf,cAAmB,CAAC;IACpB,mDAAiB,GAAjB,cAAqB,CAAC;IACtB,kDAAgB,GAAhB,cAAoB,CAAC;IACrB,6CAAW,GAAX,cAAe,CAAC;IAChB,uDAAqB,GAArB,cAAyB,CAAC;IAC1B,yDAAuB,GAAvB,cAA2B,CAAC;IAC5B,4DAA0B,GAA1B,cAA8B,CAAC;IAC/B,oDAAkB,GAAlB;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,8BAAC;AAAD,CAAC,AAhBD,IAgBC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.d.ts b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.d.ts new file mode 100644 index 0000000..f57c4a0 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.d.ts @@ -0,0 +1,79 @@ +import { PerformanceProfilerError } from '../../exceptions'; +import GestureResponderEvent from '../../GestureResponderEvent'; +import { State } from '../states'; +import StateController, { RenderTimeoutConfig, OnStateChangedListener } from './StateController'; +export declare const DESTINATION_SCREEN_NAME_PLACEHOLDER = "__unknown_destination_screen__"; +export declare class InvalidMountStateError extends PerformanceProfilerError { + readonly name = "InvalidMountStateError"; + readonly destinationScreen: string; + constructor(destinationScreen: string, componentInstanceId: string); +} +export declare class ReuseComponentInstanceIDError extends PerformanceProfilerError { + readonly name = "ReuseSnapshotIDError"; + readonly destinationScreen: string; + constructor(destinationScreen: string, componentInstanceId: string); +} +/** + * This can happen if you have a non-standard navigation flow, such as here: https://github.com/Shopify/react-native-performance/issues/97 + */ +export declare class MultipleFlowsError extends PerformanceProfilerError { + readonly name = "MultipleFlowsError"; + readonly destinationScreen: string; + constructor(destinationScreen: string); +} +export default class EnabledStateController implements StateController { + readonly isEnabled = true; + private renderTimeoutConfig; + private readonly stateRegistry; + private readonly watchdogTimers; + private readonly onStateChangedListeners; + onAppStarted(): void; + configureRenderTimeout(config: RenderTimeoutConfig): void; + addStateChangedListener(listener: OnStateChangedListener): void; + removeStateChangedListener(listener: OnStateChangedListener): void; + getCurrentStateFor(destinationScreenToReportPattern: string | RegExp): State | undefined; + onNavigationStarted({ sourceScreen, uiEvent, renderTimeoutMillisOverride, }: { + sourceScreen?: string; + uiEvent?: GestureResponderEvent; + renderTimeoutMillisOverride?: number; + }): void; + onScreenMounted({ destinationScreen, componentInstanceId }: { + destinationScreen: string; + componentInstanceId: string; + }): void; + onScreenUnmounted({ destinationScreen, componentInstanceId, }: { + destinationScreen: string; + componentInstanceId: string; + }): void; + onFlowReset({ sourceScreen, destinationScreen, uiEvent, renderTimeoutMillisOverride, componentInstanceId, }: { + sourceScreen?: string; + destinationScreen: string; + uiEvent?: GestureResponderEvent; + renderTimeoutMillisOverride?: number; + componentInstanceId: string; + }): void; + onRenderPassCompleted(props: { + renderPassName: string; + timestamp: number; + destinationScreen: string; + interactive: boolean; + componentInstanceId: string; + }): void; + private onFlowStart; + /** + * Stops current flow if the screen was already mounted. + * This can occur when navigating repeatedly to the same instance of a screen. + * @param componentInstanceId Instance ID of the mounted screen. + */ + stopFlowIfNeeded(componentInstanceId: string): void; + private safeGetCurrentState; + private onDestinationScreenNameAcquired; + private changeStateTo; + private stopWatchdogTimerForComponent; + private findWatchdogTimerIdForComponent; + private addRenderWatchdogTimerIfEnabled; + private clearAllWatchdogTimers; + private addWatchdogTimersForUnwatchedComponents; + private hasMatchingMountUnmountPairs; +} +//# sourceMappingURL=EnabledStateController.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.d.ts.map b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.d.ts.map new file mode 100644 index 0000000..74891d1 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"EnabledStateController.d.ts","sourceRoot":"","sources":["../../../src/state-machine/controller/EnabledStateController.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.js b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.js new file mode 100644 index 0000000..1b2d370 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.js @@ -0,0 +1,467 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MultipleFlowsError = exports.ReuseComponentInstanceIDError = exports.InvalidMountStateError = exports.DESTINATION_SCREEN_NAME_PLACEHOLDER = void 0; +var tslib_1 = require("tslib"); +var exceptions_1 = require("../../exceptions"); +var utils_1 = require("../../utils"); +var BridgedEventTimestamp_1 = require("../../BridgedEventTimestamp"); +var states_1 = require("../states"); +var state_utils_1 = require("../states/state-utils"); +var Logger_1 = tslib_1.__importStar(require("../../utils/Logger")); +exports.DESTINATION_SCREEN_NAME_PLACEHOLDER = '__unknown_destination_screen__'; +var InvalidNewDestinationScreenError = /** @class */ (function (_super) { + tslib_1.__extends(InvalidNewDestinationScreenError, _super); + function InvalidNewDestinationScreenError(destinationScreen, newDestinationScreen) { + var _this = _super.call(this, "The destinationScreen (".concat(destinationScreen, ") does not match the one recorded inside the new state object (").concat(newDestinationScreen, ")."), 'bug') || this; + _this.name = 'InvalidNewDestinationScreenError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, InvalidNewDestinationScreenError.prototype); + return _this; + } + return InvalidNewDestinationScreenError; +}(exceptions_1.PerformanceProfilerError)); +var InvalidOldDestinationScreenError = /** @class */ (function (_super) { + tslib_1.__extends(InvalidOldDestinationScreenError, _super); + function InvalidOldDestinationScreenError(destinationScreen, oldDestinationScreen) { + var _this = _super.call(this, "The destinationScreen (".concat(destinationScreen, ") does not match the one recorded inside the old state object (").concat(oldDestinationScreen, ")."), 'bug') || this; + _this.name = 'InvalidOldDestinationScreenError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, InvalidOldDestinationScreenError.prototype); + return _this; + } + return InvalidOldDestinationScreenError; +}(exceptions_1.PerformanceProfilerError)); +var InvalidMountStateError = /** @class */ (function (_super) { + tslib_1.__extends(InvalidMountStateError, _super); + function InvalidMountStateError(destinationScreen, componentInstanceId) { + var _this = _super.call(this, "No matching ".concat(states_1.Mounted.STATE_NAME, " state found for componentInstanceId ").concat(componentInstanceId, " for screen ").concat(destinationScreen, "."), 'bug') || this; + _this.name = 'InvalidMountStateError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, InvalidMountStateError.prototype); + return _this; + } + return InvalidMountStateError; +}(exceptions_1.PerformanceProfilerError)); +exports.InvalidMountStateError = InvalidMountStateError; +var ReuseComponentInstanceIDError = /** @class */ (function (_super) { + tslib_1.__extends(ReuseComponentInstanceIDError, _super); + function ReuseComponentInstanceIDError(destinationScreen, componentInstanceId) { + var _this = _super.call(this, "Cannot reuse the same snapshotId ".concat(componentInstanceId, " for successive mounts of screen ").concat(destinationScreen, "."), 'bug') || this; + _this.name = 'ReuseSnapshotIDError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, ReuseComponentInstanceIDError.prototype); + return _this; + } + return ReuseComponentInstanceIDError; +}(exceptions_1.PerformanceProfilerError)); +exports.ReuseComponentInstanceIDError = ReuseComponentInstanceIDError; +var InvalidStateError = /** @class */ (function (_super) { + tslib_1.__extends(InvalidStateError, _super); + function InvalidStateError(destinationScreen, stateName) { + var _this = _super.call(this, "Something went wrong. The state corresponding to the DESTINATION_SCREEN_NAME_PLACEHOLDER screen name should only ever be of type ".concat(states_1.Started.STATE_NAME, ". It actually is: ").concat(stateName), 'bug') || this; + _this.name = 'InvalidStateError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, InvalidStateError.prototype); + return _this; + } + return InvalidStateError; +}(exceptions_1.PerformanceProfilerError)); +/** + * This can happen if you have a non-standard navigation flow, such as here: https://github.com/Shopify/react-native-performance/issues/97 + */ +var MultipleFlowsError = /** @class */ (function (_super) { + tslib_1.__extends(MultipleFlowsError, _super); + function MultipleFlowsError(destinationScreen) { + var _this = _super.call(this, 'The navigation for one screen was already queued up when another one was added. This ' + + 'could imply that a previously queued screen was never rendered.', 'fatal') || this; + _this.name = 'MultipleFlowsError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, MultipleFlowsError.prototype); + return _this; + } + return MultipleFlowsError; +}(exceptions_1.PerformanceProfilerError)); +exports.MultipleFlowsError = MultipleFlowsError; +var EnabledStateController = /** @class */ (function () { + function EnabledStateController() { + this.isEnabled = true; + this.renderTimeoutConfig = { + enabled: false, + }; + this.stateRegistry = new Map(); + this.watchdogTimers = new Map(); + this.onStateChangedListeners = []; + } + EnabledStateController.prototype.onAppStarted = function () { + this.onFlowStart({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder() + .nativeTimestamp((0, utils_1.getNativeStartupTimestamp)()) + .epochReference() + .build(), + sourceScreen: undefined, + renderTimeoutMillisOverride: undefined, + type: 'app_boot', + }); + }; + EnabledStateController.prototype.configureRenderTimeout = function (config) { + this.renderTimeoutConfig = config; + if (config.enabled) { + this.addWatchdogTimersForUnwatchedComponents(); + } + else { + this.clearAllWatchdogTimers(); + } + }; + EnabledStateController.prototype.addStateChangedListener = function (listener) { + this.onStateChangedListeners.push(listener); + }; + EnabledStateController.prototype.removeStateChangedListener = function (listener) { + var _this = this; + this.onStateChangedListeners + .reduce(function (indices, currentListener, index) { + if (listener === currentListener) { + indices.push(index); + } + return indices; + }, []) + .forEach(function (index) { + _this.onStateChangedListeners.splice(index, 1); + }); + }; + EnabledStateController.prototype.getCurrentStateFor = function (destinationScreenToReportPattern) { + var e_1, _a; + try { + for (var _b = tslib_1.__values(this.stateRegistry.values()), _c = _b.next(); !_c.done; _c = _b.next()) { + var state = _c.value; + if ((0, utils_1.matchesPattern)(state.destinationScreen, destinationScreenToReportPattern)) { + return state; + } + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + return undefined; + }; + EnabledStateController.prototype.onNavigationStarted = function (_a) { + var sourceScreen = _a.sourceScreen, uiEvent = _a.uiEvent, renderTimeoutMillisOverride = _a.renderTimeoutMillisOverride; + var oldState = this.stateRegistry.get(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + if (oldState instanceof states_1.Started && oldState.type === 'app_boot') { + Logger_1.default.debug('Skipping starting new flow after navigation started since app_boot flow is already in progress'); + return; + } + this.onFlowStart({ + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder() + .nativeTimestamp(uiEvent === null || uiEvent === void 0 ? void 0 : uiEvent.nativeEvent.timestamp) + .systemBootReference() + .build(), + sourceScreen: sourceScreen, + renderTimeoutMillisOverride: renderTimeoutMillisOverride, + type: 'flow_start', + }); + }; + EnabledStateController.prototype.onScreenMounted = function (_a) { + var destinationScreen = _a.destinationScreen, componentInstanceId = _a.componentInstanceId; + if (this.stateRegistry.has(componentInstanceId)) { + throw new ReuseComponentInstanceIDError(destinationScreen, componentInstanceId); + } + var oldState = this.safeGetCurrentState(destinationScreen, componentInstanceId); + this.changeStateTo(destinationScreen, componentInstanceId, new states_1.Mounted({ + destinationScreen: destinationScreen, + componentInstanceId: componentInstanceId, + snapshotId: (0, utils_1.getNativeUuid)(), + previousState: oldState, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + })); + }; + EnabledStateController.prototype.onScreenUnmounted = function (_a) { + var destinationScreen = _a.destinationScreen, componentInstanceId = _a.componentInstanceId; + if (!this.stateRegistry.get(componentInstanceId)) { + throw new InvalidMountStateError(destinationScreen, componentInstanceId); + } + var oldState = this.safeGetCurrentState(destinationScreen, componentInstanceId); + var unmounted = new states_1.Unmounted({ + destinationScreen: destinationScreen, + componentInstanceId: componentInstanceId, + snapshotId: (0, utils_1.getNativeUuid)(), + previousState: oldState, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + }); + this.changeStateTo(destinationScreen, componentInstanceId, unmounted); + var isScreenReadyForUnmount = this.hasMatchingMountUnmountPairs(destinationScreen, componentInstanceId); + if (isScreenReadyForUnmount) { + this.stopWatchdogTimerForComponent(componentInstanceId); + var reachedInteractiveRenderedState = (0, state_utils_1.reverseReduce)(oldState, function (state, reachedInteractiveRenderedState) { + return reachedInteractiveRenderedState || (state instanceof states_1.Rendered && state.interactive); + }, false); + if (!reachedInteractiveRenderedState) { + this.changeStateTo(destinationScreen, componentInstanceId, new states_1.RenderAborted({ + destinationScreen: destinationScreen, + componentInstanceId: componentInstanceId, + previousState: oldState, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().build(), + snapshotId: (0, utils_1.getNativeUuid)(), + })); + } + // Cleanup the memory associated with this screen now that it has been fully torn down. + this.stateRegistry.delete(componentInstanceId); + } + }; + EnabledStateController.prototype.onFlowReset = function (_a) { + var sourceScreen = _a.sourceScreen, destinationScreen = _a.destinationScreen, uiEvent = _a.uiEvent, renderTimeoutMillisOverride = _a.renderTimeoutMillisOverride, componentInstanceId = _a.componentInstanceId; + var previousState = this.safeGetCurrentState(destinationScreen, componentInstanceId); + this.stopWatchdogTimerForComponent(componentInstanceId); + this.changeStateTo(destinationScreen, componentInstanceId, new states_1.Started({ + // If no source screen is provided explicitly, the screen is being reset internally. + // So the destination === source. + sourceScreen: sourceScreen !== null && sourceScreen !== void 0 ? sourceScreen : destinationScreen, + destinationScreen: destinationScreen, + componentInstanceId: componentInstanceId, + timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder() + .nativeTimestamp(uiEvent === null || uiEvent === void 0 ? void 0 : uiEvent.nativeEvent.timestamp) + .systemBootReference() + .build(), + previousState: previousState, + snapshotId: (0, utils_1.getNativeUuid)(), + type: 'flow_reset', + })); + this.addRenderWatchdogTimerIfEnabled(componentInstanceId, renderTimeoutMillisOverride); + }; + EnabledStateController.prototype.onRenderPassCompleted = function (props) { + var oldState = this.safeGetCurrentState(props.destinationScreen, props.componentInstanceId); + if (props.interactive) { + this.stopWatchdogTimerForComponent(props.componentInstanceId); + } + var nextState = new states_1.Rendered(tslib_1.__assign(tslib_1.__assign({}, props), { previousState: oldState, timestamp: new BridgedEventTimestamp_1.BridgedEventTimestampBuilder().nativeTimestamp(props.timestamp).epochReference().build(), snapshotId: (0, utils_1.getNativeUuid)() })); + this.changeStateTo(props.destinationScreen, props.componentInstanceId, nextState); + }; + EnabledStateController.prototype.onFlowStart = function (_a) { + var timestamp = _a.timestamp, sourceScreen = _a.sourceScreen, type = _a.type, renderTimeoutMillisOverride = _a.renderTimeoutMillisOverride; + var startedMultipleFlows = false; + if (this.stateRegistry.has(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER)) { + startedMultipleFlows = true; + this.stopWatchdogTimerForComponent(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + this.stateRegistry.delete(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + } + // The root screen's name is unknown in the beginning. + // This will get migrated once the main screen's name is known. + this.changeStateTo(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER, exports.DESTINATION_SCREEN_NAME_PLACEHOLDER, new states_1.Started({ + timestamp: timestamp, + sourceScreen: sourceScreen, + componentInstanceId: exports.DESTINATION_SCREEN_NAME_PLACEHOLDER, + destinationScreen: exports.DESTINATION_SCREEN_NAME_PLACEHOLDER, + previousState: undefined, + snapshotId: (0, utils_1.getNativeUuid)(), + type: type, + })); + this.addRenderWatchdogTimerIfEnabled(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER, renderTimeoutMillisOverride); + // Throw the error at the very end to ensure that if this warning is suppressed, the state machine + // still continues operating in a semi-reasonable way. We're choosing to drop the previous "Started" + // state in favour of the new flow. + if (startedMultipleFlows) { + throw new MultipleFlowsError(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + } + }; + /** + * Stops current flow if the screen was already mounted. + * This can occur when navigating repeatedly to the same instance of a screen. + * @param componentInstanceId Instance ID of the mounted screen. + */ + EnabledStateController.prototype.stopFlowIfNeeded = function (componentInstanceId) { + var oldState = this.stateRegistry.get(componentInstanceId); + if (oldState !== undefined) { + this.stateRegistry.delete(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + var watchdogTimerId = this.findWatchdogTimerIdForComponent(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + if (watchdogTimerId !== undefined) { + clearTimeout(watchdogTimerId); + this.watchdogTimers.delete(watchdogTimerId); + } + } + }; + EnabledStateController.prototype.safeGetCurrentState = function (destinationScreen, componentInstanceId) { + this.onDestinationScreenNameAcquired({ + destinationScreen: destinationScreen, + componentInstanceId: componentInstanceId, + }); + var oldState = this.stateRegistry.get(componentInstanceId); + if (oldState === undefined) { + throw new exceptions_1.ScreenProfilerNotStartedError(destinationScreen, componentInstanceId); + } + return oldState; + }; + EnabledStateController.prototype.onDestinationScreenNameAcquired = function (props) { + var oldState = this.stateRegistry.get(props.componentInstanceId); + if (oldState === undefined && this.stateRegistry.has(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER)) { + // Migrate the previous state that was linked to an unknown screen name + // to this one. The destination screen's name is unknown when the "start flow" or "start app" events arrive. + var actualOldState_1 = this.stateRegistry.get(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + if (!(actualOldState_1 instanceof states_1.Started)) { + throw new InvalidStateError(props.destinationScreen, actualOldState_1.getStateName()); + } + var migratedState_1 = actualOldState_1.updateState(props.destinationScreen, props.componentInstanceId); + this.stateRegistry.set(props.componentInstanceId, migratedState_1); + this.stateRegistry.delete(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + var watchdogTimerId = this.findWatchdogTimerIdForComponent(exports.DESTINATION_SCREEN_NAME_PLACEHOLDER); + if (watchdogTimerId !== undefined) { + this.watchdogTimers.set(watchdogTimerId, props.componentInstanceId); + } + this.onStateChangedListeners.forEach(function (listener) { + return listener(props.destinationScreen, actualOldState_1, migratedState_1); + }); + } + }; + EnabledStateController.prototype.changeStateTo = function (destinationScreen, componentInstanceId, newState) { + if (destinationScreen !== newState.destinationScreen) { + throw new InvalidNewDestinationScreenError(destinationScreen, newState.destinationScreen); + } + var oldState = this.stateRegistry.get(componentInstanceId); + if (oldState !== undefined && oldState.destinationScreen !== destinationScreen) { + throw new InvalidOldDestinationScreenError(destinationScreen, oldState.destinationScreen); + } + this.stateRegistry.set(componentInstanceId, newState); + this.onStateChangedListeners.forEach(function (listener) { return listener(destinationScreen, oldState, newState); }); + Logger_1.default.debug("State: ".concat(newState.toString())); + assertRenderPassNamesUnique(newState); + }; + EnabledStateController.prototype.stopWatchdogTimerForComponent = function (componentInstanceId) { + var watchdogTimerId = this.findWatchdogTimerIdForComponent(componentInstanceId); + if (watchdogTimerId !== undefined) { + clearTimeout(watchdogTimerId); + this.watchdogTimers.delete(watchdogTimerId); + } + }; + EnabledStateController.prototype.findWatchdogTimerIdForComponent = function (componentInstanceId) { + var e_2, _a; + try { + for (var _b = tslib_1.__values(this.watchdogTimers.entries()), _c = _b.next(); !_c.done; _c = _b.next()) { + var _d = tslib_1.__read(_c.value, 2), watchdogTimerId = _d[0], _componentInstanceId = _d[1]; + if (_componentInstanceId === componentInstanceId) { + return watchdogTimerId; + } + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_2) throw e_2.error; } + } + return undefined; + }; + EnabledStateController.prototype.addRenderWatchdogTimerIfEnabled = function (componentInstanceId, renderTimeoutMillisOverride) { + var _this = this; + if (renderTimeoutMillisOverride === void 0) { renderTimeoutMillisOverride = undefined; } + if (!this.renderTimeoutConfig.enabled) { + return; + } + var effectiveTimeoutMillis = renderTimeoutMillisOverride !== null && renderTimeoutMillisOverride !== void 0 ? renderTimeoutMillisOverride : this.renderTimeoutConfig.renderTimeoutMillis; + var onRenderTimeout = this.renderTimeoutConfig.onRenderTimeout; + var timeoutId = setTimeout(function () { + // Re-fetch the screen name from the map, because the main screen's placeholder + // name might've been replaced with the actual name by this point. + var currentComponentInstanceId = _this.watchdogTimers.get(timeoutId); + var currentState = _this.stateRegistry.get(currentComponentInstanceId); + _this.watchdogTimers.delete(timeoutId); + var reachedInteractiveRenderedState = currentState && + (0, state_utils_1.reverseReduce)(currentState, function (state, reachedInteractiveRenderedState) { + return reachedInteractiveRenderedState || (state instanceof states_1.Rendered && state.interactive); + }, false); + if (currentState !== undefined && reachedInteractiveRenderedState === false) { + onRenderTimeout(new exceptions_1.RenderTimeoutError(currentState.destinationScreen, effectiveTimeoutMillis, currentState)); + } + }, effectiveTimeoutMillis); + this.watchdogTimers.set(timeoutId, componentInstanceId); + }; + EnabledStateController.prototype.clearAllWatchdogTimers = function () { + this.watchdogTimers.forEach(function (_, watchdogTimerId) { return clearTimeout(watchdogTimerId); }); + this.watchdogTimers.clear(); + }; + EnabledStateController.prototype.addWatchdogTimersForUnwatchedComponents = function () { + var e_3, _a; + var componentInstanceIdsWithWatchdogs = new Set(this.watchdogTimers.values()); + try { + for (var _b = tslib_1.__values(this.stateRegistry.values()), _c = _b.next(); !_c.done; _c = _b.next()) { + var state = _c.value; + if (!componentInstanceIdsWithWatchdogs.has(state.componentInstanceId)) { + this.addRenderWatchdogTimerIfEnabled(state.componentInstanceId); + } + } + } + catch (e_3_1) { e_3 = { error: e_3_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_3) throw e_3.error; } + } + }; + EnabledStateController.prototype.hasMatchingMountUnmountPairs = function (destinationScreen, componentInstanceId) { + var e_4, _a; + var oldState = this.stateRegistry.get(componentInstanceId); + if (oldState === undefined) { + throw new exceptions_1.ScreenProfilerNotStartedError(destinationScreen, componentInstanceId); + } + var mountUnmountRecord = (0, state_utils_1.reverseReduce)(oldState, function (state, registry) { + var _a; + if (state instanceof states_1.Mounted || state instanceof states_1.Unmounted) { + var entry = (_a = registry.get(state.componentInstanceId)) !== null && _a !== void 0 ? _a : {}; + if (state instanceof states_1.Mounted) { + entry.mounted = state; + } + else { + entry.unmounted = state; + } + registry.set(state.componentInstanceId, entry); + } + return registry; + }, new Map(), { + // It's possible that the flow was reset after the screen was mounted. So we need to traverse back all the way + // to the first known state in the chain, and not stop at the last "Started" state. + stopAtStartState: false, + }).values(); + try { + for (var mountUnmountRecord_1 = tslib_1.__values(mountUnmountRecord), mountUnmountRecord_1_1 = mountUnmountRecord_1.next(); !mountUnmountRecord_1_1.done; mountUnmountRecord_1_1 = mountUnmountRecord_1.next()) { + var _b = mountUnmountRecord_1_1.value, mounted = _b.mounted, unmounted = _b.unmounted; + if (mounted === undefined || unmounted === undefined) { + return false; + } + } + } + catch (e_4_1) { e_4 = { error: e_4_1 }; } + finally { + try { + if (mountUnmountRecord_1_1 && !mountUnmountRecord_1_1.done && (_a = mountUnmountRecord_1.return)) _a.call(mountUnmountRecord_1); + } + finally { if (e_4) throw e_4.error; } + } + return true; + }; + return EnabledStateController; +}()); +exports.default = EnabledStateController; +function assertRenderPassNamesUnique(finalState) { + if (Logger_1.default.logLevel > Logger_1.LogLevel.Info) { + return; + } + var seenRenderPasses = new Map(); + (0, state_utils_1.reverseTraverse)(finalState, function (state) { + if (state instanceof states_1.Rendered) { + var previousRenderedState = seenRenderPasses.get(state.renderPassName); + if (previousRenderedState !== undefined && previousRenderedState.snapshotId !== state.snapshotId) { + Logger_1.default.info("Looks like you used the same render pass name '".concat(state.renderPassName, "' multiple times on the ").concat(state.destinationScreen, " screen. ") + + 'A renderPassName can help uniquely identifying a UI state in which a given screen can render (e.g., "loading", "cached_render", "first_contentful_paint", etc.). ' + + 'If you do not expect to see the same renderPassName multiple times, it is often a sign that your screen might be going through ' + + 'some unexpected state changes. If you are debugging a performance issue, we recommend:\n' + + 'i) debugging the prop/state change that is leading to these unnecessary re-renders, and fix them if the re-renders were not expected,\n' + + 'ii) assigning different renderPassNames to these render passes so that you can distinguish between them in the output reports if the re-renders were expected.'); + } + seenRenderPasses.set(state.renderPassName, state); + } + }); +} +//# sourceMappingURL=EnabledStateController.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.js.map b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.js.map new file mode 100644 index 0000000..52f37f7 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/EnabledStateController.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EnabledStateController.js","sourceRoot":"","sources":["../../../src/state-machine/controller/EnabledStateController.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.d.ts b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.d.ts new file mode 100644 index 0000000..e03c7bb --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.d.ts @@ -0,0 +1,42 @@ +import GestureResponderEvent from '../../GestureResponderEvent'; +import { ErrorHandler } from '../../utils'; +import StateController, { OnStateChangedListener, RenderTimeoutConfig } from './StateController'; +export default class ErrorHandlerStateController implements StateController { + readonly innerStateController: StateController; + readonly errorHandler: ErrorHandler; + constructor(innerStateController: StateController, errorHandler: ErrorHandler); + get isEnabled(): boolean; + configureRenderTimeout(config: RenderTimeoutConfig): void; + onAppStarted(): void; + onNavigationStarted(props: { + sourceScreen?: string | undefined; + uiEvent?: GestureResponderEvent | undefined; + renderTimeoutMillisOverride?: number | undefined; + }): void; + onScreenMounted(props: { + destinationScreen: string; + componentInstanceId: string; + }): void; + stopFlowIfNeeded(componentInstanceId: string): void; + onScreenUnmounted(props: { + destinationScreen: string; + componentInstanceId: string; + }): void; + onFlowReset(props: { + sourceScreen?: string | undefined; + destinationScreen: string; + uiEvent?: GestureResponderEvent | undefined; + renderTimeoutMillisOverride?: number | undefined; + }): void; + onRenderPassCompleted(props: { + renderPassName: string; + timestamp: number; + destinationScreen: string; + interactive: boolean; + componentInstanceId: string; + }): void; + addStateChangedListener(listener: OnStateChangedListener): void; + removeStateChangedListener(listener: OnStateChangedListener): void; + getCurrentStateFor(destinationScreen: string | RegExp): import("../states/State").default | undefined; +} +//# sourceMappingURL=ErrorHandlerStateController.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.d.ts.map b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.d.ts.map new file mode 100644 index 0000000..de50d6c --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ErrorHandlerStateController.d.ts","sourceRoot":"","sources":["../../../src/state-machine/controller/ErrorHandlerStateController.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,eAAe,EAAE,EAAC,sBAAsB,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAE/F,MAAM,CAAC,OAAO,OAAO,2BAA4B,YAAW,eAAe;IACzE,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAExB,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY;IAK7E,IAAI,SAAS,YAOZ;IAED,sBAAsB,CAAC,MAAM,EAAE,mBAAmB;IAQlD,YAAY;IAQZ,mBAAmB,CAAC,KAAK,EAAE;QACzB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;QAC5C,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAClD;IAQD,eAAe,CAAC,KAAK,EAAE;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAC;IAQ/E,gBAAgB,CAAC,mBAAmB,EAAE,MAAM;IAQ5C,iBAAiB,CAAC,KAAK,EAAE;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAC;IAQjF,WAAW,CAAC,KAAK,EAAE;QACjB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;QAC5C,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAClD;IAQD,qBAAqB,CAAC,KAAK,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,OAAO,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;KAC7B;IAQD,uBAAuB,CAAC,QAAQ,EAAE,sBAAsB;IAQxD,0BAA0B,CAAC,QAAQ,EAAE,sBAAsB;IAQ3D,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM;CAQtD"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.js b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.js new file mode 100644 index 0000000..bac3d1b --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.js @@ -0,0 +1,113 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var ErrorHandlerStateController = /** @class */ (function () { + function ErrorHandlerStateController(innerStateController, errorHandler) { + this.innerStateController = innerStateController; + this.errorHandler = errorHandler; + } + Object.defineProperty(ErrorHandlerStateController.prototype, "isEnabled", { + get: function () { + try { + return this.innerStateController.isEnabled; + } + catch (error) { + this.errorHandler(error); + return false; + } + }, + enumerable: false, + configurable: true + }); + ErrorHandlerStateController.prototype.configureRenderTimeout = function (config) { + try { + this.innerStateController.configureRenderTimeout(config); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.onAppStarted = function () { + try { + this.innerStateController.onAppStarted(); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.onNavigationStarted = function (props) { + try { + this.innerStateController.onNavigationStarted(props); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.onScreenMounted = function (props) { + try { + this.innerStateController.onScreenMounted(props); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.stopFlowIfNeeded = function (componentInstanceId) { + try { + this.innerStateController.stopFlowIfNeeded(componentInstanceId); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.onScreenUnmounted = function (props) { + try { + this.innerStateController.onScreenUnmounted(props); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.onFlowReset = function (props) { + try { + this.innerStateController.onFlowReset(props); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.onRenderPassCompleted = function (props) { + try { + this.innerStateController.onRenderPassCompleted(props); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.addStateChangedListener = function (listener) { + try { + this.innerStateController.addStateChangedListener(listener); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.removeStateChangedListener = function (listener) { + try { + this.innerStateController.removeStateChangedListener(listener); + } + catch (error) { + this.errorHandler(error); + } + }; + ErrorHandlerStateController.prototype.getCurrentStateFor = function (destinationScreen) { + try { + return this.innerStateController.getCurrentStateFor(destinationScreen); + } + catch (error) { + this.errorHandler(error); + return undefined; + } + }; + return ErrorHandlerStateController; +}()); +exports.default = ErrorHandlerStateController; +//# sourceMappingURL=ErrorHandlerStateController.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.js.map b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.js.map new file mode 100644 index 0000000..c9c6de1 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/ErrorHandlerStateController.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ErrorHandlerStateController.js","sourceRoot":"","sources":["../../../src/state-machine/controller/ErrorHandlerStateController.ts"],"names":[],"mappings":";;AAKA;IAIE,qCAAY,oBAAqC,EAAE,YAA0B;QAC3E,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,sBAAI,kDAAS;aAAb;YACE,IAAI;gBACF,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;aAC5C;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO,KAAK,CAAC;aACd;QACH,CAAC;;;OAAA;IAED,4DAAsB,GAAtB,UAAuB,MAA2B;QAChD,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;SAC1D;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,kDAAY,GAAZ;QACE,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;SAC1C;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,yDAAmB,GAAnB,UAAoB,KAInB;QACC,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SACtD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,qDAAe,GAAf,UAAgB,KAA+D;QAC7E,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,sDAAgB,GAAhB,UAAiB,mBAA2B;QAC1C,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;SACjE;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,uDAAiB,GAAjB,UAAkB,KAA+D;QAC/E,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACpD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,iDAAW,GAAX,UAAY,KAKX;QACC,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC9C;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,2DAAqB,GAArB,UAAsB,KAMrB;QACC,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;SACxD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,6DAAuB,GAAvB,UAAwB,QAAgC;QACtD,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SAC7D;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,gEAA0B,GAA1B,UAA2B,QAAgC;QACzD,IAAI;YACF,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;SAChE;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,wDAAkB,GAAlB,UAAmB,iBAAkC;QACnD,IAAI;YACF,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;SACxE;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAzHD,IAyHC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/StateController.d.ts b/packages/react-native-performance/dist/state-machine/controller/StateController.d.ts new file mode 100644 index 0000000..9fff9ac --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/StateController.d.ts @@ -0,0 +1,51 @@ +import { RenderTimeoutError } from '../../exceptions'; +import GestureResponderEvent from '../../GestureResponderEvent'; +import { State } from '../states'; +export declare type OnStateChangedListener = (destinationScreen: string, oldState: State | undefined, newState: State) => void; +export declare type RenderTimeoutConfig = { + enabled: true; + renderTimeoutMillis: number; + onRenderTimeout: (error: RenderTimeoutError) => void; +} | { + enabled: false; + renderTimeoutMillis?: never; + onRenderTimeout?: never; +}; +interface StateController { + readonly isEnabled: boolean; + configureRenderTimeout(config: RenderTimeoutConfig): void; + onAppStarted(): void; + onNavigationStarted(props: { + sourceScreen?: string; + uiEvent?: GestureResponderEvent; + renderTimeoutMillisOverride?: number; + }): void; + stopFlowIfNeeded(componentInstanceId: string): void; + onScreenMounted(props: { + destinationScreen: string; + componentInstanceId: string; + }): void; + onScreenUnmounted(props: { + destinationScreen: string; + componentInstanceId: string; + }): void; + onFlowReset(props: { + sourceScreen?: string; + destinationScreen: string; + uiEvent?: GestureResponderEvent; + renderTimeoutMillisOverride?: number; + componentInstanceId?: string; + }): void; + onRenderPassCompleted(props: { + renderPassName: string; + timestamp: number; + destinationScreen: string; + interactive: boolean; + componentInstanceId: string; + }): void; + addStateChangedListener(listener: OnStateChangedListener): void; + removeStateChangedListener(listener: OnStateChangedListener): void; + getCurrentStateFor(destinationScreen: string | RegExp): State | undefined; +} +export default StateController; +//# sourceMappingURL=StateController.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/StateController.d.ts.map b/packages/react-native-performance/dist/state-machine/controller/StateController.d.ts.map new file mode 100644 index 0000000..34edaf2 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/StateController.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"StateController.d.ts","sourceRoot":"","sources":["../../../src/state-machine/controller/StateController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAEhC,oBAAY,sBAAsB,GAAG,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,SAAS,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC;AAEvH,oBAAY,mBAAmB,GAC3B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACtD,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB,CAAC;AAEN,UAAU,eAAe;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE1D,YAAY,IAAI,IAAI,CAAC;IACrB,mBAAmB,CAAC,KAAK,EAAE;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC;QAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;KACtC,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,eAAe,CAAC,KAAK,EAAE;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACvF,iBAAiB,CAAC,KAAK,EAAE;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACzF,WAAW,CAAC,KAAK,EAAE;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,qBAAqB,CAAC;QAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,GAAG,IAAI,CAAC;IACT,qBAAqB,CAAC,KAAK,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,OAAO,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT,uBAAuB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAChE,0BAA0B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACnE,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;CAC3E;AAED,eAAe,eAAe,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/StateController.js b/packages/react-native-performance/dist/state-machine/controller/StateController.js new file mode 100644 index 0000000..f14666d --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/StateController.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=StateController.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/StateController.js.map b/packages/react-native-performance/dist/state-machine/controller/StateController.js.map new file mode 100644 index 0000000..69b3179 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/StateController.js.map @@ -0,0 +1 @@ +{"version":3,"file":"StateController.js","sourceRoot":"","sources":["../../../src/state-machine/controller/StateController.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/index.d.ts b/packages/react-native-performance/dist/state-machine/controller/index.d.ts new file mode 100644 index 0000000..1fb3a6b --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/index.d.ts @@ -0,0 +1,7 @@ +export { default as StateController, OnStateChangedListener, RenderTimeoutConfig } from './StateController'; +export { default as DisabledStateController } from './DisabledStateController'; +export { default as EnabledStateController, DESTINATION_SCREEN_NAME_PLACEHOLDER } from './EnabledStateController'; +export * from './state-controller-context'; +export { default as useStateControllerInitializer } from './useStateControllerInitializer'; +export { default as ErrorHandlerStateController } from './ErrorHandlerStateController'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/index.d.ts.map b/packages/react-native-performance/dist/state-machine/controller/index.d.ts.map new file mode 100644 index 0000000..b041fde --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state-machine/controller/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,eAAe,EAAE,sBAAsB,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAE,mCAAmC,EAAC,MAAM,0BAA0B,CAAC;AAChH,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAC,OAAO,IAAI,2BAA2B,EAAC,MAAM,+BAA+B,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/index.js b/packages/react-native-performance/dist/state-machine/controller/index.js new file mode 100644 index 0000000..d1aa2f4 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/index.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ErrorHandlerStateController = exports.useStateControllerInitializer = exports.DESTINATION_SCREEN_NAME_PLACEHOLDER = exports.EnabledStateController = exports.DisabledStateController = void 0; +var tslib_1 = require("tslib"); +var DisabledStateController_1 = require("./DisabledStateController"); +Object.defineProperty(exports, "DisabledStateController", { enumerable: true, get: function () { return tslib_1.__importDefault(DisabledStateController_1).default; } }); +var EnabledStateController_1 = require("./EnabledStateController"); +Object.defineProperty(exports, "EnabledStateController", { enumerable: true, get: function () { return tslib_1.__importDefault(EnabledStateController_1).default; } }); +Object.defineProperty(exports, "DESTINATION_SCREEN_NAME_PLACEHOLDER", { enumerable: true, get: function () { return EnabledStateController_1.DESTINATION_SCREEN_NAME_PLACEHOLDER; } }); +tslib_1.__exportStar(require("./state-controller-context"), exports); +var useStateControllerInitializer_1 = require("./useStateControllerInitializer"); +Object.defineProperty(exports, "useStateControllerInitializer", { enumerable: true, get: function () { return tslib_1.__importDefault(useStateControllerInitializer_1).default; } }); +var ErrorHandlerStateController_1 = require("./ErrorHandlerStateController"); +Object.defineProperty(exports, "ErrorHandlerStateController", { enumerable: true, get: function () { return tslib_1.__importDefault(ErrorHandlerStateController_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/index.js.map b/packages/react-native-performance/dist/state-machine/controller/index.js.map new file mode 100644 index 0000000..3c52045 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-machine/controller/index.ts"],"names":[],"mappings":";;;;AACA,qEAA6E;AAArE,2JAAA,OAAO,OAA2B;AAC1C,mEAAgH;AAAxG,yJAAA,OAAO,OAA0B;AAAE,6IAAA,mCAAmC,OAAA;AAC9E,qEAA2C;AAC3C,iFAAyF;AAAjF,uKAAA,OAAO,OAAiC;AAChD,6EAAqF;AAA7E,mKAAA,OAAO,OAA+B"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/state-controller-context.d.ts b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.d.ts new file mode 100644 index 0000000..9f1cf54 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.d.ts @@ -0,0 +1,7 @@ +import React from 'react'; +import StateController from './StateController'; +export declare const StateControllerContextProvider: React.Provider; +export declare const useStateController: ({ destinationScreen }?: { + destinationScreen?: string | undefined; +}) => StateController; +//# sourceMappingURL=state-controller-context.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/state-controller-context.d.ts.map b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.d.ts.map new file mode 100644 index 0000000..5221216 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"state-controller-context.d.ts","sourceRoot":"","sources":["../../../src/state-machine/controller/state-controller-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAKhD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAKhD,eAAO,MAAM,8BAA8B,6CAAkC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;MAA6D,eAW3F,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/state-controller-context.js b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.js new file mode 100644 index 0000000..a130abf --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.useStateController = exports.StateControllerContextProvider = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var utils_1 = require("../../utils"); +var exceptions_1 = require("../../exceptions"); +var DisabledStateController_1 = tslib_1.__importDefault(require("./DisabledStateController")); +var StateControllerContext = react_1.default.createContext(undefined); +exports.StateControllerContextProvider = StateControllerContext.Provider; +var useStateController = function (_a) { + var _b = _a === void 0 ? {} : _a, destinationScreen = _b.destinationScreen; + var stateController = (0, react_1.useContext)(StateControllerContext); + var errorHandler = (0, utils_1.useErrorHandler)(); + var fallbackStateController = (0, react_1.useRef)(new DisabledStateController_1.default()); + if (stateController === undefined) { + errorHandler(new exceptions_1.PerformanceProfilerUninitializedError(destinationScreen)); + return fallbackStateController.current; + } + return stateController; +}; +exports.useStateController = useStateController; +//# sourceMappingURL=state-controller-context.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/state-controller-context.js.map b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.js.map new file mode 100644 index 0000000..8a39ca0 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/state-controller-context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state-controller-context.js","sourceRoot":"","sources":["../../../src/state-machine/controller/state-controller-context.ts"],"names":[],"mappings":";;;;AAAA,qDAAgD;AAEhD,qCAA4C;AAC5C,+CAAuE;AAGvE,8FAAgE;AAEhE,IAAM,sBAAsB,GAAG,eAAK,CAAC,aAAa,CAA8B,SAAS,CAAC,CAAC;AAE9E,QAAA,8BAA8B,GAAG,sBAAsB,CAAC,QAAQ,CAAC;AAEvE,IAAM,kBAAkB,GAAG,UAAC,EAAsD;QAAtD,qBAAoD,EAAE,KAAA,EAArD,iBAAiB,uBAAA;IACnD,IAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,sBAAsB,CAAC,CAAC;IAC3D,IAAM,YAAY,GAAG,IAAA,uBAAe,GAAE,CAAC;IACvC,IAAM,uBAAuB,GAAG,IAAA,cAAM,EAAC,IAAI,iCAAuB,EAAE,CAAC,CAAC;IAEtE,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,YAAY,CAAC,IAAI,kDAAqC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3E,OAAO,uBAAuB,CAAC,OAAO,CAAC;KACxC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.d.ts b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.d.ts new file mode 100644 index 0000000..c7636ce --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.d.ts @@ -0,0 +1,10 @@ +import { ErrorHandler } from '../../utils'; +import StateController, { OnStateChangedListener } from './StateController'; +export default function useStateControllerInitializer({ enabled, errorHandler, reportEmitter, useRenderTimeouts, renderTimeoutMillis, }: { + enabled: boolean; + errorHandler: ErrorHandler; + reportEmitter: OnStateChangedListener; + useRenderTimeouts: boolean; + renderTimeoutMillis: number; +}): StateController; +//# sourceMappingURL=useStateControllerInitializer.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.d.ts.map b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.d.ts.map new file mode 100644 index 0000000..019d69a --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useStateControllerInitializer.d.ts","sourceRoot":"","sources":["../../../src/state-machine/controller/useStateControllerInitializer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAEzC,OAAO,eAAe,EAAE,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAK1E,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,EACpD,OAAO,EACP,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,sBAAsB,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,eAAe,CA2ClB"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.js b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.js new file mode 100644 index 0000000..6c018eb --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.js @@ -0,0 +1,45 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var react_1 = require("react"); +var EnabledStateController_1 = tslib_1.__importDefault(require("./EnabledStateController")); +var DisabledStateController_1 = tslib_1.__importDefault(require("./DisabledStateController")); +var ErrorHandlerStateController_1 = tslib_1.__importDefault(require("./ErrorHandlerStateController")); +function useStateControllerInitializer(_a) { + var enabled = _a.enabled, errorHandler = _a.errorHandler, reportEmitter = _a.reportEmitter, useRenderTimeouts = _a.useRenderTimeouts, renderTimeoutMillis = _a.renderTimeoutMillis; + var prevStateController = (0, react_1.useRef)(undefined); + var newStateController = (function () { + if (prevStateController.current === undefined || enabled !== prevStateController.current.isEnabled) { + var innerController = enabled ? new EnabledStateController_1.default() : new DisabledStateController_1.default(); + return new ErrorHandlerStateController_1.default(innerController, errorHandler); + } + if (errorHandler !== prevStateController.current.errorHandler) { + var innerController = prevStateController.current.innerStateController; + return new ErrorHandlerStateController_1.default(innerController, errorHandler); + } + return prevStateController.current; + })(); + if (prevStateController.current === undefined) { + newStateController.onAppStarted(); + } + (0, react_1.useEffect)(function () { + newStateController.addStateChangedListener(reportEmitter); + newStateController.configureRenderTimeout(useRenderTimeouts + ? { + enabled: true, + onRenderTimeout: errorHandler, + renderTimeoutMillis: renderTimeoutMillis, + } + : { + enabled: false, + }); + return function () { + newStateController.removeStateChangedListener(reportEmitter); + newStateController.configureRenderTimeout({ enabled: false }); + }; + }); + prevStateController.current = newStateController; + return newStateController; +} +exports.default = useStateControllerInitializer; +//# sourceMappingURL=useStateControllerInitializer.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.js.map b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.js.map new file mode 100644 index 0000000..e5371c4 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/controller/useStateControllerInitializer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useStateControllerInitializer.js","sourceRoot":"","sources":["../../../src/state-machine/controller/useStateControllerInitializer.ts"],"names":[],"mappings":";;;AAAA,+BAAwC;AAKxC,4FAA8D;AAC9D,8FAAgE;AAChE,sGAAwE;AAExE,SAAwB,6BAA6B,CAAC,EAYrD;QAXC,OAAO,aAAA,EACP,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA;IAQnB,IAAM,mBAAmB,GAAG,IAAA,cAAM,EAA0C,SAAS,CAAC,CAAC;IAEvF,IAAM,kBAAkB,GAAG,CAAC;QAC1B,IAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE;YAClG,IAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,gCAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,iCAAuB,EAAE,CAAC;YAC/F,OAAO,IAAI,qCAA2B,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;SACvE;QAED,IAAI,YAAY,KAAK,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;YAC7D,IAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACzE,OAAO,IAAI,qCAA2B,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;SACvE;QAED,OAAO,mBAAmB,CAAC,OAAO,CAAC;IACrC,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS,EAAE;QAC7C,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACnC;IAED,IAAA,iBAAS,EAAC;QACR,kBAAkB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC1D,kBAAkB,CAAC,sBAAsB,CACvC,iBAAiB;YACf,CAAC,CAAC;gBACE,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,YAAY;gBAC7B,mBAAmB,qBAAA;aACpB;YACH,CAAC,CAAC;gBACE,OAAO,EAAE,KAAK;aACf,CACN,CAAC;QAEF,OAAO;YACL,kBAAkB,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;YAC7D,kBAAkB,CAAC,sBAAsB,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,mBAAmB,CAAC,OAAO,GAAG,kBAAkB,CAAC;IACjD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAvDD,gDAuDC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/index.d.ts b/packages/react-native-performance/dist/state-machine/index.d.ts new file mode 100644 index 0000000..82436ac --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/index.d.ts @@ -0,0 +1,3 @@ +export * from './states'; +export * from './controller'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/index.d.ts.map b/packages/react-native-performance/dist/state-machine/index.d.ts.map new file mode 100644 index 0000000..bbf1ae9 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state-machine/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/index.js b/packages/react-native-performance/dist/state-machine/index.js new file mode 100644 index 0000000..b4bb2e9 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/index.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +tslib_1.__exportStar(require("./states"), exports); +tslib_1.__exportStar(require("./controller"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/index.js.map b/packages/react-native-performance/dist/state-machine/index.js.map new file mode 100644 index 0000000..ec05ab6 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state-machine/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,uDAA6B"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Mounted.d.ts b/packages/react-native-performance/dist/state-machine/states/Mounted.d.ts new file mode 100644 index 0000000..5fee376 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Mounted.d.ts @@ -0,0 +1,10 @@ +import State, { StateProps } from './State'; +export interface MountedProps extends StateProps { +} +export default class Mounted extends State { + static readonly STATE_NAME = "Mounted"; + constructor(props: MountedProps); + getStateName(): string; + protected cloneAsChild(): Mounted; +} +//# sourceMappingURL=Mounted.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Mounted.d.ts.map b/packages/react-native-performance/dist/state-machine/states/Mounted.d.ts.map new file mode 100644 index 0000000..0d183e2 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Mounted.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Mounted.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/Mounted.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,YAAa,SAAQ,UAAU;CAAG;AAEnD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,KAAK;IACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,aAAa;gBAE3B,KAAK,EAAE,YAAY;IAI/B,YAAY;IAIZ,SAAS,CAAC,YAAY,IAAI,OAAO;CASlC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Mounted.js b/packages/react-native-performance/dist/state-machine/states/Mounted.js new file mode 100644 index 0000000..c3b0080 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Mounted.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var State_1 = tslib_1.__importDefault(require("./State")); +var Mounted = /** @class */ (function (_super) { + tslib_1.__extends(Mounted, _super); + function Mounted(props) { + return _super.call(this, props) || this; + } + Mounted.prototype.getStateName = function () { + return Mounted.STATE_NAME; + }; + Mounted.prototype.cloneAsChild = function () { + return new Mounted({ + destinationScreen: this.destinationScreen, + componentInstanceId: this.componentInstanceId, + snapshotId: this.snapshotId, + timestamp: this.timestamp, + previousState: this, + }); + }; + Mounted.STATE_NAME = 'Mounted'; + return Mounted; +}(State_1.default)); +exports.default = Mounted; +//# sourceMappingURL=Mounted.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Mounted.js.map b/packages/react-native-performance/dist/state-machine/states/Mounted.js.map new file mode 100644 index 0000000..0ce8fa8 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Mounted.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Mounted.js","sourceRoot":"","sources":["../../../src/state-machine/states/Mounted.ts"],"names":[],"mappings":";;;AAAA,0DAA0C;AAI1C;IAAqC,mCAAK;IAGxC,iBAAY,KAAmB;eAC7B,kBAAM,KAAK,CAAC;IACd,CAAC;IAED,8BAAY,GAAZ;QACE,OAAO,OAAO,CAAC,UAAU,CAAC;IAC5B,CAAC;IAES,8BAAY,GAAtB;QACE,OAAO,IAAI,OAAO,CAAC;YACjB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAlBe,kBAAU,GAAG,SAAS,CAAC;IAmBzC,cAAC;CAAA,AApBD,CAAqC,eAAK,GAoBzC;kBApBoB,OAAO"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/RenderAborted.d.ts b/packages/react-native-performance/dist/state-machine/states/RenderAborted.d.ts new file mode 100644 index 0000000..c777236 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/RenderAborted.d.ts @@ -0,0 +1,11 @@ +import State, { StateProps } from './State'; +interface RenderAbortedProps extends StateProps { +} +declare class RenderAborted extends State { + static readonly STATE_NAME = "RenderAborted"; + constructor(props: RenderAbortedProps); + getStateName(): string; + protected cloneAsChild(): RenderAborted; +} +export default RenderAborted; +//# sourceMappingURL=RenderAborted.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/RenderAborted.d.ts.map b/packages/react-native-performance/dist/state-machine/states/RenderAborted.d.ts.map new file mode 100644 index 0000000..f8331e9 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/RenderAborted.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderAborted.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/RenderAborted.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAE1C,UAAU,kBAAmB,SAAQ,UAAU;CAAG;AAElD,cAAM,aAAc,SAAQ,KAAK;IAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,mBAAmB;gBAEjC,KAAK,EAAE,kBAAkB;IAIrC,YAAY;IAIZ,SAAS,CAAC,YAAY,IAAI,aAAa;CASxC;AAED,eAAe,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/RenderAborted.js b/packages/react-native-performance/dist/state-machine/states/RenderAborted.js new file mode 100644 index 0000000..893d46d --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/RenderAborted.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var State_1 = tslib_1.__importDefault(require("./State")); +var RenderAborted = /** @class */ (function (_super) { + tslib_1.__extends(RenderAborted, _super); + function RenderAborted(props) { + return _super.call(this, props) || this; + } + RenderAborted.prototype.getStateName = function () { + return RenderAborted.STATE_NAME; + }; + RenderAborted.prototype.cloneAsChild = function () { + return new RenderAborted({ + destinationScreen: this.destinationScreen, + componentInstanceId: this.componentInstanceId, + snapshotId: this.snapshotId, + timestamp: this.timestamp, + previousState: this, + }); + }; + RenderAborted.STATE_NAME = 'RenderAborted'; + return RenderAborted; +}(State_1.default)); +exports.default = RenderAborted; +//# sourceMappingURL=RenderAborted.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/RenderAborted.js.map b/packages/react-native-performance/dist/state-machine/states/RenderAborted.js.map new file mode 100644 index 0000000..e383a95 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/RenderAborted.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RenderAborted.js","sourceRoot":"","sources":["../../../src/state-machine/states/RenderAborted.ts"],"names":[],"mappings":";;;AAAA,0DAA0C;AAI1C;IAA4B,yCAAK;IAG/B,uBAAY,KAAyB;eACnC,kBAAM,KAAK,CAAC;IACd,CAAC;IAED,oCAAY,GAAZ;QACE,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAES,oCAAY,GAAtB;QACE,OAAO,IAAI,aAAa,CAAC;YACvB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAlBe,wBAAU,GAAG,eAAe,CAAC;IAmB/C,oBAAC;CAAA,AApBD,CAA4B,eAAK,GAoBhC;AAED,kBAAe,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Rendered.d.ts b/packages/react-native-performance/dist/state-machine/states/Rendered.d.ts new file mode 100644 index 0000000..27201f7 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Rendered.d.ts @@ -0,0 +1,16 @@ +import State, { StateProps } from './State'; +export interface RenderedProps extends StateProps { + renderPassName: string; + interactive: boolean; +} +declare class Rendered extends State { + static readonly STATE_NAME = "Rendered"; + readonly renderPassName: string; + readonly interactive: boolean; + constructor({ renderPassName, interactive, ...rest }: RenderedProps); + getStateName(): string; + protected toSimpleJson(): any; + protected cloneAsChild(): Rendered; +} +export default Rendered; +//# sourceMappingURL=Rendered.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Rendered.d.ts.map b/packages/react-native-performance/dist/state-machine/states/Rendered.d.ts.map new file mode 100644 index 0000000..22691b8 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Rendered.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Rendered.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/Rendered.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,cAAM,QAAS,SAAQ,KAAK;IAC1B,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAc;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;gBAElB,EAAC,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,EAAC,EAAE,aAAa;IAMjE,YAAY;IAIZ,SAAS,CAAC,YAAY;IAQtB,SAAS,CAAC,YAAY,IAAI,QAAQ;CAWnC;AAED,eAAe,QAAQ,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Rendered.js b/packages/react-native-performance/dist/state-machine/states/Rendered.js new file mode 100644 index 0000000..46d7ffb --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Rendered.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var State_1 = tslib_1.__importDefault(require("./State")); +var Rendered = /** @class */ (function (_super) { + tslib_1.__extends(Rendered, _super); + function Rendered(_a) { + var _this = this; + var renderPassName = _a.renderPassName, interactive = _a.interactive, rest = tslib_1.__rest(_a, ["renderPassName", "interactive"]); + _this = _super.call(this, rest) || this; + _this.renderPassName = renderPassName; + _this.interactive = interactive; + return _this; + } + Rendered.prototype.getStateName = function () { + return Rendered.STATE_NAME; + }; + Rendered.prototype.toSimpleJson = function () { + return tslib_1.__assign(tslib_1.__assign({}, _super.prototype.toSimpleJson.call(this)), { interactive: this.interactive, renderPassName: this.renderPassName }); + }; + Rendered.prototype.cloneAsChild = function () { + return new Rendered({ + destinationScreen: this.destinationScreen, + componentInstanceId: this.componentInstanceId, + snapshotId: this.snapshotId, + timestamp: this.timestamp, + renderPassName: this.renderPassName, + interactive: this.interactive, + previousState: this, + }); + }; + Rendered.STATE_NAME = 'Rendered'; + return Rendered; +}(State_1.default)); +exports.default = Rendered; +//# sourceMappingURL=Rendered.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Rendered.js.map b/packages/react-native-performance/dist/state-machine/states/Rendered.js.map new file mode 100644 index 0000000..efc28e2 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Rendered.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Rendered.js","sourceRoot":"","sources":["../../../src/state-machine/states/Rendered.ts"],"names":[],"mappings":";;;AAAA,0DAA0C;AAO1C;IAAuB,oCAAK;IAK1B,kBAAY,EAAqD;QAAjE,iBAIC;QAJY,IAAA,cAAc,oBAAA,EAAE,WAAW,iBAAA,EAAK,IAAI,sBAArC,iCAAsC,CAAD;gBAC/C,kBAAM,IAAI,CAAC;QACX,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;;IACjC,CAAC;IAED,+BAAY,GAAZ;QACE,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC7B,CAAC;IAES,+BAAY,GAAtB;QACE,6CACK,iBAAM,YAAY,WAAE,KACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,IACnC;IACJ,CAAC;IAES,+BAAY,GAAtB;QACE,OAAO,IAAI,QAAQ,CAAC;YAClB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAhCe,mBAAU,GAAG,UAAU,CAAC;IAiC1C,eAAC;CAAA,AAlCD,CAAuB,eAAK,GAkC3B;AAED,kBAAe,QAAQ,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Started.d.ts b/packages/react-native-performance/dist/state-machine/states/Started.d.ts new file mode 100644 index 0000000..bc8ef47 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Started.d.ts @@ -0,0 +1,18 @@ +import State, { StateProps } from './State'; +declare type FlowType = 'app_boot' | 'flow_start' | 'flow_reset'; +export interface StartedProps extends StateProps { + sourceScreen: string | undefined; + type: FlowType; +} +export default class Started extends State { + static readonly STATE_NAME = "Started"; + readonly sourceScreen: string | undefined; + readonly type: FlowType; + constructor({ sourceScreen, type, ...rest }: StartedProps); + getStateName(): string; + updateState(newDestinationScreen: string, newComponentInstanceId: string): Started; + protected cloneAsChild(): Started; + protected toSimpleJson(): any; +} +export {}; +//# sourceMappingURL=Started.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Started.d.ts.map b/packages/react-native-performance/dist/state-machine/states/Started.d.ts.map new file mode 100644 index 0000000..b2b8b98 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Started.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Started.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/Started.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAE1C,aAAK,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;AAEzD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,KAAK;IACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,aAAa;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAEZ,EAAC,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,YAAY;IAMvD,YAAY;IAIZ,WAAW,CAAC,oBAAoB,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM;IAYxE,SAAS,CAAC,YAAY,IAAI,OAAO;IAYjC,SAAS,CAAC,YAAY;CAOvB"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Started.js b/packages/react-native-performance/dist/state-machine/states/Started.js new file mode 100644 index 0000000..cb11ebe --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Started.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var State_1 = tslib_1.__importDefault(require("./State")); +var Started = /** @class */ (function (_super) { + tslib_1.__extends(Started, _super); + function Started(_a) { + var _this = this; + var sourceScreen = _a.sourceScreen, type = _a.type, rest = tslib_1.__rest(_a, ["sourceScreen", "type"]); + _this = _super.call(this, rest) || this; + _this.sourceScreen = sourceScreen; + _this.type = type; + return _this; + } + Started.prototype.getStateName = function () { + return Started.STATE_NAME; + }; + Started.prototype.updateState = function (newDestinationScreen, newComponentInstanceId) { + return new Started({ + timestamp: this.timestamp, + componentInstanceId: newComponentInstanceId, + snapshotId: this.snapshotId, + previousState: this.previousState, + type: this.type, + sourceScreen: this.sourceScreen, + destinationScreen: newDestinationScreen, + }); + }; + Started.prototype.cloneAsChild = function () { + return new Started({ + timestamp: this.timestamp, + componentInstanceId: this.componentInstanceId, + destinationScreen: this.destinationScreen, + snapshotId: this.snapshotId, + type: this.type, + sourceScreen: this.sourceScreen, + previousState: this, + }); + }; + Started.prototype.toSimpleJson = function () { + return tslib_1.__assign(tslib_1.__assign({}, _super.prototype.toSimpleJson.call(this)), { sourceScreen: this.sourceScreen, type: this.type }); + }; + Started.STATE_NAME = 'Started'; + return Started; +}(State_1.default)); +exports.default = Started; +//# sourceMappingURL=Started.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Started.js.map b/packages/react-native-performance/dist/state-machine/states/Started.js.map new file mode 100644 index 0000000..091af37 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Started.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Started.js","sourceRoot":"","sources":["../../../src/state-machine/states/Started.ts"],"names":[],"mappings":";;;AAAA,0DAA0C;AAS1C;IAAqC,mCAAK;IAKxC,iBAAY,EAA2C;QAAvD,iBAIC;QAJY,IAAA,YAAY,kBAAA,EAAE,IAAI,UAAA,EAAK,IAAI,sBAA5B,wBAA6B,CAAD;gBACtC,kBAAM,IAAI,CAAC;QACX,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IACnB,CAAC;IAED,8BAAY,GAAZ;QACE,OAAO,OAAO,CAAC,UAAU,CAAC;IAC5B,CAAC;IAED,6BAAW,GAAX,UAAY,oBAA4B,EAAE,sBAA8B;QACtE,OAAO,IAAI,OAAO,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,mBAAmB,EAAE,sBAAsB;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,iBAAiB,EAAE,oBAAoB;SACxC,CAAC,CAAC;IACL,CAAC;IAES,8BAAY,GAAtB;QACE,OAAO,IAAI,OAAO,CAAC;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAES,8BAAY,GAAtB;QACE,6CACK,iBAAM,YAAY,WAAE,KACvB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,IACf;IACJ,CAAC;IA5Ce,kBAAU,GAAG,SAAS,CAAC;IA6CzC,cAAC;CAAA,AA9CD,CAAqC,eAAK,GA8CzC;kBA9CoB,OAAO"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/State.d.ts b/packages/react-native-performance/dist/state-machine/states/State.d.ts new file mode 100644 index 0000000..61e9654 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/State.d.ts @@ -0,0 +1,22 @@ +import BridgedEventTimestamp from '../../BridgedEventTimestamp'; +export interface StateProps { + destinationScreen: string; + componentInstanceId: string; + previousState: State | undefined; + snapshotId: Promise; + timestamp: BridgedEventTimestamp; +} +declare abstract class State { + readonly destinationScreen: string; + readonly componentInstanceId: string; + readonly previousState: State | undefined; + readonly snapshotId: Promise; + readonly timestamp: BridgedEventTimestamp; + constructor({ destinationScreen, componentInstanceId, previousState, snapshotId, timestamp }: StateProps); + toString(): string; + abstract getStateName(): string; + protected toSimpleJson(): any; + protected abstract cloneAsChild(): State; +} +export default State; +//# sourceMappingURL=State.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/State.d.ts.map b/packages/react-native-performance/dist/state-machine/states/State.d.ts.map new file mode 100644 index 0000000..1bd8cb3 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/State.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/State.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,qBAAqB,CAAC;CAClC;AAED,uBAAe,KAAK;IAClB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;gBAE9B,EAAC,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAC,EAAE,UAAU;IAQtG,QAAQ;IAIR,QAAQ,CAAC,YAAY,IAAI,MAAM;IAE/B,SAAS,CAAC,YAAY,IAAI,GAAG;IAU7B,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK;CACzC;AAED,eAAe,KAAK,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/State.js b/packages/react-native-performance/dist/state-machine/states/State.js new file mode 100644 index 0000000..3a4acf4 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/State.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var State = /** @class */ (function () { + function State(_a) { + var destinationScreen = _a.destinationScreen, componentInstanceId = _a.componentInstanceId, previousState = _a.previousState, snapshotId = _a.snapshotId, timestamp = _a.timestamp; + this.destinationScreen = destinationScreen; + this.componentInstanceId = componentInstanceId; + this.previousState = previousState; + this.snapshotId = snapshotId; + this.timestamp = timestamp; + } + State.prototype.toString = function () { + return JSON.stringify(this.toSimpleJson(), undefined, 2); + }; + State.prototype.toSimpleJson = function () { + var _a; + return { + name: this.getStateName(), + destinationScreen: this.destinationScreen, + componentInstanceId: this.componentInstanceId, + previousState: (_a = this.previousState) === null || _a === void 0 ? void 0 : _a.getStateName(), + timestamp: this.timestamp, + }; + }; + return State; +}()); +exports.default = State; +//# sourceMappingURL=State.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/State.js.map b/packages/react-native-performance/dist/state-machine/states/State.js.map new file mode 100644 index 0000000..da3a272 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/State.js.map @@ -0,0 +1 @@ +{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../src/state-machine/states/State.ts"],"names":[],"mappings":";;AAUA;IAOE,eAAY,EAA0F;YAAzF,iBAAiB,uBAAA,EAAE,mBAAmB,yBAAA,EAAE,aAAa,mBAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAA;QACvF,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,wBAAQ,GAAR;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAIS,4BAAY,GAAtB;;QACE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,YAAY,EAAE;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAGH,YAAC;AAAD,CAAC,AAhCD,IAgCC;AAED,kBAAe,KAAK,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Unmounted.d.ts b/packages/react-native-performance/dist/state-machine/states/Unmounted.d.ts new file mode 100644 index 0000000..2221d18 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Unmounted.d.ts @@ -0,0 +1,10 @@ +import State, { StateProps } from './State'; +export interface UnmountedProps extends StateProps { +} +export default class Unmounted extends State { + static readonly STATE_NAME = "Unmounted"; + constructor(props: UnmountedProps); + getStateName(): string; + protected cloneAsChild(): Unmounted; +} +//# sourceMappingURL=Unmounted.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Unmounted.d.ts.map b/packages/react-native-performance/dist/state-machine/states/Unmounted.d.ts.map new file mode 100644 index 0000000..98e612f --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Unmounted.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Unmounted.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/Unmounted.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;CAAG;AAErD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK;IAC1C,MAAM,CAAC,QAAQ,CAAC,UAAU,eAAe;gBAE7B,KAAK,EAAE,cAAc;IAIjC,YAAY;IAIZ,SAAS,CAAC,YAAY,IAAI,SAAS;CASpC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Unmounted.js b/packages/react-native-performance/dist/state-machine/states/Unmounted.js new file mode 100644 index 0000000..01b27fc --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Unmounted.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var tslib_1 = require("tslib"); +var State_1 = tslib_1.__importDefault(require("./State")); +var Unmounted = /** @class */ (function (_super) { + tslib_1.__extends(Unmounted, _super); + function Unmounted(props) { + return _super.call(this, props) || this; + } + Unmounted.prototype.getStateName = function () { + return Unmounted.STATE_NAME; + }; + Unmounted.prototype.cloneAsChild = function () { + return new Unmounted({ + destinationScreen: this.destinationScreen, + componentInstanceId: this.componentInstanceId, + snapshotId: this.snapshotId, + timestamp: this.timestamp, + previousState: this, + }); + }; + Unmounted.STATE_NAME = 'Unmounted'; + return Unmounted; +}(State_1.default)); +exports.default = Unmounted; +//# sourceMappingURL=Unmounted.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/Unmounted.js.map b/packages/react-native-performance/dist/state-machine/states/Unmounted.js.map new file mode 100644 index 0000000..c6e413d --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/Unmounted.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Unmounted.js","sourceRoot":"","sources":["../../../src/state-machine/states/Unmounted.ts"],"names":[],"mappings":";;;AAAA,0DAA0C;AAI1C;IAAuC,qCAAK;IAG1C,mBAAY,KAAqB;eAC/B,kBAAM,KAAK,CAAC;IACd,CAAC;IAED,gCAAY,GAAZ;QACE,OAAO,SAAS,CAAC,UAAU,CAAC;IAC9B,CAAC;IAES,gCAAY,GAAtB;QACE,OAAO,IAAI,SAAS,CAAC;YACnB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAlBe,oBAAU,GAAG,WAAW,CAAC;IAmB3C,gBAAC;CAAA,AApBD,CAAuC,eAAK,GAoB3C;kBApBoB,SAAS"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/index.d.ts b/packages/react-native-performance/dist/state-machine/states/index.d.ts new file mode 100644 index 0000000..d262114 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/index.d.ts @@ -0,0 +1,8 @@ +export { default as State } from './State'; +export { default as Rendered } from './Rendered'; +export { default as RenderAborted } from './RenderAborted'; +export { default as Started } from './Started'; +export { default as Mounted } from './Mounted'; +export { default as Unmounted } from './Unmounted'; +export * from './state-utils'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/index.d.ts.map b/packages/react-native-performance/dist/state-machine/states/index.d.ts.map new file mode 100644 index 0000000..5504eaf --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,aAAa,CAAC;AACjD,cAAc,eAAe,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/index.js b/packages/react-native-performance/dist/state-machine/states/index.js new file mode 100644 index 0000000..fa3cc02 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/index.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Unmounted = exports.Mounted = exports.Started = exports.RenderAborted = exports.Rendered = exports.State = void 0; +var tslib_1 = require("tslib"); +var State_1 = require("./State"); +Object.defineProperty(exports, "State", { enumerable: true, get: function () { return tslib_1.__importDefault(State_1).default; } }); +var Rendered_1 = require("./Rendered"); +Object.defineProperty(exports, "Rendered", { enumerable: true, get: function () { return tslib_1.__importDefault(Rendered_1).default; } }); +var RenderAborted_1 = require("./RenderAborted"); +Object.defineProperty(exports, "RenderAborted", { enumerable: true, get: function () { return tslib_1.__importDefault(RenderAborted_1).default; } }); +var Started_1 = require("./Started"); +Object.defineProperty(exports, "Started", { enumerable: true, get: function () { return tslib_1.__importDefault(Started_1).default; } }); +var Mounted_1 = require("./Mounted"); +Object.defineProperty(exports, "Mounted", { enumerable: true, get: function () { return tslib_1.__importDefault(Mounted_1).default; } }); +var Unmounted_1 = require("./Unmounted"); +Object.defineProperty(exports, "Unmounted", { enumerable: true, get: function () { return tslib_1.__importDefault(Unmounted_1).default; } }); +tslib_1.__exportStar(require("./state-utils"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/index.js.map b/packages/react-native-performance/dist/state-machine/states/index.js.map new file mode 100644 index 0000000..78b3b0e --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-machine/states/index.ts"],"names":[],"mappings":";;;;AAAA,iCAAyC;AAAjC,uHAAA,OAAO,OAAS;AACxB,uCAA+C;AAAvC,6HAAA,OAAO,OAAY;AAC3B,iDAAyD;AAAjD,uIAAA,OAAO,OAAiB;AAChC,qCAA6C;AAArC,2HAAA,OAAO,OAAW;AAC1B,qCAA6C;AAArC,2HAAA,OAAO,OAAW;AAC1B,yCAAiD;AAAzC,+HAAA,OAAO,OAAa;AAC5B,wDAA8B"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/state-utils.d.ts b/packages/react-native-performance/dist/state-machine/states/state-utils.d.ts new file mode 100644 index 0000000..060f3c2 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/state-utils.d.ts @@ -0,0 +1,16 @@ +import { PerformanceProfilerError } from '../../exceptions'; +import Started from './Started'; +import State from './State'; +export declare class UndefinedPreviousStateError extends PerformanceProfilerError { + readonly name = "UndefinedPreviousStateError"; + readonly destinationScreen: string; + constructor(destinationScreen: string, state: State); +} +export declare function getFlowStartState(state: State): Started; +interface TraversalOptions { + stopAtStartState?: boolean; +} +export declare function reverseTraverse(start: State, operation: (_: State) => boolean | void, options?: TraversalOptions): void; +export declare function reverseReduce(start: State, operation: (currentState: State, reducedValue: T) => T, initial: T, options?: TraversalOptions): T; +export {}; +//# sourceMappingURL=state-utils.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/state-utils.d.ts.map b/packages/react-native-performance/dist/state-machine/states/state-utils.d.ts.map new file mode 100644 index 0000000..8fc8595 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/state-utils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"state-utils.d.ts","sourceRoot":"","sources":["../../../src/state-machine/states/state-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AAE1D,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,qBAAa,2BAA4B,SAAQ,wBAAwB;IACvE,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;gBACvB,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAKpD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAQvD;AAED,UAAU,gBAAgB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,gBAAgB,QAahH;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,EACtD,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,gBAAgB,GACzB,CAAC,CAUH"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/state-utils.js b/packages/react-native-performance/dist/state-machine/states/state-utils.js new file mode 100644 index 0000000..8490516 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/state-utils.js @@ -0,0 +1,58 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.reverseReduce = exports.reverseTraverse = exports.getFlowStartState = exports.UndefinedPreviousStateError = void 0; +var tslib_1 = require("tslib"); +var exceptions_1 = require("../../exceptions"); +var Started_1 = tslib_1.__importDefault(require("./Started")); +var UndefinedPreviousStateError = /** @class */ (function (_super) { + tslib_1.__extends(UndefinedPreviousStateError, _super); + function UndefinedPreviousStateError(destinationScreen, state) { + var _this = _super.call(this, "Only flow start states are allowed to have an undefined previous state. ".concat(state), 'bug') || this; + _this.name = 'UndefinedPreviousStateError'; + _this.destinationScreen = destinationScreen; + Object.setPrototypeOf(_this, UndefinedPreviousStateError.prototype); + return _this; + } + return UndefinedPreviousStateError; +}(exceptions_1.PerformanceProfilerError)); +exports.UndefinedPreviousStateError = UndefinedPreviousStateError; +function getFlowStartState(state) { + if (state instanceof Started_1.default) { + return state; + } + if (state.previousState === undefined) { + throw new UndefinedPreviousStateError(state.destinationScreen, state); + } + return getFlowStartState(state.previousState); +} +exports.getFlowStartState = getFlowStartState; +function normalize(options) { + var _a; + return { + stopAtStartState: (_a = options === null || options === void 0 ? void 0 : options.stopAtStartState) !== null && _a !== void 0 ? _a : true, + }; +} +function reverseTraverse(start, operation, options) { + var stopAtStartState = normalize(options).stopAtStartState; + var current = start; + while (current !== undefined) { + var abort = operation(current); + if (abort === true) { + break; + } + if (stopAtStartState && current instanceof Started_1.default) { + break; + } + current = current.previousState; + } +} +exports.reverseTraverse = reverseTraverse; +function reverseReduce(start, operation, initial, options) { + var reduced = initial; + reverseTraverse(start, function (state) { + reduced = operation(state, reduced); + }, options); + return reduced; +} +exports.reverseReduce = reverseReduce; +//# sourceMappingURL=state-utils.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/state-machine/states/state-utils.js.map b/packages/react-native-performance/dist/state-machine/states/state-utils.js.map new file mode 100644 index 0000000..e7d9206 --- /dev/null +++ b/packages/react-native-performance/dist/state-machine/states/state-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state-utils.js","sourceRoot":"","sources":["../../../src/state-machine/states/state-utils.ts"],"names":[],"mappings":";;;;AAAA,+CAA0D;AAE1D,8DAAgC;AAGhC;IAAiD,uDAAwB;IAGvE,qCAAY,iBAAyB,EAAE,KAAY;QAAnD,YACE,kBAAM,kFAA2E,KAAK,CAAE,EAAE,KAAK,CAAC,SAGjG;QANQ,UAAI,GAAG,6BAA6B,CAAC;QAI5C,KAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;;IACrE,CAAC;IACH,kCAAC;AAAD,CAAC,AARD,CAAiD,qCAAwB,GAQxE;AARY,kEAA2B;AAUxC,SAAgB,iBAAiB,CAAC,KAAY;IAC5C,IAAI,KAAK,YAAY,iBAAO,EAAE;QAC5B,OAAO,KAAK,CAAC;KACd;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;QACrC,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;KACvE;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC;AARD,8CAQC;AAMD,SAAS,SAAS,CAAC,OAAqC;;IACtD,OAAO;QACL,gBAAgB,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,IAAI;KACpD,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,KAAY,EAAE,SAAuC,EAAE,OAA0B;IACxG,IAAA,gBAAgB,GAAI,SAAS,CAAC,OAAO,CAAC,iBAAtB,CAAuB;IAC9C,IAAI,OAAO,GAAsB,KAAK,CAAC;IACvC,OAAO,OAAO,KAAK,SAAS,EAAE;QAC5B,IAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,MAAM;SACP;QACD,IAAI,gBAAgB,IAAI,OAAO,YAAY,iBAAO,EAAE;YAClD,MAAM;SACP;QACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;KACjC;AACH,CAAC;AAbD,0CAaC;AAED,SAAgB,aAAa,CAC3B,KAAY,EACZ,SAAsD,EACtD,OAAU,EACV,OAA0B;IAE1B,IAAI,OAAO,GAAG,OAAO,CAAC;IACtB,eAAe,CACb,KAAK,EACL,UAAA,KAAK;QACH,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,EACD,OAAO,CACR,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAfD,sCAeC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/tsconfig.tsbuildinfo b/packages/react-native-performance/dist/tsconfig.tsbuildinfo new file mode 100644 index 0000000..f35c6dd --- /dev/null +++ b/packages/react-native-performance/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/utils/matches-pattern.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../src/utils/error-handler.ts","../src/utils/promisecontroller.ts","../../../node_modules/@types/react-native/globals.d.ts","../../../node_modules/@types/react-native/legacy-properties.d.ts","../../../node_modules/@types/react-native/batchedbridge.d.ts","../../../node_modules/@types/react-native/devtools.d.ts","../../../node_modules/@types/react-native/launchscreen.d.ts","../../../node_modules/@types/react-native/index.d.ts","../src/constants.ts","../src/state-machine/states/state.ts","../src/exceptions/performanceprofilererror.ts","../src/exceptions/rendertimeouterror.ts","../src/exceptions/performanceprofileruninitializederror.ts","../src/exceptions/screenprofilernotstartederror.ts","../src/exceptions/nativemodulenotfounderror.ts","../src/exceptions/index.ts","../src/utils/native-performance-module.ts","../src/utils/inmemorycounter.ts","../src/utils/logger.ts","../src/utils/index.ts","../src/bridgedeventtimestamp.ts","../src/gestureresponderevent.ts","../src/performancemarker.tsx","../src/state-machine/states/rendered.ts","../src/state-machine/states/renderaborted.ts","../src/state-machine/states/started.ts","../src/state-machine/states/mounted.ts","../src/state-machine/states/unmounted.ts","../src/state-machine/states/state-utils.ts","../src/state-machine/states/index.ts","../src/state-machine/controller/statecontroller.ts","../src/state-machine/controller/disabledstatecontroller.ts","../src/state-machine/controller/enabledstatecontroller.ts","../src/state-machine/controller/state-controller-context.ts","../src/state-machine/controller/errorhandlerstatecontroller.ts","../src/state-machine/controller/usestatecontrollerinitializer.ts","../src/state-machine/controller/index.ts","../src/state-machine/index.ts","../src/performancemeasureview.tsx","../src/renderpassreport.ts","../src/renderpassreportgenerator.ts","../src/context/reportobserver.ts","../src/context/usereportemitter.ts","../src/context/performanceprofiler.tsx","../src/context/index.ts","../src/hooks/flowcommonargs.ts","../src/hooks/usestartprofiler.ts","../src/hooks/usecomponentinstanceid.ts","../src/hooks/useresetflow.ts","../src/hooks/useprofilerstatechangelistener.ts","../src/hooks/useprofilerstate.ts","../src/hooks/userenderpassreport.ts","../src/hooks/index.ts","../src/index.ts","../src/__tests__/bridgedeventtimestamp.test.ts","../src/__tests__/gestureresponderevent.test.ts","../src/__tests__/mockstatecontroller.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@testing-library/react-native/typings/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/jest-extended/types/index.d.ts","../src/__tests__/profilertestwrapper.tsx","../src/__tests__/performancemeasureview.test.tsx","../src/__tests__/renderpassreportgenerator.test.ts","../../../node_modules/@testing-library/react-hooks/lib/types/index.d.ts","../../../node_modules/@testing-library/react-hooks/lib/types/react.d.ts","../../../node_modules/@testing-library/react-hooks/lib/pure.d.ts","../../../node_modules/@testing-library/react-hooks/lib/index.d.ts","../src/__tests__/context/performanceprofiler.test.tsx","../src/__tests__/context/usereportemitter.test.tsx","../src/__tests__/hooks/useprofilerstatechangelistener.test.tsx","../src/__tests__/hooks/userenderpassreport.test.tsx","../src/__tests__/hooks/useresetflow.test.tsx","../src/__tests__/hooks/usestartprofiler.test.tsx","../src/__tests__/state-machine/controller/enabledstatecontroller.test.ts","../src/__tests__/state-machine/controller/errorhandlerstatecontroller.test.ts","../src/__tests__/state-machine/controller/state-controller-context.test.tsx","../src/__tests__/state-machine/controller/usestatecontrollerinitializer.test.tsx","../src/__tests__/state-machine/states/state-utils.test.ts","../src/__tests__/utils/logger.test.ts","../src/__tests__/utils/promisecontroller.test.ts","../src/__tests__/utils/native-performance-module.test.ts","../../../node_modules/@types/aria-query/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/fined/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/hammerjs/index.d.ts","../../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../node_modules/rxjs/dist/types/index.d.ts","../../../node_modules/@types/inquirer/lib/objects/choice.d.ts","../../../node_modules/@types/inquirer/lib/objects/separator.d.ts","../../../node_modules/@types/inquirer/lib/objects/choices.d.ts","../../../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../../../node_modules/@types/inquirer/lib/prompts/base.d.ts","../../../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../../../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../../../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../../../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../../../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../../../node_modules/@types/inquirer/lib/prompts/input.d.ts","../../../node_modules/@types/inquirer/lib/prompts/list.d.ts","../../../node_modules/@types/inquirer/lib/prompts/number.d.ts","../../../node_modules/@types/inquirer/lib/prompts/password.d.ts","../../../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../../../node_modules/@types/inquirer/lib/utils/events.d.ts","../../../node_modules/@types/inquirer/lib/utils/readline.d.ts","../../../node_modules/@types/inquirer/lib/utils/utils.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../../../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../../../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../../../node_modules/@types/inquirer/index.d.ts","../../../node_modules/@types/invariant/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/liftoff/index.d.ts","../../../node_modules/@types/lockfile/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.isequal/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/minipass/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/reactcss/index.d.ts","../../../node_modules/@types/react-color/lib/components/alpha/alpha.d.ts","../../../node_modules/@types/react-color/lib/components/block/block.d.ts","../../../node_modules/@types/react-color/lib/components/common/checkboard.d.ts","../../../node_modules/@types/react-color/lib/components/chrome/chrome.d.ts","../../../node_modules/@types/react-color/lib/components/circle/circle.d.ts","../../../node_modules/@types/react-color/lib/components/compact/compact.d.ts","../../../node_modules/@types/react-color/lib/components/github/github.d.ts","../../../node_modules/@types/react-color/lib/components/hue/hue.d.ts","../../../node_modules/@types/react-color/lib/components/material/material.d.ts","../../../node_modules/@types/react-color/lib/components/photoshop/photoshop.d.ts","../../../node_modules/@types/react-color/lib/components/sketch/sketch.d.ts","../../../node_modules/@types/react-color/lib/components/slider/slider.d.ts","../../../node_modules/@types/react-color/lib/components/swatches/swatches.d.ts","../../../node_modules/@types/react-color/lib/components/twitter/twitter.d.ts","../../../node_modules/@types/react-color/lib/components/common/colorwrap.d.ts","../../../node_modules/@types/react-color/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/@types/resize-observer-browser/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/url-join/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"8a05088f649fb54d37dc3093e05e56867742f1f32887ce08edea14b090d89116","signature":"5dbffea54a943f79eba42deb7e74f550f4a7dbea635ed7e8cb35110e5b920246"},{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"0bcebfaf66be25c793d0281a8dce761bc078d203f02c573e6ee3b844a5ad7fbc","affectsGlobalScope":true},{"version":"46fc00699332495629a0e167aa9fd84569361b597767ad86dd8f4c7ddac8c0ed","signature":"c2a1256866e89ca9849ba7ebca7bb0b910dc09b429cf731ddab033315f218e33"},{"version":"79f28005ada9666bbd25550d6b885aa016275a6f4a805566ccacfed1db6af287","signature":"73b7bed04ea89eee256728f20d99dc3ca091bbe491e2fc8db8d68d240710a096"},{"version":"4452f559618410bd9950973795fa657dbf3411cdc55c4c3460c5bab189903863","affectsGlobalScope":true},"9e9df0ee50fc117b15fd7815162a41c46e95996b513e4107b433d3e37dbe2ce8",{"version":"efd32b1ab5e3897f64ed3d0f236657c3c9c7bcc669449e608ebee1ad9dbe396a","affectsGlobalScope":true},"7fb3279c4bf36d993b1e8b339cded5908f7b2ec1b6e0ac2feaa842b5b6b143f1","234b97ac9af46707f2315ff395a9b340d37b7dbc8290d91f5d6bd97189d220f3",{"version":"6cb5e3d3f0babcdca611a20b4bd29f0e604a0ae6bb618da4452d299876cb493d","affectsGlobalScope":true},{"version":"b46c44d151d48e6e2ec1ff2fd835bd8de295bb5a53d9307fd9fe5e9696bc54b8","signature":"0d20839d8226c9475b220d5ec7515306047702bfcfbeb7461d0a573e21ea8d9b"},{"version":"f222da42305e9854705a053c1a079fba6a1dae935898f47f1fe5e0ee0aa220e9","signature":"bca9cc679ecb8b12c0467d215a1de33d9afcd131e4d0b1dfcc87bdcd1f0c242d"},{"version":"66d33ced494702ae863b003a41ad469b27b6f4c59660f1862fad604235c2d27f","signature":"9e5508b677a592b6954b3a15aa5cddd80a2bd08cbb0eece884c8329f4d9a8525"},{"version":"798701424defd58e3bd396a618acf60dc5eb6c7148f14bbb7e4f647ef94e9539","signature":"c64ac05ec806065c6d7aafed94a19709e8725c3f2583b97ddb09547234904481"},{"version":"b52bc1afe538822ffc588762168ec5a4162432cc4790e078a08c3295719a1ccc","signature":"b526d556bf8b8bfce911f8dd4cf44db6770cfbac99cba083721f6ad939306a71"},{"version":"b15ac25f4011f183d809ad503b1ef2af3588364a5138cfd0777614a75382af5a","signature":"dffccdb2263587515096a48f43252a8620ec5097ba241c9ed06fe5ba3680972a"},{"version":"60e4a1d4430afa6cd5007a4aa46253bb8eb0656db3e8edec43242d95481b2354","signature":"06cd49f7a2d5a407b43e10475da068c23d32eecaeade280eab810d70d7340248"},{"version":"ae56db93b1fe84a7ff72f9140104efda86bae62ca9ea7c0abd419f81b2720dbc","signature":"15be8b11b9b3adf78133df713fea99237e0466c32e860f0b2590aeb451387e87"},{"version":"af542117f5faf0ed3121fe38be769ebe6e76945f887e31ad798bbae925317fd1","signature":"0a8d74aeca5bf666cbf7b06a29bebd4f52ed0c4ad7897c86445522d74d3856c7"},{"version":"ab13e99cab31077709cb3ec238a2b877bb47e7c14dc06c1192e73baf888ddeab","signature":"7731fe2e057121256d524d1b40915835cd690395a2291bf0424c41ffa1c41fa8"},{"version":"bbaa8fd2a2dd40292765adb1a01cb01d4838935e81c10e1419a48455f78beab9","signature":"f000a6f98268e967c59503cbbaa93e849ef079b2279e631d8e5c4bbbc28dad6a"},{"version":"c2078e14030364bfeaf56571b79e50e57a74392cc508154a15f38572a653d998","signature":"9cd50d800a8222abc4a8ae5f43de5cc5776dfec1fc67987fccb5df971558a826"},{"version":"2441b809a48183e9824812cb096a8ac4e0ef47f4761f0d8f6f7462ace770309c","signature":"6c2dcfcdb213c155c9caf02c68d49d220ee2afa1d5b3d100b3b1938b0c39aefe"},{"version":"597b4936e8fa30e5e01853b4f6d5a5ee78e21be714bcf9af39a557569a3b0521","signature":"e8fab04baa8eff85a100e3fcb52d0cf67eb9348e7d43ec1beb4cbfa00282a2e7"},{"version":"33d68b96245830ec7d5f1fe0882c9f8bf57200c27b3ded63c7022a9b8357078b","signature":"681af02d4c1e886bb1fa6290545e8b9dab6aadd8d75475bb082ba12b02d7c38b"},{"version":"d472da94d664bcd007e19b364bec6604cea5c67883c9b5fb6f111ecde8daeb1f","signature":"468d5a561e8346ff9f2e03100c2fe83d10dd3dcc300e8661ba37b5217ed6ccc3"},{"version":"fa92683ddfc941fa20dddf2d87059a38addbffff37fa356ea161ee55e6b1b2d6","signature":"de507dd9407331e44540060c5dd0141bc941588de689c157457f38b2956fb4db"},{"version":"b7b56062b3c5e4e2d7865d954ad4ed02ee68ab6969f768fe9347b6d786057e0d","signature":"12ac32798257afd585fa24d762158a20fe4292c4b0e9148c29b490c0455d1e2f"},{"version":"03152b85a272aed9f3ceb0789d9628003240499b9738a864dbb5fa76dfd58262","signature":"44aec3b550eab56032f6cd372d184bcb823d3cf0065a91e73d5e2983c26aeb0e"},{"version":"6969b7c0a29fd927e61b8e20bbda6c8f40dfc4da89ebf74db8c835b2672be6cf","signature":"ff18455a027a6b0b8338bc939cf21137fd5be67d697b35438d87b6f80e04a397"},{"version":"e616ff52d753b393e03d00d1d2ac95f874089e3631b81cf86cfac5aaf3e29a0f","signature":"155372b42f75761b6398905c8538c012358a7009691855ae5ef3ac02601b1887"},{"version":"9c1ab516ea278be17adbc925a5b91200f6f720f4c5f0021b3be151decce58334","signature":"6a111247ee33e03e167cad8f2aa0ce5c6f29495a60970ea6c7526e7e9770de2f"},{"version":"d76640f149ceca3f2653dfbaf7eb9f878bcba4002ae4ea9b3ab84b8f201f36ab","signature":"eb1a1f735ae4eef93ffef547cb7ee6f7cb4e0ee8f7f89a90babc9cbf84e482c7"},{"version":"ea8344f2a386a5cbc8e0ab920c3a0d32fc8a975897ceb419a792453e4633ede7","signature":"4ea7af8228dfbb214baf3602dc34c0f5778c302b8749bd90fc2b7591217588b5"},{"version":"ded2dfffe6e67a7978baca5dc6bcf97bfe998fc4c640a160f3edc57b12c5bcb8","signature":"00707efb8d2d9fc073ba74baec31589b8bb75b0e5cd5f87beb265c2c9d345348"},{"version":"6a39379a0588dfa31e7b906ccae08029c075e94aac14110fe0efab02fa017539","signature":"59cc9a53440503b9ba4e00245ca8208612175ae3eff10112b3152acc446bd40b"},{"version":"7c72f0dad02c49e3ae70a0cecb7d9637b18b54498294ecf5d224cf4b2ba01853","signature":"37a195695d11c076ad7271b451a2d1fb1f59bcea18e9ae9039b81b7bd8d7c704"},{"version":"2fea7e9bcd2c046c4960b86a2222562f39d56e760c4a5e288520c7eac525f5ce","signature":"29de6b39bf2f95ea131a186a1630ba758a5304e584b8074a4c7a4cfdb12e7fe6"},{"version":"8a0a5b132c41771486fdbab7a7d51ffda112779cf4cbf54d11e690eff31a8101","signature":"be2fa39367cf5bc1e9b8c2b28b2556f694e5fb6c81f1f274d66b9100ceccbefe"},"898c41404583378f3f75bab8e792aa73d9f627b0b794442dd49e836227c67456",{"version":"9a22a7818bfd191fc5f00046a115fef52355afb8cf84f7e464de5b182bf565c4","signature":"7c7c5a93ca4e33536442f75c409b1713eedcebd2683dca9224e7d4b39a200eb3"},{"version":"de9d561fd4d76912f82307e1f6183ba8c95ebc666a0216c3a0c84173ba430b2f","signature":"43b5cd0a1218a374f917edec5c1d68a4761e811aa254da150f7f550c4c2f7d35"},{"version":"0d04ae4340514bd021b73aefe9b12ec238b57d4a58efebc2734b37d006f8e0e8","signature":"9e002b1d5e656f15b48235e1bedd7bbc0b24febb37d9c6711b79285684fcb854"},{"version":"6769ed0a1deebc27424e97a996a26f6d15bb27ff1e3694ec6841620f5182dd81","signature":"92fc699c420115430e681f0ed5b934a284a6cfdc5fd6b6a12e8d3ec881edbe67"},{"version":"2765434bf5f515d4e48c49251e4032f83b0dfeb700c3af35ea9e6e54d23f1c00","signature":"208579755c515913b5982f110650ebcb827b732bf39c8a530bda9cd728cc4b2d"},{"version":"5fc5a41d05036693658e38de1d88d56389997ef41be17eddd6779c97f339ec94","signature":"811028e24967a971d65aae68b57dda48146fa8fd3aaf33fc8a6f150c29594d4d"},{"version":"a57a5d511944a64432bdb521df47105342890aa4330a8fd0d555437f7903cd86","signature":"553f1e1aacc968fb94b7345521241cab6f34c40bca5a3b799b4d1ec8cb055e52"},{"version":"f78994cbdb6bed91a5191fa6f887588e629475d2ad6978241e8947cd051c1ac4","signature":"37fc72ea35ce6a51537019280335d21ee89a9633067d78881d9fd259d4e470c9"},{"version":"c531f1627d24abe1e37aef663665dda7e52a480f97d94d89349d46ce1108b51d","signature":"840f1b6f35c4d5c3abd9e2664777b3178758505c192b08edbf616fc18970305d"},{"version":"d74d6b5775cd77eff1ade030d9738f7fd9f9157ce70428614ccd7ed9fb50cf6b","signature":"903f09f267fff6accaa378bee2214527b0ffab690b49f63112a28ed3457d0ef8"},{"version":"02731998227a6ba655159cf6ddf3392e58494d92185ad6b25d7e72cbc09ac53b","signature":"a1c6a87c6aad4d4d6c8c69fe52d6b4f0c590c66f36c826171012cdf3f4eb2533"},{"version":"53de923e4229dfd761ab721d9c50de3abf84a153b3c176d9268aa1044df76070","signature":"9b63fe7465ffcab384884c72fa718af2c5a3c555c3961ac49d77924deda0564a"},{"version":"46a6cbccb86e1480bc42744bb18e70a2dd93b42c96a27598df0b76de149ac667","signature":"faa441633cb7c3f935d714b67fa5c64415fa0c702963b194658b61f4a1a90137"},{"version":"69808dcc96ead1b8828d70d8eeca377386884a53dd6d38220f2209313987cbcd","signature":"fdd148cc0406e9ae1072088a77c0291f9df24a5f49813f6a8f69f20de4ad76ac"},{"version":"7c99f53227d08dab0403694410ab1d48f028e49a8402a8e13f7ffbbc68aab774","signature":"ed0e32dcd25ba9e5cc98f5fbeb50a4bbf6289f11b908de88d4f94e0b7346d261"},{"version":"9c47ae3b4fc7ea5438d73b51addf8e0d56660a0c9c68ba3b47ae8073626cf663","signature":"bbcb27ee7aa689cf60906963f6823acb046e2490c7672708248fc2b127c8ab38"},{"version":"4946f8d2516e271278045b6d3c4e2866ace60cb84abca89b10b53d8cf9d013cc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7fed9b60bc74a1123dc9b6ac8c9228425062c366c243b009c52125742e5d40af","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"468d111f0e3ef6e15e52a6c54ce3d70e71f85d38b9124c299de87c3046a6a86b","signature":"fba9f31eaaf0339f1f2d4dc054ba32f1ec3b1d73e575ad1fa4ea684354650b97"},"60aaac5fb1858fbd4c4eb40e01706eb227eed9eca5c665564bd146971280dbd3","c09de922d75957d218da9881275411950e1a2c449af776f8cd3542377187f44d","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3ca3179dd4772b596ed81df8bb9c541e1416d86343c582a105013b20925de051","affectsGlobalScope":true},{"version":"153ce1042a28def92982a32791aa99fb50f360b3eedb0060b37a32a7438971ff","affectsGlobalScope":true},{"version":"7c1cb2436dc06211a914a1038cc050c974519ffdfe6e9fdadf7852ccedeca16a","signature":"5a4d7e276e6fca46a5e99755c7a8c87e45c721bf798fa6a286b72863a64f3b8b"},{"version":"01833db2054c1348ac5122aae6cc12f945f36a956c63aa286f2d9f482cf34315","signature":"49c2ad2df3dd342f8ae930a404ea8344d7a461740ff40afc4581de019278ea43"},{"version":"062c41e37cbff21072f118dd52e9056943bc03f0c1fd4acad72c02d815f084f1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"b099d8d62ff020ecdb2ca181a96818b1a23e8de85ccbab6a81df9ff24ebcd615","61337090bd8136b17c5e5657051ea3226ea3ad28a73152be5b905f6c1f44bc0e","85e9ae257ffaf39f82090b436013b4398157f6a3f205e2e995c6977fa69356d8","15f22e0d2b12a74931641f1eea436a198bec2a710aa6a5a8402b1b01a698eb0c",{"version":"6f7bc26f171118f99b8f9ed5df7f56504cff95425f8fe6f19945930165528bf3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"84a5160968943c1c51845635f8b81d61468892dc3b6ac0548061bd525551b8d8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"604e2c2dbe6880aa80921c9b686c14390180e8cf32f0b49946e35e994629be3c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"04083dc5a4b87fa71522e927437cc0fae873427c3bdb413c0c0cfbfa2b3a1b1a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ffef8fc258652c1d97633c2566382fcc8238bdbe1a1f12b8226f27bf3f3ab4f1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6ca3a44076cac6de17c058cb44dc6bcb7a3f1c99490930a013b3e92ed224fcd9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b9a480cbf840ba320cfd6311c417a3222e66382a292ae3eb90ffa0e69804f56","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15b5c87f8190e38809248a7f9bd5f8d6f5576415a602fedcd2e9b327b18daf8c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5b887ab30f27c18fc65d1865a36b660c52bfa6c19a3dcc84be5dfe6295c76c1d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c7eb50ad7111a7ebb5b38e4e96aebf82f49e340c6a10fefc785291f4ff904d6c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fdd5aad77900b345d8c896315b33158daaa9991c66646044f187ef49a630a07b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"69eaeb02b429171566e08322062748d62b6f78f4fe29015a159b98001d3c0ae2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7ce2c3098040f1eeaf186ec96c107b46450f4564d030a51bcc01fd869dcb030d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7e5b3a83cd846f3c0c4e8587f39971ec94afc8fba4764fb5c366a95583047e7b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","a3ca095da123d2d556d663733932d71874e6c4b4874c76118463dedea4b0d2ad","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"d8d60d4636de5437353a773942766c22956a4d61b4c6b254092a51a71e4e1bed","e3fd84e6470b7e0679c4073ee5ce971d324182486dde5a49b67cae29168b51d2","dd8331d0a5190a4735ce6c152e420230188c4966067a756673c36dd7ba72b10e","90d88ef5d0e8d585711a8ec68c01d262818f3425fea095fea345b81ec8c09a36",{"version":"d57e7ff5243e0dcd04cf2edf9ad9520af40edd6eba31c14c3f405f0c437fa379","affectsGlobalScope":true},"0f882d4ae58f431454030289154feb0132e1b00ca5c3197c6b749bd098aed73a","7ff7f4632a6e7b6872fb1843f3c0df495b49840eae2a23c6fbc943f863da8c29","d267771149e172ade39e3ef96b4063209d5a7e8291702fe03983aa52f2b3d5f6","a78590b0efcef281236e3234520c348d63be1d4561b63b20e6c3b6fc18b37dfb","4d59c6a10b6c79a0927c79efa89b3c9f71d174ec14ec2792076cfd2330d0cf8e","a496f51933422872de22729b7a0233589325a1a1707cccd05cd914098944a202","fa43bf91102ffc4cfa22b73c7dca50023f99fc0bb15f7fb6201d98e31ab112dd","06a38095ad4368314366bc08f7cbc0fe274ef7321ec611005d0bdd9c6565e4d5","4599793db9aed9b84677f0ca1cf7ef3c69bb91cda4fe4329cbab778ca4d80a58","ad0028f96921778931fb8419d8de33b10908314fa99699de1702020f69235da1","ccd2a35321c0786bd3808042dc43b960cac13f2cc660ac37a0087e12bc97d2fc","df524ed01de4f19efb44bded628dbba9f840148be4b6cfe096e29d4b01589de3","2e3981b9cee48174ff85ae15019fd72933f7023a4ed05094740f7e6f7775623c","836ebdc3b9e4c006acc4f405b7e558e56d47830e05c40d991b1e27fe8bc91157","2cc6b617c6120ba64b5778ccd4b74c951adc3a3941bb6b39f47d48701c44af39","eca02b99615a8f1652e21399d832618e38bf166c0747c9247349bc901a2f7741","7f7d6d42e5780e86f5b860a6f95179fae06a368b3af28c1c4230397c47021a59","4740a7d11ab3b381be0f269f1903fb3ff226a2fba55a01756b2997e67cd853f2","863dbc4e77f0353e6f9d6bc0e2b4622d5c07ff6f099ff66cafd7924b2ff4dd3f","bf034a18ed7e2a058f9e48c4c2480a124138fbd3586a80c77736a9ec079d12a8","f88758992a0bf13d095520aacd4381fb456ff121fb9aa184e6eb0eecb26cfadc","c249e9ae33bfcad97deec3c73c9ed2656e112fbdf22deace0b39724be6a5dcf0","d8b45924965c0c4fc0b946c0b6d597aa8d5de9cdf5c727e3d39422d17efec438","d07ea953cfea0c4bd11641912846bd955f4fd26ad2b7b8a279d69c7ab9cb3add","feddabf6ab0eb191e721f0126f3db8688db97c77a1234968bde7a2d70c4ae513","dbbda62ea5f4d1f8b40cc2b7e2e2fae424abbb4715a04a3659cb8b317f7b228b","1eef6a64835182ce1f4934a366e937120e2e2107b12360436fdf35e99b3ae703","7f5cb3a03588ed46d52a6c2138315d930cd6ffb5c2134247cd07bc23cbea0b5a","7797f4c91491dcb0f21fa318fd8a1014990d5a72f8a32de2af06eb4d4476a3b5","f39fb20b83c3f9853c13d4ac95533760979d3023c0a5affe2c0a62d91ab3afd8","e4fca08aed8afb32bb8643d7469810bc8681115fe398e56a028df9e73b2d867f","2622639d24718ddfccc33a9a6daf5a2dd94d540ca41e3da00fe365d2c3f25db3","078966067552650f44ca96c68eddbb8539f30ee48a9ab3f24abdcf0a4037b535","2cd6250c43dba360377481c98d48db6ab1532a7527339edb0deffddc28ba66b1","7a9d600990fbe263a23daebed9ba1bbc5761e45679a7e2b2774a42756ef077a2","66bc155515fbea8c31a4efccbbac44de7c037b01f3aa00b76312cf7252725d30","5703288ddbfc4f7845cdbf80c6af17c8cde2a228757479796c2378b1662fcd48","0dfd353f0c16dd5107a7e0713dc52d0a2538293b0a0eac6000a017f9c0a60b56","9cd683a4663ef4d9c6486f1b8a34c73bdbc344d69490931bfe2fbcada12ab35b","42f6a409bad5259ece69df25d2b8ace2ff2ade45fe6386ee45203bdd9329f971","8b86677943235a5e5952f9371f7dfe89a9975651c56c74d58e090cb69bf6f2b4","2eb162efd6dba5972b9f8f85141d900d09da4fba23864f287f98f9890a05e95f","3f878fb5be9ebe8bd0ac5c22515d42b8b72d3745ef7617e73e9b2548ccbdf54b","e9ed562b7599c8c8c01595891480a30f9945a93a46456d22ee67ebf346b7538a","e7bf975a98cecefe2e8902fb7da9314675ecdce553aea722aaec97327668e18b","3d36f93648518338c875d9f77a8eab52905365483dbb3afe43ed68f1b712b67c","4fa54df9184d291bd78b36f5063372042cd995460e906cb14014e40d1442a326","b4e32bd5e3b493e4ea6b5ec69a4c02aa1fdaa78e1df9a863bb07604de8f9d123","f6bd1aa152ca2b5064e06282ee3137842ae6825b6b09aa89a2ff063b976a56f3","bce2390bb3a76f8bf2ba4397c66db5277bf3e698ee614347e5eb79d7fc0942c6","fbdc8d7cc7daf4101bf567512c67fb990d8fe300e0ba7f213171192177f44aa0","298e0da6d858e39fc0c1eebfa4f5c8af487868c6f2e98c3ef800537d402fb5c3","3b6457fb3866562d279377f923cf3758c80ed7bfcc19414b72a24d0a98188e0c","4fb5d7efb3520b92c1b767ce18968057c5e70886d7fb3416c487231df9275af9","df2303a61eb57b2717d17123e82bc0f3fd60f6e4673cb5506192dfe23c9480bf","b104960f4c5f807535ab43282356b2fe29c5d14a02035c623ac2012be3d5f76c","a35ca245eb852b70b20300546443abb1fcbac6e5066e4baaa092af4ea614d9b5","55da140feab55f10a538a9879a97c4be3df4934cbd679665c91a7263a86095e1","1a39e51e3362aec7d4edec9b317ff83916fe0471f86ddf2d3ef3af5952e87d9e","4b3f36b96f129a8e125c91d41a05f711e73b3285f80bceb3a1aecb13c97c4502","852779920fc4220bc42ec6d3c9b6164e23ea9371a788531b48b4005fe0cb4392","9a82e1b959524c1abfeeb024ee1a400234130a341f2b90a313ce4e37833b7dd2","515b97cede17d91c9669cc1c7fb7a8a5f0a5f2d8999f925a5f70b4ebea93723e","08e8e57241f874bdbf69ab2b65cb0ee18b4183d5c9452937da49b934fc679c4b","7a5bfc619b1ad803f11c50668574b16baba8f0e8ce1c3e8ebf16421e910474d2","644addd4811636da491c9546654bc005ba8599f23df6d731d91eba86f3137fc2","a9249493114b181814728cbfeb7234738193a4169b654ec4705d48d7a4d25222","aad6f20d6eb01192ae02294361faa6e1f320d72447b56f433db853bbe80b15ca","876fbedec2f494eb6f834ce8636b07d581c657d205d81a3ba894eff0facc6b84","58527aa45f11c9b259a6a9d78b397f35020bfbb104f4d3bb177039b5c18146bd","91b8b61d45b5d22f3458a4ac82e03b464a0926bab795a920fe0eca805ec476eb","2744532f8fb960eb78497ac660db719f503a10c801f87131d26fd9cbef75dcef","6884287c54891ac19cfbe056f3ed29cab1732a00dec69bd3b140ce62c11783c6","393dc8619d7e27653d5e4eafe99ec5501a6b043db50d805c2d40465a50b857e0","cb46657d3237f80742d5701ebcced8f6e5cf8938442354387d6c77d7048dfae6","9caced628452876da272decb56b3f4c18d9aa66b413be5b1ce322933aa1362b6","661f322e45545a554e4ffc38db6c4068a66e1323baf66acb0d8a9fa28195a669","91d70dce48c2a2bb55f0b851cf1bdba4202f107f1e8fdf45f94ff6be4b8e8f99","ce978e20a6f26f606b535f0d6deb384ae6a73f8d0bd0dfca0925f5317cad1f25","f2d3567210ca4d559d8297d6c4402599c93e3bc7485054192d38db5e132fbc0a","887d8058aeeade45984fdb8696147078bc630d3fea15ab2b7baacde0fe281fb7","ad27aa59d346179ac449bd3077d245f213152879e4027356306ccf1722d61d51","ea546a7ed9eaa71ba78d4d392509dadea4bafed283269dd6c4b09e7d8824e986","4ec0f2a141a9ae7d3557b8efe630ac2021bc3a9ac61238b59293f4cf2f196e82","b2db743c71652e03c52d51445af58d0af3316231faa92b66018b29c7ba975f6c","0863a5876c85fbaffbb8ec8aeda8b5042deb6932616139706d2b82cde9d3f7c7","1294b8ecdd212362323f349dd83b5c94ea77bfee4dad24fc290980a3c8af6ce3","ba9c46725e2a0bd9df59d3a1e801cc60f90db3ef7817131c53945dce2b8c0c56","281d373eeabf80c4851f8de991e6abe4d385c30379d80897bbc3df3dcac99cee","624c5dce95672d9dcca40d9d9d82ef855f5f902292f43aa265cc8fd963c6ce84","8a48d9c6184992d1c3ed5daa55f83d708c37582916926a5555a900608f804b60","605dd288c636cf9b5317fe76dec75d3c7fb855fdcd3ee8cb4fea7d7091ca6fb4","e6d6ba51e1280c00199ae4a4ab19df78f965df81e21aa1f608a9dd21219ea798","b5a615b0ad865ffa562980a10bda162ac1744fd363b4edc2cfc664222071cbcf","bbccd721363897950a55ce09529503f25a69522e5c91a22679b66e941e5f8654","d3a1e70795c38d7851b6e4f3b441c5ffdae171d6e2576a2204b7d79059aeea66","d7b8d41887c5fccfe19802c4336d34348b752abf0d98839575699d71deff60be","063fe3004728b8516a4d799ee16f9a71801ba24e0443dd98638cef1bd4353a7c","b8a0236f47d9037efdaf93da602415ae425dababe097fc92f83fd47ce9aaa69f","fab7912fc3ff45fce2f5d5febc9494c4d0a85d6c63fff68f21e4669c32eaacb9","f6c3fcb9d75d8aea778236fd9327ceb935b41865dbf3beac698be77e0ae9018d","b20bc124abd8ee572d0d756713ff987b116cdae908a6fcbc40e80d4b999f56b4","a599f3f450ad62c3fdc0c3fd25cddcc9332ffb44327087947d48914a8da81364","645dff895168aa82350c9aa60aa0b3621b84289fef043be842f45a9c6c0ac6e2","f068ff5b7fb3bdc5380e0c677e21de829bd25cdac63a9b083fdc220fcb225280","09d2fdca6ea6c135897a26976ad3c0db724adaf23ef4e38ad852b1d8efef1ae6","15de5b7739bf7e40213a200853bf78455ee5958af08eda786605a54a7f25ade6","f3acb439e08f0c2c78c712a876dc6c2080302c46916f1d63b7dbe509616ce9ae","37862e711637ebd927907a82cbf0143ea30e95eb165df554926c43936b1d77a9","89e253db2c2cc9a510c521f14dd2b1aae4de2556ee5159ad8d118d3587e3a880","3d0a172cee184a0f4111a7bd7fbb8729af3f54b30c06a2677d85c20ea9c811ab","d6a07e5e8dee6dc63c7ecd9c21756babf097e1537fbc91ddfec17328a063f65d","6fdc88b1287c276b55b7f7c4c7b49587813c763eea9751ce0baf0a7e61cd5d89","6a02443704052768bd021f24783aa104b02ae4444e9b735317bf13c6b857a11e","37987b0fe9800cf25473c882ce07bccdab2763c5681c1a2d16816aead46aa8d1","c84c03c721154068e1a60d83e9e85819bd3ef70b824ac2edc498aa31c06e5781","c23a403716784b53cf6ce9ffff9dcdb959b7cacdf115294a3377d96b6df1e161","c96fb6a0c1e879f95634ab0ff439cbb6fff6227b26bbf0153bef9ed0aabba60d","db936079fe6396aad9bf7ad0479ffc9220cec808a26a745baebb5f9e2ef9dbc7","06bc0b9cc7bf0b92534f1517fe5adde1f23f60cc6cc5c59f8e1c65db48a40067","919a753b0cbb12ccc606c62e2d34884d75a48ba19b1dda497c72621b11dac088","2c27e33ee0bf722988da00abd582cc9b806ce3fd9153a864800a339ad13f3fcf","92d7b3a5aa5dc872e54cbad2a7094b3ea4f72c7901de1d07b4c334ff658297f0","7a52922b38e9686d5bdc6e75774929eec6688d26c1dfe4a03ddec77ede468e87","aa5efca2833d89b55248f1889a6433dab1b1f41768e9a75f8ce35f9bf56c5ec4","0ba3b34cbe39c6fe3ba89f7f6559f10c05f78cd5368477d9c95d25c390b65931","4e82f599b0cff3741e5a4f45889d04753a8bb3b0f95d0f3328bcfbb4f995b2a1","8354bb3a9465dc2e9ccb848564945e0818d3698b2844cfd69b0435080871fd25","1218398da7c8dc4add10bdb3aa2856aad54b123d847eaf574d1d694ac269bfb5","189014f3213ee7457dbeea04dca10ca5d9ed2062cd39641aca5f3b4c75de9d99","b637cd92688a6cdf4f8f184ff529dc2bc7f15692828e2c0c66a60e6972f400c7","7061e83d6792897077bcac039fccf7325234004769f591c63a8cf8478bf551bb","f2d2c194c4c6ba8cfbacf893e371cd8482102b368c1a5ea4771fc956bd0a6a19","277a358d61376fce7ac3392402909c96cf6a0a613146549fc0165ccff953e012","50614c808e099a1d4413786f3783d9eeaaa74b267f2c87fcf8a893287e91c301","f4cb6530f248e87cefa74ef623206fec805f6252f885f8e14ef3d1a5872cef2d","38c332caadd8391566552395d592076470a5e7423f70964620eabf05c02907cd","eb17b5bf1fc763a644c21d76572c0e41e351c3f6dfcde649428d5d829f7294d2","cb124162c87b29ff5121e3ee5bb29c782f101e0135d6c2644ab1b31d530a435e","406d6f5d3707c488362fb40d1c1f8a7b0a42b70554b427160185d93e430228f5","2e9776410c5bc290d9432a9215c67398a273e514a79b9e15f32ecddfde8a03be","313ff8df074b81d3e4f088ff3a3a06df3d9b0d0c7f55469ccc2ac887ecb6b867","c718475bca06806cc243e77777641cb67ba68f2c57321a4773ebb47760a3bcf2","96e6bf811343caab5112b68880905c5d20d9257054afac6c18e718a4c549ed27","a2793bc73ba63ca7d259cb0f0b61d0023820170d08a1f9715006c8042d060165","d5011b38165771fdf75a9a06d6d379a1fc7edd7eb695ebdc52319fb6e3c6d81f","88417fb19d339304e9616a38ea513251047c9e300c81f9467fc317df8a582e71","3e8e2d132f726dddbda57819f5391504e585cb3beab6b32203064e7e40618583","6e23627cd3f10418b5b2db102fdcf557b75f2837f266d88afac6b18f333bb1bc","866046dcea88f23d766a65487ee7870c4cf8285a4c75407c80a5c26ed250ef8d","019f4f1cbc781cc15c6173f8be5ef907405722194ab297127b3c3426e5368339","41f4413eac08210dfc1b1cdb5891ad08b05c79f5038bdf8c06e4aedaa85b943d","c79f1c8b51d8475dde8d2973f740f43ca34b1f0a95d93649cd76c1ee20abba19","35f0d2bd2c5c05c0cb19095bf5b7c44365b1c88efe6285370855b90417277a64","8264b129f4c4eb4799703f8e5ee2223a184d1cdbfc782158b1f40a88a4435a1f","527ddda6f8be1279f3294714534c49d6e90f238cea325519882ebf88d7ec5bd2","b23877792e8bd00271d0ec5d401b68e4228540a4316de3d9dfb697b955c161a4","35b2eb1de01633db90d41abe93730b29984856fcc840b4c2801bfd3761a2097b","1fd5a6eb7fc5159b80a848cbe718eae07a97998c5e5382c888904248cf58e26f","2a6b4655a6edce9e07c7d826848f72533c9991d40bc36e3f85558ad20e87ce2d","6e3d29fdc96ebbb2ac672d2dae710c689c1ea0d0e9469e0847616f3c38fd085f","d505055b8fadd42da235c85947911d8d198ad70c5f5775991e7821d4f89c90f5","8b5a5852099dca7d7e7a7cef6d681dc1586aafacdb963ca180fe5cabbfa3a24b","0d1aa3341d1ad2064adada71c5d01a2f572e4aac09410e5616d90894105a0eb9","52494ca5a884da3bf11b8165ab31429715f0970d9c6383240c5666f4bd713e01","162fafa2291749df2ab4516854aa781fcee1d9fca2ecd85fb48ae794c0700ce2","b4b9b51ee6f6309cda2e539245235a8caeca2b1d6bf12b5e5c162d17333c450f","d2ffe8356f060b88c1c5cf1fa874a4b779fb87fd1977084876e8be9eab6bf485","c76053984b39150d00ade365b096a8bc21a4a7f2ee9e0a926711b00f8e7bf701","956b510767e3d6f362ea5800510635197723737af5d19ae07ee987ea4a90bfa5","cd1a8ff61f5063d7e6e2094e25d35c90b499961b63911f2f4ae0ff5555c2b4d7","1cf09b5945779e9bc75c4dcd805fb149c28fc90da3335186ef620647a3c540e1","9cdc0b9a313090ec45b34ea1eb02fbace433f509e753634b043e9b83038261e6","c93474cff0088351a65d3cad24037874a26a5371a48528563e56efe31cb3d8bb","b4580df8ea7f62d7b06588001952bf69426e6b03cf3d2569f5f608e45f29ba08","de27f7bb9be9d8a2b4557ec6503b8a315f74d598ce9a0ab81b5ed5610e1a8e81","fe3c378dcefa7ed8b21bd6822f5d7838b1119836da75ae1e1fb485d27b8ffb62","7365bf3333d4277b6fe374ed055624e5ec080dbb919e2d78f1cb75a3f1a4b4f6","a5fbf3bc5c16ab5c84465ba7a043a4bee4c2b20bd3633d50d80118a3844edbaf","0923e4ac8c894ad507bd2daee0df66b699de88467201381ece011ba5a080e1ff","e4f6626f827ea509255647e1b6db82145a2eb1a6b46202655e7d9bb19145c33b","26e23972c40f378f0301d8d7025ea895557c2865a1a31c8ea9c3fff0dbc27075","bfddbff94132b423ad1d71bdbefb1d388c21a74ac1a8742df9324e5bf6109058","bece6bfb1d236c41747834f9a7e579be18ce54cb034f54f4ae1ea618faeb5708","0e59cf55095972c87a7cb1363dd482e40322be78b9b4c7a710cba60a596eb935","c52acb7126fe8bf136a21908caa39a9a302950b87aa6971908f9e1c29c0fa19a","11e8eb54177783e97659925f09c7000a69311305161acc7d0f51cec9ec3fac20","f915c5b0118fbb957f69f42617c0d1671047db55121c4dfe61c14729050410a7","b707f3ea2029672e11d198485581a9309226eab53dbab21db74d8db3526d0663","bd5001702011525d057662a666fe601fac56067d69528d7b4ef4dab83ef6d73c","ad4fafe8ec02d836df20a48e81156cf5323d591026b8f677535b5832022268d8","bd0a3ebf3935ff6be6d1d79dba461a63c758085d232065219a09b72cf1ede3d6","7f5c4b14f6698408e9d05ae73aeb7ecef75c27734e04fb5337a742eafbfd50c7","faffbf4dbc1e3a09dc6e54629fe20390ec001476a67fa3d40edb3f2910c0e051","6a8b556617e07a1ca3052d1e70e9236b4e171a0b08d09054eaef8826ad5d18b6","b71ebbdd422b094f638fb958c10d7ef8260df87a2305a54db0296381406c50a6","8a01a5903999938c6af690d388789931c6c6862bd89033f6113fa894ced34dd4","46e30c27f13d79cf3aea3221e3201bd7ae961ff548a4ddbfd3ae2da54478a4ec","8a70850984a40caf2b1007674fdb7340041498e2ab90f36b2d68c0bf403e0b16","616ea4ff77f89fe59032df6f80ebdf5f40789419341de9b25d2946485c85ad05","de2d4b9daf5db51547d44fdc1163fa037ec6acfcb58ad4698a62d3453b6f44f9","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","ca6646a7786dd130c0615882d16e4d2df116c47da2eba44142426cb76bd16b46","72cfa60ebbb814cb1c38b35c903fbf8cf3c822b24c9df6d9260b65116fbbe799","07082818c2de24059137c6d53eafd75aa25ca8e5060227b199d998b1fa5fd4e2","b33e88c91d23e9d85ce5eb12c339daed090674db53050f00fe9446c6bbcea502","6acf8a984c2728906edeba2098c5c51f44a4520bc4a48c65b973bd785537178f","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","524ee68b6177f628d5356976603b37a36859541b22629d7d6d2e7b20bdebb60d","23c77af9fdadb3569d425dbc7bbf06a118a4b02bd9db14b7abfafc3183d58bb6","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","2d7833f437e0f41a91d9ac5b156157fde7e5380558ff44832afae705ac0e795d","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","429b6df7d7b94389bd42cfdf39bccea903acd3628498cec6172302801fbeac89","ebe77545478bf39a23059a3b0ea03d2c0e502d9c8e1122015e19213cd0815097","ad8c69f4a471cafdf093acdcdf3b444ae56b227b92024ae45f8c9c9c8be8afcc","71a6149f67a64b55baeddb83e5254e9e017c80c15a260d6f6b3a12deb3a575ed","6c881abb4a0e7579a9d5b63a7e4da3d98b094adf0f1d1fa75bbe433b9f3d7c27","66d6844502d7764a8e02b632228c4c5a95f7cac7bce1a0db07f0dcc377d3755b","2e1be3fee9ccef82555b2f039e8e100e0a176ee2d18b0de95e7da6a61e1e360a","5c48fc6096e361e639c1d0a9f7f066242bf757ace84843582d29c6813563055a","bebac54845e03ea36044fab99b5a51266cec2492fcd8a95bde6d5527a3174732","ef141fd0ac854fc92cbc9a13cd25a0ac87b3961f70d516f191bb3e29d3b183fe","a90c6f5554bd74f63aaf03751e6b79d01a457b59339b03d308c16af8f266cf47","7d5d42c18c62ef137b8830b7de8432b466c8f4d93fa8476ac36d2f69114fad1e","484faf958ae025f8d1ce6cb9c75e12c2148190efc22151299d14d10e3601cbba","66ddf54cc3d66cdab1b69e6879af9876bbc30030f85e51ba8a73223339e65b85","734166f6ae00b52512304c153644963fd93cd152620231ea7a0560802c968d28","15ce0cfa537ada25e07633617a993a8e02827939c2128d39c010739f28a0379c","a3868158152cc946c27c5e7b7803537c14cada9bb442c96c759c66b0d01f9eca","00ee901c4135af0d5688bee246d1e42ef7421cec93c32587e4814f744b95e2e8","af30b8feae6399905adeb5c938558e666dc81113ccf38032722583b95a65f9ab",{"version":"b40add723ee9828e126ff18a0a2fb5124958ff911e1836bfe461916e434bd051","affectsGlobalScope":true},"74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","86d425f7fcd8d100dafa6286cc289af88cbb639ecbdbd25c3018a8f0f7b09fe5","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","d0f6d36b2d86f934560c48d8bfdc7ab60c67cfb2ab6dc1916706aa68e83d6dc2","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","239f0c1d83d1ca9677327198196ee2ce6827dc7b469771ab5abf7bea7fbdb674","d9c5f8d21771758700d7b6eeef796700b99c643a5818195cf0d01bed98407df1","4266ccd2cf1d6a281efd9c7ddf9efd7daecf76575364148bd233e18919cac3ed","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"jsx":2,"noEmitOnError":false,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strictNullChecks":true,"target":1,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[142,194],[194],[125,194],[123,124,194],[49,123,194],[49,53,57,107,194],[142,143,144,145,146,194],[142,144,194],[148,194],[167,194,201],[181,194,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,413,414],[194,415],[194,393,394,415],[181,194,392,396,415],[181,194,397,398,415],[181,194,397,415],[181,194,392,397,415],[181,194,403,415],[181,194,415],[194,411,412,415],[194,392,412,415],[181,194,392],[194,396],[181,194],[194,392,415],[194,417],[194,418],[112,117,194],[150,166,194,201],[194,436],[194,424,426,427,428,429,430,431,432,433,434,435,436],[194,424,425,427,428,429,430,431,432,433,434,435,436],[194,425,426,427,428,429,430,431,432,433,434,435,436],[194,424,425,426,428,429,430,431,432,433,434,435,436],[194,424,425,426,427,429,430,431,432,433,434,435,436],[194,424,425,426,427,428,430,431,432,433,434,435,436],[194,424,425,426,427,428,429,431,432,433,434,435,436],[194,424,425,426,427,428,429,430,432,433,434,435,436],[194,424,425,426,427,428,429,430,431,433,434,435,436],[194,424,425,426,427,428,429,430,431,432,434,435,436],[194,424,425,426,427,428,429,430,431,432,433,435,436],[194,424,425,426,427,428,429,430,431,432,433,434,436],[194,424,425,426,427,428,429,430,431,432,433,434,435],[166,194,201],[169,193,194,201,441,442],[151,194],[154,194],[155,160,194],[156,166,167,174,183,193,194],[156,157,166,174,194],[158,194],[159,160,167,175,194],[160,183,190,194],[161,163,166,174,194],[162,194],[163,164,194],[165,166,194],[166,194],[166,167,168,183,193,194],[166,167,168,183,194],[194,198],[169,174,183,193,194],[166,167,169,170,174,183,190,193,194],[169,171,183,190,193,194],[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[166,172,194],[173,193,194],[163,166,174,183,194],[175,194],[176,194],[154,177,194],[178,192,194,198],[179,194],[180,194],[166,181,194],[181,182,194,196],[166,183,184,185,194],[183,185,194],[183,184,194],[186,194],[187,194],[166,188,189,194],[188,189,194],[160,174,183,190,194],[191,194],[174,192,194],[155,169,180,193,194],[160,194],[183,194,195],[194,196],[194,197],[155,160,166,168,177,183,193,194,196,198],[183,194,199],[49,194,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462],[49,194,447,463],[49,194],[49,194,463],[55,194],[49,52,53,54,55,56,194],[53,57,194],[45,46,47,48,194],[194,467,506],[194,467,491,506],[194,506],[194,467],[194,467,492,506],[194,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505],[194,492,506],[166,183,194,199,201,440],[183,194,201],[166,169,171,174,193,194,201],[194,511],[169,183,194,201],[110,113,194],[110,113,114,115,194],[112,194],[118,194],[109,116,194],[111,194],[194,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,272,274,275,276,277,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,324,325,326,328,336,338,339,340,341,342,343,345,346,348,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391],[194,250],[194,206,209],[194,208],[194,208,209],[194,205,206,207,209],[194,206,208,209,365],[194,209],[194,205,208,250],[194,208,209,365],[194,208,373],[194,206,208,209],[194,218],[194,241],[194,262],[194,208,209,250],[194,209,257],[194,208,209,250,268],[194,208,209,268],[194,209,309],[194,209,250],[194,205,209,327],[194,205,209,328],[194,349],[194,334,335],[194,344],[194,334],[194,205,209,327,334],[194,327,328,335],[194,347],[194,205,209,334,335],[194,207,208,209],[194,205,209],[194,206,208,328,329,330,331],[194,250,328,329,330,331],[194,328,330],[194,208,329,330,332,333,336],[194,205,208],[194,209,351],[194,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,254,255,256,258,259,260,261,262,263,264,265,266,267,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325],[194,337],[43,69,70,194],[43,49,87,92,94,126,194],[43,68,69,87,90,91,92,108,126,194],[43,71,194],[43,79,87,99,108,120,126,194],[43,87,90,101,108,120,126,194],[43,87,98,120,126,194],[43,87,96,120,126,194],[43,87,194],[43,49,53,57,69,72,88,106,107,108,120,194],[43,49,69,87,106,194],[43,70,79,90,194],[43,65,68,69,70,82,87,194],[43,69,84,106,194],[43,49,65,69,87,126,194],[43,69,87,126,194],[43,59,70,78,79,194],[43,68,69,194],[43,53,57,65,66,194],[43,51,108,194],[43,69,194],[43,194],[43,93,194],[43,49,53,57,65,68,69,87,91,92,194],[43,89,194],[43,49,68,69,87,90,91,194],[43,60,61,62,63,64,194],[43,60,194],[43,58,59,60,194],[43,58,60,194],[43,95,96,98,99,100,101,194],[43,49,69,194],[43,49,79,99,194],[43,49,69,79,87,194],[43,49,69,87,89,90,194],[43,49,87,95,97,194],[43,49,87,95,194],[43,65,69,71,79,87,88,89,94,102,194],[43,53,57,194],[43,49,53,57,69,72,87,194],[43,53,57,65,78,79,89,194],[43,80,194],[43,65,68,69,70,71,78,79,80,194],[43,69,71,80,194],[43,80,81,82,83,84,85,194],[43,49,65,69,80,81,194],[43,65,71,79,194],[43,49,69,80,81,82,84,194],[43,79,86,194],[43,59,73,74,75,76,77,78,194],[43,59,194],[43,59,65,75,194],[43,70,194],[43,49,194],[43,44,50,51,66,67,68,194],[43,53,57,65,194],[87],[49,69,87],[93],[49,69,91],[89],[69,87,91],[60,61,62,63,64],[60],[59,60],[71],[95,96,98,99,100,101],[79],[95],[65,69,71,79,87,88,89,94,102],[53,57],[49],[65,79,89],[80],[65,71,79,80],[59,69,71,80],[80,81,82,83,84,85],[49,80],[65,71,79],[69,80],[59,73,74,75,76,77,78],[59],[59,65,75],[70],[44,50,51,66,67,68]],"referencedMap":[[144,1],[142,2],[126,3],[125,4],[123,2],[124,5],[108,6],[141,2],[147,7],[143,1],[145,8],[146,1],[149,9],[150,2],[202,10],[203,10],[204,2],[415,11],[393,12],[395,13],[394,12],[397,14],[399,15],[400,16],[401,17],[402,15],[403,16],[404,15],[405,18],[406,16],[407,15],[412,19],[413,20],[414,21],[408,22],[398,23],[409,24],[396,24],[410,25],[416,2],[417,2],[418,26],[419,27],[118,28],[420,2],[421,2],[422,29],[423,2],[437,30],[425,31],[426,32],[424,33],[427,34],[428,35],[429,36],[430,37],[431,38],[432,39],[433,40],[434,41],[435,42],[436,43],[438,2],[439,2],[440,44],[148,2],[442,2],[443,45],[151,46],[152,46],[154,47],[155,48],[156,49],[157,50],[158,51],[159,52],[160,53],[161,54],[162,55],[163,56],[164,56],[165,57],[166,58],[167,59],[168,60],[153,61],[200,2],[169,62],[170,63],[171,64],[201,65],[172,66],[173,67],[174,68],[175,69],[176,70],[177,71],[178,72],[179,73],[180,74],[181,75],[182,76],[183,77],[185,78],[184,79],[186,80],[187,81],[188,82],[189,83],[190,84],[191,85],[192,86],[193,87],[194,88],[195,89],[196,90],[197,91],[198,92],[199,93],[444,2],[445,2],[446,2],[47,2],[463,94],[448,95],[449,95],[451,95],[452,95],[450,96],[462,97],[453,95],[454,95],[455,95],[456,95],[457,95],[458,95],[459,95],[460,95],[461,95],[464,96],[54,2],[55,98],[52,2],[57,99],[56,2],[53,100],[107,96],[45,2],[49,101],[447,96],[465,2],[466,2],[48,2],[491,102],[492,103],[467,104],[470,104],[489,102],[490,102],[480,105],[479,105],[477,102],[472,102],[485,102],[483,102],[487,102],[471,102],[484,102],[488,102],[473,102],[474,102],[486,102],[468,102],[475,102],[476,102],[478,102],[482,102],[493,106],[481,102],[469,102],[506,107],[505,2],[500,106],[502,108],[501,106],[494,106],[495,106],[497,106],[499,106],[503,108],[504,108],[496,108],[498,108],[507,2],[508,109],[411,110],[509,2],[510,111],[511,2],[512,112],[46,2],[441,113],[110,2],[114,114],[116,115],[115,114],[113,116],[119,117],[117,118],[109,2],[112,119],[111,2],[392,120],[365,2],[343,121],[341,121],[391,122],[356,123],[355,123],[257,124],[208,125],[363,124],[364,124],[366,126],[367,124],[368,127],[268,128],[369,124],[340,124],[370,124],[371,129],[372,124],[373,123],[374,130],[375,124],[376,124],[377,124],[378,124],[379,123],[380,124],[381,124],[382,124],[383,124],[384,131],[385,124],[386,124],[387,124],[388,124],[389,124],[207,122],[210,127],[211,127],[212,124],[213,127],[214,127],[215,127],[216,127],[217,124],[219,132],[220,127],[218,127],[221,127],[222,127],[223,127],[224,127],[225,127],[226,127],[227,124],[228,127],[229,127],[230,127],[231,127],[232,127],[233,124],[234,127],[235,124],[236,127],[237,127],[238,127],[239,127],[240,124],[242,133],[241,127],[243,127],[244,127],[245,127],[246,127],[247,131],[248,124],[249,124],[263,134],[251,135],[252,127],[253,127],[254,124],[255,127],[256,127],[258,136],[259,127],[260,127],[261,127],[262,127],[264,127],[265,127],[266,127],[267,127],[269,137],[270,127],[271,127],[272,127],[273,124],[274,127],[275,138],[276,138],[277,138],[278,124],[279,127],[280,127],[281,127],[286,127],[282,127],[283,124],[284,127],[285,124],[287,124],[288,127],[289,127],[290,124],[291,124],[292,127],[293,124],[294,127],[295,127],[296,124],[297,127],[298,127],[299,127],[300,127],[301,127],[302,127],[303,127],[304,127],[305,127],[306,127],[307,127],[308,127],[309,127],[310,139],[311,127],[312,127],[313,127],[314,127],[315,127],[316,127],[317,124],[318,124],[319,124],[320,124],[321,124],[322,127],[323,127],[324,127],[325,127],[342,140],[390,124],[328,141],[327,142],[350,143],[349,144],[345,145],[344,144],[346,146],[335,147],[334,148],[348,149],[347,146],[336,150],[250,151],[206,152],[205,127],[339,2],[332,153],[333,154],[330,2],[331,155],[329,127],[337,156],[209,157],[357,2],[358,2],[351,2],[354,123],[353,2],[359,2],[360,2],[352,158],[361,2],[362,2],[326,159],[338,160],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[104,161],[127,162],[128,163],[105,164],[129,165],[130,166],[131,167],[132,168],[106,169],[121,170],[120,171],[122,172],[133,173],[134,174],[135,175],[136,176],[137,177],[138,178],[140,179],[139,180],[70,181],[58,182],[94,183],[93,184],[91,185],[92,186],[65,187],[64,188],[60,182],[62,188],[61,189],[63,190],[71,182],[95,164],[102,191],[97,192],[100,193],[99,194],[101,195],[98,196],[96,197],[103,198],[72,199],[88,200],[89,182],[90,201],[81,202],[82,203],[84,204],[86,205],[83,206],[80,207],[85,208],[87,209],[79,210],[76,211],[74,211],[73,211],[75,211],[78,212],[59,213],[77,211],[50,214],[69,215],[67,182],[68,182],[44,182],[66,216],[51,182]],"exportedModulesMap":[[144,1],[142,2],[126,3],[125,4],[123,2],[124,5],[108,6],[141,2],[147,7],[143,1],[145,8],[146,1],[149,9],[150,2],[202,10],[203,10],[204,2],[415,11],[393,12],[395,13],[394,12],[397,14],[399,15],[400,16],[401,17],[402,15],[403,16],[404,15],[405,18],[406,16],[407,15],[412,19],[413,20],[414,21],[408,22],[398,23],[409,24],[396,24],[410,25],[416,2],[417,2],[418,26],[419,27],[118,28],[420,2],[421,2],[422,29],[423,2],[437,30],[425,31],[426,32],[424,33],[427,34],[428,35],[429,36],[430,37],[431,38],[432,39],[433,40],[434,41],[435,42],[436,43],[438,2],[439,2],[440,44],[148,2],[442,2],[443,45],[151,46],[152,46],[154,47],[155,48],[156,49],[157,50],[158,51],[159,52],[160,53],[161,54],[162,55],[163,56],[164,56],[165,57],[166,58],[167,59],[168,60],[153,61],[200,2],[169,62],[170,63],[171,64],[201,65],[172,66],[173,67],[174,68],[175,69],[176,70],[177,71],[178,72],[179,73],[180,74],[181,75],[182,76],[183,77],[185,78],[184,79],[186,80],[187,81],[188,82],[189,83],[190,84],[191,85],[192,86],[193,87],[194,88],[195,89],[196,90],[197,91],[198,92],[199,93],[444,2],[445,2],[446,2],[47,2],[463,94],[448,95],[449,95],[451,95],[452,95],[450,96],[462,97],[453,95],[454,95],[455,95],[456,95],[457,95],[458,95],[459,95],[460,95],[461,95],[464,96],[54,2],[55,98],[52,2],[57,99],[56,2],[53,100],[107,96],[45,2],[49,101],[447,96],[465,2],[466,2],[48,2],[491,102],[492,103],[467,104],[470,104],[489,102],[490,102],[480,105],[479,105],[477,102],[472,102],[485,102],[483,102],[487,102],[471,102],[484,102],[488,102],[473,102],[474,102],[486,102],[468,102],[475,102],[476,102],[478,102],[482,102],[493,106],[481,102],[469,102],[506,107],[505,2],[500,106],[502,108],[501,106],[494,106],[495,106],[497,106],[499,106],[503,108],[504,108],[496,108],[498,108],[507,2],[508,109],[411,110],[509,2],[510,111],[511,2],[512,112],[46,2],[441,113],[110,2],[114,114],[116,115],[115,114],[113,116],[119,117],[117,118],[109,2],[112,119],[111,2],[392,120],[365,2],[343,121],[341,121],[391,122],[356,123],[355,123],[257,124],[208,125],[363,124],[364,124],[366,126],[367,124],[368,127],[268,128],[369,124],[340,124],[370,124],[371,129],[372,124],[373,123],[374,130],[375,124],[376,124],[377,124],[378,124],[379,123],[380,124],[381,124],[382,124],[383,124],[384,131],[385,124],[386,124],[387,124],[388,124],[389,124],[207,122],[210,127],[211,127],[212,124],[213,127],[214,127],[215,127],[216,127],[217,124],[219,132],[220,127],[218,127],[221,127],[222,127],[223,127],[224,127],[225,127],[226,127],[227,124],[228,127],[229,127],[230,127],[231,127],[232,127],[233,124],[234,127],[235,124],[236,127],[237,127],[238,127],[239,127],[240,124],[242,133],[241,127],[243,127],[244,127],[245,127],[246,127],[247,131],[248,124],[249,124],[263,134],[251,135],[252,127],[253,127],[254,124],[255,127],[256,127],[258,136],[259,127],[260,127],[261,127],[262,127],[264,127],[265,127],[266,127],[267,127],[269,137],[270,127],[271,127],[272,127],[273,124],[274,127],[275,138],[276,138],[277,138],[278,124],[279,127],[280,127],[281,127],[286,127],[282,127],[283,124],[284,127],[285,124],[287,124],[288,127],[289,127],[290,124],[291,124],[292,127],[293,124],[294,127],[295,127],[296,124],[297,127],[298,127],[299,127],[300,127],[301,127],[302,127],[303,127],[304,127],[305,127],[306,127],[307,127],[308,127],[309,127],[310,139],[311,127],[312,127],[313,127],[314,127],[315,127],[316,127],[317,124],[318,124],[319,124],[320,124],[321,124],[322,127],[323,127],[324,127],[325,127],[342,140],[390,124],[328,141],[327,142],[350,143],[349,144],[345,145],[344,144],[346,146],[335,147],[334,148],[348,149],[347,146],[336,150],[250,151],[206,152],[205,127],[339,2],[332,153],[333,154],[330,2],[331,155],[329,127],[337,156],[209,157],[357,2],[358,2],[351,2],[354,123],[353,2],[359,2],[360,2],[352,158],[361,2],[362,2],[326,159],[338,160],[43,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[106,217],[120,218],[94,219],[93,220],[91,221],[92,222],[65,223],[64,224],[62,224],[61,225],[63,224],[95,226],[102,227],[100,228],[99,228],[101,221],[98,229],[96,229],[103,230],[72,231],[88,232],[90,233],[81,234],[82,235],[84,236],[86,237],[83,238],[80,239],[85,240],[87,209],[79,241],[76,242],[74,242],[73,242],[75,242],[78,243],[59,244],[77,242],[50,232],[69,245]],"semanticDiagnosticsPerFile":[144,142,126,125,123,124,108,141,147,143,145,146,149,150,202,203,204,415,393,395,394,397,399,400,401,402,403,404,405,406,407,412,413,414,408,398,409,396,410,416,417,418,419,118,420,421,422,423,437,425,426,424,427,428,429,430,431,432,433,434,435,436,438,439,440,148,442,443,151,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,153,200,169,170,171,201,172,173,174,175,176,177,178,179,180,181,182,183,185,184,186,187,188,189,190,191,192,193,194,195,196,197,198,199,444,445,446,47,463,448,449,451,452,450,462,453,454,455,456,457,458,459,460,461,464,54,55,52,57,56,53,107,45,49,447,465,466,48,491,492,467,470,489,490,480,479,477,472,485,483,487,471,484,488,473,474,486,468,475,476,478,482,493,481,469,506,505,500,502,501,494,495,497,499,503,504,496,498,507,508,411,509,510,511,512,46,441,110,114,116,115,113,119,117,109,112,111,392,365,343,341,391,356,355,257,208,363,364,366,367,368,268,369,340,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,207,210,211,212,213,214,215,216,217,219,220,218,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,242,241,243,244,245,246,247,248,249,263,251,252,253,254,255,256,258,259,260,261,262,264,265,266,267,269,270,271,272,273,274,275,276,277,278,279,280,281,286,282,283,284,285,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,342,390,328,327,350,349,345,344,346,335,334,348,347,336,250,206,205,339,332,333,330,331,329,337,209,357,358,351,354,353,359,360,352,361,362,326,338,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,104,127,128,105,129,130,131,132,106,121,120,122,133,134,135,136,137,138,140,139,70,58,94,93,91,92,65,64,60,62,61,63,71,95,102,97,100,99,101,98,96,103,72,88,89,90,81,82,84,86,83,80,85,87,79,76,74,73,75,78,59,77,50,69,67,68,44,66,51]},"version":"4.7.2"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/Logger.d.ts b/packages/react-native-performance/dist/utils/Logger.d.ts new file mode 100644 index 0000000..a2e4aa7 --- /dev/null +++ b/packages/react-native-performance/dist/utils/Logger.d.ts @@ -0,0 +1,16 @@ +export declare enum LogLevel { + Debug = 0, + Info = 1, + Warn = 2, + Error = 3 +} +export declare class Logger { + logLevel: LogLevel; + debug(message: string): void; + info(message: string): void; + warn(message: string): void; + error(message: string): void; +} +declare const logger: Logger; +export default logger; +//# sourceMappingURL=Logger.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/Logger.d.ts.map b/packages/react-native-performance/dist/utils/Logger.d.ts.map new file mode 100644 index 0000000..af53ca5 --- /dev/null +++ b/packages/react-native-performance/dist/utils/Logger.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAElB,KAAK,IAAI;IAET,IAAI,IAAA;IAEJ,IAAI,IAAA;IAEJ,KAAK,IAAA;CACN;AAQD,qBAAa,MAAM;IACjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,KAAK,CAAC,OAAO,EAAE,MAAM;IAOrB,IAAI,CAAC,OAAO,EAAE,MAAM;IAOpB,IAAI,CAAC,OAAO,EAAE,MAAM;IAOpB,KAAK,CAAC,OAAO,EAAE,MAAM;CAMtB;AAED,QAAA,MAAM,MAAM,QAAe,CAAC;AAC5B,eAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/Logger.js b/packages/react-native-performance/dist/utils/Logger.js new file mode 100644 index 0000000..eadbf53 --- /dev/null +++ b/packages/react-native-performance/dist/utils/Logger.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Logger = exports.LogLevel = void 0; +var LogLevel; +(function (LogLevel) { + // Additional information useful for debugging the package itself + LogLevel[LogLevel["Debug"] = 0] = "Debug"; + // Additional information useful for debugging performance issues + LogLevel[LogLevel["Info"] = 1] = "Info"; + // Not errors, but warnings that signalize that something goes not as expected + LogLevel[LogLevel["Warn"] = 2] = "Warn"; + // Both internal package errors and errors about incorrect usage of library's API + LogLevel[LogLevel["Error"] = 3] = "Error"; +})(LogLevel = exports.LogLevel || (exports.LogLevel = {})); +/* +Logger class that allows specifying which log levels would be logged to the console. +(e.g., turning on Debug level would print all messages useful for debugging) +Since console.* calls are synchronous, logging happens only in a development environment (when React Native packager is running) +to ensure it doesn’t degrade the performance of a released application. +*/ +var Logger = /** @class */ (function () { + function Logger() { + } + Logger.prototype.debug = function (message) { + if (this.logLevel > LogLevel.Debug || !__DEV__) { + return; + } + console.debug(message); + }; + Logger.prototype.info = function (message) { + if (this.logLevel > LogLevel.Info || !__DEV__) { + return; + } + console.info(message); + }; + Logger.prototype.warn = function (message) { + if (this.logLevel > LogLevel.Warn || !__DEV__) { + return; + } + console.warn(message); + }; + Logger.prototype.error = function (message) { + if (this.logLevel > LogLevel.Error || !__DEV__) { + return; + } + console.error(message); + }; + return Logger; +}()); +exports.Logger = Logger; +var logger = new Logger(); +exports.default = logger; +//# sourceMappingURL=Logger.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/Logger.js.map b/packages/react-native-performance/dist/utils/Logger.js.map new file mode 100644 index 0000000..1c06300 --- /dev/null +++ b/packages/react-native-performance/dist/utils/Logger.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":";;;AAAA,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,iEAAiE;IACjE,yCAAS,CAAA;IACT,iEAAiE;IACjE,uCAAI,CAAA;IACJ,8EAA8E;IAC9E,uCAAI,CAAA;IACJ,iFAAiF;IACjF,yCAAK,CAAA;AACP,CAAC,EATW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QASnB;AAED;;;;;EAKE;AACF;IAAA;IA8BA,CAAC;IA3BC,sBAAK,GAAL,UAAM,OAAe;QACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YAC9C,OAAO;SACR;QACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,qBAAI,GAAJ,UAAK,OAAe;QAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC7C,OAAO;SACR;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,qBAAI,GAAJ,UAAK,OAAe;QAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC7C,OAAO;SACR;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,sBAAK,GAAL,UAAM,OAAe;QACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YAC9C,OAAO;SACR;QACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACH,aAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,wBAAM;AAgCnB,IAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,kBAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/PromiseController.d.ts b/packages/react-native-performance/dist/utils/PromiseController.d.ts new file mode 100644 index 0000000..949e15c --- /dev/null +++ b/packages/react-native-performance/dist/utils/PromiseController.d.ts @@ -0,0 +1,15 @@ +export default class PromiseController { + readonly promise: Promise; + private _hasCompleted; + private _result; + private _rejectionReason; + private innerResolve; + private innerReject; + constructor(); + resolve(result: T): void; + reject(rejectionReason: Error): void; + get result(): T | undefined; + get rejectionReason(): Error | undefined; + get hasCompleted(): boolean; +} +//# sourceMappingURL=PromiseController.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/PromiseController.d.ts.map b/packages/react-native-performance/dist/utils/PromiseController.d.ts.map new file mode 100644 index 0000000..a23868e --- /dev/null +++ b/packages/react-native-performance/dist/utils/PromiseController.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"PromiseController.d.ts","sourceRoot":"","sources":["../../src/utils/PromiseController.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,iBAAiB,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,WAAW,CAAmC;;IAUtD,OAAO,CAAC,MAAM,EAAE,CAAC;IAMjB,MAAM,CAAC,eAAe,EAAE,KAAK;IAM7B,IAAI,MAAM,IAAI,CAAC,GAAG,SAAS,CAE1B;IAED,IAAI,eAAe,IAAI,KAAK,GAAG,SAAS,CAEvC;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;CACF"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/PromiseController.js b/packages/react-native-performance/dist/utils/PromiseController.js new file mode 100644 index 0000000..6e7db2d --- /dev/null +++ b/packages/react-native-performance/dist/utils/PromiseController.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var PromiseController = /** @class */ (function () { + function PromiseController() { + var _this = this; + this._hasCompleted = false; + this.promise = new Promise(function (resolve, reject) { + _this.innerResolve = resolve; + _this.innerReject = reject; + }); + } + PromiseController.prototype.resolve = function (result) { + this._hasCompleted = true; + this._result = result; + this.innerResolve(result); + }; + PromiseController.prototype.reject = function (rejectionReason) { + this._hasCompleted = true; + this._rejectionReason = rejectionReason; + this.innerReject(rejectionReason); + }; + Object.defineProperty(PromiseController.prototype, "result", { + get: function () { + return this._result; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(PromiseController.prototype, "rejectionReason", { + get: function () { + return this._rejectionReason; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(PromiseController.prototype, "hasCompleted", { + get: function () { + return this._hasCompleted; + }, + enumerable: false, + configurable: true + }); + return PromiseController; +}()); +exports.default = PromiseController; +//# sourceMappingURL=PromiseController.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/PromiseController.js.map b/packages/react-native-performance/dist/utils/PromiseController.js.map new file mode 100644 index 0000000..833f5de --- /dev/null +++ b/packages/react-native-performance/dist/utils/PromiseController.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PromiseController.js","sourceRoot":"","sources":["../../src/utils/PromiseController.ts"],"names":[],"mappings":";;AAAA;IASE;QAAA,iBAMC;QALC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,UAAC,OAAO,EAAE,MAAM;YAC5C,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAO,GAAP,UAAQ,MAAS;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,kCAAM,GAAN,UAAO,eAAsB;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,sBAAI,qCAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IAED,sBAAI,8CAAe;aAAnB;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAI,2CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;;;OAAA;IACH,wBAAC;AAAD,CAAC,AAxCD,IAwCC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/error-handler.d.ts b/packages/react-native-performance/dist/utils/error-handler.d.ts new file mode 100644 index 0000000..36f2b95 --- /dev/null +++ b/packages/react-native-performance/dist/utils/error-handler.d.ts @@ -0,0 +1,5 @@ +import React from 'react'; +export declare type ErrorHandler = (_: Error) => void; +export declare const ErrorHandlerContextProvider: React.Provider; +export declare const useErrorHandler: () => ErrorHandler; +//# sourceMappingURL=error-handler.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/error-handler.d.ts.map b/packages/react-native-performance/dist/utils/error-handler.d.ts.map new file mode 100644 index 0000000..665e6ea --- /dev/null +++ b/packages/react-native-performance/dist/utils/error-handler.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,oBAAY,YAAY,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAI9C,eAAO,MAAM,2BAA2B,8BAA+B,CAAC;AAExE,eAAO,MAAM,eAAe,QAAO,YAGlC,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/error-handler.js b/packages/react-native-performance/dist/utils/error-handler.js new file mode 100644 index 0000000..00a74be --- /dev/null +++ b/packages/react-native-performance/dist/utils/error-handler.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.useErrorHandler = exports.ErrorHandlerContextProvider = void 0; +var tslib_1 = require("tslib"); +var react_1 = tslib_1.__importStar(require("react")); +var ErrorHandlerContext = react_1.default.createContext(function () { }); +exports.ErrorHandlerContextProvider = ErrorHandlerContext.Provider; +var useErrorHandler = function () { + var errorHandler = (0, react_1.useContext)(ErrorHandlerContext); + return errorHandler; +}; +exports.useErrorHandler = useErrorHandler; +//# sourceMappingURL=error-handler.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/error-handler.js.map b/packages/react-native-performance/dist/utils/error-handler.js.map new file mode 100644 index 0000000..025093f --- /dev/null +++ b/packages/react-native-performance/dist/utils/error-handler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":";;;;AAAA,qDAAwC;AAIxC,IAAM,mBAAmB,GAAG,eAAK,CAAC,aAAa,CAAe,cAAO,CAAC,CAAC,CAAC;AAE3D,QAAA,2BAA2B,GAAG,mBAAmB,CAAC,QAAQ,CAAC;AAEjE,IAAM,eAAe,GAAG;IAC7B,IAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,mBAAmB,CAAC,CAAC;IACrD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/inMemoryCounter.d.ts b/packages/react-native-performance/dist/utils/inMemoryCounter.d.ts new file mode 100644 index 0000000..15d4385 --- /dev/null +++ b/packages/react-native-performance/dist/utils/inMemoryCounter.d.ts @@ -0,0 +1,2 @@ +export default function inMemoryCounter(): string; +//# sourceMappingURL=inMemoryCounter.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/inMemoryCounter.d.ts.map b/packages/react-native-performance/dist/utils/inMemoryCounter.d.ts.map new file mode 100644 index 0000000..0c5f762 --- /dev/null +++ b/packages/react-native-performance/dist/utils/inMemoryCounter.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"inMemoryCounter.d.ts","sourceRoot":"","sources":["../../src/utils/inMemoryCounter.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,eAAe,IAAI,MAAM,CAIhD"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/inMemoryCounter.js b/packages/react-native-performance/dist/utils/inMemoryCounter.js new file mode 100644 index 0000000..622a835 --- /dev/null +++ b/packages/react-native-performance/dist/utils/inMemoryCounter.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var counter = 0; +function inMemoryCounter() { + var current = counter; + counter += 1; + return "".concat(current); +} +exports.default = inMemoryCounter; +//# sourceMappingURL=inMemoryCounter.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/inMemoryCounter.js.map b/packages/react-native-performance/dist/utils/inMemoryCounter.js.map new file mode 100644 index 0000000..09f497e --- /dev/null +++ b/packages/react-native-performance/dist/utils/inMemoryCounter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"inMemoryCounter.js","sourceRoot":"","sources":["../../src/utils/inMemoryCounter.ts"],"names":[],"mappings":";;AAAA,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,SAAwB,eAAe;IACrC,IAAM,OAAO,GAAG,OAAO,CAAC;IACxB,OAAO,IAAI,CAAC,CAAC;IACb,OAAO,UAAG,OAAO,CAAE,CAAC;AACtB,CAAC;AAJD,kCAIC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/index.d.ts b/packages/react-native-performance/dist/utils/index.d.ts new file mode 100644 index 0000000..de15dea --- /dev/null +++ b/packages/react-native-performance/dist/utils/index.d.ts @@ -0,0 +1,7 @@ +export { default as matchesPattern } from './matches-pattern'; +export * from './error-handler'; +export { default as PromiseController } from './PromiseController'; +export * from './native-performance-module'; +export { default as inMemoryCounter } from './inMemoryCounter'; +export { LogLevel, Logger } from './Logger'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/index.d.ts.map b/packages/react-native-performance/dist/utils/index.d.ts.map new file mode 100644 index 0000000..0ad8230 --- /dev/null +++ b/packages/react-native-performance/dist/utils/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAC5D,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACjE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/index.js b/packages/react-native-performance/dist/utils/index.js new file mode 100644 index 0000000..ee3dcc5 --- /dev/null +++ b/packages/react-native-performance/dist/utils/index.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Logger = exports.LogLevel = exports.inMemoryCounter = exports.PromiseController = exports.matchesPattern = void 0; +var tslib_1 = require("tslib"); +var matches_pattern_1 = require("./matches-pattern"); +Object.defineProperty(exports, "matchesPattern", { enumerable: true, get: function () { return tslib_1.__importDefault(matches_pattern_1).default; } }); +tslib_1.__exportStar(require("./error-handler"), exports); +var PromiseController_1 = require("./PromiseController"); +Object.defineProperty(exports, "PromiseController", { enumerable: true, get: function () { return tslib_1.__importDefault(PromiseController_1).default; } }); +tslib_1.__exportStar(require("./native-performance-module"), exports); +var inMemoryCounter_1 = require("./inMemoryCounter"); +Object.defineProperty(exports, "inMemoryCounter", { enumerable: true, get: function () { return tslib_1.__importDefault(inMemoryCounter_1).default; } }); +var Logger_1 = require("./Logger"); +Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return Logger_1.LogLevel; } }); +Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_1.Logger; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/index.js.map b/packages/react-native-performance/dist/utils/index.js.map new file mode 100644 index 0000000..11b7d59 --- /dev/null +++ b/packages/react-native-performance/dist/utils/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;AAAA,qDAA4D;AAApD,0IAAA,OAAO,OAAkB;AACjC,0DAAgC;AAChC,yDAAiE;AAAzD,+IAAA,OAAO,OAAqB;AACpC,sEAA4C;AAC5C,qDAA6D;AAArD,2IAAA,OAAO,OAAmB;AAClC,mCAA0C;AAAlC,kGAAA,QAAQ,OAAA;AAAE,gGAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/matches-pattern.d.ts b/packages/react-native-performance/dist/utils/matches-pattern.d.ts new file mode 100644 index 0000000..3c17321 --- /dev/null +++ b/packages/react-native-performance/dist/utils/matches-pattern.d.ts @@ -0,0 +1,2 @@ +export default function matchesPattern(input: string, pattern: string | RegExp): boolean; +//# sourceMappingURL=matches-pattern.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/matches-pattern.d.ts.map b/packages/react-native-performance/dist/utils/matches-pattern.d.ts.map new file mode 100644 index 0000000..4cc6535 --- /dev/null +++ b/packages/react-native-performance/dist/utils/matches-pattern.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"matches-pattern.d.ts","sourceRoot":"","sources":["../../src/utils/matches-pattern.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAEvF"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/matches-pattern.js b/packages/react-native-performance/dist/utils/matches-pattern.js new file mode 100644 index 0000000..4009ac9 --- /dev/null +++ b/packages/react-native-performance/dist/utils/matches-pattern.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function matchesPattern(input, pattern) { + return (pattern instanceof RegExp && pattern.test(input)) || pattern === input; +} +exports.default = matchesPattern; +//# sourceMappingURL=matches-pattern.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/matches-pattern.js.map b/packages/react-native-performance/dist/utils/matches-pattern.js.map new file mode 100644 index 0000000..f87f458 --- /dev/null +++ b/packages/react-native-performance/dist/utils/matches-pattern.js.map @@ -0,0 +1 @@ +{"version":3,"file":"matches-pattern.js","sourceRoot":"","sources":["../../src/utils/matches-pattern.ts"],"names":[],"mappings":";;AAAA,SAAwB,cAAc,CAAC,KAAa,EAAE,OAAwB;IAC5E,OAAO,CAAC,OAAO,YAAY,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,KAAK,CAAC;AACjF,CAAC;AAFD,iCAEC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/native-performance-module.d.ts b/packages/react-native-performance/dist/utils/native-performance-module.d.ts new file mode 100644 index 0000000..b86393a --- /dev/null +++ b/packages/react-native-performance/dist/utils/native-performance-module.d.ts @@ -0,0 +1,7 @@ +export declare function getNativeTime(): Promise<{ + nativeTimeSinceEpochMillis: number; + nativeUptimeMillis: number; +}>; +export declare function getNativeStartupTimestamp(): Promise; +export declare function getNativeUuid(): Promise; +//# sourceMappingURL=native-performance-module.d.ts.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/native-performance-module.d.ts.map b/packages/react-native-performance/dist/utils/native-performance-module.d.ts.map new file mode 100644 index 0000000..3376355 --- /dev/null +++ b/packages/react-native-performance/dist/utils/native-performance-module.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"native-performance-module.d.ts","sourceRoot":"","sources":["../../src/utils/native-performance-module.ts"],"names":[],"mappings":"AA6BA,wBAAsB,aAAa;;;GAQlC;AAED,wBAAsB,yBAAyB,oBAE9C;AAED,wBAAsB,aAAa,oBAElC"} \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/native-performance-module.js b/packages/react-native-performance/dist/utils/native-performance-module.js new file mode 100644 index 0000000..5fe2336 --- /dev/null +++ b/packages/react-native-performance/dist/utils/native-performance-module.js @@ -0,0 +1,63 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getNativeUuid = exports.getNativeStartupTimestamp = exports.getNativeTime = void 0; +var tslib_1 = require("tslib"); +var react_native_1 = require("react-native"); +var exceptions_1 = require("../exceptions"); +var NATIVE_MODULE_NAME = 'Performance'; +var NativePerformanceModule = /** @class */ (function () { + function NativePerformanceModule() { + if (!(NATIVE_MODULE_NAME in react_native_1.NativeModules)) { + throw new exceptions_1.NativeModuleNotFoundError(); + } + } + NativePerformanceModule.prototype.getNativeTime = function () { + return react_native_1.NativeModules[NATIVE_MODULE_NAME].getNativeTime(); + }; + NativePerformanceModule.prototype.getNativeStartupTimestamp = function () { + return react_native_1.NativeModules[NATIVE_MODULE_NAME].getNativeStartupTimestamp(); + }; + NativePerformanceModule.prototype.getNativeUuid = function () { + return react_native_1.NativeModules[NATIVE_MODULE_NAME].getNativeUuid(); + }; + return NativePerformanceModule; +}()); +function getNativeTime() { + return tslib_1.__awaiter(this, void 0, void 0, function () { + var _a, timeSinceEpochMillisString, uptimeMillisString, nativeTimeSinceEpochMillis, nativeUptimeMillis; + return tslib_1.__generator(this, function (_b) { + switch (_b.label) { + case 0: return [4 /*yield*/, new NativePerformanceModule().getNativeTime()]; + case 1: + _a = _b.sent(), timeSinceEpochMillisString = _a.timeSinceEpochMillis, uptimeMillisString = _a.uptimeMillis; + nativeTimeSinceEpochMillis = Number.parseFloat(timeSinceEpochMillisString); + nativeUptimeMillis = Number.parseFloat(uptimeMillisString); + return [2 /*return*/, { nativeTimeSinceEpochMillis: nativeTimeSinceEpochMillis, nativeUptimeMillis: nativeUptimeMillis }]; + } + }); + }); +} +exports.getNativeTime = getNativeTime; +function getNativeStartupTimestamp() { + return tslib_1.__awaiter(this, void 0, void 0, function () { + var _a, _b; + return tslib_1.__generator(this, function (_c) { + switch (_c.label) { + case 0: + _b = (_a = Number).parseFloat; + return [4 /*yield*/, new NativePerformanceModule().getNativeStartupTimestamp()]; + case 1: return [2 /*return*/, _b.apply(_a, [_c.sent()])]; + } + }); + }); +} +exports.getNativeStartupTimestamp = getNativeStartupTimestamp; +function getNativeUuid() { + return tslib_1.__awaiter(this, void 0, void 0, function () { + return tslib_1.__generator(this, function (_a) { + return [2 /*return*/, new NativePerformanceModule().getNativeUuid()]; + }); + }); +} +exports.getNativeUuid = getNativeUuid; +//# sourceMappingURL=native-performance-module.js.map \ No newline at end of file diff --git a/packages/react-native-performance/dist/utils/native-performance-module.js.map b/packages/react-native-performance/dist/utils/native-performance-module.js.map new file mode 100644 index 0000000..2c07f9b --- /dev/null +++ b/packages/react-native-performance/dist/utils/native-performance-module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"native-performance-module.js","sourceRoot":"","sources":["../../src/utils/native-performance-module.ts"],"names":[],"mappings":";;;;AAAA,6CAA2C;AAE3C,4CAAwD;AAExD,IAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC;IACE;QACE,IAAI,CAAC,CAAC,kBAAkB,IAAI,4BAAa,CAAC,EAAE;YAC1C,MAAM,IAAI,sCAAyB,EAAE,CAAC;SACvC;IACH,CAAC;IAED,+CAAa,GAAb;QACE,OAAO,4BAAa,CAAC,kBAAkB,CAAC,CAAC,aAAa,EAGpD,CAAC;IACL,CAAC;IAED,2DAAyB,GAAzB;QACE,OAAO,4BAAa,CAAC,kBAAkB,CAAC,CAAC,yBAAyB,EAAqB,CAAC;IAC1F,CAAC;IAED,+CAAa,GAAb;QACE,OAAO,4BAAa,CAAC,kBAAkB,CAAC,CAAC,aAAa,EAAqB,CAAC;IAC9E,CAAC;IACH,8BAAC;AAAD,CAAC,AArBD,IAqBC;AAED,SAAsB,aAAa;;;;;wBAE/B,qBAAM,IAAI,uBAAuB,EAAE,CAAC,aAAa,EAAE,EAAA;;oBAD/C,KACJ,SAAmD,EADxB,0BAA0B,0BAAA,EAAgB,kBAAkB,kBAAA;oBAGnF,0BAA0B,GAAG,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;oBAC3E,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;oBAEjE,sBAAO,EAAC,0BAA0B,4BAAA,EAAE,kBAAkB,oBAAA,EAAC,EAAC;;;;CACzD;AARD,sCAQC;AAED,SAAsB,yBAAyB;;;;;;oBACtC,KAAA,CAAA,KAAA,MAAM,CAAA,CAAC,UAAU,CAAA;oBAAC,qBAAM,IAAI,uBAAuB,EAAE,CAAC,yBAAyB,EAAE,EAAA;wBAAxF,sBAAO,cAAkB,SAA+D,EAAC,EAAC;;;;CAC3F;AAFD,8DAEC;AAED,SAAsB,aAAa;;;YACjC,sBAAO,IAAI,uBAAuB,EAAE,CAAC,aAAa,EAAE,EAAC;;;CACtD;AAFD,sCAEC"} \ No newline at end of file diff --git a/packages/react-native-performance/package.json b/packages/react-native-performance/package.json index 28d4aa9..5eb5a07 100644 --- a/packages/react-native-performance/package.json +++ b/packages/react-native-performance/package.json @@ -20,12 +20,13 @@ "test": "tsc -b && yarn jest" }, "bugs": { - "url": "https://github.com/shopify/react-native-performance/issues" + "url": "https://github.com/moonpay/react-native-performance/issues" }, - "homepage": "https://github.com/shopify/react-native-performance#readme", + "homepage": "https://github.com/moonpay/react-native-performance#readme", "repository": { "type": "git", - "url": "git+https://github.com/shopify/react-native-performance.git" + "url": "git+https://github.com/moonpay/react-native-performance.git", + "directory": "packages/react-native-performance" }, "peerDependencies": { "@babel/runtime": "*",