€•²JŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ8/translations/zh_CN/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/zh_TW/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/it_IT/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/ja_JP/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/ko_KR/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ8/translations/sp_SP/userspace-api/media/drivers/imx-uapi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒR/var/lib/git/docbuild/linux/Documentation/userspace-api/media/drivers/imx-uapi.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒi.MX Video Capture Driver”h]”hŒi.MX Video Capture Driver”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒEvents”h]”hŒEvents”…””}”(hhÌhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhÉhžhhŸh³h KubhŒtarget”“”)”}”(hŒ.. _imx_api_ipuX_csiY:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œimx-api-ipux-csiy”uh1hÚh K hhÉhžhhŸh³ubhµ)”}”(hhh]”(hº)”}”(hŒ ipuX_csiY”h]”hŒ ipuX_csiY”…””}”(hhëhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhèhžhhŸh³h K ubhŒ paragraph”“”)”}”(hŒWThis subdev can generate the following event when enabling the second IDMAC source pad:”h]”hŒWThis subdev can generate the following event when enabling the second IDMAC source pad:”…””}”(hhûhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KhhèhžhubhŒ bullet_list”“”)”}”(hhh]”hŒ list_item”“”)”}”(hŒ$V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR ”h]”hú)”}”(hŒ#V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR”h]”hŒ#V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj hžhhŸh³h Nubah}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j hŸh³h Khhèhžhubhú)”}”(hŒ§The user application can subscribe to this event from the ipuX_csiY subdev node. This event is generated by the Frame Interval Monitor (see below for more on the FIM).”h]”hŒ§The user application can subscribe to this event from the ipuX_csiY subdev node. This event is generated by the Frame Interval Monitor (see below for more on the FIM).”…””}”(hj0hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Khhèhžhubeh}”(h]”(Œ ipux-csiy”hçeh ]”h"]”(Œ ipux_csiy”Œimx_api_ipux_csiy”eh$]”h&]”uh1h´hhÉhžhhŸh³h K Œexpect_referenced_by_name”}”jDhÜsŒexpect_referenced_by_id”}”hçhÜsubeh}”(h]”Œevents”ah ]”h"]”Œevents”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒControls”h]”hŒControls”…””}”(hjVhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjShžhhŸh³h KubhÛ)”}”(hŒ.. _imx_api_FIM:”h]”h}”(h]”h ]”h"]”h$]”h&]”hæŒ imx-api-fim”uh1hÚh KhjShžhhŸh³ubhµ)”}”(hhh]”(hº)”}”(hŒ#Frame Interval Monitor in ipuX_csiY”h]”hŒ#Frame Interval Monitor in ipuX_csiY”…””}”(hjrhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjohžhhŸh³h Kubhú)”}”(hXñThe adv718x decoders can occasionally send corrupt fields during NTSC/PAL signal re-sync (too little or too many video lines). When this happens, the IPU triggers a mechanism to re-establish vertical sync by adding 1 dummy line every frame, which causes a rolling effect from image to image, and can last a long time before a stable image is recovered. Or sometimes the mechanism doesn't work at all, causing a permanent split image (one frame contains lines from two consecutive captured images).”h]”hXóThe adv718x decoders can occasionally send corrupt fields during NTSC/PAL signal re-sync (too little or too many video lines). When this happens, the IPU triggers a mechanism to re-establish vertical sync by adding 1 dummy line every frame, which causes a rolling effect from image to image, and can last a long time before a stable image is recovered. Or sometimes the mechanism doesn’t work at all, causing a permanent split image (one frame contains lines from two consecutive captured images).”…””}”(hj€hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K hjohžhubhú)”}”(hŒôFrom experiment it was found that during image rolling, the frame intervals (elapsed time between two EOF's) drop below the nominal value for the current standard, by about one frame time (60 usec), and remain at that value until rolling stops.”h]”hŒöFrom experiment it was found that during image rolling, the frame intervals (elapsed time between two EOF’s) drop below the nominal value for the current standard, by about one frame time (60 usec), and remain at that value until rolling stops.”…””}”(hjŽhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K)hjohžhubhú)”}”(hX,While the reason for this observation isn't known (the IPU dummy line mechanism should show an increase in the intervals by 1 line time every frame, not a fixed value), we can use it to detect the corrupt fields using a frame interval monitor. If the FIM detects a bad frame interval, the ipuX_csiY subdev will send the event V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR. Userland can register with the FIM event notification on the ipuX_csiY subdev device node. Userland can issue a streaming restart when this event is received to correct the rolling/split image.”h]”hX.While the reason for this observation isn’t known (the IPU dummy line mechanism should show an increase in the intervals by 1 line time every frame, not a fixed value), we can use it to detect the corrupt fields using a frame interval monitor. If the FIM detects a bad frame interval, the ipuX_csiY subdev will send the event V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR. Userland can register with the FIM event notification on the ipuX_csiY subdev device node. Userland can issue a streaming restart when this event is received to correct the rolling/split image.”…””}”(hjœhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K.hjohžhubhú)”}”(hŒ½The ipuX_csiY subdev includes custom controls to tweak some dials for FIM. If one of these controls is changed during streaming, the FIM will be reset and will continue at the new settings.”h]”hŒ½The ipuX_csiY subdev includes custom controls to tweak some dials for FIM. If one of these controls is changed during streaming, the FIM will be reset and will continue at the new settings.”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K8hjohžhubj )”}”(hhh]”j)”}”(hŒV4L2_CID_IMX_FIM_ENABLE ”h]”hú)”}”(hŒV4L2_CID_IMX_FIM_ENABLE”h]”hŒV4L2_CID_IMX_FIM_ENABLE”…””}”(hj¿hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Khjohžhubj )”}”(hhh]”j)”}”(hŒV4L2_CID_IMX_FIM_NUM ”h]”hú)”}”(hŒV4L2_CID_IMX_FIM_NUM”h]”hŒV4L2_CID_IMX_FIM_NUM”…””}”(hjîhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K@hjêubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjçhžhhŸh³h Nubah}”(h]”h ]”h"]”h$]”h&]”j.j/uh1j hŸh³h K@hjohžhubhú)”}”(hŒ®How many frame interval measurements to average before comparing against the nominal frame interval reported by the sensor. This can reduce noise caused by interrupt latency.”h]”hŒ®How many frame interval measurements to average before comparing against the nominal frame interval reported by the sensor. This can reduce noise caused by interrupt latency.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KBhjohžhubj )”}”(hhh]”j)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MIN ”h]”hú)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MIN”h]”hŒV4L2_CID_IMX_FIM_TOLERANCE_MIN”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KFhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhžhhŸh³h Nubah}”(h]”h ]”h"]”h$]”h&]”j.j/uh1j hŸh³h KFhjohžhubhú)”}”(hŒ†If the averaged intervals fall outside nominal by this amount, in microseconds, the V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR event is sent.”h]”hŒ†If the averaged intervals fall outside nominal by this amount, in microseconds, the V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR event is sent.”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KHhjohžhubj )”}”(hhh]”j)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MAX ”h]”hú)”}”(hŒV4L2_CID_IMX_FIM_TOLERANCE_MAX”h]”hŒV4L2_CID_IMX_FIM_TOLERANCE_MAX”…””}”(hjLhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KKhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjEhžhhŸh³h Nubah}”(h]”h ]”h"]”h$]”h&]”j.j/uh1j hŸh³h KKhjohžhubhú)”}”(hŒáIf any intervals are higher than this value, those samples are discarded and do not enter into the average. This can be used to discard really high interval errors that might be due to interrupt latency from high system load.”h]”hŒáIf any intervals are higher than this value, those samples are discarded and do not enter into the average. This can be used to discard really high interval errors that might be due to interrupt latency from high system load.”…””}”(hjfhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KMhjohžhubj )”}”(hhh]”j)”}”(hŒV4L2_CID_IMX_FIM_NUM_SKIP ”h]”hú)”}”(hŒV4L2_CID_IMX_FIM_NUM_SKIP”h]”hŒV4L2_CID_IMX_FIM_NUM_SKIP”…””}”(hj{hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KRhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjthžhhŸh³h Nubah}”(h]”h ]”h"]”h$]”h&]”j.j/uh1j hŸh³h KRhjohžhubhú)”}”(hŒcHow many frames to skip after a FIM reset or stream restart before FIM begins to average intervals.”h]”hŒcHow many frames to skip after a FIM reset or stream restart before FIM begins to average intervals.”…””}”(hj•hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KThjohžhubj )”}”(hhh]”j)”}”(hŒ;V4L2_CID_IMX_FIM_ICAP_CHANNEL / V4L2_CID_IMX_FIM_ICAP_EDGE ”h]”hú)”}”(hŒ:V4L2_CID_IMX_FIM_ICAP_CHANNEL / V4L2_CID_IMX_FIM_ICAP_EDGE”h]”hŒ:V4L2_CID_IMX_FIM_ICAP_CHANNEL / V4L2_CID_IMX_FIM_ICAP_EDGE”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KWhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj£hžhhŸh³h Nubah}”(h]”h ]”h"]”h$]”h&]”j.j/uh1j hŸh³h KWhjohžhubhú)”}”(hX These controls will configure an input capture channel as the method for measuring frame intervals. This is superior to the default method of measuring frame intervals via EOF interrupt, since it is not subject to uncertainty errors introduced by interrupt latency.”h]”hX These controls will configure an input capture channel as the method for measuring frame intervals. This is superior to the default method of measuring frame intervals via EOF interrupt, since it is not subject to uncertainty errors introduced by interrupt latency.”…””}”(hjÄhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KYhjohžhubhú)”}”(hŒvInput capture requires hardware support. A VSYNC signal must be routed to one of the i.MX6 input capture channel pads.”h]”hŒvInput capture requires hardware support. A VSYNC signal must be routed to one of the i.MX6 input capture channel pads.”…””}”(hjÒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K^hjohžhubhú)”}”(hŒgV4L2_CID_IMX_FIM_ICAP_CHANNEL configures which i.MX6 input capture channel to use. This must be 0 or 1.”h]”hŒgV4L2_CID_IMX_FIM_ICAP_CHANNEL configures which i.MX6 input capture channel to use. This must be 0 or 1.”…””}”(hjàhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Kahjohžhubhú)”}”(hX@V4L2_CID_IMX_FIM_ICAP_EDGE configures which signal edge will trigger input capture events. By default the input capture method is disabled with a value of IRQ_TYPE_NONE. Set this control to IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, or IRQ_TYPE_EDGE_BOTH to enable input capture, triggered on the given signal edge(s).”h]”hX@V4L2_CID_IMX_FIM_ICAP_EDGE configures which signal edge will trigger input capture events. By default the input capture method is disabled with a value of IRQ_TYPE_NONE. Set this control to IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, or IRQ_TYPE_EDGE_BOTH to enable input capture, triggered on the given signal edge(s).”…””}”(hjîhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Kdhjohžhubhú)”}”(hŒSWhen input capture is disabled, frame intervals will be measured via EOF interrupt.”h]”hŒSWhen input capture is disabled, frame intervals will be measured via EOF interrupt.”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Kjhjohžhubeh}”(h]”(Œ#frame-interval-monitor-in-ipux-csiy”jneh ]”h"]”(Œ#frame interval monitor in ipux_csiy”Œ imx_api_fim”eh$]”h&]”uh1h´hjShžhhŸh³h KjG}”jjdsjI}”jnjdsubhµ)”}”(hhh]”(hº)”}”(hŒ File list”h]”hŒ File list”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h Koubhú)”}”(hŒHdrivers/staging/media/imx/ include/media/imx.h include/linux/imx-media.h”h]”hŒHdrivers/staging/media/imx/ include/media/imx.h include/linux/imx-media.h”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Kqhjhžhubeh}”(h]”Œ file-list”ah ]”h"]”Œ file list”ah$]”h&]”uh1h´hjShžhhŸh³h Koubhµ)”}”(hhh]”(hº)”}”(hŒAuthors”h]”hŒAuthors”…””}”(hj?hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj<hžhhŸh³h Kwubj )”}”(hhh]”(j)”}”(hŒ.Steve Longerbeam ”h]”hú)”}”(hjRh]”(hŒSteve Longerbeam <”…””}”(hjThžhhŸNh NubhŒ reference”“”)”}”(hŒsteve_longerbeam@mentor.com”h]”hŒsteve_longerbeam@mentor.com”…””}”(hj]hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ"mailto:steve_longerbeam@mentor.com”uh1j[hjTubhŒ>”…””}”(hjThžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h KyhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMhžhhŸh³h Nubj)”}”(hŒ%Philipp Zabel ”h]”hú)”}”(hjh]”(hŒPhilipp Zabel <”…””}”(hjhžhhŸNh Nubj\)”}”(hŒkernel@pengutronix.de”h]”hŒkernel@pengutronix.de”…””}”(hjˆhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:kernel@pengutronix.de”uh1j[hjubhŒ>”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h Kzhj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMhžhhŸh³h Nubj)”}”(hŒ%Russell King ”h]”hú)”}”(hŒ$Russell King ”h]”(hŒRussell King <”…””}”(hj¬hžhhŸNh Nubj\)”}”(hŒlinux@armlinux.org.uk”h]”hŒlinux@armlinux.org.uk”…””}”(hj´hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:linux@armlinux.org.uk”uh1j[hj¬ubhŒ>”…””}”(hj¬hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K{hj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMhžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”j.j/uh1j hŸh³h Kyhj<hžhubhú)”}”(hŒ,Copyright (C) 2012-2017 Mentor Graphics Inc.”h]”hŒ,Copyright (C) 2012-2017 Mentor Graphics Inc.”…””}”(hjÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùhŸh³h K}hj<hžhubeh}”(h]”Œauthors”ah ]”h"]”Œauthors”ah$]”h&]”uh1h´hjShžhhŸh³h Kwubeh}”(h]”Œcontrols”ah ]”h"]”Œcontrols”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubeh}”(h]”Œi-mx-video-capture-driver”ah ]”h"]”Œi.mx video capture driver”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¹NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j#Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”(hç]”hÜajn]”jdauŒnameids”}”(jýjújPjMjDhçjCj@jõjòjjnjj j9j6jíjêuŒ nametypes”}”(jý‰jP‰jDˆjC‰jõ‰jˆj‰j9‰jí‰uh}”(júh¶jMhÉhçhèj@hèjòjSjnjoj joj6jjêj<uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”(hŒsystem_message”“”)”}”(hhh]”hú)”}”(hhh]”hŒ7Hyperlink target "imx-api-ipux-csiy" is not referenced.”…””}”hjŽsbah}”(h]”h ]”h"]”h$]”h&]”uh1hùhj‹ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”h³Œline”K uh1j‰ubjŠ)”}”(hhh]”hú)”}”(hhh]”hŒ1Hyperlink target "imx-api-fim" is not referenced.”…””}”hj©sbah}”(h]”h ]”h"]”h$]”h&]”uh1hùhj¦ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j£Œsource”h³Œline”Kuh1j‰ubeŒ transformer”NŒ include_log”]”Œ decoration”Nhžhub.