This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | -------------------------------------------------------- | |
| -- File created - Saturday-October-26-2019 | |
| -------------------------------------------------------- | |
| -------------------------------------------------------- | |
| -- DDL for Table STUDENTS | |
| -------------------------------------------------------- | |
| CREATE TABLE "HR"."STUDENTS" | |
| ( "ID" NUMBER(*,0), | |
| "FIRST_NAME" VARCHAR2(50), | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | FileBriefDescriptionAdapter(Context context, RecyclerView recyclerView, List<FileBriefDescription> data) | |
| { | |
| this.context = context; | |
| this.fileBriefDescriptions = data; | |
| this.recyclerView = recyclerView; | |
| // fileBriefDescriptionsCopy is only read after this and never changed | |
| this.fileBriefDescriptionsCopy.addAll(fileBriefDescriptions); | |
| } | |
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | const takeLatest = (patternOrChannel, saga, ...args) => fork(function* () | |
| { | |
| let lastTask | |
| while (true) | |
| { | |
| const action = yield take(patternOrChannel) | |
| if (lastTask) | |
| { | |
| yield cancel(lastTask) // cancel is no-op if the task has already terminated | |
| } | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | // IOS: | |
| { | |
| "originalTransactionDateIOS": 1725382482000, | |
| "originalTransactionIdentifierIOS": "2000000703936175", | |
| "productId": "monthly_subscription", | |
| "transactionDate": 1725523620000, | |
| "transactionId": "2000000705709758", | |
| "transactionReceipt": "MIInXAYJKoZIhvcNAQcCoIInTTCCJ0kCAQExDzANBglghkgBZQMEAgEFADCCFpIGCSqGSIb3DQEHAaCCFoMEghZ/MYIWezAKAgEIAgEBBAIWADAKAgEUAgEBBAIMADALAgEBAgEBBAMCAQAwCwIBAwIBAQQDDAExMAsCAQsCAQEEAwIBADALAgEPAgEBBAMCAQAwCwIBEAIBAQQDAgEAMAsCARkCAQEEAwIBAzAMAgEKAgEBBAQWAjQrMAwCAQ4CAQEEBAICAMswDQIBDQIBAQQFAgMCc74wDQIBEwIBAQQFDAMxLjAwDgIBCQIBAQQGAgRQMzA0MBMCAQICAQEECwwJY29tLnVyb2t6MBgCAQQCAQIEEG94eHS2X6BRpzeYBb/iuhQwGwIBAAIBAQQTDBFQcm9kdWN0aW9uU2FuZGJveDAcAgEFAgEBBBRmWV4MNp9NLsQmmwpsadX9/DbymjAeAgEMAgEBBBYWFDIwMjQtMDktMDVUMDg6MDc6MDBaMB4CARICAQEEFhYUMjAxMy0wOC0wMVQwNzowMDowMFowSwIBBwIBAQRDLL69icQOspE7HMRC1C4UPrrcss8pnVvKXEFANhArWoHC2Gt8UOi3PN+IjnqQtDhnYYJHIBQS0gIErghUuZ9dEvwUbjBbAgEGAgEBBFPHYRvYIOigkVY/9ZRbts53fJh2Rwm88Vl9iUmyWlAfkLRtT98zV7zevAtmzeFd0I7ZOvNj1NcCglXQ43LQKz3JfdwPmEUO77+/or | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | { | |
| "transactionReceipt": "MIIz8wYJKoZIhvcNAQcCoIIz5DCCM+ACAQExDzANBglghkgBZQMEAgEFADCCIykGCSqGSIb3DQEHAaCCIxoEgiMWMYIjEjAKAgEIAgEBBAIWADAKAgEUAgEBBAIMADALAgEBAgEBBAMCAQAwCwIBAwIBAQQDDAExMAsCAQsCAQEEAwIBADALAgEPAgEBBAMCAQAwCwIBEAIBAQQDAgEAMAsCARkCAQEEAwIBAzAMAgEKAgEBBAQWAjQrMAwCAQ4CAQEEBAICAMswDQIBDQIBAQQFAgMCc74wDQIBEwIBAQQFDAMxLjAwDgIBCQIBAQQGAgRQMzA1MBMCAQICAQEECwwJY29tLnVyb2t6MBgCAQQCAQIEEK2xf+6Z3d4qcCHnfxIky5MwGwIBAAIBAQQTDBFQcm9kdWN0aW9uU2FuZGJveDAcAgEFAgEBBBRCSYD5hBtwT97rZGDqlt+r1cLs8DAeAgEMAgEBBBYWFDIwMjQtMDktMTJUMTY6MTc6MzNaMB4CARICAQEEFhYUMjAxMy0wOC0wMVQwNzowMDowMFowTQIBBwIBAQRFiQ8gutUL8GTZ3VQu7K7ZtXjneNqta/HbqO2KVoI0tv+BFCQ7Q9BAXaBv+Uj+5zjbbe5x6+EvGvzx0zKOtvBpabsKxBRLMFgCAQYCAQEEUESCqGHZs7N5SY6e51ufsEK7egfTZpwT/iIvENFXRCLxCRkvlt/KseIqP9SbuwUDsBgpp73dWM2qHxOrsh1koabSzpcy4sAsVxcor1NbJ50fMIIBjwIBEQIBAQSCAYUxggGBMAsCAgatAgEBBAIMADALAgIGsAIBAQQCFgAwCwICBrICAQEEAgwAMAsCAgazAgEBBAIMADALAgIGtAIBAQQCDAAwCwICBrUCAQEEAgwAMAsCAga2AgEBBAIMADAMAgIGpQIBAQQDAgEBMAwCAgarAgEBBAMCAQMwDAICBq4CAQEEAwIBADAMAgIGsQIBAQQDA | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | import { DeleteConfirmationModal } from "@/common/components/DeleteConfirmationModal"; | |
| import { useBoolean } from "@/common/hooks"; | |
| import { useCallback, useEffect } from "react"; | |
| import { FieldValues, FormProviderProps } from "react-hook-form"; | |
| import { BlockerFunction, useBlocker } from "react-router-dom"; | |
| import { Form } from "../ui/form"; | |
| export const BlockerForm = < | |
| TFieldValues extends FieldValues, | 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | import React, { useEffect, useId, useState } from "react"; | |
| import { | |
| BackHandler, | |
| Dimensions, | |
| LayoutChangeEvent, | |
| Platform, | |
| TouchableOpacity, | |
| View, | |
| } from "react-native"; | |
| import ReactNativeModal from "react-native-modal"; |