€•ýCŒ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”Œ/translations/zh_CN/hwmon/lm87”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/zh_TW/hwmon/lm87”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/it_IT/hwmon/lm87”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ja_JP/hwmon/lm87”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ko_KR/hwmon/lm87”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/pt_BR/hwmon/lm87”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/sp_SP/hwmon/lm87”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒKernel driver lm87”h]”hŒKernel driver lm87”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ8/var/lib/git/docbuild/linux/Documentation/hwmon/lm87.rst”h´KubhŒ paragraph”“”)”}”(hŒSupported chips:”h]”hŒSupported chips:”…””}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhŒ block_quote”“”)”}”(hX&* National Semiconductor LM87 Prefix: 'lm87' Addresses scanned: I2C 0x2c - 0x2e Datasheet: http://www.national.com/pf/LM/LM87.html * Analog Devices ADM1024 Prefix: 'adm1024' Addresses scanned: I2C 0x2c - 0x2e Datasheet: https://www.analog.com/en/prod/0,2877,ADM1024,00.html ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ„National Semiconductor LM87 Prefix: 'lm87' Addresses scanned: I2C 0x2c - 0x2e Datasheet: http://www.national.com/pf/LM/LM87.html ”h]”(hÌ)”}”(hŒNational Semiconductor LM87”h]”hŒNational Semiconductor LM87”…””}”(hhìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhhèubhÌ)”}”(hŒPrefix: 'lm87'”h]”hŒPrefix: ‘lm87’”…””}”(hhúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhhèubhÌ)”}”(hŒ"Addresses scanned: I2C 0x2c - 0x2e”h]”hŒ"Addresses scanned: I2C 0x2c - 0x2e”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hhèubhÌ)”}”(hŒ2Datasheet: http://www.national.com/pf/LM/LM87.html”h]”(hŒ Datasheet: ”…””}”(hjh²hh³Nh´NubhŒ reference”“”)”}”(hŒ'http://www.national.com/pf/LM/LM87.html”h]”hŒ'http://www.national.com/pf/LM/LM87.html”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j"uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hhèubeh}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubhç)”}”(hŒ‘Analog Devices ADM1024 Prefix: 'adm1024' Addresses scanned: I2C 0x2c - 0x2e Datasheet: https://www.analog.com/en/prod/0,2877,ADM1024,00.html ”h]”(hÌ)”}”(hŒAnalog Devices ADM1024”h]”hŒAnalog Devices ADM1024”…””}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj;ubhÌ)”}”(hŒPrefix: 'adm1024'”h]”hŒPrefix: ‘adm1024’”…””}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj;ubhÌ)”}”(hŒ"Addresses scanned: I2C 0x2c - 0x2e”h]”hŒ"Addresses scanned: I2C 0x2c - 0x2e”…””}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj;ubhÌ)”}”(hŒ@Datasheet: https://www.analog.com/en/prod/0,2877,ADM1024,00.html”h]”(hŒ Datasheet: ”…””}”(hjih²hh³Nh´Nubj)”}”(hŒ5https://www.analog.com/en/prod/0,2877,ADM1024,00.html”h]”hŒ5https://www.analog.com/en/prod/0,2877,ADM1024,00.html”…””}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jsuh1jhjiubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1háh³hÊh´KhhÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´Khh·h²hubhŒdefinition_list”“”)”}”(hhh]”hŒdefinition_list_item”“”)”}”(hXAuthors: - Frodo Looijaard , - Philip Edelbrock , - Mark Studebaker , - Stephen Rousset , - Dan Eaton , - Jean Delvare , - Original 2.6 port Jeff Oliver ”h]”(hŒterm”“”)”}”(hŒAuthors:”h]”hŒAuthors:”…””}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥h³hÊh´Khj¡ubhŒ definition”“”)”}”(hhh]”hâ)”}”(hhh]”(hç)”}”(hŒ Frodo Looijaard ,”h]”hÌ)”}”(hj¿h]”(hŒFrodo Looijaard <”…””}”(hjÁh²hh³Nh´Nubj)”}”(hŒ frodol@dds.nl”h]”hŒ frodol@dds.nl”…””}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:frodol@dds.nl”uh1jhjÁubhŒ>,”…””}”(hjÁh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubhç)”}”(hŒ&Philip Edelbrock ,”h]”hÌ)”}”(hjêh]”(hŒPhilip Edelbrock <”…””}”(hjìh²hh³Nh´Nubj)”}”(hŒphil@netroedge.com”h]”hŒphil@netroedge.com”…””}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:phil@netroedge.com”uh1jhjìubhŒ>,”…””}”(hjìh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khjèubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubhç)”}”(hŒ&Mark Studebaker ,”h]”hÌ)”}”(hjh]”(hŒMark Studebaker <”…””}”(hjh²hh³Nh´Nubj)”}”(hŒmdsxyz123@yahoo.com”h]”hŒmdsxyz123@yahoo.com”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:mdsxyz123@yahoo.com”uh1jhjubhŒ>,”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubhç)”}”(hŒ2Stephen Rousset ,”h]”hÌ)”}”(hj@h]”(hŒStephen Rousset <”…””}”(hjBh²hh³Nh´Nubj)”}”(hŒstephen.rousset@rocketlogix.com”h]”hŒstephen.rousset@rocketlogix.com”…””}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ&mailto:stephen.rousset@rocketlogix.com”uh1jhjBubhŒ>,”…””}”(hjBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubhç)”}”(hŒ&Dan Eaton ,”h]”hÌ)”}”(hjkh]”(hŒ Dan Eaton <”…””}”(hjmh²hh³Nh´Nubj)”}”(hŒdan.eaton@rocketlogix.com”h]”hŒdan.eaton@rocketlogix.com”…””}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ mailto:dan.eaton@rocketlogix.com”uh1jhjmubhŒ>,”…””}”(hjmh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khjiubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubhç)”}”(hŒ Jean Delvare ,”h]”hÌ)”}”(hj–h]”(hŒJean Delvare <”…””}”(hj˜h²hh³Nh´Nubj)”}”(hŒjdelvare@suse.de”h]”hŒjdelvare@suse.de”…””}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:jdelvare@suse.de”uh1jhj˜ubhŒ>,”…””}”(hj˜h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubhç)”}”(hŒOriginal 2.6 port Jeff Oliver ”h]”hÌ)”}”(hŒOriginal 2.6 port Jeff Oliver”h]”hŒOriginal 2.6 port Jeff Oliver”…””}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubeh}”(h]”h ]”h"]”h$]”h&]”j’Œ-”uh1háh³hÊh´Khj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³hÊh´Khjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhh·h²hh³Nh´Nubh¶)”}”(hhh]”(h»)”}”(hŒ Description”h]”hŒ Description”…””}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjðh²hh³hÊh´K!ubhÌ)”}”(hŒbThis driver implements support for the National Semiconductor LM87 and the Analog Devices ADM1024.”h]”hŒbThis driver implements support for the National Semiconductor LM87 and the Analog Devices ADM1024.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K#hjðh²hubhÌ)”}”(hŒ¾The LM87 implements up to three temperature sensors, up to two fan rotation speed sensors, up to seven voltage sensors, alarms, and some miscellaneous stuff. The ADM1024 is fully compatible.”h]”hŒ¾The LM87 implements up to three temperature sensors, up to two fan rotation speed sensors, up to seven voltage sensors, alarms, and some miscellaneous stuff. The ADM1024 is fully compatible.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K&hjðh²hubhÌ)”}”(hŒßTemperatures are measured in degrees Celsius. Each input has a high and low alarm settings. A high limit produces an alarm when the value goes above it, and an alarm is also produced when the value goes below the low limit.”h]”hŒßTemperatures are measured in degrees Celsius. Each input has a high and low alarm settings. A high limit produces an alarm when the value goes above it, and an alarm is also produced when the value goes below the low limit.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K*hjðh²hubhÌ)”}”(hX™Fan rotation speeds are reported in RPM (rotations per minute). An alarm is triggered if the rotation speed has dropped below a programmable limit. Fan readings can be divided by a programmable divider (1, 2, 4 or 8) to give the readings more range or accuracy. Not all RPM values can accurately be represented, so some rounding is done. With a divider of 2, the lowest representable value is around 2600 RPM.”h]”hX™Fan rotation speeds are reported in RPM (rotations per minute). An alarm is triggered if the rotation speed has dropped below a programmable limit. Fan readings can be divided by a programmable divider (1, 2, 4 or 8) to give the readings more range or accuracy. Not all RPM values can accurately be represented, so some rounding is done. With a divider of 2, the lowest representable value is around 2600 RPM.”…””}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K/hjðh²hubhÌ)”}”(hXVoltage sensors (also known as IN sensors) report their values in volts. An alarm is triggered if the voltage has crossed a programmable minimum or maximum limit. Note that minimum in this case always means 'closest to zero'; this is important for negative voltage measurements.”h]”hXVoltage sensors (also known as IN sensors) report their values in volts. An alarm is triggered if the voltage has crossed a programmable minimum or maximum limit. Note that minimum in this case always means ‘closest to zero’; this is important for negative voltage measurements.”…””}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K6hjðh²hubhÌ)”}”(hX|If an alarm triggers, it will remain triggered until the hardware register is read at least once. This means that the cause for the alarm may already have disappeared! Note that in the current implementation, all hardware registers are read whenever any data is read (unless it is less than 1.0 seconds since the last update). This means that you can easily miss once-only alarms.”h]”hX|If an alarm triggers, it will remain triggered until the hardware register is read at least once. This means that the cause for the alarm may already have disappeared! Note that in the current implementation, all hardware registers are read whenever any data is read (unless it is less than 1.0 seconds since the last update). This means that you can easily miss once-only alarms.”…””}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K;hjðh²hubhÌ)”}”(hŒ~The lm87 driver only updates its values each 1.0 seconds; reading it more often will do no harm, but will return 'old' values.”h]”hŒ‚The lm87 driver only updates its values each 1.0 seconds; reading it more often will do no harm, but will return ‘old’ values.”…””}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KBhjðh²hubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1hµhh·h²hh³hÊh´K!ubh¶)”}”(hhh]”(h»)”}”(hŒHardware Configurations”h]”hŒHardware Configurations”…””}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjkh²hh³hÊh´KGubhÌ)”}”(hŒnThe LM87 has four pins which can serve one of two possible functions, depending on the hardware configuration.”h]”hŒnThe LM87 has four pins which can serve one of two possible functions, depending on the hardware configuration.”…””}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KIhjkh²hubhÌ)”}”(hXRSome functions share pins, so not all functions are available at the same time. Which are depends on the hardware setup. This driver normally assumes that firmware configured the chip correctly. Where this is not the case, platform code must set the I2C client's platform_data to point to a u8 value to be written to the channel register.”h]”hXTSome functions share pins, so not all functions are available at the same time. Which are depends on the hardware setup. This driver normally assumes that firmware configured the chip correctly. Where this is not the case, platform code must set the I2C client’s platform_data to point to a u8 value to be written to the channel register.”…””}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KLhjkh²hubj›)”}”(hhh]”j )”}”(hŒÄFor reference, here is the list of exclusive functions: - in0+in5 (default) or temp3 - fan1 (default) or in6 - fan2 (default) or in7 - VID lines (default) or IRQ lines (not handled by this driver)”h]”(j¦)”}”(hŒ7For reference, here is the list of exclusive functions:”h]”hŒ7For reference, here is the list of exclusive functions:”…””}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥h³hÊh´KUhj›ubj¶)”}”(hhh]”hâ)”}”(hhh]”(hç)”}”(hŒin0+in5 (default) or temp3”h]”hÌ)”}”(hjµh]”hŒin0+in5 (default) or temp3”…””}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KShj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj°ubhç)”}”(hŒfan1 (default) or in6”h]”hÌ)”}”(hjÌh]”hŒfan1 (default) or in6”…””}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KThjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj°ubhç)”}”(hŒfan2 (default) or in7”h]”hÌ)”}”(hjãh]”hŒfan2 (default) or in7”…””}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KUhjáubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj°ubhç)”}”(hŒ=VID lines (default) or IRQ lines (not handled by this driver)”h]”hÌ)”}”(hjúh]”hŒ=VID lines (default) or IRQ lines (not handled by this driver)”…””}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KVhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj°ubeh}”(h]”h ]”h"]”h$]”h&]”j’jÝuh1háh³hÊh´KShj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jµhj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŸh³hÊh´KUhj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jšhjkh²hh³Nh´Nubeh}”(h]”Œhardware-configurations”ah ]”h"]”Œhardware configurations”ah$]”h&]”uh1hµhh·h²hh³hÊh´KGubeh}”(h]”Œkernel-driver-lm87”ah ]”h"]”Œkernel driver lm87”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”jZŒ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”}”Œnameids”}”(j4j1jhjej,j)uŒ nametypes”}”(j4‰jh‰j,‰uh}”(j1h·jejðj)jkuŒ 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”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.