tags: { SourceFile: '/home/robertchan/projects/new-project/images/5/IMG_5880~photo.JPG', errors: [], GPSLatitude: 22.427856, GPSLongitude: 114.267556, GPSLatitudeRef: 'N', GPSLongitudeRef: 'E', zone: 'UTC+8', tz: 'UTC+8', tzSource: 'OffsetTimeOriginal', GPSAltitude: 15.71202986, GPSPosition: '22.4278555555556 114.267555555556', Orientation: 6, ExifToolVersion: 13.29, FileName: 'IMG_5880~photo.JPG', Directory: '/home/robertchan/projects/new-project/images/5', FileSize: '1212 kB', FileModifyDate: ExifDateTime { year: 2025, month: 5, day: 21, hour: 3, minute: 51, second: 23, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:05:21 03:51:23Z', zoneName: 'UTC', inferredZone: false, zone: 'UTC' }, FileAccessDate: ExifDateTime { year: 2025, month: 5, day: 27, hour: 7, minute: 31, second: 37, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:05:27 07:31:37Z', zoneName: 'UTC', inferredZone: false, zone: 'UTC' }, FileInodeChangeDate: ExifDateTime { year: 2025, month: 5, day: 27, hour: 7, minute: 31, second: 28, millisecond: undefined, tzoffsetMinutes: 0, rawValue: '2025:05:27 07:31:28Z', zoneName: 'UTC', inferredZone: false, zone: 'UTC' }, FilePermissions: '-rw-r--r--', FileType: 'JPEG', FileTypeExtension: 'jpg', MIMEType: 'image/jpeg', ExifByteOrder: 'Big-endian (Motorola, MM)', Make: 'Apple', Model: 'iPhone 12 Pro Max', XResolution: 72, YResolution: 72, ResolutionUnit: 'inches', Software: '16.6.1', ModifyDate: ExifDateTime { year: 2023, month: 10, day: 12, hour: 14, minute: 4, second: 35, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2023:10:12 14:04:35', zoneName: 'UTC+8', inferredZone: true, zone: 'UTC+8' }, HostComputer: 'iPhone 12 Pro Max', YCbCrPositioning: 'Centered', ExposureTime: '1/2660', FNumber: 2.2, ExposureProgram: 'Program AE', ISO: 20, ExifVersion: '0232', DateTimeOriginal: ExifDateTime { year: 2023, month: 10, day: 12, hour: 14, minute: 4, second: 35, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2023:10:12 14:04:35', zoneName: 'UTC+8', inferredZone: true, zone: 'UTC+8' }, CreateDate: ExifDateTime { year: 2023, month: 10, day: 12, hour: 14, minute: 4, second: 35, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2023:10:12 14:04:35', zoneName: 'UTC+8', inferredZone: true, zone: 'UTC+8' }, OffsetTime: '+08:00', OffsetTimeOriginal: '+08:00', OffsetTimeDigitized: '+08:00', ComponentsConfiguration: 'Y, Cb, Cr, -', ShutterSpeedValue: '1/2660', ApertureValue: 2.2, BrightnessValue: 11.00830337, ExposureCompensation: 0, MeteringMode: 'Multi-segment', Flash: 'Off, Did not fire', FocalLength: '7.5 mm', SubjectArea: '2013 1525 2334 1340', MakerNoteVersion: 14, RunTimeFlags: 'Valid', RunTimeValue: 366365122678875, RunTimeScale: 1000000000, RunTimeEpoch: 0, AEStable: 'Yes', AETarget: 215, AEAverage: 200, AFStable: 'Yes', AccelerationVector: '0.007188729945 -0.5455947514 0.8331910968', FocusDistanceRange: '0.28 - 1.76 m', ImageCaptureType: 'Photo', LivePhotoVideoIndex: 1107304448, PhotosAppFeatureFlags: 0, HDRHeadroom: 0, AFPerformance: '117 1 30', SignalToNoiseRatio: 55.86000061, PhotoIdentifier: '6E21A54A-7EDE-491E-8CCF-C9D9EB865F0B', ColorTemperature: 5351, CameraType: 'Back Normal', FocusPosition: 119, AFMeasuredDepth: 115, AFConfidence: 27, SubSecTimeOriginal: '038', SubSecTimeDigitized: '038', FlashpixVersion: '0100', ColorSpace: 'Uncalibrated', ExifImageWidth: 4032, ExifImageHeight: 3024, SensingMethod: 'One-chip color area', SceneType: 'Directly photographed', ExposureMode: 'Auto', WhiteBalance: 'Auto', DigitalZoomRatio: 1.421052632, FocalLengthIn35mmFormat: '91 mm', SceneCaptureType: 'Standard', LensInfo: '1.539999962-7.5mm f/1.6-2.4', LensMake: 'Apple', LensModel: 'iPhone 12 Pro Max back triple camera 7.5mm f/2.2', CompositeImage: 'General Composite Image', GPSAltitudeRef: 'Above Sea Level', GPSSpeedRef: 'km/h', GPSSpeed: 0.3100000024, GPSImgDirectionRef: 'True North', GPSImgDirection: 280.5888978, GPSDestBearingRef: 'True North', GPSDestBearing: 280.5888978, GPSDateStamp: ExifDate { year: 2023, month: 10, day: 12, rawValue: '2023:10:12' }, GPSHPositioningError: '8.807693117 m', Compression: 'JPEG (old-style)', ThumbnailOffset: 2592, ThumbnailLength: 4705, ProfileCMMType: 'Apple Computer Inc.', ProfileVersion: '4.0.0', ProfileClass: 'Display Device Profile', ColorSpaceData: 'RGB ', ProfileConnectionSpace: 'XYZ ', ProfileDateTime: ExifDateTime { year: 2022, month: 1, day: 1, hour: 0, minute: 0, second: 0, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2022:01:01 00:00:00', zoneName: 'UTC+8', inferredZone: true, zone: 'UTC+8' }, ProfileFileSignature: 'acsp', PrimaryPlatform: 'Apple Computer Inc.', CMMFlags: 'Not Embedded, Independent', DeviceManufacturer: 'Apple Computer Inc.', DeviceModel: '', DeviceAttributes: 'Reflective, Glossy, Positive, Color', RenderingIntent: 'Perceptual', ConnectionSpaceIlluminant: '0.9642 1 0.82491', ProfileCreator: 'Apple Computer Inc.', ProfileID: 'ecfda38e388547c36db4bd4f7ada182f', ProfileDescription: 'Display P3', ProfileCopyright: 'Copyright Apple Inc., 2022', MediaWhitePoint: '0.96419 1 0.82489', RedMatrixColumn: '0.51512 0.2412 -0.00105', GreenMatrixColumn: '0.29198 0.69225 0.04189', BlueMatrixColumn: '0.1571 0.06657 0.78407', RedTRC: BinaryField { bytes: 32, rawValue: '(Binary data 32 bytes, use -b option to extract)' }, ChromaticAdaptation: '1.04788 0.02292 -0.0502 0.02959 0.99048 -0.01706 -0.00923 0.01508 0.75168', BlueTRC: BinaryField { bytes: 32, rawValue: '(Binary data 32 bytes, use -b option to extract)' }, GreenTRC: BinaryField { bytes: 32, rawValue: '(Binary data 32 bytes, use -b option to extract)' }, HDRGainCurveSize: 188, HDRGainCurve: BinaryField { bytes: 1344, rawValue: '(Binary data 1344 bytes, use -b option to extract)' }, ImageWidth: 4032, ImageHeight: 3024, EncodingProcess: 'Baseline DCT, Huffman coding', BitsPerSample: 8, ColorComponents: 3, YCbCrSubSampling: 'YCbCr4:2:0 (2 2)', RunTimeSincePowerUp: '4 days 5:46:05', Aperture: 2.2, ImageSize: '4032x3024', Megapixels: 12.2, ScaleFactor35efl: 12.1, ShutterSpeed: '1/2660', SubSecCreateDate: ExifDateTime { year: 2023, month: 10, day: 12, hour: 14, minute: 4, second: 35, millisecond: 38, tzoffsetMinutes: 480, rawValue: '2023:10:12 14:04:35.038+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, SubSecDateTimeOriginal: ExifDateTime { year: 2023, month: 10, day: 12, hour: 14, minute: 4, second: 35, millisecond: 38, tzoffsetMinutes: 480, rawValue: '2023:10:12 14:04:35.038+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, SubSecModifyDate: ExifDateTime { year: 2023, month: 10, day: 12, hour: 14, minute: 4, second: 35, millisecond: undefined, tzoffsetMinutes: 480, rawValue: '2023:10:12 14:04:35+08:00', zoneName: 'UTC+8', inferredZone: false, zone: 'UTC+8' }, ThumbnailImage: BinaryField { bytes: 4705, rawValue: '(Binary data 4705 bytes, use -b option to extract)' }, CircleOfConfusion: '0.002 mm', FOV: '22.4 deg', FocalLength35efl: '7.5 mm (35 mm equivalent: 91.0 mm)', HyperfocalDistance: '10.32 m', LightValue: 16, LensID: 'iPhone 12 Pro Max back triple camera 7.5mm f/2.2', warnings: [] }