Mandar A. Chitre

53 papers A* 1A 2B 2C 2Misc 3Journal 29Unranked 14
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Hari Vishnu, Yuen Min Too, Mandar A. Chitre, Danwei Huang, Teong Beng Koay, Sudhanshi S. Jain
2024 J jnl
CoRR
Luyuan Peng, Mandar A. Chitre, Hari Vishnu, Yuen Min Too, Bharath Kalyan, Rajat Mishra, Soo Pieng Tan
2024 J jnl
CoRR
Luyuan Peng, Hari Vishnu, Mandar A. Chitre, Yuen Min Too, Bharath Kalyan, Rajat Mishra
2024 J jnl
Ad Hoc Networks
Ansa Shermin S, Bhavya Mehta, Sarang C. Dhongdi, Mandar A. Chitre
2024 A conf
IROS
Rajat Agrawal, Karthik Nambiar, Bhawana Chhaglani, Mandar A. Chitre, P. B. Sujit
2024 J jnl
CoRR
Luyuan Peng, Hari Vishnu, Mandar A. Chitre, Yuen Min Too, Bharath Kalyan, Rajat Mishra, Soo Pieng Tan
2022 J jnl
CoRR
Kexin Li, Mandar A. Chitre
2021 J jnl
Frontiers Robotics AI
Rajat Mishra, Teong Beng Koay, Mandar A. Chitre, Sanjay Swarup
2020 J jnl
CoRR
Fredrik Bagge Carlson, Mandar A. Chitre
2020 J jnl
Signal Process.
Mandar A. Chitre, Jing Tian, Hari Vishnu
2018 conf
TALE
Mandar A. Chitre, Dipti Srinivasan
2018 J jnl
IEEE Trans. Aerosp. Electron. Syst.
Edmund Brekke, Mandar A. Chitre
2018 C conf
FUSION
Edmund Brekke, Mandar A. Chitre
2017 J jnl
IEEE Commun. Mag.
Ahmed Mahmood, Mandar A. Chitre
2017 J jnl
Signal Process.
Ahmed Mahmood, Mandar A. Chitre
2017 conf
URAI
Gao Rui, Mandar A. Chitre
2017 J jnl
IEEE Trans. Aerosp. Electron. Syst.
Hari Vishnu, Mandar A. Chitre
2017 C conf
FUSION
Edmund Førland Brekke, Mandar A. Chitre
2016 J jnl
Adapt. Behav.
Mansoor Shaukat, Mandar A. Chitre
2016 J jnl
Auton. Robots
Tan Yew Teck, Mandar A. Chitre, Franz S. Hover
2016 J jnl
J. Field Robotics
Eng You Hong, Mandar A. Chitre, Kien Ming Ng, Kwong Meng Teo
2016 J jnl
IEEE Robotics Autom. Lett.
Varadarajan Ganesan, Mandar A. Chitre
2016 conf
WUWNet
Ahmed Mahmood, Mandar A. Chitre
2016 J jnl
Auton. Robots
Varadarajan Ganesan, Mandar A. Chitre, Edmund Førland Brekke
2016 J jnl
IEEE Commun. Mag.
Xi Zhang, Jun-Hong Cui, Santanu Das, Mario Gerla, Mandar A. Chitre
2015 J jnl
Int. J. Robotics Res.
Edmund Førland Brekke, Mandar A. Chitre
2015 A conf
AAMAS
Mansoor Shaukat, Mandar A. Chitre
2015 conf
WUWNet
Prasad Anjangi, Mandar A. Chitre
2015 J jnl
IEEE Commun. Mag.
Xi Zhang, Jun-Hong Cui, Santanu Das, Mario Gerla, Mandar A. Chitre
2014 J jnl
IEEE Trans. Wirel. Commun.
Konstantinos Pelekanakis, Mandar A. Chitre
2014 A* conf
ICRA
Tan Yew Teck, Mandar A. Chitre, Franz S. Hover
2014 J jnl
IEEE Trans. Commun.
Ahmed Mahmood, Mandar A. Chitre, Marc André Armand
2014 Misc conf
ACSSC
Mandar A. Chitre, Gabriel Chua
2014 J jnl
IEEE Trans. Commun.
Ahmed Mahmood, Mandar A. Chitre, Marc André Armand
2014 Misc conf
ICCS
Konstantinos Pelekanakis, Mandar A. Chitre, Lakshmi Sutha Kumar, Yong Liang Guan
2014 conf
ISER
Varadarajan Ganesan, Mandar A. Chitre, Edmund Førland Brekke
2013 Misc conf
SAC
Bharath Kalyan, Mandar A. Chitre
2013 conf
CIVTS
Ow Yi Xian, Mandar A. Chitre, Daniela Rus
2013 B conf
GLOBECOM
Ahmed Mahmood, Mandar A. Chitre, Marc André Armand
2013 conf
FSR
Eng You Hong, Mandar A. Chitre
2013 conf
CIVTS
Ow Yi Xian, Mandar A. Chitre, Daniela Rus
2012 conf
ISER
Marek Doniec, Iulian Topor, Mandar A. Chitre, Daniela Rus
2012 B conf
GLOBECOM
Ahmed Mahmood, Mandar A. Chitre, Marc André Armand
2012 conf
DARS
Tan Yew Teck, Mandar A. Chitre
2012 J jnl
Int. J. Distributed Sens. Networks
Frank Ehlers, Donald Sofge, Mandar A. Chitre, John R. Potter
2012 conf
WUWNet
Ahmed Mahmood, Mandar A. Chitre, Marc André Armand
2012 J jnl
IEEE Trans. Commun.
Ahmed Mahmood, Mandar A. Chitre, Marc André Armand
2010 conf
AIS
Tan Yew Teck, Mandar A. Chitre, Prahlad Vadakkepat
2010 conf
WUWNet
Mandar A. Chitre, Wee-Seng Soh
2010 conf
AIS
Mandar A. Chitre
2007 J jnl
IEEE Trans. Commun.
Mandar A. Chitre, John R. Potter, Sim Heng Ong
2005 J jnl
Bioinform.
Pawan Dhar, Tan Chee Meng, Sandeep Somani, Li Ye, Kishore R. Sakharkar, Arun Krishnan, Azmi B. M. Ridwan, Sebastian Ho Kok Wah, Mandar A. Chitre, Hao Zhu
2004 J jnl
Bioinform.
Pawan Dhar, Tan Chee Meng, Sandeep Somani, Li Ye, Anand Sairam, Mandar A. Chitre, Hao Zhu, Kishore R. Sakharkar
test_files/rich_header.py
← Index test_files/rich_header.py python
# from https://github.com/dishather/richprint/blob/master/comp_id.txt
# adapted from mirar's implementations for
# https://www.sweetscape.com/010editor/repository/files/EXE.bt
def get_rich_idVersion(idVersion):
    if idVersion == 0x00010000:
        return "[---] Unmarked objects"
    elif idVersion == 0x00000000:
        return "[---] Unmarked objects (old)"
    elif idVersion == 0x01046B74:
        return "[ C ] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01036B74:
        return "[ASM] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01056B74:
        return "[C++] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x00FF6B74:
        return "[RES] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01026B74:
        return "[LNK] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01006B74:
        return "[EXP] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x01016B74:
        return "[IMP] VS2019 v16.0.0 build 27508"
    elif idVersion == 0x010464EA:
        return "[ C ] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010364EA:
        return "[ASM] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010564EA:
        return "[C++] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x00FF64EA:
        return "[RES] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010264EA:
        return "[LNK] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010064EA:
        return "[EXP] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x010164EA:
        return "[IMP] VS2017 v15.5.4 build 25834"
    elif idVersion == 0x01045E97:
        return "[ C ] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01055E97:
        return "[C++] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01025E97:
        return "[LNK] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01005E97:
        return "[EXP] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01015E97:
        return "[IMP] VS2015 UPD3.1 build 24215"
    elif idVersion == 0x01045E95:
        return "[ C ] VS2015 UPD3 build 24213"
    elif idVersion == 0x01035E92:
        return "[ASM] VS2015 UPD3 build 24210"
    elif idVersion == 0x01055E95:
        return "[C++] VS2015 UPD3 build 24213"
    elif idVersion == 0x00FF5E92:
        return "[RES] VS2015 UPD3 build 24210"
    elif idVersion == 0x01025E95:
        return "[LNK] VS2015 UPD3 build 24213"
    elif idVersion == 0x01005E95:
        return "[EXP] VS2015 UPD3 build 24213"
    elif idVersion == 0x01015E95:
        return "[IMP] VS2015 UPD3 build 24213"
    elif idVersion == 0x01045D6E:
        return "[ C ] VS2015 UPD2 build 23918"
    elif idVersion == 0x01035D6E:
        return "[ASM] VS2015 UPD2 build 23918"
    elif idVersion == 0x01055D6E:
        return "[C++] VS2015 UPD2 build 23918"
    elif idVersion == 0x00FF5D6E:
        return "[RES] VS2015 UPD2 build 23918"
    elif idVersion == 0x01025D6E:
        return "[LNK] VS2015 UPD2 build 23918"
    elif idVersion == 0x01005D6E:
        return "[EXP] VS2015 UPD2 build 23918"
    elif idVersion == 0x01015D6E:
        return "[IMP] VS2015 UPD2 build 23918"
    elif idVersion == 0x01045BD2:
        return "[ C ] VS2015 UPD1 build 23506"
    elif idVersion == 0x01035BD2:
        return "[ASM] VS2015 UPD1 build 23506"
    elif idVersion == 0x01055BD2:
        return "[C++] VS2015 UPD1 build 23506"
    elif idVersion == 0x00FF5BD2:
        return "[RES] VS2015 UPD1 build 23506"
    elif idVersion == 0x01025BD2:
        return "[LNK] VS2015 UPD1 build 23506"
    elif idVersion == 0x01005BD2:
        return "[EXP] VS2015 UPD1 build 23506"
    elif idVersion == 0x01015BD2:
        return "[IMP] VS2015 UPD1 build 23506"
    elif idVersion == 0x010459F2:
        return "[ C ] VS2015 build 23026"
    elif idVersion == 0x010359F2:
        return "[ASM] VS2015 build 23026"
    elif idVersion == 0x010559F2:
        return "[C++] VS2015 build 23026"
    elif idVersion == 0x00FF59F2:
        return "[RES] VS2015 build 23026"
    elif idVersion == 0x010259F2:
        return "[LNK] VS2015 build 23026"
    elif idVersion == 0x010059F2:
        return "[EXP] VS2015 build 23026"
    elif idVersion == 0x010159F2:
        return "[IMP] VS2015 build 23026"
    elif idVersion == 0x00E09EB5:
        return "[ C ] VS2013 UPD5 build 40629"
    elif idVersion == 0x00E19EB5:
        return "[C++] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DE9EB5:
        return "[LNK] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DC9EB5:
        return "[EXP] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DD9EB5:
        return "[IMP] VS2013 UPD5 build 40629"
    elif idVersion == 0x00DF9EB5:
        return "[ASM] VS2013 UPD5 build 40629"
    elif idVersion == 0x00E0797D:
        return "[ C ] VS2013 UPD4 build 31101"
    elif idVersion == 0x00E1797D:
        return "[C++] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DE797D:
        return "[LNK] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DC797D:
        return "[EXP] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DD797D:
        return "[IMP] VS2013 UPD4 build 31101"
    elif idVersion == 0x00DF797D:
        return "[ASM] VS2013 UPD4 build 31101"
    elif idVersion == 0x00E07803:
        return "[ C ] VS2013 UPD3 build 30723"
    elif idVersion == 0x00E17803:
        return "[C++] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DE7803:
        return "[LNK] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DC7803:
        return "[EXP] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DD7803:
        return "[IMP] VS2013 UPD3 build 30723"
    elif idVersion == 0x00DF7803:
        return "[ASM] VS2013 UPD3 build 30723"
    elif idVersion == 0x00E07725:
        return "[ C ] VS2013 UPD2 build 30501"
    elif idVersion == 0x00E17725:
        return "[C++] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DE7725:
        return "[LNK] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DC7725:
        return "[EXP] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DD7725:
        return "[IMP] VS2013 UPD2 build 30501"
    elif idVersion == 0x00DF7725:
        return "[ASM] VS2013 UPD2 build 30501"
    elif idVersion == 0x00E0520D:
        return "[ C ] VS2013 build 21005"
    elif idVersion == 0x00E1520D:
        return "[C++] VS2013 build 21005"
    elif idVersion == 0x00DB520D:
        return "[RES] VS2013 build 21005"
    elif idVersion == 0x00DE520D:
        return "[LNK] VS2013 build 21005"
    elif idVersion == 0x00DC520D:
        return "[EXP] VS2013 build 21005"
    elif idVersion == 0x00DD520D:
        return "[IMP] VS2013 build 21005"
    elif idVersion == 0x00DF520D:
        return "[ASM] VS2013 build 21005"
    elif idVersion == 0x00CEEE66:
        return "[ C ] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CFEE66:
        return "[C++] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CDEE66:
        return "[ASM] VS2012 UPD4 build 61030"
    elif idVersion == 0x00C9EE66:
        return "[RES] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CCEE66:
        return "[LNK] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CAEE66:
        return "[EXP] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CBEE66:
        return "[IMP] VS2012 UPD4 build 61030"
    elif idVersion == 0x00CEECC2:
        return "[ C ] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CFECC2:
        return "[C++] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CDECC2:
        return "[ASM] VS2012 UPD3 build 60610"
    elif idVersion == 0x00C9ECC2:
        return "[RES] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CCECC2:
        return "[LNK] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CAECC2:
        return "[EXP] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CBECC2:
        return "[IMP] VS2012 UPD3 build 60610"
    elif idVersion == 0x00CEEB9B:
        return "[ C ] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CFEB9B:
        return "[C++] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CDEB9B:
        return "[ASM] VS2012 UPD2 build 60315"
    elif idVersion == 0x00C9EB9B:
        return "[RES] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CCEB9B:
        return "[LNK] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CAEB9B:
        return "[EXP] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CBEB9B:
        return "[IMP] VS2012 UPD2 build 60315"
    elif idVersion == 0x00CEC7A2:
        return "[ C ] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CFC7A2:
        return "[C++] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CDC7A2:
        return "[ASM] VS2012 UPD1 build 51106"
    elif idVersion == 0x00C9C7A2:
        return "[RES] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CCC7A2:
        return "[LNK] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CAC7A2:
        return "[EXP] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CBC7A2:
        return "[IMP] VS2012 UPD1 build 51106"
    elif idVersion == 0x00CEC627:
        return "[ C ] VS2012 build 50727"
    elif idVersion == 0x00CFC627:
        return "[C++] VS2012 build 50727"
    elif idVersion == 0x00C9C627:
        return "[RES] VS2012 build 50727"
    elif idVersion == 0x00CDC627:
        return "[ASM] VS2012 build 50727"
    elif idVersion == 0x00CAC627:
        return "[EXP] VS2012 build 50727"
    elif idVersion == 0x00CBC627:
        return "[IMP] VS2012 build 50727"
    elif idVersion == 0x00CCC627:
        return "[LNK] VS2012 build 50727"
    elif idVersion == 0x00AA9D1B:
        return "[ C ] VS2010 SP1 build 40219"
    elif idVersion == 0x00AB9D1B:
        return "[C++] VS2010 SP1 build 40219"
    elif idVersion == 0x009D9D1B:
        return "[LNK] VS2010 SP1 build 40219"
    elif idVersion == 0x009A9D1B:
        return "[RES] VS2010 SP1 build 40219"
    elif idVersion == 0x009B9D1B:
        return "[EXP] VS2010 SP1 build 40219"
    elif idVersion == 0x009C9D1B:
        return "[IMP] VS2010 SP1 build 40219"
    elif idVersion == 0x009E9D1B:
        return "[ASM] VS2010 SP1 build 40219"
    elif idVersion == 0x00AA766F:
        return "[ C ] VS2010 build 30319"
    elif idVersion == 0x00AB766F:
        return "[C++] VS2010 build 30319"
    elif idVersion == 0x009D766F:
        return "[LNK] VS2010 build 30319"
    elif idVersion == 0x009A766F:
        return "[RES] VS2010 build 30319"
    elif idVersion == 0x009B766F:
        return "[EXP] VS2010 build 30319"
    elif idVersion == 0x009C766F:
        return "[IMP] VS2010 build 30319"
    elif idVersion == 0x009E766F:
        return "[ASM] VS2010 build 30319"
    elif idVersion == 0x00837809:
        return "[ C ] VS2008 SP1 build 30729"
    elif idVersion == 0x00847809:
        return "[C++] VS2008 SP1 build 30729"
    elif idVersion == 0x00957809:
        return "[ASM] VS2008 SP1 build 30729"
    elif idVersion == 0x00927809:
        return "[EXP] VS2008 SP1 build 30729"
    elif idVersion == 0x00937809:
        return "[IMP] VS2008 SP1 build 30729"
    elif idVersion == 0x00917809:
        return "[LNK] VS2008 SP1 build 30729"
    elif idVersion == 0x0083521E:
        return "[ C ] VS2008 build 21022"
    elif idVersion == 0x0084521E:
        return "[C++] VS2008 build 21022"
    elif idVersion == 0x0091521E:
        return "[LNK] VS2008 build 21022"
    elif idVersion == 0x0094521E:
        return "[RES] VS2008 build 21022"
    elif idVersion == 0x0092521E:
        return "[EXP] VS2008 build 21022"
    elif idVersion == 0x0093521E:
        return "[IMP] VS2008 build 21022"
    elif idVersion == 0x0095521E:
        return "[ASM] VS2008 build 21022"
    elif idVersion == 0x006DC627:
        return "[ C ] VS2005 build 50727"
    elif idVersion == 0x006EC627:
        return "[C++] VS2005 build 50727"
    elif idVersion == 0x0078C627:
        return "[LNK] VS2005 build 50727"
    elif idVersion == 0x007CC627:
        return "[RES] VS2005 build 50727"
    elif idVersion == 0x007AC627:
        return "[EXP] VS2005 build 50727"
    elif idVersion == 0x007BC627:
        return "[IMP] VS2005 build 50727"
    elif idVersion == 0x007DC627:
        return "[ASM] VS2005 build 50727"
    elif idVersion == 0x005F178E:
        return "[ C ] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x0060178E:
        return "[C++] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005A178E:
        return "[LNK] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x000F178E:
        return "[ASM] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005C178E:
        return "[EXP] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005D178E:
        return "[IMP] VS2003 (.NET) SP1 build 6030"
    elif idVersion == 0x005F0C05:
        return "[ C ] VS2003 (.NET) build 3077"
    elif idVersion == 0x00600C05:
        return "[C++] VS2003 (.NET) build 3077"
    elif idVersion == 0x000F0C05:
        return "[ASM] VS2003 (.NET) build 3077"
    elif idVersion == 0x005E0BEC:
        return "[RES] VS2003 (.NET) build 3052"
    elif idVersion == 0x005C0C05:
        return "[EXP] VS2003 (.NET) build 3077"
    elif idVersion == 0x005D0C05:
        return "[IMP] VS2003 (.NET) build 3077"
    elif idVersion == 0x005A0C05:
        return "[LNK] VS2003 (.NET) build 3077"
    elif idVersion == 0x001C24FA:
        return "[ C ] VS2002 (.NET) build 9466"
    elif idVersion == 0x001D24FA:
        return "[C++] VS2002 (.NET) build 9466"
    elif idVersion == 0x004024FA:
        return "[ASM] VS2002 (.NET) build 9466"
    elif idVersion == 0x003D24FA:
        return "[LNK] VS2002 (.NET) build 9466"
    elif idVersion == 0x004524FA:
        return "[RES] VS2002 (.NET) build 9466"
    elif idVersion == 0x003F24FA:
        return "[EXP] VS2002 (.NET) build 9466"
    elif idVersion == 0x001924FA:
        return "[IMP] VS2002 (.NET) build 9466"
    elif idVersion == 0x000A2636:
        return "[ C ] VS98 (6.0) SP6 build 8804"
    elif idVersion == 0x000B2636:
        return "[C++] VS98 (6.0) SP6 build 8804"
    elif idVersion == 0x00152306:
        return "[ C ] VC++ 6.0 SP5 build 8804"
    elif idVersion == 0x00162306:
        return "[C++] VC++ 6.0 SP5 build 8804"
    elif idVersion == 0x000420FF:
        return "[LNK] VC++ 6.0 SP5 imp/exp build 8447"
    elif idVersion == 0x000606C7:
        return "[RES] VS98 (6.0) SP6 cvtres build 1736"
    elif idVersion == 0x000A1FE8:
        return "[ C ] VS98 (6.0) build 8168"
    elif idVersion == 0x000B1FE8:
        return "[C++] VS98 (6.0) build 8168"
    elif idVersion == 0x000606B8:
        return "[RES] VS98 (6.0) cvtres build 1720"
    elif idVersion == 0x00041FE8:
        return "[LNK] VS98 (6.0) imp/exp build 8168"
    elif idVersion == 0x00060684:
        return "[RES] VS97 (5.0) SP3 cvtres 5.00.1668"
    elif idVersion == 0x00021C87:
        return "[IMP] VS97 (5.0) SP3 link 5.10.7303"
    else:
        id_ = idVersion >> 0x10
        version = idVersion & 0xFFFF
        s = "id: " + str(id_) + ", version: " + str(version)
        return s