react-relay 0.0.0-main-84c633f9 → 0.0.0-main-9bfa44e8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/ReactRelayContext.js +1 -1
  2. package/ReactRelayLocalQueryRenderer.js.flow +1 -1
  3. package/ReactRelayPaginationContainer.js.flow +11 -10
  4. package/ReactRelayQueryFetcher.js.flow +18 -5
  5. package/ReactRelayQueryRenderer.js.flow +26 -1
  6. package/ReactRelayRefetchContainer.js.flow +2 -2
  7. package/ReactRelayTestMocker.js.flow +2 -1
  8. package/__flowtests__/ReactRelayFragmentContainer-flowtest.js.flow +1 -1
  9. package/hooks.js +1 -1
  10. package/index.js +1 -1
  11. package/legacy.js +1 -1
  12. package/lib/ReactRelayQueryFetcher.js +22 -5
  13. package/lib/ReactRelayQueryRenderer.js +30 -5
  14. package/package.json +2 -2
  15. package/react-relay-hooks.js +1 -1
  16. package/react-relay-hooks.min.js +1 -1
  17. package/react-relay-legacy.js +2 -2
  18. package/react-relay-legacy.min.js +2 -2
  19. package/react-relay.js +2 -2
  20. package/react-relay.min.js +2 -2
  21. package/relay-hooks/FragmentResource.js.flow +1 -1
  22. package/relay-hooks/QueryResource.js.flow +1 -1
  23. package/relay-hooks/preloadQuery_DEPRECATED.js.flow +1 -1
  24. package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +9 -5
  25. package/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js.flow +2 -2
  26. package/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js.flow +1 -1
  27. package/relay-hooks/useEntryPointLoader.js.flow +9 -5
  28. package/relay-hooks/useFragment.js.flow +1 -1
  29. package/relay-hooks/useLazyLoadQuery.js.flow +1 -1
  30. package/relay-hooks/useMutation.js.flow +1 -1
  31. package/relay-hooks/usePaginationFragment.js.flow +1 -1
  32. package/relay-hooks/usePreloadedQuery.js.flow +1 -1
  33. package/relay-hooks/useQueryLoader.js.flow +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-84c633f9
2
+ * Relay v0.0.0-main-9bfa44e8
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -64,7 +64,7 @@ function ReactRelayLocalQueryRenderer(props: Props): React.Node {
64
64
  // Use a ref to prevent rendering twice when data changes
65
65
  // because of props change
66
66
  const dataRef = useRef<?SelectorData>(null);
67
- const [, forceUpdate] = useState(null);
67
+ const [, forceUpdate] = useState<?SelectorData>(null);
68
68
  const cleanupFnRef = useRef<null | (() => void)>(null);
69
69
 
70
70
  const snapshot = useMemo(() => {
@@ -11,6 +11,7 @@
11
11
 
12
12
  'use strict';
13
13
 
14
+ import type {Sink} from '../relay-runtime/network/RelayObservable';
14
15
  import type {
15
16
  GeneratedNodeMap,
16
17
  ObserverOrCallback,
@@ -255,9 +256,9 @@ function createGetFragmentVariables(
255
256
  'ReactRelayPaginationContainer: Unable to synthesize a ' +
256
257
  'getFragmentVariables function.',
257
258
  );
258
- return (prevVars: Variables, totalCount: number) => ({
259
+ return (prevVars: Variables, totalCount: number): Variables => ({
259
260
  ...prevVars,
260
- [countVariable]: totalCount,
261
+ [(countVariable: string)]: totalCount,
261
262
  });
262
263
  }
263
264
 
@@ -770,7 +771,7 @@ function createContainerWithFragments<
770
771
  ...restProps,
771
772
  ...this.state.data,
772
773
  };
773
- let fragmentVariables;
774
+ let fragmentVariables: Variables;
774
775
  const rootVariables = getRootVariablesForFragments(fragments, restProps);
775
776
  fragmentVariables = getVariablesFromObject(fragments, restProps);
776
777
  fragmentVariables = {
@@ -778,7 +779,7 @@ function createContainerWithFragments<
778
779
  ...fragmentVariables,
779
780
  ...this._refetchVariables,
780
781
  };
781
- let fetchVariables = connectionConfig.getVariables(
782
+ let fetchVariables: Variables = connectionConfig.getVariables(
782
783
  props,
783
784
  {
784
785
  count: paginatingVariables.count,
@@ -793,14 +794,14 @@ function createContainerWithFragments<
793
794
  fetchVariables,
794
795
  componentName,
795
796
  );
796
- fetchVariables = {
797
+ fetchVariables = ({
797
798
  ...fetchVariables,
798
799
  ...this._refetchVariables,
799
- };
800
- fragmentVariables = {
800
+ }: Variables);
801
+ fragmentVariables = ({
801
802
  ...fetchVariables,
802
803
  ...fragmentVariables,
803
- };
804
+ }: Variables);
804
805
 
805
806
  const cacheConfig: ?CacheConfig = options
806
807
  ? {force: !!options.force}
@@ -871,8 +872,8 @@ function createContainerWithFragments<
871
872
  operation,
872
873
  preservePreviousReferences: true,
873
874
  })
874
- .mergeMap(payload =>
875
- Observable.create(sink => {
875
+ .mergeMap<void>(payload =>
876
+ Observable.create<void>((sink: Sink<void>) => {
876
877
  onNext(payload, () => {
877
878
  sink.next(); // pass void to public observer's `next`
878
879
  sink.complete();
@@ -63,7 +63,7 @@ class ReactRelayQueryFetcher {
63
63
  _snapshot: ?Snapshot; // results of the root fragment;
64
64
  _error: ?Error; // fetch error
65
65
  _cacheSelectionReference: ?Disposable;
66
- _callOnDataChangeWhenSet: boolean = false;
66
+ _didFetchFinish: boolean = false;
67
67
 
68
68
  constructor(args?: {
69
69
  cacheSelectionReference: ?Disposable,
@@ -103,6 +103,19 @@ class ReactRelayQueryFetcher {
103
103
  return null;
104
104
  }
105
105
 
106
+ getFetchResult(): ?{error?: Error, snapshot?: Snapshot} {
107
+ if (this._didFetchFinish) {
108
+ // We don't reset '_didFetchFinish' because another callback may be set
109
+ if (this._error != null) {
110
+ return {error: this._error};
111
+ } else if (this._snapshot != null) {
112
+ return {snapshot: this._snapshot};
113
+ }
114
+ } else {
115
+ return null;
116
+ }
117
+ }
118
+
106
119
  execute({
107
120
  environment,
108
121
  operation,
@@ -152,8 +165,8 @@ class ReactRelayQueryFetcher {
152
165
  this._fetchOptions.onDataChangeCallbacks || [];
153
166
  this._fetchOptions.onDataChangeCallbacks.push(onDataChange);
154
167
 
155
- if (this._callOnDataChangeWhenSet) {
156
- // We don't reset '_callOnDataChangeWhenSet' because another callback may be set
168
+ if (this._didFetchFinish) {
169
+ // We don't reset '_didFetchFinish' because another callback may be set
157
170
  if (this._error != null) {
158
171
  onDataChange({error: this._error});
159
172
  } else if (this._snapshot != null) {
@@ -216,7 +229,7 @@ class ReactRelayQueryFetcher {
216
229
  next: () => {
217
230
  // If we received a response,
218
231
  // Make a note that to notify the callback when it's later added.
219
- this._callOnDataChangeWhenSet = true;
232
+ this._didFetchFinish = true;
220
233
  this._error = null;
221
234
 
222
235
  // Only notify of the first result if `next` is being called **asynchronously**
@@ -226,7 +239,7 @@ class ReactRelayQueryFetcher {
226
239
  error: err => {
227
240
  // If we received a response when we didn't have a change callback,
228
241
  // Make a note that to notify the callback when it's later added.
229
- this._callOnDataChangeWhenSet = true;
242
+ this._didFetchFinish = true;
230
243
  this._error = err;
231
244
  this._snapshot = null;
232
245
 
@@ -21,6 +21,7 @@ import type {
21
21
  Snapshot,
22
22
  Variables,
23
23
  } from 'relay-runtime';
24
+ const {RelayFeatureFlags} = require('relay-runtime');
24
25
 
25
26
  const ReactRelayContext = require('./ReactRelayContext');
26
27
  const ReactRelayQueryFetcher = require('./ReactRelayQueryFetcher');
@@ -173,7 +174,31 @@ class ReactRelayQueryRenderer extends React.Component<Props, State> {
173
174
  const newState = resetQueryStateForUpdate(this.props, prevState);
174
175
  const {requestCacheKey, queryFetcher} = newState;
175
176
  if (requestCacheKey != null && requestCache[requestCacheKey] != null) {
176
- queryFetcher.setOnDataChange(this._handleDataChange);
177
+ if (RelayFeatureFlags.ENABLE_QUERY_RENDERER_SET_STATE_PREVENTION) {
178
+ const fetchResult = queryFetcher.getFetchResult();
179
+ if (fetchResult != null) {
180
+ const snapshot = fetchResult.snapshot ?? null;
181
+ const error = fetchResult.error ?? null;
182
+
183
+ const {requestCacheKey: prevRequestCacheKey} = prevState;
184
+ if (prevRequestCacheKey != null) {
185
+ delete requestCache[prevRequestCacheKey];
186
+ }
187
+
188
+ newState.renderProps = getRenderProps(
189
+ error,
190
+ snapshot,
191
+ queryFetcher,
192
+ prevState.retryCallbacks,
193
+ );
194
+ newState.snapshot = snapshot;
195
+ newState.requestCacheKey = null;
196
+ } else {
197
+ queryFetcher.setOnDataChange(this._handleDataChange);
198
+ }
199
+ } else {
200
+ queryFetcher.setOnDataChange(this._handleDataChange);
201
+ }
177
202
  }
178
203
  return newState;
179
204
  });
@@ -407,12 +407,12 @@ function createContainerWithFragments<
407
407
  // TODO (T26430099): Cleanup old references
408
408
  preservePreviousReferences: true,
409
409
  })
410
- .mergeMap(response => {
410
+ .mergeMap<void>(response => {
411
411
  this.state.resolver.setVariables(
412
412
  fragmentVariables,
413
413
  operation.request.node,
414
414
  );
415
- return Observable.create(sink =>
415
+ return Observable.create<void>(sink =>
416
416
  this.setState(
417
417
  latestState => ({
418
418
  data: latestState.resolver.resolve(),
@@ -15,6 +15,7 @@ import type {
15
15
  CacheConfig,
16
16
  ConcreteRequest,
17
17
  GraphQLSingularResponse,
18
+ GraphQLResponse,
18
19
  IEnvironment,
19
20
  PayloadError,
20
21
  RequestParameters,
@@ -146,7 +147,7 @@ class ReactRelayTestMocker {
146
147
  ) => {
147
148
  let resolve;
148
149
  let reject;
149
- const promise = new Promise((res, rej) => {
150
+ const promise = new Promise<GraphQLResponse>((res, rej) => {
150
151
  resolve = res;
151
152
  reject = rej;
152
153
  });
@@ -140,7 +140,7 @@ module.exports = {
140
140
  render(): React.Element<typeof Bar> {
141
141
  return (
142
142
  <Bar
143
- componentRef={ref => {
143
+ componentRef={(ref: empty) => {
144
144
  this._barRef = (ref: empty);
145
145
  }}
146
146
  requiredProp="bar"
package/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-84c633f9
2
+ * Relay v0.0.0-main-9bfa44e8
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-84c633f9
2
+ * Relay v0.0.0-main-9bfa44e8
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
package/legacy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-84c633f9
2
+ * Relay v0.0.0-main-9bfa44e8
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -24,7 +24,7 @@ var _require = require('relay-runtime'),
24
24
  var ReactRelayQueryFetcher = /*#__PURE__*/function () {
25
25
  function ReactRelayQueryFetcher(args) {
26
26
  (0, _defineProperty2["default"])(this, "_selectionReferences", []);
27
- (0, _defineProperty2["default"])(this, "_callOnDataChangeWhenSet", false);
27
+ (0, _defineProperty2["default"])(this, "_didFetchFinish", false);
28
28
 
29
29
  if (args != null) {
30
30
  this._cacheSelectionReference = args.cacheSelectionReference;
@@ -53,6 +53,23 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
53
53
  return null;
54
54
  };
55
55
 
56
+ _proto.getFetchResult = function getFetchResult() {
57
+ if (this._didFetchFinish) {
58
+ // We don't reset '_didFetchFinish' because another callback may be set
59
+ if (this._error != null) {
60
+ return {
61
+ error: this._error
62
+ };
63
+ } else if (this._snapshot != null) {
64
+ return {
65
+ snapshot: this._snapshot
66
+ };
67
+ }
68
+ } else {
69
+ return null;
70
+ }
71
+ };
72
+
56
73
  _proto.execute = function execute(_ref) {
57
74
  var _this = this;
58
75
 
@@ -109,8 +126,8 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
109
126
 
110
127
  this._fetchOptions.onDataChangeCallbacks.push(onDataChange);
111
128
 
112
- if (this._callOnDataChangeWhenSet) {
113
- // We don't reset '_callOnDataChangeWhenSet' because another callback may be set
129
+ if (this._didFetchFinish) {
130
+ // We don't reset '_didFetchFinish' because another callback may be set
114
131
  if (this._error != null) {
115
132
  onDataChange({
116
133
  error: this._error
@@ -167,7 +184,7 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
167
184
  next: function next() {
168
185
  // If we received a response,
169
186
  // Make a note that to notify the callback when it's later added.
170
- _this2._callOnDataChangeWhenSet = true;
187
+ _this2._didFetchFinish = true;
171
188
  _this2._error = null; // Only notify of the first result if `next` is being called **asynchronously**
172
189
  // (i.e. after `fetch` has returned).
173
190
 
@@ -178,7 +195,7 @@ var ReactRelayQueryFetcher = /*#__PURE__*/function () {
178
195
  error: function error(err) {
179
196
  // If we received a response when we didn't have a change callback,
180
197
  // Make a note that to notify the callback when it's later added.
181
- _this2._callOnDataChangeWhenSet = true;
198
+ _this2._didFetchFinish = true;
182
199
  _this2._error = err;
183
200
  _this2._snapshot = null;
184
201
  var onDataChangeCallbacks = _this2._fetchOptions && _this2._fetchOptions.onDataChangeCallbacks; // Only notify of error if `error` is being called **asynchronously**
@@ -20,6 +20,9 @@ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inh
20
20
 
21
21
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
22
22
 
23
+ var _require = require('relay-runtime'),
24
+ RelayFeatureFlags = _require.RelayFeatureFlags;
25
+
23
26
  var ReactRelayContext = require('./ReactRelayContext');
24
27
 
25
28
  var ReactRelayQueryFetcher = require('./ReactRelayQueryFetcher');
@@ -30,10 +33,10 @@ var areEqual = require("fbjs/lib/areEqual");
30
33
 
31
34
  var React = require('react');
32
35
 
33
- var _require = require('relay-runtime'),
34
- createOperationDescriptor = _require.createOperationDescriptor,
35
- deepFreeze = _require.deepFreeze,
36
- getRequest = _require.getRequest;
36
+ var _require2 = require('relay-runtime'),
37
+ createOperationDescriptor = _require2.createOperationDescriptor,
38
+ deepFreeze = _require2.deepFreeze,
39
+ getRequest = _require2.getRequest;
37
40
 
38
41
  /**
39
42
  * React may double-fire the constructor, and we call 'fetch' in the
@@ -146,7 +149,29 @@ var ReactRelayQueryRenderer = /*#__PURE__*/function (_React$Component) {
146
149
  queryFetcher = newState.queryFetcher;
147
150
 
148
151
  if (requestCacheKey != null && requestCache[requestCacheKey] != null) {
149
- queryFetcher.setOnDataChange(_this2._handleDataChange);
152
+ if (RelayFeatureFlags.ENABLE_QUERY_RENDERER_SET_STATE_PREVENTION) {
153
+ var fetchResult = queryFetcher.getFetchResult();
154
+
155
+ if (fetchResult != null) {
156
+ var _fetchResult$snapshot, _fetchResult$error;
157
+
158
+ var snapshot = (_fetchResult$snapshot = fetchResult.snapshot) !== null && _fetchResult$snapshot !== void 0 ? _fetchResult$snapshot : null;
159
+ var error = (_fetchResult$error = fetchResult.error) !== null && _fetchResult$error !== void 0 ? _fetchResult$error : null;
160
+ var prevRequestCacheKey = prevState.requestCacheKey;
161
+
162
+ if (prevRequestCacheKey != null) {
163
+ delete requestCache[prevRequestCacheKey];
164
+ }
165
+
166
+ newState.renderProps = getRenderProps(error, snapshot, queryFetcher, prevState.retryCallbacks);
167
+ newState.snapshot = snapshot;
168
+ newState.requestCacheKey = null;
169
+ } else {
170
+ queryFetcher.setOnDataChange(_this2._handleDataChange);
171
+ }
172
+ } else {
173
+ queryFetcher.setOnDataChange(_this2._handleDataChange);
174
+ }
150
175
  }
151
176
 
152
177
  return newState;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-relay",
3
3
  "description": "A framework for building GraphQL-driven React applications.",
4
- "version": "0.0.0-main-84c633f9",
4
+ "version": "0.0.0-main-9bfa44e8",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay",
@@ -20,7 +20,7 @@
20
20
  "fbjs": "^3.0.2",
21
21
  "invariant": "^2.2.4",
22
22
  "nullthrows": "^1.1.1",
23
- "relay-runtime": "0.0.0-main-84c633f9"
23
+ "relay-runtime": "0.0.0-main-9bfa44e8"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^16.9.0 || ^17 || ^18"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-84c633f9
2
+ * Relay v0.0.0-main-9bfa44e8
3
3
  */
4
4
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("relay-runtime"),require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual")):"function"==typeof define&&define.amd?define(["react","relay-runtime","invariant","@babel/runtime/helpers/interopRequireDefault","fbjs/lib/warning","@babel/runtime/helpers/objectSpread2","@babel/runtime/helpers/defineProperty","react-relay/ReactRelayContext","@babel/runtime/helpers/createForOfIteratorHelper","@babel/runtime/helpers/toConsumableArray","fbjs/lib/areEqual"],t):"object"==typeof exports?exports.ReactRelayHooks=t(require("react"),require("relay-runtime"),require("invariant"),require("@babel/runtime/helpers/interopRequireDefault"),require("fbjs/lib/warning"),require("@babel/runtime/helpers/objectSpread2"),require("@babel/runtime/helpers/defineProperty"),require("react-relay/ReactRelayContext"),require("@babel/runtime/helpers/createForOfIteratorHelper"),require("@babel/runtime/helpers/toConsumableArray"),require("fbjs/lib/areEqual")):e.ReactRelayHooks=t(e.react,e["relay-runtime"],e.invariant,e["@babel/runtime/helpers/interopRequireDefault"],e["fbjs/lib/warning"],e["@babel/runtime/helpers/objectSpread2"],e["@babel/runtime/helpers/defineProperty"],e["react-relay/ReactRelayContext"],e["@babel/runtime/helpers/createForOfIteratorHelper"],e["@babel/runtime/helpers/toConsumableArray"],e["fbjs/lib/areEqual"])}(window,(function(e,t,r,n,a,i,o,u,s,l,c){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=27)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t,r){"use strict";var n=r(3),a=r(0).useContext,i=r(16);e.exports=function(){var e=a(i);return null==e&&n(!1,"useRelayEnvironment: Expected to have found a Relay environment provided by a `RelayEnvironmentProvider` component. This usually means that useRelayEnvironment was used in a component that is not a descendant of a `RelayEnvironmentProvider`. Please make sure a `RelayEnvironmentProvider` has been rendered somewhere as a parent or ancestor of your component."),e.environment}},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t){e.exports=a},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(3),i=r(0),o=r(1),u=o.Observable,s=o.PreloadableQueryRegistry,l=o.RelayFeatureFlags,c=o.ReplaySubject,f=o.__internal.fetchQueryDeduped,d=o.createOperationDescriptor,p=o.getRequest,h=o.getRequestIdentifier,v=r(5),m=null,y=100001;e.exports={loadQuery:function(e,t,r,o,g){var b,_,R,E,P=null===(b=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===b||null===(_=b.ReactCurrentDispatcher)||void 0===_?void 0:_.current;v(null==m||P!==m,"Relay: `%s` should not be called inside a React render function.",null!==(R=null==o?void 0:o.__nameForWarning)&&void 0!==R?R:"loadQuery"),y++;var k,C,x,S,w,I,q=null!==(E=null==o?void 0:o.fetchPolicy)&&void 0!==E?E:"store-or-network",D=(0,n.default)((0,n.default)({},null==o?void 0:o.networkCacheConfig),{},{force:!0}),F=!1,A=function(t,r){return F=!0,e.executeWithSource({operation:t,source:r})},N=new c,Q=u.create((function(e){return N.subscribe(e)})),T=null,O=!1,M=function(t){var n;O=!0;var a=new c;if(!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING){var i="raw-network-request-"+h(t,r);n=f(e,i,(function(){return e.getNetwork().execute(t,r,D)}))}else{n=e.getNetwork().execute(t,r,D)}var o=n.subscribe({error:function(e){T=e,a.error(e)},next:function(e){a.next(e)},complete:function(){a.complete()}}).unsubscribe;return C=o,u.create((function(e){var t=a.subscribe(e);return function(){t.unsubscribe(),C()}}))},L=function(t,r){!0===l.ENABLE_LOAD_QUERY_REQUEST_DEDUPING&&(O=!0);var n=f(e,t.request.identifier,r).subscribe({error:function(e){N.error(e)},next:function(e){N.next(e)},complete:function(){N.complete()}});x=n.unsubscribe},U=function(t){var n=d(t,r,D);(k=e.retain(n),"store-only"!==q)&&(("store-or-network"!==q||"available"!==e.check(n).status)&&L(n,(function(){var e=M(t.params);return A(n,e)})))};if("PreloadableConcreteRequest"===t.kind){null===(I=(S=t.params).id)&&a(!1,"Relay: `loadQuery` requires that preloadable query `%s` has a persisted query id",S.name);var j=s.get(I);if(null!=j)U(j);else{var W="store-only"===q?null:M(S),B=s.onLoad(I,(function(t){w();var n=d(t,r,D);k=e.retain(n),null!=W&&L(n,(function(){return A(n,W)}))}));w=B.dispose}}else{var K=p(t);I=null!=(S=K.params).cacheID?S.cacheID:S.id,U(K)}var V=!1,H=!1,G=!1,z=function(){H||(k&&k.dispose(),H=!0)},Y=function(){G||(F?x&&x():C&&C(),w&&w(),G=!0)};return{kind:"PreloadedQuery",environment:e,environmentProviderOptions:g,dispose:function(){V||(z(),Y(),V=!0)},releaseQuery:z,cancelNetworkRequest:Y,fetchKey:y,id:I,get isDisposed(){return V||H},get networkError(){return T},name:S.name,networkCacheConfig:D,fetchPolicy:q,source:O?Q:void 0,variables:r}},useTrackLoadQueryInRender:function(){var e,t;null===m&&(m=null===(e=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)||void 0===e||null===(t=e.ReactCurrentDispatcher)||void 0===t?void 0:t.current)}}},function(e,t){e.exports=i},function(e,t,r){"use strict";var n=r(0),a=n.useEffect,i=n.useRef;e.exports=function(){var e=i(!0);return a((function(){return e.current=!0,function(){e.current=!1}}),[]),e}},function(e,t,r){"use strict";var n=r(0).createContext({wrapPrepareQueryResource:function(e){return e()}});e.exports=n},function(e,t,r){"use strict";var n=r(5),a=null;e.exports={inject:function(e){n(null!==a,"Relay HooksImplementation was injected twice."),a=e},get:function(){return a}}},function(e,t,r){"use strict";var n=r(12),a=r(19).getFragmentResourceForEnvironment,i=r(2),o=r(0),u=o.useEffect,s=o.useState,l=r(1).getFragmentIdentifier,c=r(5);e.exports=function(e,t,r){var o=i(),f=a(o),d=n(!1),p=s(0)[1],h=l(e,t),v=f.readWithIdentifier(e,t,h,r),m=n(!0);function y(){!1!==d.current&&!1!==m.current&&p((function(e){return e+1}))}return u((function(){d.current=!0;var e=f.subscribe(v,y);return function(){d.current=!1,e.dispose()}}),[o,h]),null!=t&&(void 0===v.data||Array.isArray(v.data)&&v.data.length>0&&v.data.every((function(e){return void 0===e})))&&c(!1,"Relay: Expected to have been able to read non-null data for fragment `%s` declared in `%s`, since fragment reference was non-null. Make sure that that `%s`'s parent isn't holding on to and/or passing a fragment reference for data that has been deleted.",e.name,r,r),{data:v.data,disableStoreUpdates:function(){m.current=!1},enableStoreUpdates:function(){m.current=!0,f.checkMissedUpdates(v)[0]&&y()}}}},function(e,t,r){"use strict";var n=r(0).useMemo;e.exports=function(e){return n((function(){return{current:e}}),[])}},function(e,t){e.exports=o},function(e,t,r){"use strict";var n=r(4).default,a=n(r(7)),i=n(r(13)),o=r(20),u=r(21),s=r(3),l=r(1).isPromise,c=r(5),f="function"==typeof WeakMap;function d(e){return void 0!==e.request.node.params.metadata.live}function p(e,t,r,n,a){var i=null!=r?r:d(t)?"store-and-network":"store-or-network",o=null!=n?n:e.UNSTABLE_getDefaultRenderPolicy(),u="".concat(i,"-").concat(o,"-").concat(t.request.identifier);return null!=a?"".concat(u,"-").concat(a):u}function h(e,t){var r={__id:e.fragment.dataID,__fragments:(0,i.default)({},e.fragment.node.name,e.request.variables),__fragmentOwner:e.request};return{cacheIdentifier:t,fragmentNode:e.request.node.fragment,fragmentRef:r,operation:e}}var v=2e5;function m(e,t,r,n,a,i){var o=d(t),s=n,l=a,c=new u((function(e){var r=e.retain(t);return{dispose:function(){o&&null!=l&&l.unsubscribe(),r.dispose(),i(f)}}})),f={cacheIdentifier:e,id:v++,processedPayloadsCount:0,operationAvailability:r,getValue:function(){return s},setValue:function(e){s=e},setNetworkSubscription:function(e){o&&null!=l&&l.unsubscribe(),l=e},temporaryRetain:function(e){return c.temporaryRetain(e)},permanentRetain:function(e){return c.permanentRetain(e)},releaseTemporaryRetain:function(){c.releaseTemporaryRetain()}};return f}var y=function(){function e(e){var t=this;(0,i.default)(this,"_clearCacheEntry",(function(e){t._cache.delete(e.cacheIdentifier)})),this._environment=e,this._cache=o.create(1e3)}var t=e.prototype;return t.prepare=function(e,t,r,n,a,i,o){var u=p(this._environment,e,r,n,i);return this.prepareWithIdentifier(u,e,t,r,n,a,o)},t.prepareWithIdentifier=function(e,t,r,n,i,o,u){var s=this._environment,c=null!=n?n:d(t)?"store-and-network":"store-or-network",f=null!=i?i:s.UNSTABLE_getDefaultRenderPolicy(),p=this._cache.get(e),h=null,v=null!=p;null==p&&(p=this._fetchAndSaveQuery(e,t,r,c,f,u,(0,a.default)((0,a.default)({},o),{},{unsubscribe:function(e){null!=h&&h.dispose();var t=null==o?void 0:o.unsubscribe;t&&t(e)}}))),h=p.temporaryRetain(s);var m=p.getValue();if(l(m))throw s.__log({name:"suspense.query",fetchPolicy:c,isPromiseCached:v,operation:t,queryAvailability:p.operationAvailability,renderPolicy:f}),m;if(m instanceof Error)throw m;return m},t.retain=function(e,t){var r=this._environment,n=e.cacheIdentifier,a=e.operation,i=this._getOrCreateCacheEntry(n,a,null,e,null),o=i.permanentRetain(r);return r.__log({name:"queryresource.retain",profilerContext:t,resourceID:i.id}),{dispose:function(){o.dispose()}}},t.releaseTemporaryRetain=function(e){var t=this._cache.get(e.cacheIdentifier);null!=t&&t.releaseTemporaryRetain()},t.TESTS_ONLY__getCacheEntry=function(e,t,r,n){var a=p(this._environment,e,t,r,n);return this._cache.get(a)},t._getOrCreateCacheEntry=function(e,t,r,n,a){var i=this._cache.get(e);return null==i&&(i=m(e,t,r,n,a,this._clearCacheEntry),this._cache.set(e,i)),i},t._fetchAndSaveQuery=function(e,t,r,n,i,o,u){var l,f,p=this,v=this._environment,y=v.check(t),g=y.status,b="available"===g,_=b||"partial"===i&&"stale"!==g,R=function(){};switch(n){case"store-only":l=!1,f=!0;break;case"store-or-network":l=!b,f=_;break;case"store-and-network":l=!0,f=_;break;case"network-only":default:l=!0,f=!1}if(f){var E=h(t,e),P=m(e,t,y,E,null,this._clearCacheEntry);this._cache.set(e,P)}if(l){var k,C=h(t,e);r.subscribe({start:function(r){k=r;var n=p._cache.get(e);n&&n.setNetworkSubscription(k);var i=null==u?void 0:u.start;i&&i((0,a.default)((0,a.default)({},r),{},{unsubscribe:function(){d(t)&&r.unsubscribe()}}))},next:function(){var r=p._getOrCreateCacheEntry(e,t,y,C,k);r.processedPayloadsCount+=1,r.setValue(C),R();var n=null==u?void 0:u.next;null!=n&&n(v.lookup(t.fragment))},error:function(r){var n=p._getOrCreateCacheEntry(e,t,y,r,k);0===n.processedPayloadsCount?n.setValue(r):c(!1,"QueryResource: An incremental payload for query `%s` returned an error: `%s`.",t.fragment.node.name,String(r.message)),R(),k=null,n.setNetworkSubscription(null);var a=null==u?void 0:u.error;a&&a(r)},complete:function(){R(),k=null;var t=p._cache.get(e);t&&t.setNetworkSubscription(null);var r=null==u?void 0:u.complete;r&&r()},unsubscribe:null==u?void 0:u.unsubscribe});var x=this._cache.get(e);if(!x){var S=new Promise((function(e){R=e}));S.displayName="Relay("+t.fragment.node.name+")",x=m(e,t,y,S,k,this._clearCacheEntry),this._cache.set(e,x)}}else{var w=null==u?void 0:u.complete;w&&w()}var I=this._cache.get(e);return null==I&&s(!1,"Relay: Expected to have cached a result when attempting to fetch query.If you're seeing this, this is likely a bug in Relay."),v.__log({name:"queryresource.fetch",resourceID:I.id,operation:t,profilerContext:o,fetchPolicy:n,renderPolicy:i,queryAvailability:y,shouldFetch:l}),I},e}();function g(e){return new y(e)}var b=f?new WeakMap:new Map;e.exports={createQueryResource:g,getQueryResourceForEnvironment:function(e){var t=b.get(e);if(t)return t;var r=g(e);return b.set(e,r),r},getQueryCacheIdentifier:p}},function(e,t,r){"use strict";var n=r(12),a=r(5);e.exports=function(e,t){var r=n(e.name);a(r.current===e.name,"Relay: The %s has to remain the same over the lifetime of a component. Changing it is not supported and will result in unexpected behavior.",t)}},function(e,t){e.exports=u},function(e,t,r){"use strict";var n=r(6).loadQuery;e.exports=function e(t,r,a){var i=null;null==r.root.getModuleIfRequired()&&(i=r.root.load());var o=r.getPreloadProps(a),u=o.queries,s=o.entryPoints,l=o.extraProps,c={},f={};null!=u&&Object.keys(u).forEach((function(e){var r=u[e],a=r.environmentProviderOptions,i=r.options,o=r.parameters,s=r.variables,l=t.getEnvironment(a);c[e]=n(l,o,s,{fetchPolicy:null==i?void 0:i.fetchPolicy,networkCacheConfig:null==i?void 0:i.networkCacheConfig,__nameForWarning:"loadEntryPoint"},a)})),null!=s&&Object.keys(s).forEach((function(r){var n=s[r];if(null!=n){var a=n.entryPoint,i=n.entryPointParams;f[r]=e(t,a,i)}}));var d=!1;return{dispose:function(){d||(null!=c&&Object.values(c).forEach((function(e){(0,e.dispose)()})),null!=f&&Object.values(f).forEach((function(e){(0,e.dispose)()})),d=!0)},entryPoints:f,extraProps:null!=l?l:null,getComponent:function(){var e,t=r.root.getModuleIfRequired();if(null==t)throw i=null!==(e=i)&&void 0!==e?e:r.root.load();return null!=t.default?t.default:t},get isDisposed(){return d},queries:c,rootModuleID:r.root.getModuleId()}}},function(e,t){e.exports=s},function(e,t,r){"use strict";var n=r(4).default,a=n(r(7)),i=n(r(13)),o=n(r(32)),u=r(20),s=r(14).getQueryResourceForEnvironment,l=r(21),c=r(3),f=r(1),d=f.RelayFeatureFlags,p=f.__internal,h=p.fetchQuery,v=p.getPromiseForActiveRequest,m=f.createOperationDescriptor,y=f.getFragmentIdentifier,g=f.getPendingOperationsForFragment,b=f.getSelector,_=f.getVariablesFromFragment,R=f.handlePotentialSnapshotErrors,E=f.isPromise,P=f.recycleNodesInto,k="function"==typeof WeakMap,C=Object.freeze([]);function x(e){return Array.isArray(e)?e.some((function(e){return e.isMissingData})):e.isMissingData}function S(e){return Array.isArray(e)?e.map((function(e){return e.missingLiveResolverFields})).filter(Boolean).flat():e.missingLiveResolverFields}function w(e,t,r){return Array.isArray(t)?{cacheKey:e,snapshot:t,data:t.map((function(e){return e.data})),isMissingData:x(t),storeEpoch:r}:{cacheKey:e,snapshot:t,data:t.data,isMissingData:x(t),storeEpoch:r}}var I=function(){function e(e){(0,i.default)(this,"_cache",new Map),(0,i.default)(this,"_retainCounts",new Map),this._environment=e}var t=e.prototype;return t.get=function(e){var t,r;return null!==(t=null===(r=this._cache.get(e))||void 0===r?void 0:r[0])&&void 0!==t?t:void 0},t.recordQueryResults=function(e,t){var r=this,n=this._cache.get(e);if(n){var a=n[0],i=n[1];t.forEach((function(e){a.push(e)})),i.temporaryRetain(this._environment)}else{var o=new l((function(){return r._retain(e)}));this._cache.set(e,[t,o]),o.temporaryRetain(this._environment)}},t._retain=function(e){var t,r=this,n=(null!==(t=this._retainCounts.get(e))&&void 0!==t?t:0)+1;return this._retainCounts.set(e,n),{dispose:function(){var t,n=(null!==(t=r._retainCounts.get(e))&&void 0!==t?t:0)-1;n>0?r._retainCounts.set(e,n):(r._retainCounts.delete(e),r._cache.delete(e))}}},e}(),q=function(){function e(e){this._environment=e,this._cache=u.create(1e6),d.ENABLE_CLIENT_EDGES&&(this._clientEdgeQueryResultsCache=new I(e))}var t=e.prototype;return t.read=function(e,t,r,n){return this.readWithIdentifier(e,t,y(e,t),r,n)},t.readWithIdentifier=function(e,t,r,n,a){var i,u,l,f,p=this,h=this._environment;if(null==t)return{cacheKey:r,data:null,isMissingData:!1,snapshot:null,storeEpoch:0};var m=h.getStore().getEpoch();if(!0===(null==e||null===(i=e.metadata)||void 0===i?void 0:i.plural)&&(Array.isArray(t)||c(!1,"Relay: Expected fragment pointer%s for fragment `%s` to be an array, instead got `%s`. Remove `@relay(plural: true)` from fragment `%s` to allow the prop to be an object.",null!=a?" for key `".concat(a,"`"):"",e.name,typeof t,e.name),0===t.length))return{cacheKey:r,data:C,isMissingData:!1,snapshot:C,storeEpoch:m};var y=this._cache.get(r);if(null!=y){var g;if("pending"===y.kind&&E(y.promise))throw h.__log({name:"suspense.fragment",data:y.result.data,fragment:e,isRelayHooks:!0,isMissingData:y.result.isMissingData,isPromiseCached:!0,pendingOperations:y.pendingOperations}),y.promise;if("done"===y.kind&&y.result.snapshot&&(null===(g=S(y.result.snapshot))||void 0===g||!g.length))return this._handlePotentialSnapshotErrorsInSnapshot(y.result.snapshot),y.result}var _=b(e,t);null==_&&c(!1,"Relay: Expected to receive an object where `...%s` was spread, but the fragment reference was not found`. This is most likely the result of:\n- Forgetting to spread `%s` in `%s`'s parent's fragment.\n- Conditionally fetching `%s` but unconditionally passing %s prop to `%s`. If the parent fragment only fetches the fragment conditionally - with e.g. `@include`, `@skip`, or inside a `... on SomeType { }` spread - then the fragment reference will not exist. In this case, pass `null` if the conditions for evaluating the fragment are not met (e.g. if the `@include(if)` value is false.)",e.name,e.name,n,e.name,null==a?"a fragment reference":"the `".concat(a,"`"),n);var R="PluralReaderSelector"===_.kind?_.selectors.map((function(e){return h.lookup(e)})):h.lookup(_),P=w(r,R,m);if(!P.isMissingData)return this._handlePotentialSnapshotErrorsInSnapshot(R),this._cache.set(r,{kind:"done",result:P}),P;var k=null;if(d.ENABLE_CLIENT_EDGES&&!0===(null===(u=e.metadata)||void 0===u?void 0:u.hasClientEdges)&&function(e){var t,r;return Array.isArray(e)?e.some((function(e){var t,r;return(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0})):(null!==(t=null===(r=e.missingClientEdges)||void 0===r?void 0:r.length)&&void 0!==t?t:0)>0}(R)){k=[];var x=s(this._environment),I=[];!function(e,t){Array.isArray(e)?e.forEach(t):t(e)}(R,(function(r){var n;null===(n=r.missingClientEdges)||void 0===n||n.forEach((function(r){var n,a=r.request,i=r.clientEdgeDestinationID,o=p._performClientEdgeQuery(x,e,t,a,i),u=o.queryResult,s=o.requestDescriptor;I.push(u),null===(n=k)||void 0===n||n.push(s)}))})),null==this._clientEdgeQueryResultsCache&&c(!1,"Client edge query result cache should exist when ENABLE_CLIENT_EDGES is on."),this._clientEdgeQueryResultsCache.recordQueryResults(r,I)}var q=[];d.ENABLE_CLIENT_EDGES&&k&&(q=k.map((function(e){return v(p._environment,e)})).filter(Boolean));var D="PluralReaderSelector"===_.kind?_.selectors[0].owner:_.owner,F=this._getAndSavePromiseForFragmentRequestInFlight(r,e,D,P),A=null==F?void 0:F.promise,N=null!==(l=null===(f=S(R))||void 0===f?void 0:f.map((function(e){var t=e.liveStateID;return h.getStore().getLiveResolverPromise(t)})))&&void 0!==l?l:[];if(q.length||N.length||E(A)){var Q,T;h.__log({name:"suspense.fragment",data:P.data,fragment:e,isRelayHooks:!0,isPromiseCached:!1,isMissingData:P.isMissingData,pendingOperations:[].concat((0,o.default)(null!==(Q=null==F?void 0:F.pendingOperations)&&void 0!==Q?Q:[]),(0,o.default)(null!==(T=k)&&void 0!==T?T:[]))});var O=[];if(q.length>0&&(O=O.concat(q)),N.length>0&&(O=O.concat(N)),O.length>0)throw A&&O.push(A),Promise.all(O);if(A)throw A}return this._handlePotentialSnapshotErrorsInSnapshot(R),w(r,R,m)},t._performClientEdgeQuery=function(e,t,r,n,i){var o=_(t,r),u=(0,a.default)((0,a.default)({},o),{},{id:i}),s=m(n,u,{}),l=h(this._environment,s),c=e.prepare(s,l);return{requestDescriptor:s.request,queryResult:c}},t._handlePotentialSnapshotErrorsInSnapshot=function(e){var t=this;Array.isArray(e)?e.forEach((function(e){R(t._environment,e.missingRequiredFields,e.relayResolverErrors)})):R(this._environment,e.missingRequiredFields,e.relayResolverErrors)},t.readSpec=function(e,t,r){var n={};for(var a in e)n[a]=this.read(e[a],t[a],r,a);return n},t.subscribe=function(e,t){var r=this,n=this._environment,a=e.cacheKey,i=e.snapshot;if(!i)return{dispose:function(){}};var o=this.checkMissedUpdates(e),u=o[0],l=o[1];u&&t();var f=[];if(Array.isArray(i)?(Array.isArray(l)||c(!1,"Relay: Expected snapshots to be plural. If you're seeing this, this is likely a bug in Relay."),l.forEach((function(e,i){f.push(n.subscribe(e,(function(e){var o=n.getStore().getEpoch();r._updatePluralSnapshot(a,l,e,i,o),t()})))}))):((null==l||Array.isArray(l))&&c(!1,"Relay: Expected snapshot to be singular. If you're seeing this, this is likely a bug in Relay."),f.push(n.subscribe(l,(function(e){var i=n.getStore().getEpoch();r._cache.set(a,{kind:"done",result:w(a,e,i)}),t()})))),d.ENABLE_CLIENT_EDGES){var p,h,v=null!==(p=null===(h=this._clientEdgeQueryResultsCache)||void 0===h?void 0:h.get(a))&&void 0!==p?p:void 0;if(null!=v&&v.length){var m=s(this._environment);v.forEach((function(e){f.push(m.retain(e))}))}}return{dispose:function(){f.forEach((function(e){return e.dispose()})),r._cache.delete(a)}}},t.subscribeSpec=function(e,t){var r=this,n=Object.keys(e).map((function(n){return r.subscribe(e[n],t)}));return{dispose:function(){n.forEach((function(e){e.dispose()}))}}},t.checkMissedUpdates=function(e){var t=this._environment,r=e.snapshot;if(!r)return[!1,null];var n;if(n=t.getStore().getEpoch(),e.storeEpoch===n)return[!1,e.snapshot];var i=e.cacheKey;if(Array.isArray(r)){var o=!1,u=[];return r.forEach((function(e,r){var n=t.lookup(e.selector),i=e.data,s=n.data,l=P(i,s);l!==i&&(n=(0,a.default)((0,a.default)({},n),{},{data:l}),o=!0),u[r]=n})),o&&this._cache.set(i,{kind:"done",result:w(i,u,n)}),[o,u]}var s=t.lookup(r.selector),l=r.data,c=s.data,f=P(l,c),d={data:f,isMissingData:s.isMissingData,missingClientEdges:s.missingClientEdges,missingLiveResolverFields:s.missingLiveResolverFields,seenRecords:s.seenRecords,selector:s.selector,missingRequiredFields:s.missingRequiredFields,relayResolverErrors:s.relayResolverErrors};return f!==l&&this._cache.set(i,{kind:"done",result:w(i,d,n)}),[f!==l,d]},t.checkMissedUpdatesSpec=function(e){var t=this;return Object.keys(e).some((function(r){return t.checkMissedUpdates(e[r])[0]}))},t._getAndSavePromiseForFragmentRequestInFlight=function(e,t,r,n){var a=this,i=g(this._environment,t,r);if(null==i)return null;var o=i.promise,u=i.pendingOperations,s=o.then((function(){a._cache.delete(e)})).catch((function(t){a._cache.delete(e)}));return s.displayName=o.displayName,this._cache.set(e,{kind:"pending",pendingOperations:u,promise:s,result:n}),{promise:s,pendingOperations:u}},t._updatePluralSnapshot=function(e,t,r,n,a){var i,u=this._cache.get(e);if(E(u))D(r.selector.node.name);else{var s=null==u||null===(i=u.result)||void 0===i?void 0:i.snapshot;if(!s||Array.isArray(s)){var l=s?(0,o.default)(s):(0,o.default)(t);l[n]=r,this._cache.set(e,{kind:"done",result:w(e,l,a)})}else D(r.selector.node.name)}},e}();function D(e){c(!1,"Relay: Expected to find cached data for plural fragment `%s` when receiving a subscription. If you're seeing this, this is likely a bug in Relay.",e)}function F(e){return new q(e)}var A=k?new WeakMap:new Map;e.exports={createFragmentResource:F,getFragmentResourceForEnvironment:function(e){var t=A.get(e);if(t)return t;var r=F(e);return A.set(e,r),r}}},function(e,t,r){"use strict";var n=r(3),a=function(){function e(e){this._capacity=e,this._capacity>0||n(!1,"LRUCache: Unable to create instance of cache with zero or negative capacity."),this._map=new Map}var t=e.prototype;return t.set=function(e,t){if(this._map.delete(e),this._map.set(e,t),this._map.size>this._capacity){var r=this._map.keys().next();r.done||this._map.delete(r.value)}},t.get=function(e){var t=this._map.get(e);return null!=t&&(this._map.delete(e),this._map.set(e,t)),t},t.has=function(e){return this._map.has(e)},t.delete=function(e){this._map.delete(e)},t.size=function(){return this._map.size},t.capacity=function(){return this._capacity-this._map.size},t.clear=function(){this._map.clear()},e}();e.exports={create:function(e){return new a(e)}}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(13)),a=r(3),i=function(){function e(e){var t=this;(0,n.default)(this,"_retainCount",0),(0,n.default)(this,"_retainDisposable",null),(0,n.default)(this,"_releaseTemporaryRetain",null),this._retain=function(r){return t._retainCount++,1===t._retainCount&&(t._retainDisposable=e(r)),{dispose:function(){t._retainCount=Math.max(0,t._retainCount-1),0===t._retainCount&&(null==t._retainDisposable&&a(!1,"Relay: Expected disposable to release query to be defined.If you're seeing this, this is likely a bug in Relay."),t._retainDisposable.dispose(),t._retainDisposable=null)}}}}var t=e.prototype;return t.temporaryRetain=function(e){var t,r=this;if(e.isServer())return{dispose:function(){}};var n=this._retain(e),a=null,i=function(){clearTimeout(a),a=null,r._releaseTemporaryRetain=null,n.dispose()};return a=setTimeout(i,3e5),null===(t=this._releaseTemporaryRetain)||void 0===t||t.call(this),this._releaseTemporaryRetain=i,{dispose:function(){var e;null===(e=r._releaseTemporaryRetain)||void 0===e||e.call(r)}}},t.permanentRetain=function(e){var t=this._retain(e);return this.releaseTemporaryRetain(),t},t.releaseTemporaryRetain=function(){var e;null===(e=this._releaseTemporaryRetain)||void 0===e||e.call(this),this._releaseTemporaryRetain=null},t.getRetainCount=function(){return this._retainCount},e}();e.exports=i},function(e,t,r){"use strict";var n=r(9),a=r(14),i=a.getQueryCacheIdentifier,o=a.getQueryResourceForEnvironment,u=r(23),s=r(11),l=r(2),c=r(0),f=c.useContext,d=c.useEffect,p=c.useState,h=c.useRef;e.exports=function(e){var t=e.query,r=e.componentDisplayName,a=e.fetchObservable,c=e.fetchPolicy,v=e.fetchKey,m=e.renderPolicy,y=l(),g=f(n),b=o(y),_=p(0),R=_[0],E=_[1],P=u(),k=P.startFetch,C=P.completeFetch,x="".concat(R,"-").concat(null!=v?v:""),S=i(y,t,c,m,x),w=g.wrapPrepareQueryResource((function(){return b.prepareWithIdentifier(S,t,a,c,m,{start:k,complete:C,error:C},g)})),I=h(!1);d((function(){return function(){I.current=!0}}),[]),d((function(){if(!0===I.current)return I.current=!1,void E((function(e){return e+1}));var e=b.retain(w,g);return function(){e.dispose()}}),[y,S]),d((function(){b.releaseTemporaryRetain(w)}));var q=w.fragmentNode,D=w.fragmentRef;return s(q,D,r).data}},function(e,t,r){"use strict";var n=r(12),a=r(0),i=a.useCallback,o=a.useEffect;e.exports=function(){var e=n(null),t=n(!1),r=i((function(){null!=e.current&&(e.current.unsubscribe(),e.current=null),t.current=!1}),[]),a=i((function(r){e.current=r,t.current=!0}),[]),u=i((function(){e.current=null,t.current=!1}),[]);return o((function(){return r}),[r]),{isFetchingRef:t,startFetch:a,disposeFetch:r,completeFetch:u}}},function(e,t,r){"use strict";var n=r(34),a=r(0),i=r(1),o=i.createOperationDescriptor,u=i.getRequest,s=a.useMemo;e.exports=function(e,t,r){var a=n(t),i=n(r||{});return s((function(){return o(u(e),a,i)}),[e,a,i])}},function(e,t,r){"use strict";var n,a=(0,r(4).default)(r(7)),i=r(19).getFragmentResourceForEnvironment,o=r(9),u=r(14).getQueryResourceForEnvironment,s=r(11),l=r(8),c=r(26),f=r(2),d=r(3),p=r(0),h=p.useCallback,v=p.useContext,m=p.useReducer,y=r(1),g=y.__internal.fetchQuery,b=y.createOperationDescriptor,_=y.getFragmentIdentifier,R=y.getRefetchMetadata,E=y.getSelector,P=y.getValueAtPath,k=r(5);function C(e,t){switch(t.type){case"refetch":var r;return(0,a.default)((0,a.default)({},e),{},{fetchPolicy:t.fetchPolicy,mirroredEnvironment:null!==(r=t.refetchEnvironment)&&void 0!==r?r:e.mirroredEnvironment,onComplete:t.onComplete,refetchEnvironment:t.refetchEnvironment,refetchQuery:t.refetchQuery,renderPolicy:t.renderPolicy});case"reset":return{fetchPolicy:void 0,mirroredEnvironment:t.environment,mirroredFragmentIdentifier:t.fragmentIdentifier,onComplete:void 0,refetchQuery:null,renderPolicy:void 0};default:throw t.type,new Error("useRefetchableFragmentNode: Unexpected action type")}}n={getInitialIDAndType:function(e,t,n){var a=r(1).Record,i=null==e?void 0:e.id;if(1!==t.length||"node"!==t[0]||null==i)return null;var o=n.getStore().getSource().get(i),u=o&&a.getType(o);return null==u?null:{id:i,typename:u}},checkSameTypeAfterRefetch:function(e,t,n,a){var i=r(1).Record;if(e){var o=t.getStore().getSource().get(e.id),u=o&&i.getType(o);u!==e.typename&&k(!1,"Relay: Call to `refetch` returned data with a different __typename: was `%s`, now `%s`, on `%s` in `%s`. Please make sure the server correctly implementsunique id requirement.",e.typename,u,n.name,a)}},checkSameIDAfterRefetch:function(e,t,n,a){if(null!=e){var i=t[r(1).ID_KEY];null!=i&&i!==e.id&&k(!1,"Relay: Call to `refetch` returned a different id, expected `%s`, got `%s`, on `%s` in `%s`. Please make sure the server correctly implements unique id requirement.",i,e.id,n.name,a)}}},e.exports=function(e,t,r){var p=f(),y=R(e,r),x=y.refetchableRequest,S=y.fragmentRefPathInResponse,w=y.identifierField,I=_(e,t),q=m(C,{fetchPolicy:void 0,mirroredEnvironment:p,mirroredFragmentIdentifier:I,onComplete:void 0,refetchEnvironment:null,refetchQuery:null,renderPolicy:void 0}),D=q[0],F=q[1],A=D.fetchPolicy,N=D.mirroredEnvironment,Q=D.mirroredFragmentIdentifier,T=D.onComplete,O=D.refetchEnvironment,M=D.refetchQuery,L=D.renderPolicy,U=null!=O?O:p,j=u(U),W=i(U),B=v(o),K=U!==N||I!==Q,V=c(x),H=V[0],G=V[1],z=V[2],Y=t;if(K)F({type:"reset",environment:U,fragmentIdentifier:I}),z();else if(null!=M&&null!=H){var X;X=n.getInitialIDAndType(M.request.variables,S,U);var J=function(e){T&&T(null!=e?e:null)},Z=null!=H.source?H.source:g(U,M),$=B.wrapPrepareQueryResource((function(){return j.prepare(M,Z,A,L,{error:J,complete:function(){n.checkSameTypeAfterRefetch(X,U,e,r),J()}},H.fetchKey,B)})),ee=W.read($.fragmentNode,$.fragmentRef,r).data;null==ee&&d(!1,"Relay: Expected to be able to read refetch query response. If you're seeing this, this is likely a bug in Relay."),Y=P(ee,S),n.checkSameIDAfterRefetch(X,Y,e,r)}var te=s(e,Y,r),re=te.data,ne=te.disableStoreUpdates,ae=te.enableStoreUpdates;return{fragmentData:re,fragmentRef:Y,refetch:function(e,t,r,n,i,o,u,s,c,f,d){var p=l(),v=null!=s&&null!=n&&"object"==typeof n?n[s]:null;return h((function(n,i){if(!0!==p.current)return k(!1,"Relay: Unexpected call to `refetch` on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",o.name,e),{dispose:function(){}};null==f&&k(!1,"Relay: Unexpected call to `refetch` while using a null fragment ref for fragment `%s` in `%s`. When calling `refetch`, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before calling `refetch`, or make sure you pass all required variables to `refetch`.",o.name,e,e);var u,l,h=null==i?void 0:i.__environment,m=null==i?void 0:i.fetchPolicy,y=null==i?void 0:i.UNSTABLE_renderPolicy,g=null==i?void 0:i.onComplete,_=E(o,f);if(null==_)u={},l={};else if("PluralReaderSelector"===_.kind){var R,P,C,x;u=null!==(R=null===(P=_.selectors[0])||void 0===P?void 0:P.owner.variables)&&void 0!==R?R:{},l=null!==(C=null===(x=_.selectors[0])||void 0===x?void 0:x.variables)&&void 0!==C?C:{}}else u=_.owner.variables,l=_.variables;var S=(0,a.default)((0,a.default)((0,a.default)({},u),l),n);null==s||n.hasOwnProperty("id")||("string"!=typeof v&&k(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",s,v),S.id=v);var w=b(d,S,{force:!0});return c(w.request.variables,{fetchPolicy:m,__environment:h,__nameForWarning:"refetch"}),t({type:"refetch",fetchPolicy:m,onComplete:g,refetchEnvironment:h,refetchQuery:w,renderPolicy:y}),{dispose:r}}),[i,t,r,v,c])}(r,F,z,re,I,e,0,w,G,t,x),disableStoreUpdates:ne,enableStoreUpdates:ae}}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(18)),a=r(6),i=a.loadQuery,o=a.useTrackLoadQueryInRender,u=r(8),s=r(2),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useRef,p=l.useState,h=r(1).getRequest,v={kind:"NullQueryReference"};function m(e){return"PreloadableConcreteRequest"===e.kind?void 0!==e.params.metadata.live:void 0!==h(e).params.metadata.live}e.exports=function(e,t){var r=null!=t?t:v,a=s();o();var l=u(),h=d(new Set([r])),y=p((function(){return r})),g=y[0],b=y[1],_=p((function(){return r})),R=_[0],E=_[1];r!==R&&(h.current.add(r),E(r),b(r));var P=c((function(){l.current&&(h.current.add(v),b(v))}),[l]),k=c((function(t,r){var n=null!=r&&r.hasOwnProperty("__environment")?{fetchPolicy:r.fetchPolicy,networkCacheConfig:r.networkCacheConfig,__nameForWarning:r.__nameForWarning}:r;if(l.current){var o,u=i(null!==(o=null==r?void 0:r.__environment)&&void 0!==o?o:a,e,t,n);h.current.add(u),b(u)}}),[a,e,b,l]),C=d(!1);return f((function(){return function(){C.current=!0}}),[]),f((function(){if(!0===C.current)return C.current=!1,void("NullQueryReference"!==g.kind&&k(g.variables,{fetchPolicy:g.fetchPolicy,networkCacheConfig:g.networkCacheConfig}));var t=h.current;if(l.current){var r,a=(0,n.default)(t);try{for(a.s();!(r=a.n()).done;){var i=r.value;if(i===g)break;t.delete(i),"NullQueryReference"!==i.kind&&(m(e)?i.dispose&&i.dispose():i.releaseQuery&&i.releaseQuery())}}catch(e){a.e(e)}finally{a.f()}}}),[g,l,k,e]),f((function(){return function(){var t,r=(0,n.default)(h.current);try{for(r.s();!(t=r.n()).done;){var a=t.value;"NullQueryReference"!==a.kind&&(m(e)?a.dispose&&a.dispose():a.releaseQuery&&a.releaseQuery())}}catch(e){r.e(e)}finally{r.f()}}}),[e]),["NullQueryReference"===g.kind?null:g,k,P]}},function(e,t,r){"use strict";var n=r(28),a=r(17),i=r(6).loadQuery,o=r(29),u=r(30),s=r(31),l=r(33),c=r(36),f=r(37),d=r(40),p=r(26),h=r(41),v=r(2),m=r(42),y=r(43),g=r(1),b=r(9);e.exports={ConnectionHandler:g.ConnectionHandler,applyOptimisticMutation:g.applyOptimisticMutation,commitLocalUpdate:g.commitLocalUpdate,commitMutation:g.commitMutation,graphql:g.graphql,readInlineData:g.readInlineData,requestSubscription:g.requestSubscription,EntryPointContainer:n,RelayEnvironmentProvider:o,ProfilerContext:b,fetchQuery:g.fetchQuery,loadQuery:i,loadEntryPoint:a,useFragment:s,useLazyLoadQuery:l,useEntryPointLoader:u,useQueryLoader:p,useMutation:c,usePaginationFragment:f,usePreloadedQuery:d,useRefetchableFragment:h,useRelayEnvironment:v,useSubscribeToInvalidationState:m,useSubscription:y}},function(e,t,r){"use strict";var n=r(9),a=r(2),i=r(0),o=r(0),u=o.useContext,s=o.useEffect,l=r(5);e.exports=function(e){var t=e.entryPointReference,r=e.props;l(!1===t.isDisposed,"<EntryPointContainer>: Expected entryPointReference to not be disposed yet. This is because disposing the entrypoint marks it for future garbage collection, and as such may no longer be present in the Relay store. In the future, this will become a hard error.");var o=t.getComponent,c=t.queries,f=t.entryPoints,d=t.extraProps,p=t.rootModuleID,h=o(),v=u(n),m=a();return s((function(){m.__log({name:"entrypoint.root.consume",profilerContext:v,rootModuleID:p})}),[m,v,p]),i.createElement(h,{entryPoints:f,extraProps:d,props:r,queries:c})}},function(e,t,r){"use strict";var n=r(0),a=r(16),i=n.useMemo;e.exports=function(e){var t=e.children,r=e.environment,o=e.getEnvironmentForActor,u=i((function(){return{environment:r,getEnvironmentForActor:o}}),[r,o]);return n.createElement(a.Provider,{value:u},t)}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(18)),a=r(17),i=r(6).useTrackLoadQueryInRender,o=r(8),u=r(0),s=u.useCallback,l=u.useEffect,c=u.useRef,f=u.useState,d={kind:"NullEntryPointReference"};e.exports=function(e,t,r){var u,p,h,v;i();var m=null!==(u=null==r||null===(p=r.TEST_ONLY__initialEntryPointData)||void 0===p?void 0:p.entryPointReference)&&void 0!==u?u:d,y=null!==(h=null==r||null===(v=r.TEST_ONLY__initialEntryPointData)||void 0===v?void 0:v.entryPointParams)&&void 0!==h?h:null,g=o(),b=c(new Set([m])),_=f(m),R=_[0],E=_[1],P=f(y),k=P[0],C=P[1],x=s((function(){if(g.current){var e={kind:"NullEntryPointReference"};b.current.add(e),E(e)}}),[E,g]),S=s((function(r){if(g.current){var n=a(e,t,r);b.current.add(n),E(n),C(r)}}),[e,t,E,g]),w=c(!1);return l((function(){return function(){w.current=!0}}),[]),l((function(){if(!0===w.current)return w.current=!1,void("NullEntryPointReference"!==R.kind&&null!=k&&S(k));var e=b.current;if(g.current){var t,r=(0,n.default)(e);try{for(r.s();!(t=r.n()).done;){var a=t.value;if(a===R)break;e.delete(a),"NullEntryPointReference"!==a.kind&&a.dispose()}}catch(e){r.e(e)}finally{r.f()}}}),[R,k,S,g]),l((function(){return function(){var e,t=(0,n.default)(b.current);try{for(t.s();!(e=t.n()).done;){var r=e.value;"NullEntryPointReference"!==r.kind&&r.dispose()}}catch(e){t.e(e)}finally{t.f()}}}),[]),["NullEntryPointReference"===R.kind?null:R,S,x]}},function(e,t,r){"use strict";var n=r(10),a=r(6).useTrackLoadQueryInRender,i=r(11),o=r(15),u=r(0).useDebugValue,s=r(1).getFragment;e.exports=function(e,t){var r=n.get();return r?r.useFragment(e,t):function(e,t){a();var r=s(e);o(r,"first argument of useFragment()");var n=i(r,t,"useFragment()").data;return u({fragment:r.name,data:n}),n}(e,t)}},function(e,t){e.exports=l},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(22),i=r(24),o=r(2),u=r(1).__internal.fetchQuery;e.exports=function(e,t,r){n();var s=o(),l=i(e,t,r&&r.networkCacheConfig?r.networkCacheConfig:{force:!0});return a({componentDisplayName:"useLazyLoadQuery()",fetchKey:null==r?void 0:r.fetchKey,fetchObservable:u(s,l),fetchPolicy:null==r?void 0:r.fetchPolicy,query:l,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy})}},function(e,t,r){"use strict";var n=r(35),a=r(0).useState;e.exports=function(e){var t=a(e),r=t[0],i=t[1];return n(e,r)?r:(i(e),e)}},function(e,t){e.exports=c},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(8),i=r(2),o=r(0),u=r(1).commitMutation,s=o.useState,l=o.useEffect,c=o.useRef,f=o.useCallback;e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,r=i(),o=a(),d=c(r),p=c(e),h=c(new Set),v=s(!1),m=v[0],y=v[1],g=f((function(t){d.current===r&&p.current===e&&(h.current.delete(t),o.current&&y(h.current.size>0))}),[r,o,e]);l((function(){d.current===r&&p.current===e||(h.current=new Set,o.current&&y(!1),d.current=r,p.current=e)}),[r,o,e]);var b=f((function(a){o.current&&y(!0);var i=t(r,(0,n.default)((0,n.default)({},a),{},{mutation:e,onCompleted:function(e,t){var r;g(i),null===(r=a.onCompleted)||void 0===r||r.call(a,e,t)},onError:function(e){var t;g(i),null===(t=a.onError)||void 0===t||t.call(a,e)},onUnsubscribe:function(){var e;g(i),null===(e=a.onUnsubscribe)||void 0===e||e.call(a)},onNext:function(){var e;null===(e=a.onNext)||void 0===e||e.call(a)}}));return h.current.add(i),i}),[g,t,r,o,e]);return[b,m]}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(10),i=r(38),o=r(25),u=r(15),s=r(0),l=s.useCallback,c=s.useDebugValue,f=s.useState,d=r(1),p=d.getFragment,h=d.getFragmentIdentifier,v=d.getPaginationMetadata;function m(e){var t=f(!1),r=t[0],a=t[1],o={start:function(){return a(!0)},complete:function(){return a(!1)},error:function(){return a(!1)}},u=i((0,n.default)((0,n.default)({},e),{},{observer:o,onReset:function(){return a(!1)}}));return[u[0],u[1],r,u[2]]}e.exports=function(e,t){var r=a.get();return r?r.usePaginationFragment(e,t):function(e,t){var r=p(e);u(r,"first argument of usePaginationFragment()");var a=v(r,"usePaginationFragment()"),i=a.connectionPathInFragmentData,s=a.paginationRequest,f=a.paginationMetadata,d=a.identifierField,y=o(r,t,"usePaginationFragment()"),g=y.fragmentData,b=y.fragmentRef,_=y.refetch,R=h(r,b),E=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:i,direction:"backward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:d,paginationMetadata:f,paginationRequest:s}),P=E[0],k=E[1],C=E[2],x=E[3],S=m({componentDisplayName:"usePaginationFragment()",connectionPathInFragmentData:i,direction:"forward",fragmentData:g,fragmentIdentifier:R,fragmentNode:r,fragmentRef:b,identifierField:d,paginationMetadata:f,paginationRequest:s}),w=S[0],I=S[1],q=S[2],D=S[3],F=l((function(e,t){return D(),x(),_(e,(0,n.default)((0,n.default)({},t),{},{__environment:void 0}))}),[D,x,_]);return c({fragment:r.name,data:g,hasNext:I,isLoadingNext:q,hasPrevious:k,isLoadingPrevious:C}),{data:g,loadNext:w,loadPrevious:P,hasNext:I,hasPrevious:k,isLoadingNext:q,isLoadingPrevious:C,refetch:F}}(e,t)}},function(e,t,r){"use strict";var n=(0,r(4).default)(r(7)),a=r(23),i=r(8),o=r(39),u=r(2),s=r(3),l=r(0),c=l.useCallback,f=l.useEffect,d=l.useState,p=r(1),h=p.ConnectionInterface,v=p.__internal.fetchQuery,m=p.createOperationDescriptor,y=p.getPaginationVariables,g=p.getSelector,b=p.getValueAtPath,_=r(5);e.exports=function(e){var t=e.direction,r=e.fragmentNode,l=e.fragmentRef,p=e.fragmentIdentifier,R=e.fragmentData,E=e.connectionPathInFragmentData,P=e.paginationRequest,k=e.paginationMetadata,C=e.componentDisplayName,x=e.observer,S=e.onReset,w=e.identifierField,I=u(),q=a(),D=q.isFetchingRef,F=q.startFetch,A=q.disposeFetch,N=q.completeFetch,Q=null!=w&&null!=R&&"object"==typeof R?R[w]:null,T=i(),O=d(I),M=O[0],L=O[1],U=d(p),j=U[0],W=U[1],B=o(r,l);(I!==M||p!==j)&&(A(),S(),L(I),W(p));var K=function(e,t,r,n){var a,i,o=h.get(),u=o.EDGES,l=o.PAGE_INFO,c=o.HAS_NEXT_PAGE,f=o.HAS_PREV_PAGE,d=o.END_CURSOR,p=o.START_CURSOR,v=b(r,n);if(null==v)return{cursor:null,hasMore:!1};"object"!=typeof v&&s(!1,"Relay: Expected connection in fragment `%s` to have been `null`, or a plain object with %s and %s properties. Instead got `%s`.",t.name,u,l,v);var m=v[u],y=v[l];if(null==m||null==y)return{cursor:null,hasMore:!1};Array.isArray(m)||s(!1,"Relay: Expected connection in fragment `%s` to have a plural `%s` field. Instead got `%s`.",t.name,u,m),"object"!=typeof y&&s(!1,"Relay: Expected connection in fragment `%s` to have a `%s` field. Instead got `%s`.",t.name,l,y);var g,_="forward"===e?null!==(a=y[d])&&void 0!==a?a:null:null!==(i=y[p])&&void 0!==i?i:null;null!==_&&"string"!=typeof _&&s(!1,"Relay: Expected page info for connection in fragment `%s` to have a valid `%s`. Instead got `%s`.",t.name,p,_),g="forward"===e?null!=_&&!0===y[c]:null!=_&&!0===y[f];return{cursor:_,hasMore:g}}(t,r,R,E),V=K.cursor,H=K.hasMore;return f((function(){return function(){A()}}),[A]),[c((function(e,a){var i=null==a?void 0:a.onComplete;if(!0!==T.current)return _(!1,"Relay: Unexpected fetch on unmounted component for fragment `%s` in `%s`. It looks like some instances of your component are still trying to fetch data but they already unmounted. Please make sure you clear all timers, intervals, async calls, etc that may trigger a fetch.",r.name,C),{dispose:function(){}};var o=g(r,l);if(!0===D.current||null==R||B)return null==o&&_(!1,"Relay: Unexpected fetch while using a null fragment ref for fragment `%s` in `%s`. When fetching more items, we expect initial fragment data to be non-null. Please make sure you're passing a valid fragment ref to `%s` before paginating.",r.name,C,C),i&&i(null),{dispose:function(){}};(null==o||"PluralReaderSelector"===o.kind)&&s(!1,"Relay: Expected to be able to find a non-plural fragment owner for fragment `%s` when using `%s`. If you're seeing this, this is likely a bug in Relay.",r.name,C);var u=o.owner.variables,c=o.variables,f=null==a?void 0:a.UNSTABLE_extraVariables,d=(0,n.default)((0,n.default)({},u),c),p=y(t,e,V,d,(0,n.default)({},f),k);null!=w&&("string"!=typeof Q&&_(!1,"Relay: Expected result to have a string `%s` in order to refetch, got `%s`.",w,Q),p.id=Q);var h=m(P,p,{force:!0});return v(I,h).subscribe((0,n.default)((0,n.default)({},x),{},{start:function(e){F(e),x.start&&x.start(e)},complete:function(){N(),x.complete&&x.complete(),i&&i(null)},error:function(e){N(),x.error&&x.error(e),i&&i(e)}})),{dispose:A}}),[I,Q,t,V,F,A,N,D,B,R,r.name,l,C]),H,A]}},function(e,t,r){"use strict";var n=r(2),a=r(3),i=r(0),o=r(1),u=o.__internal.getObservableForActiveRequest,s=o.getSelector,l=i.useEffect,c=i.useState,f=i.useMemo;e.exports=function(e,t){var r=n(),i=f((function(){var n=s(e,t);return null==n?null:("SingularReaderSelector"!==n.kind&&a(!1,"useIsOperationNodeActive: Plural fragments are not supported."),u(r,n.owner))}),[r,e,t]),o=c(null!=i),d=o[0],p=o[1];return l((function(){var e;if(p(null!=i),null!=i){var t=function(){p(!1)};e=i.subscribe({complete:t,error:t})}return function(){e&&e.unsubscribe()}}),[i]),d}},function(e,t,r){"use strict";var n=r(6).useTrackLoadQueryInRender,a=r(22),i=r(24),o=r(2),u=r(3),s=r(0).useDebugValue,l=r(1).__internal,c=l.fetchQueryDeduped,f=l.fetchQuery,d=r(5);e.exports=function(e,t,r){n();var l,p=o(),h=t.fetchKey,v=t.fetchPolicy,m=t.source,y=t.variables,g=t.networkCacheConfig,b=i(e,y,g);if("PreloadedQuery_DEPRECATED"===t.kind)b.request.node.params.name!==t.name&&u(!1,"usePreloadedQuery(): Expected data to be prefetched for query `%s`, got prefetch results for query `%s`.",b.request.node.params.name,t.name),l={componentDisplayName:"usePreloadedQuery()",fetchKey:h,fetchObservable:c(p,b.request.identifier,(function(){return p===t.environment&&null!=m?p.executeWithSource({operation:b,source:m}):p.execute({operation:b})})),fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy};else{d(!1===t.isDisposed,"usePreloadedQuery(): Expected preloadedQuery to not be disposed yet. This is because disposing the query marks it for future garbage collection, and as such query results may no longer be present in the Relay store. In the future, this will become a hard error.");var _,R=f(p,b);null!=m&&p===t.environment?_=m.ifEmpty(R):p!==t.environment?(d(!1,"usePreloadedQuery(): usePreloadedQuery was passed a preloaded query that was created with a different environment than the one that is currently in context. In the future, this will become a hard error."),_=R):_=R,l={componentDisplayName:"usePreloadedQuery()",fetchObservable:_,fetchKey:h,fetchPolicy:v,query:b,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}}var E=a(l);return s({query:t.name,variables:t.variables,data:E,fetchKey:h,fetchPolicy:v,renderPolicy:null==r?void 0:r.UNSTABLE_renderPolicy}),E}},function(e,t,r){"use strict";var n=r(10),a=r(25),i=r(15),o=r(0).useDebugValue,u=r(1).getFragment;e.exports=function(e,t){var r=n.get();return r?r.useRefetchableFragment(e,t):function(e,t){var r=u(e);i(r,"first argument of useRefetchableFragment()");var n=a(r,t,"useRefetchableFragment()"),s=n.fragmentData,l=n.refetch;return o({fragment:r.name,data:s}),[s,l]}(e,t)}},function(e,t,r){"use strict";var n=r(2),a=r(0),i=a.useEffect,o=a.useRef;e.exports=function(e,t){var r=n(),a=o(null),u=Array.from(e).sort().join("");return i((function(){var n=r.getStore(),i=n.lookupInvalidationState(e),o=n.subscribeToInvalidationState(i,t);return a.current=o,function(){return o.dispose()}}),[u,t,r]),{dispose:function(){null!=a.current&&a.current.dispose()}}}},function(e,t,r){"use strict";var n=r(2),a=r(0).useEffect,i=r(1).requestSubscription;e.exports=function(e,t){var r=null!=t?t:i,o=n();a((function(){return r(o,e).dispose}),[o,e,r])}}])}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-84c633f9
2
+ * Relay v0.0.0-main-9bfa44e8
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *