openvms undocumented featuresde.openvms.org/tud2004/undoc.pdf · openvms undocumented features...
TRANSCRIPT
![Page 1: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/1.jpg)
© 2004 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice
OpenVMS Undocumented Features
Stephen HoffmanHP OpenVMS EngineeringEuropean Technical Update 2004
![Page 2: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/2.jpg)
No Support, No Docs, No Commitments!
This presentation is NOT a statement of support!• undocumented• unsupported• subject to change without notice• subject to removal without notice• please don't even THINK of calling the support center!• and please don't ask for the [un]documentation!
![Page 3: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/3.jpg)
Audience
• This is a technical session• Target Audience:
– OpenVMS Programmers, System Managers• Some OpenVMS Familiarity is Assumed:
– User Commands– System Management Commands– Programming APIs
![Page 4: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/4.jpg)
OpenVMS System Disk Structure
Traditional Structure• WRITEBOOT and SETBOOT go single-architecture
Boot Block Primary Bootstrap
![Page 5: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/5.jpg)
OpenVMS System Disk Structure
EFI-Compatible Structure• EFI locates FAT-format boot partition
MBR SYS$EFI.SYS
![Page 6: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/6.jpg)
OpenVMS System Disk Structure
EFI-Compatible Structure• GPT bootstraps required the relocation of home block
and changing the file containing the boot block• [000000]INDEXF.SYS and [000000]GPT.SYS
MBR & GPT SYS$EFI.SYS GPT
![Page 7: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/7.jpg)
OpenVMS System Disk Structure
Hardware Diagnostics Partition• SYS$MAINTENANCE:SYS$DIAGNOSTICS.SYS• If partitions are deleted, relocated or modified, do
remember to re-invoke SETBOOTmore (related) material later...
MBR & GPT SYS$EFI.SYS GPTSYS$DIAG*
![Page 8: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/8.jpg)
SETBOOT
Watching SETBOOT activity...• SYS$SETBOOT_DEBUG
• DEFINE SYS$SETBOOT_DEBUG 1F
• Command interfaces– SET BOOTBLOCK (doc'd)– RUN SYS$SYSTEM:SYS$SETBOOT (doc'd)– Foreign-command interface (not doc'd)
![Page 9: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/9.jpg)
Monitoring the XQP
Looking inside application file processing$ SET WATCH FILE/CLASS=keyword
• ALL• NONE• ATTRIBUTES• CONTROL_FUNCTION• DIRECTORY_OPERATIONS• DUMP• ATTACHED• MAJOR_FUNCTION• QUOTA_OPERATIONS
![Page 10: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/10.jpg)
Monitoring the XQP
SET WATCH can display File Identifications (FIDs)...
$ DUMP/ID=(x,y,z)
![Page 11: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/11.jpg)
Kernel Watchpoints
Watching kernel activity on OpenVMS Alpha...$ HELP/LIBRARY=WP
![Page 12: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/12.jpg)
Undocumented System Services
Encouraging page-faulting...• sys$fault_page( StartingVA, ByteLength, PFCByteSize)
![Page 13: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/13.jpg)
Undocumented System Services
Generating password-related word strings...• sys$forge_word( minlen, maxlen, mindata, flags,
retdata, outlen, outstr)
![Page 14: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/14.jpg)
Undocumented System Services
V7.3-1 and later, on specific platforms...• sys$get_env_sensors()
– Example code has been posted to ATW, comp.os.vms
![Page 15: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/15.jpg)
Undocumented Threads
Get per-thread CPU time, non-portable, on OpenVMS Alpha V7.3-2 with PTHREAD V1.0 ECO and later...
extern intpthread_getcputime_np(pthread_t, struct timespec*);
Status return values:0 SuccessEINVAL NULL cputime parameterESRCH handle is not a threadENOTSUP can't return CPU time for SCS thread (UNIX only)-ESTALE warning that value is out of date (target is running)
![Page 16: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/16.jpg)
Undocumented DCL Commands
RSX-11M Monitor Console Routine RUN command...
• MCR
![Page 17: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/17.jpg)
Undocumented DCL Commands
Extension interface for the MAIL utility...$ MAIL
• SEND/FOREIGN• SET TRANSPORT• SHOW TRANSPORT
![Page 18: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/18.jpg)
Undocumented DCL Commands
Peering into the BACKUP utility...$ BACKUP/ANALYZE
![Page 19: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/19.jpg)
Undocumented DCL Commands
Peering into OpenVMS I64 Images$ SHOW IMAGE$ SET IMAGEmay yet be documented in OpenVMS I64 and Alpha V8.2, though for use
with ELF images only...
![Page 20: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/20.jpg)
Undocumented DCL Commands
Peering into OpenVMS Images$ analyze/image/out=nl:/select=(ident,link) pascal.exe$ show symbol analyze*
ANALYZE$ARCHITECTURE = ""ANALYZE$BUILD_IDENTIFICATION = ""ANALYZE$FILE_TYPE = ""ANALYZE$IDENTIFICATION = ""T5.9-2-50E34""ANALYZE$IMAGE_TYPE = ""ANALYZE$LINKER_IDENTIFICATION = ""ANALYZE$LINK_TIME = "25-MAR-2004 13:06:41.01"ANALYZE$NAME = ""
![Page 21: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/21.jpg)
Semi-documented DCL Commands
Support and documentation is pending...
Simple-minded image identification...
$ CHECKSUM$ CHECKSUM/IMAGE
• CHECKSUM$CHECKSUM symbol
Expected to be documented with V8.2
![Page 22: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/22.jpg)
Semi-documented DCL Commands
Support and documentation is pending...$ SHOW DISPLAY/SYMBOL
DECW$DISPLAY_NODEDECW$DISPLAY_SCREENDECW$DISPLAY_SERVERDECW$DISPLAY_TRANSPORT
![Page 23: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/23.jpg)
Semi-documented DCL Commands
Support and documentation is pending...• F$GETENV
• Around forever, now (finally) documented • Also SYS$GETENV (documented)• SYS$SETENV (undocumented)
![Page 24: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/24.jpg)
Fun with documented Commands
Clear the screen?• TYPE/PAGE NLA0:
![Page 25: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/25.jpg)
Fun with documented Commands
Output Redirection?• @TT/OUTPUT=X.LOG
![Page 26: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/26.jpg)
Fun with documented Commands
TCP/IP V5.4 Scalable KernelWithin SYSTARTUP_VMS.COM...$ DEFINE TCPIP$STARTUP_CPU_IMAGES "PERF=ALL"
![Page 27: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/27.jpg)
Fun with undocumented Commands
BMC System Event Log Full?• At the EFI Shell> prompt, enter the command:
clearlogs SEL
• OpenVMS I64 now attempts to drain the contents of the SEL into the OpenVMS error log, reducing exposure
• EFI console output (quantity) control command:verbose events
• FAT tools, FTP services, etc
![Page 28: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/28.jpg)
Fun with undocumented Commands
Changing the Login Logo?• Most any DECwindows CDE release in common use• DECwindows 1.3-1 and later for DECwindows Motif
– sys$common:[CDE$DEFAULTS.system. -appconfig.icons.c]decdtlogo.pm
![Page 29: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/29.jpg)
Latent Features
Universal Serial Bus (USB 1.1)?• USB
– Wheel and Joystick Input– Keychain Storage– Requires
• Native (and documented) on OpenVMS I64– bootstrap OpenVMS I64 off a (big) key disk!– some USB1.1 controllers do work on OpenVMS Alpha
• sys$user_config.dat
• LK463 USB Keyboard– includes PS/2 DIN adapter
![Page 30: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/30.jpg)
Latent Features
IDE bus and ATA and ATAPI devices• CD-R/RW• DVD+R/RW• DVD-R/RW
• Recording CD media on (and for) OpenVMS– SYS$MANAGER:CDRECORD.COM (V7.3-1 and later)– LD Logical Disk Driver– See OpenVMS FAQ– Bootable Optical Media: ATW (9820)– Improved support (incl. DVD) possible in V8.3?
![Page 31: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/31.jpg)
Latent Features
Alpha disassembler• set up DCL$PATH or foreign-command symbol• srm_check -verbose -dump image.exe
• Alpha PATCH tools– See FAQ
![Page 32: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/32.jpg)
Latent Features
GAWK is available in TCP/IP Services SNMP• sys$common:[syshlp.examples.tcpip.snmp]GAWK.EXE_'ARCH'
![Page 33: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/33.jpg)
Latent Features
Integrity Management Processor• contains Radeon 7000-class graphics
![Page 34: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/34.jpg)
Easter Eggs
We engineers will have our fun... • $ exit 2928
![Page 35: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/35.jpg)
Easter Eggs
We engineers will have our fun... • SEPPUCLU
![Page 36: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/36.jpg)
Easter Eggs
We engineers will have our fun... • SDA> tcpip show bug• SDA> tcpip show crash
![Page 37: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/37.jpg)
Easter Eggs
Just who is the INFODWARF?
![Page 38: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/38.jpg)
No Support, No Docs, No Commitments
This presentation is NOT a statement of support!• undocumented• unsupported• subject to change without notice• subject to removal without notice• don't even THINK of calling the support center!• don't ask for the [un]documentation!
![Page 39: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/39.jpg)
Call for OpenVMS Freeware
Freeware submission deadline is 8-Nov-2004http://www.hp.com/go/openvms/freeware/
![Page 40: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/40.jpg)
Where to go for help?
available web resourceshttp://www.hp.com/go/openvms/http://www.hp.com/go/openvms/faq/http://www.hp.com/go/openvms/wizard/http://www.hp.com/go/openvms/freeware/http://www.hp.com/go/dspp
![Page 41: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/41.jpg)
Thank You!European Technical Update 2004
&&
![Page 42: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/42.jpg)
The Fine Print
• Copyright 2004 Hewlett-Packard Development Company, L.P.
• While HP believes the information included in this presentation is correct as of the date produced, it is subject to change without notice.
• All trademarks and registered trademarks are the property of their respective holders. Intel and Itanium are registered trademarks of Intel.
• Presentation void where taxed or prohibited by law. Title, fees and registration extra, your CPU or I/O mileage may vary.
• Attempts at CD and DVD recording can generate coasters.
• Recommended for technical and engineering ranks and hobbyists ages 12 and up. Ask for special pointy-haired-boss toy.
• Known Thousand-Mile-Stare hazard, please keep this and all other similar presentations away from known-sensitive members of engineering, marketing, and management.
![Page 43: OpenVMS Undocumented Featuresde.openvms.org/TUD2004/Undoc.pdf · OpenVMS Undocumented Features Stephen Hoffman HP OpenVMS Engineering European Technical Update 2004. No Support,](https://reader036.vdocuments.net/reader036/viewer/2022082213/5bafa76509d3f2e27b8cb07f/html5/thumbnails/43.jpg)