Context: {page_text} Instructions: Read the context carefully. Maybe there are TOR, TER, performance fees, OGC data in the context. The TOR reported name could be: TOR, Turnover Ratio, Portfolio Turnover, Portfolio turnover ratio, PTR, etc. The TER reported name could be: TER, Total Expense Ratio, Total expense ratio as a percentage, Total Fund Charge, Gross Expense Ratio, All in fee, Total Net Expense Ratio, Weighted Average Expense Ratio, Synthetic total Expense Ratio, Annualised TER including performance fees, Capped Expense Ratio, etc. The performance fees reported name could be: performance fees, performance fees ratio, Performance, etc. The OGC reported name could be: OGC, OGF, Ongoing Charge, Operation Charge, Ongoing charges in per cent, Ongoing charges in percent, Ongoing charges as a percentage, On Going Charges, Operating Charge, Ongoing Fund Charge, etc. Data business features: 1. Most of cases, the data is in the table(s) of context. 2. TOR is fund level data. - The full fund name should be main fund name + sub-fund name, e,g, main fund name is Black Rock European, sub-fund name is Growth, the full fund name is: Black Rock European Growth. - The sub-fund name may be as the first column values in the table. 3. TER, performance fees, OGC are share class level data. 4. Their values are belong to percentage number. - The TER, performance fees, OGC values should be less than 100. - The TOR value could be more than 100, e.g. 126.33. - The TOR and performance fees could be negative number, e.g. -7.99. 5. Special TER rule 5.1 If there are multiple TER value columns, here is the priority rules: - With "TER with Performance Fee" and "Fund TER", pick up the values from "TER with Performance Fee". - With "TER including Performance Fee" and "TER excluding Performance Fee", pick up the values from "TER including Performance Fee". - With both of "Synthetic TER" and "Fund TER", if "Synthetic TER" with value(s), pick up the value(s) from "Synthetic TER", otherwise, pick up the value(s) from "Fund TER". - With both of "Net TER (including reimbursement)" and "Capped Expense Ratio", the priority is "Capped Expense Ratio", please exclude the column: "Net TER (including reimbursement)", only pick up the values from "Capped Expense Ratio". 5.2 Please ignore TER values which with the exception of performance fees or excluded performance fees. 6. If with multiple data values in same row, please extract the latest. 7. Only output the values which with significant reported names. - Please exclude below reported names and relevant values: "Management Fees", "Management", "Management Fees p.a.", "Taxe d Abonnement in % p.a.". DON'T EXTRACT MANAGEMENT FEES! 8. One fund could be with multiple share classes and relevant TER, performance fees or OGC values. Special cases: 1. Performance fees is part of TER. If exist both of "TER including performance fees" and "TER excluding performance fees", The TER should be "TER including performance fees". The performance fees should be: TER including performance fees - TER excluding performance fees. Here is the example: GAMAX FUNDS FCP\nClass\nTER (excluding Performance Fees)\nTER (including Performance Fees)\nGAMAX FUNDS - ASIA PACIFIC\nA\n2.07%\n2.07%\n The output should be: { "data": [ {"fund name": "GAMAX FUNDS - ASIA PACIFIC", "share name": "A", "ter": 2.07, "performance fees": 0} ] } The performance fees value is TER (including Performance Fees) - TER (excluding Performance Fees) = 2.07 - 2.07 = 0 2. Combo TER value table. 2.1 Exist Feeder fund TER and Master fund TER. The relevant table header is like this: Feeder fund (share class)\nMaster fund\nTER\nFeeder\nTER Master\nTotal Please output separately as below: - "feeder fund share class" and "TER feeder" values - "Master fund" and "TER Master" values Here is the example: Feeder fund (share class)\nMaster fund\nTER\nFeeder\nTER Master\nTotal\nGlobal Portfolio Solution DKK -\nBalanced Class TI\nDanske Invest SICAV Global Portfolio\nSolution Balanced Class X\n0.1475%\n0.7025%\n0.850%\n The output should be: { "data": [ {"fund name": "Global Portfolio Solution DKK", "share name": "Balanced Class TI", "ter": 0.1475}, {"fund name": "Danske Invest SICAV Global Portfolio Solution DKK", "share name": "Balanced Class X", "ter": 0.7025} ] } 3. Latest data with time series data Some data table is with multiple date columns, please extract the data from the latest date column: - Get dates from column header. - Only extract data from the columns which column header is as the latest date. The latest date-time column usually is the first "TOR, TER, performance fees, OGC" value column. Here is the example: PERFORMANCE\nHISTORICAL PERFORMANCE\nHISTORICAL PERFORMANCE\nFrom \n1 July \nFrom \n19 July \nFrom \n1 January \nFrom \n27 April \nFrom \n19 July \nFrom \n1 January \n2021\nFrom \n22 May \n2021\nFrom \n16 July \n2021\nFrom \n21 September \n2021\nto 30 June 2023\nto 31 December 2022\nto 31 December 2021\nAsia Total Return Fund Class I5 (CHF Hedged) Acc\n6.73%\n \n-13.32%\n \n \n 6.04%\n \n \n \n The output should be: { "data": [ {"fund name": "Asia Total Return Fund", "share name": "Class I5 (CHF Hedged) Acc", "performance fees": 6.73} ] } The keyword for performance fees is PERFORMANCE, the value 6.73 is the first number with the latest date-time. 4. TER reported name priority If exists both of Expense Ratio and Synthetic total Expense Ratio, please extract the value of Synthetic total Expense Ratio. Output requirement: 1. If possible, please extract fund name, share name, TOR, TER, performance fees, OGC values as the output. 2. If find share name, and exist relevant currency, please output share name + currency, e.g. share name is "Class A", currency is "USD", the output share name should be: "Class A USD". 3. Only output the dasta point which with relevant value. 4. fund level data: ("fund name" and "TOR") and share level data: ("fund name", "share name", "ter", "performance fees", "ogc") should be output separately. 5. The output should be JSON format, the format is like: { "data": [{ "fund name": "fund 1", "TOR": 35.26 }, { "fund name": "fund 2", "TOR": -28.26 }, { "fund name": "fund 3", "TOR": 115.52, }, { "fund name": "fund 1", "share name": "share 1", "ter": 1.23, "performance fees": 0.2, "ogc": 0.05 }, { "fund name": "fund 1", "share name": "share 2", "ter": 2.56, "performance fees": 1.2, "ogc": 1.16 }, { "fund name": "fund 2", "share name": "share a", "ter": 1.16, "performance fees": -0.15 }, { "fund name": "fund 2", "share name": "share b", "ter": 1.45 }, { "fund name": "fund 3", "share name": "share a", "performance fees": 0.57, "ogc": 0.18 }, { "fund name": "fund 3", "share name": "share b", "performance fees": -0.11 } ] } Only output JSON data. Don't output the value which not exist in context, especiall for fund level datapoint: TOR. If can't find share class name in context, please output empty JSON data: {"data": []} Answer: